Сорок лет назад в журнале "Scientific American" была
опубликована статья с описанием оригинального проекта шахматного компьютера. С
тех пор машины побеждали сначала новичков, затем мастеров, а теперь уже и
гроссмейстеров. Будет ли следующим Гарри Каспаров?
В ЯНВАРЕ 1988 г. на пресс-конференции в Париже чемпиона мира по шахматам
Гарри Каспарова спросили, сумеет ли компьютер выиграть у гроссмейстера до 2000
года? «Ни в коем случае, - ответил он, - и если у кого-нибудь из гроссмейстеров
возникнут затруднения в игре с компьютером, я с удовольствием дам им совет».
ЧЕМПИОН МИРА Гарри Каспаров и компьютер IBM PS/2, с помощью которого
осуществляется связь с «Глубокой мыслью», перед началом матча против машины,
состоявшегося в конце 1989 г. Каспаров победил, несмотря на гроссмейстерский
рейтинг «Глубокой мысли».
|
Спустя 10 месяцев после заявления Каспарова, на крупном турнире, состоявшемся
в Лонг-Биче (шт. Калифорния), гроссмейстер БентЛарсен, в прошлом претендент на
мировую корону, потерпел поражение в поединке с играющей машиной, которую мы
сконструировали в качестве своего аспирантского проекта в Университете Карнеги -
Меллона. Машина, представляющая собой сочетание программ и специализированной
аппаратуры и названная "Deep Thought" («Глубокая мысль»), выиграла еще 5 встреч,
одну проиграла и одну свела вничью, разделив с гроссмейстером Энтони Майлсом
первое место на турнире. Поскольку машинам не присуждается денежная премия за
победу в турнире, Майлс положил в свой карман первый приз в размере 10 тыс.
долл. («Глубокая мысль» все же победила Майлса через год в показательном матче.)
К лету 1990 г., когда трое из нас поступили на службу в корпорацию IBM,
«Глубокая мысль» достигла 50%-ного успеха в 10 встречах с гроссмейстерами и
86%-ного успеха в 14 играх против мастеров международного класса. Некоторые из
числа этих матчей, а также десятки других игр, сыгранных против менее именитых
соперников, проходили под эгидой шахматной федерации США, которая по результатам
игр определила шахматный рейтинг машины. Он оказался равным 2552. Этот рейтинг
соответствует уровню нижней половины гроссмейстерского диапазона. В то же время
средний турнирный игрок имеет рейтинг примерно 1500 очков). Теперь, когда
компьютер достиг своей нынешней скорости анализа ситуаций на доске - 750 тыс.
позиций в секунду, - рейтинг машины еще более возрос и превысил 2600.
Машина следующего поколения, которая, как ожидается, сыграет свою первую
партию в 1992 г., будет обладать значительно более мощными аппаратными
средствами. Быстродействие при анализе ситуаций возрастет более чем в 1000 раз и
выйдет на уровень примерно одного миллиарда позиций в секунду. Благодаря только
этой способности «Глубокая мысль», вполне возможно, станет играть в шахматы
сильнее Каспарова или любого другого даже более способного шахматиста, если
такой появится.
Зачем же потребовалось учить машину загонять в угол деревянного короля на
шахматной доске? Во-первых, шахматы всегда рассматривались в традициях западной
культуры как изысканная игра разума и, по словам Гете, «как пробный камень
интеллекта». Многие люди утверждают, что успех машины в шахматной игре послужит
доказательством того, что человеческое мышление можно смоделировать, или же,
наоборот, что шахматы не требуют мышления как такового. В любом случае, однако,
тот или иной вывод значительно изменит наши представления о том, что мы обычно
называем интеллектом.
С другой стороны, создание компьютера, умеющего играть в шахматы,
представляет собой увлекательную техническую проблему. Она была описана на
страницах журнала "Scientific American" 40 лет назад Клодом Шенноном,
основоположником теории информации (см.: Shannon С.Е., A Chess-Playing Machine,
"Scientific American", February, 1950). Приведем выдержку из этой статьи:
Цель исследований, связанных с созданием шахматной машины, заключается в том,
чтобы разработать техническое средство, которое можно было бы применить в
практически более важных приложениях. Построение шахматной машины является
идеальным началом по нескольким причинам. Задача строго определена как в смысле
дозволенных операций (шахматные ходы), так и в смысле конечной цели (поставить
«мат» королю). Она не настолько проста, чтобы быть тривиальной, но и не
настолько трудна, чтобы не поддавалась решению. Кроме того, такая машина могла
бы соревноваться с человеком, что позволило бы однозначно судить о способности
машины к логическим рассуждениям подобного типа.
По-видимому, наиболее важное практическое значение разрабатываемых шахматных
программ заключается в демонстрации эффективности выбираемых методов
компьютерного анализа. Усовершенствование используемых в этих программах методов
обещает определенный прогресс в конструировании сетей, моделировании химических
реакций и даже лингвистическом анализе.
ПЕРВАЯ попытка практически реализовать идею создания играющей в шахматы
машины была предпринята в 60-х годах XVIII в., когда барон Вольфганг фон
Кемпелен начал демонстрировать свой шахматный автомат, разъезжая по Европе.
Машину прозвали «турком», поскольку ходы на доске выполняла усатая кукла с
тюрбаном на голове, которая, очевидно, приводилась в движение замысловатым
механизмом, спрятанным в основании машины. Обычно машина играла довольно хорошо
и однажды привела в бешенство Наполеона Бонапарта, выиграв у него за 19 ходов.
Эдгар Алан По, как и многие другие, впоследствии разгадал секрет автомата: его
ходы делал опытный шахматист карликового роста, скрытый в потайном отделении.
Однако По неправильно аргументировал свою догадку: по его мнению, эпизодические
проигрыши «турка» находились в противоречии с предполагаемым совершенством,
присущим настоящему автомату.
Алан М. Тьюринг, английский математик, пионер информатики и специалист в
области криптографии, был в числе первых, кто начал рассматривать перспективу
создания компьютера, играющего в шахматы. Однако ему было легче разработать свою
простую программу, генерирующую ходы и оценивающую позиции на доске, при помощи
карандаша и бумаги, чем прибегнуть к помощи компьютера. Аналогичные попытки
совершали Конрад Цузе в Германии и другие ученые, однако основополагающая работа
была выполнена Шенноном. Ему удалось развить идеи Джона фон Неймана и Оскара
Моргенштерна, которые в рамках своей универсальной теории игр изобрели так
называемый минимаксный алгоритм, позволяющий вычислять наилучший ход в заданной
ситуации.
Эта процедура определенным образом представляет произвольно большое число
позиций, могущих возникнуть в результате каждой возможной последовательности
ходов, ставит им в соответствие некую числовую оценку и затем движется в
обратном направлении, отправляясь от этих конечных оценок, чтобы выбрать
наилучший первый ход. Процедура начинает свою работу после того, как генератор
ходов получит все ходы, которые компьютер может сделать в данной позиции, затем
все возможные ходы противника и т.д. Каждый шаг по цепочке событий на доске
называется полуходом в шахматной терминологии или слоем в терминологии теории
игр.
Каждый новый слой в ветвящемся дереве анализа охватывает приблизительно в 38
раз большее количество позиций (среднее количество ходов в шахматной позиции),
чем предыдущий слой, или в 6 раз большее количество позиций в случае, когда
используется метод «альфа-бета-усечения» (см. диаграмму). Поэтому большинство
возможных позиций находится на самых внешних частях ветвей дерева игры,
«наращиваемых» до тех пор, пока не кончится игра, или время, отпущенное
компьютеру, не будет исчерпано. Оценивающий функционал присваивает каждой
конечной позиции определенное числовое значение, например 1 для позиции «мат»
противнику, - 1 для позиции, в которой выигрывает противник, и 0 для ничейного
исхода. Можно регистрировать также и менее явные преимущества и недостатки
позиций. Например, компьютер может подсчитывать материальный баланс, выражаемый
в количестве фигур и пешек, и вычислять оценку позиций с учетом расположения
фигур на доске, положения пешек, занятия ими свободной вертикали, контроля за
центральной частью доски и т.д.
Чтобы найти наилучший ход, программа генерирует дерево вариантов, оценивает
конечные позиции и возвращается назад. Позиции программа оценивает по своему
разумению; чем больше очков, тем лучше позиция.
Простой метод, называемый минимаксным алгоритмом, отбирает лучшие варианты,
отыскивая максимальные оценки для ходов компьютера и минимальные оценки для
ответов противника. На верхнем дереве узлы В и Е минимизируются до 3 и -1
соответственно, а узел А максимизируется до 3.
С помощью этого простого подхода прибавить еще один слой поиска можно, если
увеличить объем обработки данных в 38 раз (число ходов в типичной шахматной
позиции). Альфа-бета усечение повышает эффективность алгоритма, позволяя
игнорировать не представляющие интереса линии игры, поэтому достаточно
шестикратного увеличения быстродействия, чтобы анализировать лишний слой. Если,
например, оценивание начинается с узла С и следует по правой ветви, то компьютер
присваивает В значение 3 и затем замечает, что оценка Е меньше или равна 2, и
ему уже не нужно анализировать F.
Другой метод, называемый сингулярным продолжением, фокусирует внимание на
критических позициях. На нижнем дереве значение В сильно зависит от С, в то
время как значение D не зависит ни от одной из последующих ситуаций. Чтобы
увеличить надежность оценки А, алгоритм, следовательно, проанализирует С на один
слой глубже, чем обычно. Этот прием позволяет «Глубокой мысли» очень хорошо и
далеко предвидеть развитие игры во многих, тактически сложных позициях.
|
Можно усилить игру компьютера, повышая его способность к поиску или улучшая
чувствительность к факторам, влияющим на оценку позиции. Безупречной игра
компьютера будет в том случае, когда он сумеет генерировать все возможные
направления развития игры вплоть до конечных позиций, в которых либо машина,
либо ее противник попадут в матовую ситуацию или игра закончится вничью. Такой
компьютер мог бы удивить своего противника, объявив на первом же ходе: «Белые
начинают и выигрывают на 137 ходу» или же, наоборот, сдавшись в неочевидной
позиции, признав ее как безнадежную. Подобный исчерпывающий анализ не
представляет серьезных затруднений в таких простых играх, как «крестики-нолики»,
но неосуществим в шахматах, допускающих 10120 различных развитии игры. В
одинаковой степени совершенной игра могла бы стать и при исследовании только
одного слоя игры при условии, что оценка позиций настолько же хороша, насколько
ее можно охарактеризовать словами Ричарда Рети, шахматного мастера, успешно
выступавшего в 20-х годах, когда он сказал, что видит игру лишь на один ход
вперед - наилучший.
ОЧЕНЬ далеко до таких заявлений было тем программистам, которые первыми
пытались создавать шахматные программы. До 1958 г. они даже не могли научить
машину строго соблюдать правила игры. Прошло еще восемь лет, прежде чем
программа "МасНаск-6", написанная Ричардом Д.Гринблаттом из Масса-чусетского
технологического института, впервые достигла уровня средних турнирных игроков.
По мере того как число людей, занимавшихся шахматными программами, росло, они
стали делиться на два лагеря. Назовем их условно лагерем моделирования и
техническим лагерем. Сторонники первого направления утверждали, что компьютеры
должны играть так же, как люди, и быть способными логически «рассуждать» при
выборе хода. Представители другой группы придерживались менее строгих требований
к компьютеру. То, что хорошо для людей, говорили они, может оказаться
неприменимым для компьютера. Сторонники моделирования имели преимущество на
начальном этапе, пока компьютерные шахматы оставались скорее теорией, чем
практикой.
В 70-х годах технический лагерь вышел на первый план, когда выяснилось, что
глубина анализа игровой ситуации почти линейно коррелирует с рейтингом шахматной
программы. Каждый дополнительный слой анализа прибавлял примерно 200 очков в
оценке способностей компьютера. Поэтому программисты стали обращаться ко все
более быстродействующим машинам и изобретать различные технические уловки,
позволявшие добиться большей глубины анализа при доступных вычислительных
мощностях.
ВОЗРАСТАЮЩАЯ СИЛА компьютеров проявляется при наложении рейтингов 35 тыс членов шахматной федерации США и машин, обладающих различной глубиной анализа
(зеленый). Компьютеры приобретают примерно по 200 очков на каждый
дополнительный полуход, или слой игры, который они анализируют. Сейчас «Глубокая
мысль» исследует 10 слоев и имеет рейтинг примерно 2600 очков. Ее преемница
будет способна анализировать 14 или 15 слоев, и ее рейтинг будет намного выше.
|
Однако глубокий анализ - это лишь полдела. В самом начале шахматного
программирования программы поиска лучшего хода генерировали позиции практически
без всякого их анализа. Вариации, ведущие к одной и той же позиции, они
рассматривали как различные ветви в процессе поиска. Такое излишнее дублирование
теперь блокируется путем слежения за позициями в массивах памяти, известных под
названием кэш-таблиц. Кэш-таблицы обеспечивают еще большее преимущество, помогая
альфа-бета-алгоритму отбрасывать многие не представляющие интереса ветви в
развитии игры.
Важнейшая проблема в анализе возможных ситуаций и поиске наилучшего хода -
это умение определить, в какой момент следует прекратить анализ бесчисленных
ветвей игрового дерева. Невозможно исследовать все ветви до конца, но желательно
не прекращать анализа по крайней мере в нестабильной позиции. Такие ситуации
могут, например, возникать, когда анализ прекращается в процессе размена фигур.
Предположим, что компьютер просматривает все ветви вперед ровно на восемь
уровней и доходит до позиции, в которой он на этом восьмом уровне, кажется,
выигрывает коня в обмен на пешку. Даже в том случае, если противник следующим
ходом вернет себе коня и сохранит преимущество в одну пешку, компьютер все-таки
будет стремиться к этой позиции, дающей ему мнимое материальное преимущество.
Этот так называемый эффект горизонта может вынудить компьютер совершить
своеобразное шахматное самоубийство, чего нельзя ожидать при игре даже самого
слабого игрока с сильным. Совершенно неожиданно и, казалось бы, без всякой
причины с точки зрения наивного наблюдателя машина начинает раздавать свои пешки
и фигуры, безнадежно ухудшая свою позицию. Чтобы снизить вероятность подобных
ошибок, практически во всех шахматных программах дополнительно к основному
анализу предусматривается стадия стабилизирующего анализа. При таком
дополнительном анализе исследуются лишь те последовательности ходов, в которых
теряются или приобретаются пешки и фигуры, и поиск хода продолжается до тех пор,
пока не будет достигнута стабильная позиция, легко поддающаяся оценке при помощи
статических параметров.
В 70-е и 80-е годы доминировали так называемые «силовые» машины (brute-force
machine), поскольку эффективность их игры в основном определялась замысловатой
реализацией стратегии основного и стабилизирующего анализа. Почти весь этот
период проходил под знаком превосходства программы Северо-западного университета
"Chess 4.0" и программ из серии «4-Х», которые последовали за ней. Программа
Северозападного университета переходила с одного поколения компьютерной
аппаратуры на другое, постоянно увеличивая свой рейтинг, пока он не превзошел
мастерского уровня (2000 очков) в 1979 г.
В 70-х годах было сделано также несколько первых попыток создания
специализированных шахматных машин. Наиболее известная из этих машин, созданная
в компании AT&T Bell Laboratories и названная "Belle", преодолела в 1983 г.
барьер в 2200 очков, соответствующий уровню мастера в американской шахматной
федерации. Эра чисто силовых машин достигла своего апогея в 1986 г., когда на
шахматной арене появилась программа "Cray Blitz", выполняющаяся на
суперкомпьютерах серии "Cray", а также система "Hitech" - специализированная
шахматная машина, генерировавшая ходы на 64 процессорных микросхемах, по одной
на каждую клетку игрового поля. "Hitech" выиграла чемпионат Северной Америки по
шахматам среди компьютеров в 1985 г., а "Cray Blitz" победила на чемпионате мира
1986 г., выиграв в дополнительном матче у "Hitech", так сказать, в последнем
раунде. "Cray Blitz" и "Hitech" анализировали соответственно 100 и 120 тыс
позиций в секунду.
У «Глубокой мысли» довольно необычная история. Во-первых, она разрабатывалась
группой выпускников университета, не имевших официальной финансовой поддержки
или прямого руководства на факультете. (Сотрудники факультета, занимавшиеся в
Университете Карнеги - Меллона исследованиями в области шахматных программ, не
сотрудничали с группой разработчиков «Глубокой мысли».) Во-вторых, члены группы
специализировались до этого в разных областях и потому их подходы часто
оказывались нетрадиционными.
В ИЮНЕ 1985 г. один из нас (Сюй) пришел к выводу, что можно создать генератор
ходов в виде единого процессора на базе сверхбольших интегральных микросхем
(СБИС), поставляемых научным учреждениям Агентством по научно-исследовательским
разработкам в области обороны (DARPA). Сюй построил генератор ходов на базе
системы "Belle", придумав несколько усовершенствований, благодаря которым
устройство можно было реализовать в единой микросхеме очень высокой степени
интеграции. Ему удалось также сконструировать кристалл таким образом, чтобы
эффективно расположить его электронные элементы (включая 35 925 транзисторов),
несмотря на то, что самые мелкие элементы имели довольно большие размеры (3
мкм). Изготовление кристалла с элементами указанного размера взяла на себя фирма
MOSIS, работающая по контракту с агентством DARPA. Сюй затратил шесть месяцев на
конструирование, моделирование и разводку микросхемы, после чего прошло еще
четыре месяца, прежде чем он получил первые рабочие образцы устройства. Он
проверил работу процессора, подключив его к компьютерной рабочей станции,и
установил, что устройство способно обрабатывать до двух миллионов ходов в
секунду, т.е. в 10 раз быстрее, чем матрица "Hitech", состоявшая из 64
микропроцессоров.
После этого Сюй привлек к проводимой им работе Т. Анантарамана - аспиранта с
факультета информатики, специализировавшегося на распознавании речи. Анантараман
написал небольшую шахматную программу, генерировавшую ходы на основе
программного моделирования. Заменив программный модуль генерирования ходов
тестером Сюя, Анантараман повысил скорость анализа программы в пять раз, и в
результате быстродействие шахматной машины увеличилось до 50 тыс. позиций в
секунду.
Сюй и Анантараман были полны честолюбивых замыслов и, не долго думая, решили
подготовить свою машину к Североамериканскому чемпионату по шахматам среди
компьютеров 1986 г., который должен был начаться всего через семь недель. К
проекту были привлечены еще два аспиранта, М. Кэмпбелл и А. Новацик, также с
факультета информатики. Задача заключалась в том, чтобы построить более
совершенный оценивающий функционал, и Кэмпбелл, ранее принимавший участие в
шахматных соревнованиях, согласился попробовать свои силы. Вторая, и более
трудная, задача, учитывая ограничения во времени, состояла в расширении функции
тестера микросхем так, чтобы он мог играть роль простой анализирующей машины.
Такая машина должна была полнее использовать потенциальные скоростные
возможности микросхемы генератора ходов по сравнению с рабочей станцией.
Сюй принял решительные меры, чтобы вовремя подготовить технику: он решил, что
его машина будет игнорировать две шахматные ситуации - рокировку и повторение
позиций. (Игрок может настоять на ничейном результате, если докажет, что
определенная позиция трижды повторена в игре и ходить в этой позиции должен тот
же игрок.) Чтобы компенсировать этот недостаток, была принята гибридная
стратегия поиска, согласно которой ранние слои игрового дерева анализировались
управляющим компьютером, учитывавшим рокировку и повторение позиций. Последующие
слои (включающие, конечно, большую часть возможных позиций) анализировались уже
специализированной машиной поиска.
Мы не располагали никакими денежными средствами и поэтому собрали нашу первую
машину "ChipTest" из деталей, заимствованных из других проектов. Суммарная
стоимость всех компонентов не превышала 500 или 1000 долл. с учетом
ориентировочной стоимости кристаллов, производство которых финансировалось
агентством DARPA. Однако ни аппаратура поисковой машины, ни программное
обеспечение управляющего компьютера не были полностью отлажены к началу
чемпионата, и не лишенная недостатков машина сумела добиться на турнире лишь
ничейного результата. Тем не менее это было немалым достижением если учесть, что
вся работа была проделана в течение семи недель.
Этот дебют научил нас многому. Например, Сюй подметил, что две другие
программы избрали такую тактику, при которой каждый их ход был вынужденным и ни
одна из сторон заранее не предвидела исхода игры. Другими словами, программа,
добившаяся лучшей позиции, достигала этого благодаря чисто случайным факторам.
Сюй предложил исправить этот дефект при помощи приема, названного им алгоритмом
сингулярного продолжения. Алгоритм как бы заглядывает глубже, т.е. продолжает
анализ на большей глубине, в тех ситуациях, когда компьютер «видит» лишь один
хороший ход. В данном случае цель заключалась в том, чтобы особое внимание
обращалось на критические позиции.
Когда одна сторона близка к выигрышу, скажем слон противника попал в
безвыходное положение, у защищающегося по мере углубления анализа остается все
меньше и меньше хороших ответных ходов. В конце концов остается лишь один
хороший ход, после которого слон все же оказывается потерянным. В подобных
случаях в бой вступает сингулярное продолжение. Благодаря ему в одной из игр
компьютер привел мастера в состояние шока, объявив ему форсированный мат за 19
ходов.
Анантараман, единственный член группы, умевший программировать управляющий
компьютер системы "ChipTest", написал программу, реализующую алгоритм
сингулярного продолжения. Тем временем Сюй завершил написание микропрограмм,
управляющих аппаратурой на самом низшем уровне. Анализируя от 400 до 500 тыс
позиций в секунду, система "ChipTest" выиграла чемпионат Северной Америки по
шахматам среди компьютеров в 1987 г., победив всех своих соперников, в том числе
машину, носившую титул чемпиона мира, - "Cray Blitz". Таким образом закончилась
эпоха чисто силовых машин. Сейчас почти все сильнейшие программы содержат по
крайней мере некоторые элементы выборочного анализа.
Наш опыт показал, что быстродействие системы "ChipTest" можно повысить еще
больше, а анализ проводить, так сказать, более разумно. Первоначальное
финансирование этого проекта, теперь называющегося «Глубокая мысль», было
предоставлено X. Кунгом, консультантом Сюя.
Шахматная машина «Глубокая мысль» в своем основном варианте содержит 250
микросхем, включая два процессора, установленные на одной плате, размерами в
половину формата этого журнала. Машина управляется программой, так называемым
управляющим программным обеспечением, выполняющейся на компьютере рабочей
станции. Процессоры машины едва ли обладают более высоким физическим
быстродействием по сравнению с системой "ChipTest", однако усовершенствованное
управление алгоритмом анализа позволяет им проводить поиск лучшего хода на 30%
эффективнее.
СЕРДЦЕ «Глубокой мысли» помещается на плате размером с большую пиццу. Каждый
из двух ее процессоров способен анализировать 500 тыс позиций в секунду. Машина
следующего поколения превратит «Глубокую мысль» в одну микросхему; в ней 1000 таких процессоров будут работать параллельно.
|
Оценочное устройство состоит из четырех компонентов. Оценка расположения
фигур (единственная операция, перешедшая по наследству от системы "ChipTest")
базируется на близости фигуры к центру доски, на ее подвижности и других
соображениях. Размещение пешек оценивается в зависимости от таких параметров,
как их взаимная поддержка, контроль за цетральной частью доски и способность
защитить короля. Оцениваются также так называемые проходные пешки, которым не
препятствуют пешки противника и поэтому они могут пройти до восьмого ряда и
превратиться в ферзя. Проводится еще и дополнительная оценка, учитывающая более
сложные позиции пешек и ладей на определенной линии.
Мы начали также работу по настройке примерно 120 параметров оценивающего
функционала, фигурирующих в нашем программном обеспечении. Как правило,
шахматные мастера вручную настраивали весовые коэффициенты, приписываемые
программой материальным факторам (пешкам и фигурам) и позиционным показателям.
По нашему мнению, мы располагаем единственной добротной программой, которая
настраивает свои весовые коэффициенты автоматически.
МЫ ОТОБРАЛ И 900 игр с участием мастеров для анализа и произвольно определили
оптимальные веса, которые обеспечивают наилучшее соответствие между ходами,
получившими наиболее высокую оценку у машины, и ходами, в действительности
сделанными мастерами. Оценивающая часть программного обеспечения была полностью
переписана Кэмпбеллом и Новациком с целью реализации этой стратегии. Вместо того
чтобы однозначно присваивать определенное численное значение каждой позиции,
оценочная функция, работающая в режиме настройки, возвращает цепочку линейных
членов. Другими словами, она вычисляет вектор.
Было применено два механизма настройки. При использовании первого метода,
который мы называем методом подъема, данный оценочный параметр просто
устанавливается в произвольное значение, а затем проводится анализ на глубину,
скажем, пяти или шести уровней для каждой позиции, содержащейся в игровой базе
данных, чтобы найти ходы, которые сделала бы машина. После этого в значение
параметра вносится поправка и проводится перерасчет. Если количество совпадений
между ходами компьютера и гроссмейстера возрастает, параметр опять
корректируется в том же направлении. Процесс продолжается до тех пор, пока все
параметры не достигнут оптимального значения, или высшего уровня эффективности.
Однако чтобы с помощью этого метода оптимизировать все параметры, потребуются
годы, поэтому мы воспользовались им лишь в нескольких сложных случаях.
Второй метод настройки, предложенный и реализованный Новациком, работал
значительно быстрее. Он сформировался в процессе того, как мы пытались найти
наилучшее соответствие между функцией оценки позиций, применяемой машиной, и
предположительно верными их значениями. Наилучшее соответствие получается при
наименьшем среднеквадратичном отклонении между моделью и истинными значениями.
Истинные значения можно приблизительно вычислить по результатам глубокого поиска
(если тонкой настройке подвергается какая-то конкретная, известная оценочная
компонента) или путем сравнения решений, принятых машиной, с ходами, выбранными
первоклассными игроками в аналогичной ситуации.
Образцы партий, сыгранных мастерами, дают хороший критерий для относительной
оценки позиций: любая позиция, полученная в результате хода гроссмейстера, с
большой вероятностью будет лучше любой другой позиции, возникающей в результате
альтернативного хода. Вместо того чтобы вычислять оценку позиции по ее
параметрам, Новацик рассчитывал параметры, основываясь на предполагаемой разнице
между позицией, выбранной гроссмейстером, и альтернативными позициями, которые
были им отвергнуты. Вычисления по его алгоритму выполняются всего за несколько
дней, но в отличие от метода подъема он не позволяет оптимизировать значения
конкретных параметров. Скорее, с помощью этого метода повышается общая
эффективность всего набора параметров.
Наша автоматически настраиваемая оценочная функция, пожалуй, не хуже, если не
лучше настроенных вручную функций в таких знаменитых академических шахматных
программах, как "Hitech" и "Cray Blitz". Однако, по-видимому, все же остается
разрыв между оценочной функцией «Глубокой мысли» и лучшими коммерческими
образцами шахматных машин, создание которых потребовало многих человеко-лет. Мы
надеемся в недалеком будущем преодолеть этот разрыв за счет усовершенствования
обратных связей в процедурах автоматической настройки.
Может показаться странным, что наша машина, вмещающая относительно небольшой
объем знаний об игре в шахматы, все же обыгрывает первоклассных игроков. Однако
не следует забывать, что компьютер не моделирует человеческое мышление, он
достигает того же эффекта за счет других средств. «Глубокая мысль» способна
проследить игру на много ходов вперед, но замечает мало; помнит все, но ничему
не учится; не совершает грубых ошибок, но и не превосходит саму себя в минуты
вдохновения. И тем не менее она иногда находит решения, которые ускользают от
внимания даже сильнейших гроссмейстеров.
Возможно, именно этот нестандартный, отличный от присущего человеку взгляд на
игру, свойственный машине, привлек внимание гроссмейстера Кевина Спрэггета,
решившего потренироваться с помощью машины перед четвертьфинальным матчем
претендентов т.а звание чемпиона мира с гроссмейстером Артуром Юсуповым. Участие
машины не оказало заметного влияния на матч, но все же имел место один
интересный прецедент.
В октябре 1989 г. «Глубокая мысль» в экспериментальной шестипроцессорной
версии сыграла показательный матч из двух партий против Каспарова. Матч проходил
в Нью-Йорке. Хотя новая версия могла «просматривать» более двух миллионов
позиций в секунду, Каспаров довольно легко с ней справился. Результат не был
неожиданным, но игра «Глубокой мысли» оказалась, пожалуй, разочаровывающей.
В феврале нынешнего года «Глубокая мысль» провела показательную игру с
Анатолием Карповым - бывшим чемпионом мира и соперником Каспарова в матче за
звание чемпиона мира, который начался в октябре 1990 г. в Нью-Йорке и завершится
во Франции в Лионе. Дефекты, выявленные в экспериментальном программном
обеспечении шести- и четырехпроцессорной версий, заставили нас вернуться к
двухпроцессорной версии. Благодаря ряду усовершенствований в оценочной функции
«Глубокая мысль» сыграла одну из лучших своих игр в течение первых 50 ходов, но
затем, совершив досадную ошибку, упустила явную ничью. У стабильной
шестипроцессорной версии хватило бы скорости, чтобы избежать этой ошибки:
БЫСТРОДЕЙСТВИЕ является ключевым фактором в работе, проводимой сейчас в
Исследовательском центре им. Томаса Дж.Уотсона фирмы IBM, где конструируется
машина следующего поколения. По скорости вычислений она будет превосходить свою
предшественницу по крайней мере в 1000 раз. Задуманная нами машина, таким
образом, будет анализировать более миллиарда позиций в секунду. Этого будет
достаточно, чтобы проводить поиск на 14 или 15 слоев в большинстве случаев и от
30 до 60 слоев в критических ситуациях. Если наблюдавшаяся до сих пор связь
между быстродействием и качеством игры сохранится, то машина следующего
поколения будет играть на уровне мастера с рейтингом 3400 очков, по крайней мере
на 800 очков превосходящий сегодняшний рейтинг «Глубокой мысли» и на 500 -
рейтинг Каспарова.
Чтобы достичь такой скорости, Сюй конструирует специализированный шахматный
микропроцессор, который по проектным данным должен генерировать по меньшей мере
3 млн ходов в секунду, что более чем в три раза превосходит возможности нынешней
версии «Глубокой мысли». Одновременно он разрабатывает вычислительную систему с
высокой степенью параллелизма, в которой объединяется мощность более тысячи
таких процессоров, что обеспечит дополнительный прирост скорости приблизительно
еще в 300 раз. Анантараман и Кэмпбелл заняты усовершенствованием ряда аспектов
нынешней версии «Глубокой мысли», с тем чтобы эти усовершенствования также
«встроить» в машину следующего поколения. Новацик теперь увлечен другими идеями.
Мы полагаем, что за счет одной только скорости наша система сможет стать
достойным соперником чемпиона мира. Мы считаем также, что благодаря большому
числу других запланированных усовершенствований машина получит преимущество,
возможно, уже в 1992 г.
Ну что ж, Каспаров задал нам работы, и мы должны прислушиваться к его мнению.
Возможно, он только сейчас всерьез занялся изучением сильных и слабых сторон,
присущих шахматным машинам. В частной беседе Каспаров признал, что машина,
анализирующая миллиард позиций в секунду, способна побеждать гроссмейстеров
среднего уровня, добавив, однако: «Но не Карпова и не меня!». Он утверждает, что
творчество и воображение человеческого ума, а в особенности его
собственное творчество и воображение, определенно должны оказаться сильнее
простого кремниевого кристалла и соединительных проволочек.
Однако в действительности за шахматной доской столкнутся два подхода -
изобретательность одного, в высшей степени талантливого, человека будет
противопоставлена работе нескольких поколений математиков, электронщиков и
программистов. Мы считаем, что результат поединка между нынешним чемпионом мира
и компьютером не ответит на вопрос, может ли машина мыслить, а скорее покажет,
могут ли усилия коллектива людей превзойти достижения одной, пусть даже наиболее
талантливой, личности.
|
Фэн-Сюн Сюй, Томас Анантараман, Мюррей Кэмпбелл, Андреас
Новацик
В МИРЕ НАУКИ. (Scientific American. Издание на русском
языке). 1990. № 12 стр. 6-13.