Не совсем ясно, как компьютер может делать что-либо, чего 'нет в программе'? Разве можно скомандовать кому бы то ни было рассуждать, догадываться, делать выводы?
Противники тезиса о 'мыслящих машинах' обычно считают достаточным сослаться на общеизвестный факт: компьютер в любом случае делает лишь то, что задано в его программе, - и, следовательно, никогда не сможет 'думать', так как 'мысли по программе' уже нельзя считать 'мыслями'.
Это и верно, и неверно. Строго говоря, действительно: если компьютер делает не то, что в данный момент предписывается ему программой, то его следует считать испортившимся.
Однако то, что представляется 'программой' человеку, и то, что является программой для компьютера, - вещи очень разные. Ни один компьютер не сможет выполнить 'программу' похода в магазин за продуктами, которую вы вкладываете в голову десятилетнего сына, - даже если эта 'программа' включает только совершенно однозначные инструкции.
Разница заключается в том, что компьютерные программы состоят из огромного количества гораздо более мелких, частных команд. Из десятков и сотен таких микрокоманд складывается один шаг, из тысяч и даже миллионов - вся программа похода за продуктами в том виде, в каком ее смог бы выполнить компьютер.
Сколь бы смешным ни казалось нам такое мелочное регламентирование, для компьютера этот способ является единственно применимым. И самое удивительное - что он дает компьютеру возможность быть гораздо более 'непредсказуемым', чем принято обычно считать!
В самом деле: если бы вся программа состояла из одного приказа 'сходить за продуктами', то компьютер по определению не смог бы сделать ничего другого - он упрямо шел бы в универсам, что бы ни происходило вокруг. Иными словами, хотя для понимания короткой программы обязателен 'человеческий' интеллект, результат такой программы - выполняй ее компьютер, а не человек - был бы детерминирован весьма жестко.
Мы, однако, вынуждены давать компьютерам гораздо более подробные инструкции, определяя малейший их шаг. При этом нам приходится добавлять в программу и такие инструкции, которые впрямую не относятся к данной задаче. Так, в нашем примере роботу необходимо сообщить правила перехода улицы (и правило 'если на тебя едет машина, отпрыгивай в сторону').
Эти инструкции обязательно должны включать в себя проверку некоторых условий для принятия решений, обращение за справками (о погоде, о местоположении магазинов) к тем или иным базам данных, сравнение важности различных обстоятельств и многое другое. В результате компьютер с такой программой получает гораздо больше 'степеней свободы' - существует очень много мест, в которых он может отклониться от пути к конечной цели.
Разумеется, в подавляющем большинстве случаев эти отклонения будут нежелательными, и мы стараемся создать для работы компьютера такие условия, в которых риск 'выскакивающего из-за угла автомобиля' был бы минимальным. Но жизнь есть жизнь, и все мыслимые сюрпризы предусмотреть невозможно. Вот почему компьютер способен удивить как неожиданно 'разумной' реакцией на, казалось бы, непредсказуемые обстоятельства, так и невероятной 'глупостью' даже в самых ординарных ситуациях (чаще, к сожалению, последнее).
Именно построение сложных программ на основе детального анализа мельчайших шагов, из которых складывается процесс мышления у человека, и составляет современный подход к созданию 'думающих машин' (во всяком случае, один из подходов). Конечно, сложность - это далеко не все. И все же из ученых, занимающихся этой проблемой, мало кто сомневается в том, что 'умные' программы XXI века будут отличаться от современных прежде всего неизмеримо большей сложностью и количеством элементарных инструкций.
Многие современные системы обработки информации уже настолько сложны, что некоторые особенности их поведения просто невозможно вывести из самих программ - их приходится в буквальном смысле слова исследовать, ставя эксперименты и проверяя гипотезы. И наоборот - многие черты разумной деятельности человека, которые на первый взгляд кажутся едва ли не 'озарениями свыше', уже достаточно хорошо моделируются сложными программами, состоящими из множества простых шагов.
Знакомое название, не правда ли? В эпоху компьютерной эйфории прошлого века этот вопрос занимал всех. Со временем накал дискуссий ослаб: люди решили, что ЭВМ – нечто иное и чуждое и похожей на человека она не будет. А поэтому и неинтересно, может ли она мыслить. Вот например не вызывает же особо горячих дискуссий вопрос, мыслят ли животные. И не потому, что ответ очевиден, а потому, что очевидно совсем другое – они не мыслят, как человек. Угрозы конкуренции с человеком нет – и делается неинтересно. Задача этой статьи – показать
1) как сегодня мыслит машина,
2) как она будет мыслить завтра,
3) как сделать, чтобы это мышление было человекоподобным, и, наконец, дать ответ на вопрос, который некоторые считают главным – опасно ли это для человека.
Тест его имени
Жил да был в середине прошлого века в Англии Алан Тьюринг, человек непонятно какой специальности. Математики с присущим им снобизмом не сочли бы его математиком, слова 'кибернетик' тогда не было (да и сейчас нет). Человек он был неординарный, увлекался и занимался множеством вещей, в том числе – компьютерами. И хоть это была заря компьютерной эпохи, но уже тогда стало ясно, что компьютер – это вам не арифмометр. И для того, чтобы понять, как он работает и может работать, к нему надо относиться как к обычному сложному объекту научного исследования – то есть строить его модели. Одна из таких теоретических моделей 'компьютера вообще' была придумана Тьюрингом, ее позже и назвали 'машина Тьюринга' Ничего удивительного в этом нет – вон, в химии сотни именных реакций и соединений. Но он придумал еще одну вещь, которую тоже назвали его именем. И которая, в отличие от именных реакций и теоретических моделей компьютера, известна и неспециалистам. Это способ выяснить мыслит ли машина, и называется он 'тест Тьюринга'. Состоит он в следующем: машину можно назвать мыслящей, если она способна разговаривать с человеком, и он не сможет отличить компьютер от собеседника-человека. По тогдашним временам под 'разговаривать' понимался, естественно, не милый женский голосок из динамика, а телетайп.
Обоснование
Человек – самовлюбленное существо, и лучше всех это выразил тот древний грек, который изрек: 'Человек – мера всех вещей'. Ни одна кошка не ломает себе голову над вопросом: 'Отчего собака – не кошка?' Человек же непрерывно ищет то самое, что отличает его от обезьян. На обсуждение теста Тьюринга потрачено времени и сил – немерено, но в итоге гора родила маленькое, серенькое, с хвостиком... Исследователи сошлись на том, что этот тест – на человекоподобное мышление, а не на мышление вообще. Как они решили, что этот зверь – кошка, а не собака, не видя ни одной собаки и даже не зная, существуют ли вообще собаки, – не постигаю. Однако они не только это решили, но и разделились на два лагеря.
Одни утверждают, что в человеческом мышлении есть нечто, чего в принципе не может быть в машине (как на Солнце – пятен...). Примеры: эмоции, целеполагание (желания), способность к телепатии, нечто, именуемое 'душой'. Другие стали придумывать, как реализовать в железке чисто человеческие черты. Позиция первых бездоказательна и, может, поэтому дискутироваться до бесконечности, второе интереснее как задача, позволяет проявить профессионализм и изобретательность, но попахивает жульничеством. Тьюринг не оговаривал, как именно должна быть построена программа, так что формально правила игры не нарушены и во втором случае. Однако мы подозреваем, что в человеке 'это' устроено иначе, нежели Джон и Иван сделали в своей замечательной программе.