ГЕДЕЛЬ, ЭШЕР, БАХ: эта бесконечная гирлянда.
Шашечная программа Самуэля.
Именно такой метод был разработан Артуром Самуэлем в его замечательной шашечной программе. Метод Самуэля состоял в одновременном использовании динамического (с заглядыванием вперед) и статического (без заглядывания вперед) способов оценки любой данной позиции. Статический метод основывался на простой математической функции нескольких величин, характеризующих любую позицию на доске; это вычислялось практически мгновенно. В свою очередь, динамический метод основывался на создании «дерева» возможных будущих ходов, ответов на них, ответов на ответы и так далее (как было показано на рис. 38). Некоторые параметры в функции статической оценки могли варьироваться, в результате чего получались разные версии этой функции. Стратегия Самуэля заключалась в том, чтобы путем естественного отбора находить все лучшие и лучшие значения этих параметров.
Это делалось следующим образом: каждый раз, когда программа оценивала позицию, она делала это одновременно статистически и динамически. Ответ, полученный путем анализа вариантов, — назовем его Д — использовался для нахождения следующего хода. Цель С — статистической оценки — была сложнее: после каждого хода переменные параметры немного исправлялись таким образом, чтобы С возможно больше приближалось к Д. В результате знание, полученное путем динамического анализа дерева, частично включалось в параметры статистической оценки. Короче, идея заключалась в том, чтобы постепенно превратить сложный динамический метод в гораздо более простую и эффективную функцию статической оценки.
Здесь возникает изящный рекурсивный эффект. Дело в том, что динамическая оценка любой данной позиции включает просчет вперед на конечное число ходов — скажем, семь. При этом промежуточные позиции, получающиеся после каждого возможного хода, также должны получить какую-то оценку. Но когда программа оценивает эти позиции, она, разумеется, уже не может просчитывать на семь ходов вперед — иначе ей пришлось бы анализировать четырнадцать возможных позиций, затем двадцать одну и так далее, и тому подобное — что породило бы бесконечный регресс. Вместо этого программа пользуется статическими оценками позиций, возникающих при анализе. Таким образом, схема Самуэля включает сложную обратную связь, в процессе которой программа непрерывно пытается превратить оценки, основанные на просчете вариантов, в более простой статический подход; этот подход в свою очередь играет ключевую роль в динамическом взгляде вперед. Таким образом, оба этих метода тесно связаны между собой, и каждый рекурсивным путем извлекает пользу из улучшений в другом методе.
Уровень игры шашечной программы Самуэля крайне высок и сравним с уровнем лучших человеческих игроков мира. Если это так, то почему бы не приложить ту же идею к шахматам? Международный комитет, собравшийся в 1961 году, чтобы обсудить возможность компьютерных шахмат, и включавший датского международного гроссмейстера и математика Макса Эйве, пришел к печальному заключению, что использование метода Самуэля в шахматах было бы примерно в миллион раз труднее, чем в шашках. По-видимому, это закрывает данный вопрос…
Удивительно высокого уровня игры шашечных программ недостаточно для того, чтобы утверждать, что искусственный интеллект уже создан; однако этого успеха также не следует преуменьшать. Это комбинация идей о том, что такое шашки и как их анализировать и программировать. Некоторые читатели могут подумать, что эта программа ничего, кроме шашечного мастерства самого Самуэля, не доказывает. Но это неверно по крайней мере по двум причинам. Во-первых, хорошие игроки выбирают ходы, руководствуясь мысленными процессами, которых они сами полностью не понимают — они пользуются интуицией. Однако до сих пор никому не известен способ стопроцентного использования собственной интуиции; лучшее, что мы можем сделать, это задним числом использовать наши «впечатления» или «мета-интуицию» (интуицию о собственной интуиции), чтобы с их помощью попытаться объяснить природу собственной интуиции. Но это было бы только грубым приближением к действительной сложности интуитивных методов. Поэтому практически невозможно, чтобы Самуэль скопировал в своей программе собственные методы игры. Есть и другая причина, по которой не следует путать игру Самуэлевой программы с игрой ее создателя — программа его регулярно обыгрывает! Это вовсе не парадокс — не более, чем тот факт, что компьютер, запрограммированный на вычисление π, может делать это гораздо быстрее самого программиста.