Добавлен: 12.07.2023
Просмотров: 14
Скачиваний: 2
Компьютеры произвели революцию в области шахмат — и лучшие шахматные программы практически невозможно обыграть. Но может ли игрок, состоящий отчасти из человека и отчасти из компьютера, быть еще сильнее? Все началось в 1968 году с простого спора. 23-летний шотландский чемпион мира по шахматам Дэвид Леви был на вечеринке. Коктейлями угощал Дональд Мичи, основатель отделения машинного интеллекта и восприятия Эдинбургского университета. Рядом с Леви на диванчике сидел Джон Маккарти, американец, который в 1955 году придумал термин «искусственный интеллект». Они мило беседовали, и ради забавы Маккарти предложил Леви сыграть партию в шахматы прямо здесь и сейчас. Леви обыграл его довольно просто. Маккарти, впрочем, предложил заключить пари. Компьютеры смогут обыграть чемпиона вроде Леви через 10 лет, сказал он. Леви отшучивался, но Маккарти стоял на своем. Поэтому Леви принял пари и поставил 500 фунтов стерлингов — в современном эквиваленте порядка 12 000 долларов — которые отошли бы Маккарти, если бы компьютер обыграл Леви до 1979 года.
«Тогда я получал 895 фунтов стерлингов в год, — вспоминает сейчас Леви. — Но я был так уверен».
Игра началась. История битвы человечества с машинами в тысячелетней игре преисполнена соревновательным духом и технологическими сюрпризами. Но кто, человек или компьютер, победит в конце концов? Как компьютеры изменили шахматы в качестве соревновательного вида спорта? И, что более интригующе, будет ли завтрашний непобедимый игрок комбинацией из человека и машины, опираясь на сильные стороны обоих?
Леви сделал ставку во времена, когда темпы улучшения вычислений были высокими. Несмотря на его уверенность в обратном, было множество людей вроде Маккарти, которые думали, что машина сможет его победить.
В 1978 году Леви оказался в Торонто, играя с компьютерным соперником в матче, который стал важной вехой в истории шахматного программирования. Он сыграл пять игр против оппонента. Первая окончилась вничью, но вторую и третью он выиграл. И затем проиграл четвертую. Если бы компьютер выиграл последнюю партию, серия закончилась бы вничью, но Леви упорствовал — и победил.
И продолжал побеждать. С момента согласования первоначальной ставки с Маккарти, его не могли победить компьютеры в выставочных матчах в течение 21 года. И только в 1989 году, во время матча, организованного Британским компьютерным сообществом в Лондоне, Леви был, наконец, свергнут программой под названием Deep Thought. Меньше чем через 10 лет, в 1997 году, суперкомпьютер IBM Deep Blue первым в истории одолел действующего чемпиона мира — Гарри Каспарова — в турнирной игре. Скоро об этом достижении узнал весь мир.
Но даже к 1989 году компьютеры уже преуспевали в играх против гроссмейстеров, и Леви знал, что его непобедимая полоса не продлится вечно. За все годы своей практики он разработал несколько «противокомпьютерных тактик», которые ему помогали. Они не предоставляли никаких преимуществ в игре против человек, но могли дать игроку перевес против компьютерного соперника.
«Я называл это «делай ничего, но делай это хорошо», — вспоминает он. — Я словно сидел на месте, делая движения, которые понемногу улучшали мою позицию. Компьютер не мог понять, каким был мой план в долгосрочной перспективе.
Основная часть:
«Прорвись и раздави»
В те дни шахматные компьютерные программы могли продумывать лишь ограниченное количество ходов наперед, пять или шесть. Леви тянул свое время и искал возможности, которые могли бы позволить ему взять инициативу на себя.
«Моя долгосрочная цель лежала дальше, чем она могла видеть, и неизбежно происходило то, что программа завязывала себя в узлы, — говорит он. — Тогда, в какой-то момент в игре моя позиция становилась настолько сильной, что я мог прорваться и раздавить ее».
И все же противокомпьютерные тактики не стали неактуальными после 1989 или даже после 1997 года. Борис Альтерман, израильский гроссмейстер, прославился после серии матчей против компьютеров в 90-х и начале 2000-х, подобной стратегией «Стены Альтермана». Он играл от обороны, прячась за рядом пешек, зная, что чем больше фигур на доске, тем сложнее компьютеру рассчитать преимущество из-за большого количества возможных ходов, которые нужно рассмотреть.
«Я бы сказал, что это одна из лучших тактик, которую я использовал в знаменитых матчах после компьютеров», — говорит Альтерман.
Шей Бушинский, шахматный программист, разработавший программу Junior вместе с Амиром Баном, давний друг Альтермана. Он вспоминает, как работал с ним над Junior в начале 2000-х, когда еще оставались важные направления игры, в которых люди могли бы преуспеть против машины.
Возьмем вот этот пример, в котором Junior (играя белыми) побеждается по большей части оборонительной стратегией гроссмейстера Йеруна Пикета (играющего черными). Один из комментаторов пишет: «Прекрасные противокомпьютерные шахматы! Просто посмотрите на игру Джуниора после 12 хода — он ничего не совершает и просто переставляет фигуры, пока Пикет (sic) выстраивает сокрушительное нападение».
Были и люди, которые поняли, что шахматные программы не всегда имеют хороший код. Саймон Уотерс, британский шахматный энтузиаст, обнаружил несколько ошибок программирования в популярной бесплатной программе GNU Chess.
«Была проблема с хронометражем, так что в некоторых моментах она не оставляла себе времени подумать, даже если имела время на часах», — приводит он один из примеров.
Заключение:
Слишком мощный
Проблема с тактикой и багами, впрочем, в том, что когда шахматные программисты о них узнают, они могут внести поправки или запрограммировать программы на противодействие. «Позже противокомпьютерные подходы вдохновили нас на создание новой модели, в которой мы лучше поймем это явление. Мы, собственно, и сделали это, что помогло нам выиграть два последовательных чемпионата мира», — говорит Бушинский.
Шахматные программисты пользовались идеями людей вроде Дэвида Леви и Бориса Альтермана с тех пор, как в 1968 году была заключена знаменитая сделка. По сути, шахматные программы в наши дни настолько мощные, что даже у лучшего игрока в мире (сейчас это 24-летний норвежец Магнус Карлсен) нет шансов победить в турнирном матче.
Почему?
«За последние 10 лет произошло множество улучшений в плане как поиска, так и оценки», — говорит Марк Лефлер, программист, который работает над мощной шахматной программой Komodo. — Сейчас поиск высоко избирательный, и они отрубают части дерева (или возможные ходы) или значительно уменьшают их, если программа считает ход не особенно хорошим», — говорит он. — «Критические линии могут быть обнаружены гораздо, гораздо глубже».