Глава 7

Эврика и эвристика

«Ага!» и его секреты i_075.png
«Ага!» и его секреты i_076.png

ГДЕ ВЫХОД ИЗ ЛАБИРИНТА?

Несколько лет назад в Америке шахматные короли получили приглашение сыграть партию с машиной. Они отнеслись к этому предложению без особенного восторга. Кибернетика уже не была новинкой, и каждый из них не один раз пробовал свои силы в таком необычном соревновании.

Первый страх перед электронным противником давно прошел. Теперь шахматисты знали и сильные и слабые стороны автоматического игрока и были уверены в своей победе. Не таким уж умелым оказался электронный шахматист. Обыграть его не представляло большой трудности. Пока он там прикидывал и обдумывал все варианты, можно было успеть составить превосходную тактику игры и тогда уже не бояться, что машина вас обгонит. Слишком расчетливым и слишком педантичным был автомат. Он не мог отважиться на риск сделать неожиданный ход — знай себе взвешивает все «за» и «против» прежде, чем сделать самое обычное передвижение фигур.

Давно пора было инженерам понять, что шахматы — игра творческая, машинам недоступная. А они вот опять приглашают на очередную партию. И на что надеются?

Тем не менее в назначенный день и час приглашенные прибыли в вычислительный центр. Отказаться не позволял престиж.

Игра началась как обычно. Но уже после третьего-четвертого хода шахматисты почувствовали, что противник на этот раз гораздо сильнее. Не успели они освоиться в новой обстановке, как игра закончилась — победила машина.

Один за другим подходили к шахматному столу чемпионы разных штатов и… терпели поражение. Электронный шахматист оказался на сей раз на высоте. Но почему? Что с ним произошло?

А произошло вот что. Инженеры решили создать машину, способную играть в шахматы так же творчески, как человек. Ясно, что мы пользуемся тут какими-то приемами, позволяющими сократить варианты ходов. Какими же?

Эти правила (во всяком случае, часть из них) легко можно найти в любом руководстве для начинающих. Ну, например, там даются такие советы: «Держите под контролем четыре центральных поля», «Прежде чем атаковать, обеспечьте безопасность своего короля», «Не атакуйте противника, пока не укрепили свои позиции». Каждый такой совет и есть, по существу, один из эвристических алгоритмов, которыми человек овладел на опыте за многие десятилетия, что играет в шахматы.

Проанализировав правила шахматной игры, трое американских психологов, Ньюэл, Шоу и Сайгон, разбили их на шесть независимых целей: безопасность короля, материальное равновесие, контроль над центральными полями, развитие фигур, осада короля и продвижение пешек.

Этот порядок намеченных целей определяет последовательность действий, которые производит машина.

Сначала она постарается всеми доступными ей средствами обеспечить безопасность короля. Если это не удастся, она будет защищать его по мере возможностей. И только если король в безопасности, машина перейдет к следующей цели — учету возможных обменов фигурами, чтобы обеспечить достаточную защиту своих фигур. Затем электронный шахматист примется бороться за центральные поля и т. д.

С каждой из этих целей связан набор правил, по которым вырабатываются нужные ходы. Скажем, машина стремится завоевать центральные поля. Тогда она сначала предложит продвинуть ферзевую пешку, затем королевскую. Потом она постарается помешать противнику сделать то же самое и уже затем начнет делать ходы, подготавливающие достижение следующей по ранжиру цели, например, укрепит защиту ферзя или короля.

Предлагаемый ход машина «прикидывает» с точки зрения всех шести целей, чтобы косвенно не навредить самой себе. Мало того. У машины может быть не один вариант каждого хода, а несколько. И тогда она должна выбрать лучший. Время для выбора ограничено, и, когда оно истекает, машина останавливается на самом приемлемом из всех обдуманных ею к этому моменту.

Работая по такой программе, машина оказалась способной разыгрывать довольно сложные партии и выходить победительницей, даже когда ее партнерами были мастера шахмат. А все потому, что не перебирала все возможные варианты, как первые электронные шахматисты, а действовала по определенному плану, проявляя при этом изобретательность и смекалку.

Шахматы вообще — идеальная модель эвристического мышления. Вот почему эта древняя игра стала сейчас чем-то вроде пробного камня для проверки новых идей эвристического программирования. А сокращать перебор вариантов можно по-разному. Свидетельство тому шахматный матч, начавшийся осенью 1966 года между советской и американской электронными машинами. Это не спортивное соревнование, а сравнение эвристических программ, составленных советскими и американскими учеными. Помимо чисто научного интереса, машина, успешно играющая в шахматы, сможет выполнять любую сложную деятельность, например плановика, диспетчера и т. п.

Электронный шахматист не был первым механизмом, работающим по эвристической, творческой программе. Просто тут нагляднее видны преимущества человеческого способа решать сложные проблемы. Да и создать машину, по-настоящему играющую в шахматы, было очень трудно. Вот почему, когда это, наконец, удалось, об успехе инженеров сразу стало широко известно, хотя еще раньше те же трое ученых разработали другую эвристическую программу, более деловую.

Благодаря ей кибернетическая машина приобрела способность доказывать математические теоремы. Не просто логически вывести из некоего данного то, что отсюда следует, как делают школьники, а предложить новое научное доказательство, а это удается уже далеко не каждому математику и само по себе всегда большое событие в науке. За что ее и назвали «Логик-теоретик».

Как же действовал «Логик-теоретик»?

Ученые вложили в его память аксиомы, взятые из известной книги англичанина Рассела «Основы математики». Затем машине сообщили несколько теорем из первой части учебника. Это было, так сказать, «сырье». После чего будущему теоретику на примере одной из теорем продемонстрировали технику доказательства.

Обучение закончилось. Теперь машине стали давать описание исходных данных совершенно новых для нее теорем (их брали из второй части той же книги «Основы математики»), и она успешно доказала тридцать восемь из пятидесяти двух теорем. Конечно, никакого открытия в математике машина не сделала и вряд ли удостоится больших почестей за найденные доказательства.

Да это и понятно. Ведь она фактически выполнила уже проделанную раньше человеком работу. Правда, машина сумела предложить несколько оригинальных доказательств. А одно из них было короче и стройнее, чем у автора «Основ математики». Его даже собирались опубликовать в научном журнале как самостоятельное открытие, но редактор стал оспаривать приоритет машины.

Собственно, его возражения сводились к тому, что эту же самую теорему теперь можно доказать более простым способом, используя такие теоретические построения, которые не были в свое время известны ни Расселу, ни вычислительной машине. Так подвиг машины и остался безвестным.

Но что из того, что «Логик-теоретик» заново переоткрыл уже известные теоремы? Для него-то они были новы и неизвестны. А изобретателям тоже случается по незнанию открывать уже открытое. Важно, что машина способна к таким же творческим деяниям, как и человек, ученый.

«Мы хотели понять, — говорили создатели «Логика-теоретика», — как математик приходит к доказательству теоремы, несмотря на то, что он вначале не знает, как решать поставленную задачу, и ему неизвестно вообще, сможет ли он ее решить».

Когда появились первые сообщения о машине, выполняющей сложную теоретическую работу, многие стали возражать, будто деятельность ее нельзя назвать подлинно творческой. Ведь «Логик-теоретик» только решает задачи, поставленные перед ним человеком, то есть лишь ищет ответ. Самостоятельно же выбрать проблему, которую нужно решить, машина не может.