Человек и компьютер. Взгляд в будущее - Гарри Каспаров
Шрифт:
Интервал:
Закладка:
Поэтому Шеннон, сам заядлый шахматист, возлагал надежды на стратегию типа Б, которая работает более избирательно и эффективно. Вместо того чтобы просчитывать все возможные ходы и позиции на одинаковую глубину, алгоритм типа Б, как хороший игрок, должен изначально отбросить все плохие и незначительные ходы и сосредоточить внимание на наиболее перспективных вариантах и вынужденных ответах, исследуя их как можно глубже.
Люди быстро учатся тому, что в каждой позиции есть относительно небольшое число разумных ходов, и чем сильнее игрок, тем быстрее и точнее он осуществляет первичную сортировку и отсеивание. Новички больше играют как машины типа А, пытаясь перебрать все доступные варианты и просчитать их последствия. Этот метод грубой силы работает разве что у компьютеров, способных проанализировать миллионы позиций в секунду, но не у людей — даже чемпион мира может оценить не больше двух-трех позиций в секунду.
Если в данной позиции вам удастся найти четыре-пять наиболее разумных ходов и отбросить остальные — что не так-то просто, — дерево вариантов все равно разветвится очень быстро. Следовательно, даже если вы сможете создать алгоритм типа Б, который будет вести более интеллектуальный поиск, все равно потребуется огромная скорость обработки и невероятная память, чтобы оценить эти миллионы позиций.
Я уже упоминал о «бумажной машине Алана Тьюринга», первой работоспособной шахматной программе. Я даже имел честь сыграть с воссозданной версией программы на современном компьютере — это произошло на праздновании столетнего юбилея Тьюринга в Манчестере в 2012 году, куда я был приглашен в качестве выступающего. По современным меркам программа довольно слаба, но ее все равно следует рассматривать как огромное достижение, учитывая тот факт, что Тьюринг не имел возможности протестировать ее на компьютере.
Когда несколько лет спустя появились первые ЭВМ, умевшие выполнять шахматные программы, они работали так удручающе медленно, что специалисты заключили: Шеннон был прав и все надежды на прогресс следует связывать с программами типа Б. Логичный вывод, поскольку машины, способные развивать «оптимистичную» скорость перебора миллион позиций в секунду, будут созданы только через несколько десятилетий. До тех пор машине потребовалось бы на каждый ход несколько недель, чтобы достичь глубины поиска, необходимой для игры среднего уровня, и несколько лет — чтобы глубина поиска соответствовала сильной игре. Однако предположение о том, что имитация человеческого метода лучше грубой вычислительной силы, оказалось во многом неверным, причем далеко не в первый и не в последний раз.
Следующий шаг в развитии компьютерных шахмат был сделан в 1956 году в Центре ядерных исследований в Лос-Аламосе. Здесь теории Винера, Тьюринга и Шеннона впервые воплотились в реальной шахматной машине. Когда в центр доставили один из первых в мире компьютеров — гигантского монстра MANIAC-1 с 2400 вакуумными трубками и революционной возможностью хранения программ в памяти, ученые-разработчики водородной бомбы немедленно опробовали машину, написав для нее шахматную программу. А как же еще? Из-за ограниченных ресурсов устройства им пришлось использовать уменьшенную доску шесть на шесть клеток и исключить слонов. После партии с самим собой и проигрыша сильному шахматисту (игравшему без ферзя) компьютер победил девушку, едва знакомую с правилами игры. Так человек впервые уступил машине в интеллектуальной игре.
Спустя год после этого исторического события, в 1957-м, группа исследователей из Университета Карнеги — Меллона провозгласила, что раскрыла секрет создания алгоритма типа Б, который всего через десять лет победит чемпиона мира по шахматам. Учитывая, насколько медленными и дорогими в те времена были компьютеры, это утверждение звучало не менее дерзко, чем заявление Джона Кеннеди, пообещавшего 25 мая 1961 года, что Соединенные Штаты к концу десятилетия отправят человека на Луну.
Возможно, исследователи из Университета Карнеги—Меллона просто не осознавали масштаба проблемы. Даже если бы вся индустриальная мощь Америки была брошена на создание компьютера, способного к 1967 году переиграть самых сильных шахматистов планеты, эта задача вряд ли была бы выполнена. Программа Apollo потребовала разработки новых материалов и инновационных технологий, и предсказание Кеннеди осуществилось только благодаря прорывам почти во всех соответствующих технологических областях. Тем не менее цель, поставленная авторами космической программы, отвечала общему уровню технического развития того времени. Ответственные за Apollo в 1961 году представляли, что им нужно сделать, чтобы отправить человека на Луну, даже если точно не знали как.
Напротив, компьютеры, способные составить конкуренцию чемпиону мира по шахматам, появились только в 1997 году, через 30 лет после обещанного командой из Университета Карнеги — Меллона срока, — и это при том, что вычислительная мощность компьютеров удваивалась примерно каждые два года согласно закону Мура. Их сенсационный «сверхумный» алгоритм быстро показал свою неработоспособность, и было неясно, каким путем следовать дальше. Шахматы оказались слишком сложной игрой, компьютеры — чересчур медленными. Если бы в 1960-е годы на разработку шахматных программ потратили на несколько миллионов человеко-часов больше, это привело бы к впечатляющим успехам в области программирования и разработки аппаратного обеспечения, но компьютерное оборудование, способное хранить достаточные объемы информации и выполнять сложные программы с достаточно высокой скоростью, чтобы играть на уровне гроссмейстеров, стало доступным только в 1980-х.
Создание такой шахматной программы к 1967 году было делом немыслимым и вряд ли удалось бы к 1977-му, даже если бы на него израсходовали сумму, эквивалентную бюджету NASA. Суперкомпьютер Cray-1, установленный в Лос-Аламосской национальной лаборатории в 1976-м, был самым мощным компьютером в мире со скоростью 160 млн операций в секунду (160 мегафлопсов). Сравним это с программой Deep Junior, с которой я сыграл вничью в 2003 году. Она работала на компьютере с четырьмя процессорами Pentium 4, каждый из которых функционировал примерно в 20 раз быстрее, чем суперкомпьютер Cray-1, и играла не хуже и даже лучше, чем требовавшая использования специализированного оборудования Deep Blue в 1997-м.
Дело было не в скорости: просто Deep Blue перебирала в среднем в 50 раз больше позиций в секунду, чем Deep Junior, — 150 млн против 3 млн. Но техническая скорость — только один из факторов шахматной силы машины. Чтобы получить максимальную отдачу от аппаратного обеспечения, в первую очередь необходимо иметь эффективную программу. Как показали усилия нескольких поколений шахматных программистов, начиная с 1970-х годов, уровень шахматных способностей программы тем выше, чем чаще происходит ее оптимизация и чем «умнее» процедуры поиска.
Когда же программисты добавляют в алгоритм поиска различные элементы, связанные с шахматной спецификой, приходится искать компромиссное решение. Самые простые шахматные программы должны понимать, например, что такое мат и какова относительная ценность фигур. Если вы научите машину, что и ладья и слон стоят трех пешек — тогда как ладья в действительности сильнее слона, — она не станет сильным игроком. Компьютеры очень хорошо и быстро справляются с подсчетом материала и узнают, у кого больше фигур на доске, а программистам не нужно глубоко разбираться в шахматах, чтобы правильно присвоить фигурам стандартные значения.