20 февраля 2012

До и после "Houdini"

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


Его рейтинг простирается далеко за 3000 пунктов Эло, решения выглядят непогрешимыми, и даже непонятно, в какую же силу будет играть программа, которая превзойдет нынешнего чемпиона? Каким будет лидер нового поколения? Сделает ли эволюция новый виток по направлению к идеалу, который будет делать абсолютно лучшие ходы в каждой позиции?


Впервые чемпионаты мира среди компьютеров стали проводиться 39 назад — в 1973 году. Тогда вопрос «победит ли компьютер человека?» задавался с иронией. И когда, допустим, Михаил Ботвинник вдруг говорил, что победит, то аудитория недоуменно морщила лоб, не совсем понимая — как же? Действительно, программы того времени играли весьма и весьма слабо, алгоритмы были весьма посредственны, да и аппаратные средства были им под стать. Но интерес к компьютерным шахматам был.
Недолгий период компьютерные шахматы были ареной противостояния сверхдержав. В СССР была разработана программа «Каисса», США ответили программой «Чесс 4.6». В первом чемпионате победа осталась за нами, второй выиграли заокеанские программисты. «Каисса» и «Чесс 4.6» в этих турнирах так и не встретились (дистанция была короткой, в 4 тура). Удивительно, но пробные междоусобные партии неизменно заканчивались ничьими. Политкорректность или действительно равенство сил?
Огромную известность получил фрагмент из второго чемпионата.
Дачесс — Каисса
Торонто 1977




