Искусственный разум
Шрифт:
Мерой четкости. Степенью ясности. Полнотой определенности.
Предположим, вы хотите поручить некую умственную работу своему сотруднику. Станете ли вы разъяснять ему содержание работы до мельчайших подробностей, оговаривая каждый шаг, разжевывая каждую трудность?
Ваш ответ на этот вопрос зависит от того, кого именно вы представили себе сейчас на месте сотрудника. Ивану достаточно намека, а с Петром не стоит и связываться, легче все самому сделать, чем ему растолковать.
Американские специалисты по научной организации труда выделили четыре типа работников.
Человек первого типа - толковый, творческий, инициативный.
Таких людей, честно говоря, немного. Чаще встречаются работники второго типа: сообразительные, но одной цели им мало. Требуется разъяснить сложные места в задаче, указать основные приемы, пригодные для ее решения. Однако слишком подробные разъяснения обижают этих работников, если чересчур разжевывать, они теряют интерес к задаче.
Третий тип работников умственного труда нуждается в более детальных инструкциях. Им нужно прямо сказать, что и в каком порядке делать, кроме мелочей; на мелочи не стоит упирать. И помягче объяснять, поделикатнее.
Четвертый тип людей, увы, не способен четко действовать без прямых приказов. Этим однозначно скажи, что, как и когда выполнять, изволь объяснить работу до последней стружки. Иначе беда: стал тесать Аверкий, да все исковеркал.
Часто, сравнивая возможности человека и вычислительной машины, полагают, будто все мы люди, все человеку все одинаковы, и забывают о том, насколько разнятся между собой эти самые человеки.
Если позволить себе некоторую смелость, если поставить вычислительную машину в ряд умственных работников - людей, то она окажется работником пятого типа. Инструкции для компьютера должны быть предельно четкими, ясными, определенными до мельчайшей мелочи. Любая неясность ведет к заминке, к сбою, к зацикливанию, к остановке компьютера. Машина драгоценнейшая наша не должна останавливаться, обязана непрерывно перемалывать "слова", продолжать свой ход, свой счет, свое стремительное движение к результату.
Алгоритмическое мышление зажато в тиски машинных требований, выковано в компьютерном горне, отличается твердостью, прямотой и предельной додуманностью.
Никаких "вроде бы так", никаких "и тому подобное", избави боже от "аналогично". Мысль алгоритмиста обязана прощупать все звенья без исключения, алгоритмист должен пройти все пути, одолеть все "нет" и все "да", учесть все развилки, ответить на все вопросы, найти выход из всех циклов.
О эти любители напускать туману под лозунгом "Проблема сложна! Мы привыкли работать с ней на ощупь...". Алгоритмическое мышление разрывает пелену тумана, дробит сложное на части, находит приемы решения частных задач, а потом вновь, как по ступенькам, восходит к проблеме в целом.
Алгоритмическое мышление не шапкозакидательство. Сложность в мире существует, ее нужно штурмовать, а не отрицать. Программист знает - свидетельством тому вся история человеческого разума, - что самое дерзкое и высокое творчество отстаивается в алгоритмах, превращается в крепкие приемы ремесла.
Программист - исследователь, но он не из породы исследователей, привыкших, по саркастическому замечанию Р. Декарта, заниматься разгадками спутанных вопросов со спутанным умом. "Такие исследователи, - писал Р. Декарт, - не менее глупы, чем тот мальчуган, который так старается угодить, что бросается бежать прежде, чем получит поручение, даже не зная, куда ему идти".
Программист - настойчивый, усердный и волевой работник.
Член-корреспондент АН СССР Андрей Петрович Ершов, один из зачинателей отечественного программирования, ярко и точно охарактеризовал особенности работы программиста: "Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все что угодно из нуля и единицы. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов с трезвой практичностью экономиста".
Внешне мягкий и уступчивый, А. Ершов предъявляет весьма суровые требования к личности программиста (и, значит, прежде всего к самому себе). Программисты обязаны быть предельно добросовестными в контактах с машиной, но, что еще важнее, они должны выполнить свой моральный долг перед человечеством - добиться, чтобы программирование из искусства для избранных стало грамотностью для всех.
В последние годы А. Ершов с головой ушел в теорию программирования. Он раскрывает потаенные возможности алгоритмов и нащупывает границы алгоритмического подхода. Работу современных программистов - теоретиков и практиков - он сравнивает с деятельностью авторов и издателей книг после изобретения книгопечатания: программисты создают машинное отображение мира, наделяя людей небывалой властью над природой.
Мощная и динамичная страна алгоритмирования быстро расширяется, совершенствуется, крепнет, и пределов ей не видно, и границы алгоритмирования не просматриваются отчетливо.
Сегодня алгоритмирование идет победным маршем, захватывая все новые и новые области, привлекая под свои знамена все новых и новых людей. Токарь и врач, экономист и учитель, инженер и юрист становятся алгоритмистами. Я прервал свой перечень на юристе, хотя мог бы продолжать его еще и еще: в алгоритмирование втянуто около тысячи человеческих специальностей.
Й это только начало. Потому что в наш век алгоритмическим мышлением должен овладеть каждый сознательный работник.
Законы алгоритмирования уже сегодня столь же важны для нас, как основные законы физики. Чем больше работников будет владеть ими, тем больше ЭВМ окажется на производстве, тем активнее и плодотворнее станут контакты человека с машиной.
Нельзя откладывать знакомство со страной алгоритмирования на будущее. Обращаясь к комсомольцам, Л. И. Брежнев говорил:
"Нет пограничной черты, нет водораздела, глядя на который можно было бы сказать: вот это - настоящее, а вот это - будущее. Уже сегодня каждым днем своей трудовой жизни надо строить и утверждать это будущее, приближать его, делать явью".
Научно-техническую революцию делают не другие люди, ее совершаем мы сами, а алгоритмическое мышление служит нам острым оружием.
Осваивая профессиональные секреты и тонкости, одолевая рутину и недоверие, то в ладу, то в споре с вычислительными машинами идут алгоритмисты к новому пониманию природы, производства, школы, искусства, общества.
Сквозь тернии к алгоритмам!
В нашей библиотечке алгоритмов три образца: в библиотеке алгоритмов человечества сегодня их десятки тысяч, и каждый день на полки всемирного хранилища ложится тридцать новых алгоритмов.