Кажется, что у черных мощная компенсация за пешку, и после 34...Kрg7 белым надо срочно искать меры против взятия на e3. Но, к удивлению зрителей турнира, советская программа пошла ладьей под бой 34...Ле8... Оказалось, что на ход королем белые красиво матуют путем 35.Фf8+!! и 36.Ch6+ с последующим 37.Лс8. В результате в решающем туре с «Чесс 4.6» играл «Дачесс»...
По тем временам это было прорывом! Компьютер нашел такую комбинацию, которую не видели люди.
Эту партию можно было списать на досадную неудачу, но в 1980 году третий чемпионат мира среди компьютерных программ закончился для «Каиссы» провалом. Стало очевидно, что американские программисты намного опережают своих советских коллег, и правительство приняло решение закрыть проект «Каисса».
Впрочем, компьютерные программы 1980 года все еще играли довольно слабо. Настоящий прорыв произошел в 1983, когда на арену вышла программа «Крей блиц». В тот момент среди шахматных программистов еще были разногласия - каким же образом надо усиливать свое детище? Многие пытались сконструировать по Ботвиннику самообучаемый шахматный компьютер. Компьютер, который будет делать выводы из своих неудач и продолжать усиливаться в ходе выступлений. Венцом этого направления стала программа «Хитеч». Его идеологическим соперником стал суперкомпьютер «Крей блиц». Мощные (по тем временам!) аппаратные средства от Сеймура Крея, который занимался разработкой вычислительных машин для американских научно-исследовательских проектов, позволили считать «Крей блицу» варианты намного дальше и точнее. В схватке двух методов верх взял перебор вариантов. « Крей блиц» дважды оказался сильнее, и с тех пор особых сомнений в выборе пути развития у разработчиков не возникало.
Но уровень шахматных программ все еще был далек от идеала. Английский мастер Дэвид Лэви (ставший впоследствии президентом компьютерной Ассоциации и принявший активное участие в дисквалификации «Рыбки») заключал пари на крупные суммы, что обыграет чемпиона мира среди компьютеров. Несмотря на то, что шахматный уровень Лэви был несоизмерим с уровнем мастеров советских (сейчас его рейтинг Эло равняется 2310 пунктам), Лэви удалось обыграть «Чесс 4.6», третьего чемпиона «Белль», а в придачу и «Крей блиц».
Очередной скачок произошел в 1989 году. Суперкомпьютер «Дип Сот» был намного мощнее своего предшественника, и его бой с «Крей блиц» в шестом чемпионате мире закончился разгромом последнего. Сила «Дип» была велика, и после матча с ним Лэви впервые пришлось раскошелиться. Новая программа начинает играть в гроссмейстерских турнирах и делает это с переменным успехом, пересчитывая своих коллег из плоти и крови в осложнениях, но порой проигрывая совершенно безропотно в позиционной игре.
Тогда же был проведен матч между «Дип Сот» и Гарри Каспаровым, закончившийся победой чемпиона мира со счетом 2:0. Белыми чемпион не выпустил своего противника из дебюта, а потом чисто переиграл черными. С тех пор компьютеры «Дип» сосредоточились исключительно на борьбе с действующим чемпионом мира, игнорируя электронные соревнования. В 1996 года с Каспаровым сразилась модификация «Дип Блю» компании IBM. Это был многопроцессорный монстр в полном смысле этого слова. «Дип Блю» просчитывал в секунду огромное количество вариантов, а консультанты американской программы старались создать такую дебютную библиотеку, при наличии которой Каспарову не удалось бы затащить «Дип» в позицию, где сказались бы недостатки его шахматного понимания. Компьютер играл варианты типа 1.e4 с5 2.с3 или 1.e4 e5 2.Kf3 Kf6 3.Kc3 Kc6 4.d4, стараясь получить простые позиции и дальше давить перебором вариантом. Который был просто заоблачным (опять же, по тем временам). В результате первая партия закончилась разгромом Каспарова, но в дальнейшем чемпион сумел подобрать ключи к своему партнеру и победить 4:2.
В 1997 году состоялся матч-реванш. «Дип Блю» стал намного мощнее и был лучше готов в дебюте. Вместо пресных вариантов «Дип» шел на все основные табии и во второй партии нокаутировал Гарри Каспарова в испанской партии. После четырех встреч счет был 2:2, а в пятой компьютер изящно сделал ничью в окончании.
Каспаров - «Дип Блю», 1997
Кажется, что черные проигрывают. Как остановить белую пешку g5? Но мощь суперкомпьютера позволила ему посчитать вариант с рейдом короля.
45...Лd2! 46.Лe6 c4! 47.Лe3 Kрb6! 48.g6 Kxb5! 49.g7 Kb4!. Белые ставят ферзя, но получается ничья вечным шахом. Тогда эта вылазка черного короля была признана триумфом компьютерного гения, а сейчас ее видит любой домашний модуль... Без всяких суперпроцессоров.
В последней партии Каспаров пошел на крайне сомнительный вариант защиты Каро-Канн, рассчитывая, что «Дип Блю» не пожертвует коня, и потерпел сокрушительное поражение. Матч завершился скандалом, чемпион мира обвинил разработчиков, что во время игры распределение машинных мощностей регулировалось при помощи ассистировавших программе гроссмейстеров-людей. Но IBM добилась своего — чемпион мира среди мужчин повержен, электронный интеллект победил. И суперкомпьютер оказался разобран.
Но можно ли создать программу, которая будет побеждать гроссмейстеров за счет эффективности своего алгоритма, а не от неустанного подключения новых и новых процессоров? В 90-е начинают появляться компьютеры новой волны: Fritz, Junior, Shredder. Следующее десятилетие ознаменуется их схватками в компьютерных чемпионатах мира. Один раз успех отпразднует Фриц, по два раза его конкуренты. Поединки новых лидеров компьютерного рынка против Каспарова и четырнадцатого чемпиона мира среди людей Владимира Крамника четырежды завершаются ничьими. В 2006 году ничейный паритет заканчивается - Deep Fritz побеждает Крамника со счетом 4:2. Правда, чемпион мира подошел к матчу не в лучшей форме, зевнув в одной из партии мат в один ход и проиграл заключительную партию, пытаясь отыграться.
Тем не менее, несмотря на то, что Фриц, Шреддер и Джуниор использовались гроссмейстерами для анализа повсеместно, к их рекомендациям относились с большой осторожностью. Ту или иную позицию Фриц, например, мог оценивать неверно. В другой мог дать маху Шреддер или Джуниор. Но в 2005 году на сцену вышел аналитический модуль, полностью изменивший сознание шахматистов.
Детище Васика Райлиха «Рыбка» ворвалось в компьютерные шахматы, как метеор. В период с 2005 по 2009 год программа не знает поражений, выигрывая и турниры компьютеров, и состязания против сильных гроссмейстеров, давая последним запредельные форы. «Рыбка», особенно ее усовершенствованные версии, становятся настоящей иконой. При анализе программами предыдущего поколения шахматист сознавал, что аналитический модуль великолепно считает варианты, но его рекомендация в ряде позиций может оказаться не сильнейшей. С «Рыбкой» было иначе — новый чемпион давал готовый рецепт, и его советы были верными в подавляющем числе случаев. «Играешь как Рыбка», «первая строчка» стали символом шахматной силы и мощи. Никто из ведущих шахматистов не отважился принять вызов новой программы, и противостояние «человек – компьютер» стало считаться исчерпанным.
В 2010 году бесспорное господство «Рыбки» казалось незыблемым, но это был последний год ее безмятежного царства. В 2011 году программа Райлиха проигрывает матч из 40 партий программе «Гудини», некоммерческому проекту Роберта Удара, созданному для сражения с «Рыбкой» (в чемпионате мира среди компьютеров 2011 года «Гудини» не участвовал). А затем Ассоциация компьютерных программ дисквалифицирует «Рыбку» по обвинению в плагиате, хотя программа Fruit, кодом которой по версии Дэвида Лэви воспользовался Райлих, играла в разы слабее многолетнего чемпиона.
«Рыбка» была лишена всех наград и чемпионских поясов, «Гудини» не принял участие в компьютерном чемпионате мира, в результате в 2011 году победил Junior, занимающий далеко не первое место в компьютерном рейтинг-листе. Но очевидно, что это лишь затишье перед появлением новой электронной звезды. В ближайшее время у «Гудини» должен появится достойный соперник, и трудно предположить — насколько быстро будет достигнут новейшими электронными бойцами виртуальный уровень в 4000 пунктов Эло.
Итак, вот даты скачков в развитии шахматных программ и модулей: 1973-1983-1989-1995-2005-2011. 10-6-6-10-6. Так значит, 2017 год? Как будет называться новый модуль, и в какую силу он будет играть? Не придется ли нам готовиться к переходу на фишеровские шахматы? Так или иначе, компьютерная революция продолжается.