Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
2. Теперь рассмотрим множество позиций с неопределённой оценкой, в которых очередь хода за крестиками и существует хотя бы один ход, ведущий в позицию с оценкой 1. Оценкой для таких позиций тоже становится единица: то есть позиции, в которых у крестиков есть хотя бы один ход, ведущий в выигрышную для них позицию, являются для них тоже выигрышными.
3. Аналогично для позиций с очередью хода, принадлежащей ноликам, имеющих неопределённую оценку, при наличии у ноликов хотя бы одного хода, ведущего в позицию с оценкой –1, устанавливаем оценку, равную –1.
4. Рассмотрим теперь позиции, для которых все возможные ходы приводят в позиции с определённой оценкой. Для таких позиций выберем оценку, соответствующую лучшему из возможных исходов для стороны, которой принадлежит очередь хода. То есть если очередь хода принадлежит крестикам и у них есть ход, ведущий в ничейную позицию, то оценкой позиции является 0, в противном случае (т. е. если все ходы ведут к проигрышным позициям) оценкой позиции становится –1. Если же очередь хода за ноликами и у них есть ход, ведущий в ничейную позицию, то оценкой позиции становится 0, в противном же случае — 1.
5. Если на шагах 2–4 была получена хотя бы одна новая оценка, возвращаемся к шагу 2.
Таким образом, мы, начав с финальных позиций игры, постепенно перемещаемся в направлении её начальной позиции, присваивая по пути оценки позициям промежуточным. Именно из-за этого движения задом наперёд метод называется ретроспективным анализом.
Работу алгоритмов удобно рассматривать в графической форме, используя представление игры в виде древовидной структуры, в которой узлы соответствуют позициям в игре, а ветви — возможным ходам. Алгоритм начинает работу с установления оценки для нижних (терминальных) узлов дерева, а затем постепенно поднимается вверх, пока не достигает корневого узла — начальной позиции игры.
Если игра, подобно описанной Цермело версии шахмат, допускает достижение ничьей при помощи бесконечных последовательностей ходов, то описанный нами алгоритм по завершении работы оставит оценку для таких позиций неопределённой и нам достаточно будет просто заменить неопределённые оценки на нули, соответствующие ничьей, чтобы иметь определённые оценки для всех игровых позиций.
Получив точные оценки для всех позиций игры, мы можем использовать их для того, чтобы в любой позиции совершать идеальный ход. Достаточно просто просмотреть список всех возможных ходов в текущей позиции и выбрать тот, который ведёт в позицию с наилучшей для нас оценкой.
Таким образом мы и получаем введённые ранее Цермело заполненные множества последовательностей ходов.
3.3.3 Применение обратной индукции для анализа шахматных окончаний
В 1969 г. в СССР математики Александр Брудно и Игорь Ландау применили ретроанализ для решения шахматной задачи под названием «Неприкосновенный король». В задаче на доске три фигуры: белый король, белый ферзь и чёрный король. Белый король находится на поле c3 и не имеет права двигаться (поэтому и называется неприкосновенным). Вопрос заключается в том, может ли белый ферзь с помощью своего неприкосновенного короля заматовать одинокого короля чёрных. Эта задача была известна ещё в XIX в., и многие шахматисты, в том числе гроссмейстеры, ошибочно предполагали, что заматовать короля нельзя. Брудно и Ландау выяснили с помощью машины, что мат даётся при любом начальном положении белого ферзя и чёрного короля, причём не позднее двадцать третьего хода. Они также доказали, что белые побеждают только в том случае, если «неприкосновенный король» в задаче стоит на полях c3, c6, f3 или f6. Вполне вероятно, что это был первый случай в истории шахмат (и математики), когда вычислительная машина решила шахматную задачу раньше человека [513] , [514] .
513
Гик Е. Я. (1976). Математика на шахматной доске. — М.: Наука // https://books.google.ru/books?id=bPQPAQAAIAAJ
514
Брудно А., Ландау И. (1969). Неприкасаемый король // Шахматы. № 19.
В 1970 г. математик Томас Штрохлейн защитил диссертацию о компьютерном анализе шахматных окончаний [515] . Когда на шахматной доске остаётся мало фигур, задача нахождения оптимальных ходов становится вычислимой. В 1969 г. Штрохлейн выполнил ряд расчётов на компьютере AEG-Telefunken TR4 в Вычислительном центре им. Лейбница в Мюнхене (Leibniz-Rechenzentrum Munchen, сегодня это учреждение обычно называют Суперкомпьютерным центром им. Лейбница), проанализировав такие окончания, как «король и ферзь против короля» (KQK), «король и ладья против короля» (KRK), «король и пешка против короля» (KPK), «король и ферзь против короля и ладьи» (KQKR), «король и ладья против короля и слона» (KRKB) и «король и ладья против короля и коня» (KRKN) [516] . Это традиционно считается первым случаем практического применения ретроспективного анализа для шахматных окончаний [517] .
515
Strohlein T. (1970). Untersuchungen uber kombinatorische Spiele. Technische Hochschule Munchen // https://books.google.ru/books?id=VowgHAAACAAJ
516
Strohlein T., Zagler L. (1977). Analyzing games by Boolean matrix iteration / Discrete Mathematics, Vol. 19, Iss. 2, pp. 183–193 //90033-4
517
Stiller L. B. (1995). Exploiting symmetry on parallel architectures. Ph. D. Thesis, Johns Hopkins University. Archived from the original on 30 September 2007. Retrieved 4 May 2007 // https://web.archive.org/web/20070930063855/http://users.rcn.com/lstiller/thesis.pdf
В 1970-е гг. сотрудники Института проблем управления АН СССР Эдуард Комиссарчик и Арон Футер осуществили машинный анализ эндшпиля «король, пешка, ферзь против короля и ферзя» (с белой пешкой, фиксированной на поле g7) [518] , а также эндшпиля «король, пешка, ладья против короля и ладьи» (KRPKR) [519] , [520] .
Именно работу по анализу последнего эндшпиля я вспоминаю, когда смотрю очередную серию анимационного сериала Netflix «Любовь, смерть и роботы» (Love, Death & Robots), и вот почему. В 2007 г. свет увидела книга Дэвида Леви с похожим названием — «Любовь и секс с роботами» (Love and Sex with Robots) [521] . Леви также выступает в качестве организатора скандально известной одноимённой ежегодной конференции (loveandsexwithrobots.org), проведение которой в 2015 г. было сорвано из-за запрета властей Малайзии. Дэвид Леви весьма яркая личность в мире ИИ. Например, он руководил разработкой и финансировал создание чат-ботов, становившихся победителями премии Лёбнера в 1997-м (Converse) и 2008-м (Do-much-more). Леви возглавляет Международную ассоциацию компьютерных игр (International Computer Games Association, ICGA), созданную в 1977 г. как Международная ассоциация компьютерных шахмат (International Computer Chess Association, ICCA). Леви сам является международным мастером спорта по шахматам, победителем чемпионата Шотландии по шахматам (1968-го, в 1975-м разделил первое место со Стивеном Суонсоном), а в 1972 г. играл на первой доске за команду Шотландии на Шахматной олимпиаде в Скопье. Как видите, мы совсем близко, до искомого эндшпиля уже практически рукой подать.
518
Комиссарчик Е. А., Футер А. Л. (1974). Об анализе ферзевого эндшпиля при помощи ЭВМ // Проблемы кибернетики. № 29.
519
Футер А. Л. (1978). Программирование малофигурных эндшпилей: Докл. АН СССР, 242:2 (1978). С. 302–305 // http://mi.mathnet.ru/dan41980
520
Александров А. Г., Бараев А. М., Гольфанд Я. Ю., Комиссарчик Э. А., Футер А. Л. (1977). Анализ ладейного эндшпиля на ЭВМ / Автоматика и телемеханика. № 8. С. 113–117 // http://mi.mathnet.ru/at7425
521
Levy D. (2007). Love and Sex with Robots: The Evolution of Human-Robot Relationships. HarperCollins // https://books.google.ru/books?id=PJ4sAAAAYAAJ
Кроме игры в шахматы и очевидного интереса к теме ИИ, Дэвид Леви также является заядлым спорщиком.
В 1968 г. Леви и Джон Маккарти, один из пионеров шахматного программирования (и автор термина «искусственный интеллект», о чём мы упоминали в начале книги), встретились на вечеринке, устроенной Дональдом Мичи. Маккарти пригласил Леви сыграть в шахматы — и последний одержал победу. Маккарти прокомментировал эту победу словами: «Вы можете победить меня, но через десять лет появится компьютерная программа, которая сможет победить вас». Леви предложил заключить пари, и Маккарти согласился. Спорщики поставили по 500 фунтов, это была более чем внушительная сумма, эквивалентная примерно 14 000 долларов 2023-го [522] . По признанию самого Леви, в то время он зарабатывал 895 фунтов в год [523] . Позже ставка более чем удвоилась, когда к ней присоединились Дональд Мичи, Сеймур Пейперт из Массачусетского технологического института и Эд Коздровицкий из Калифорнийского университета в Дейвисе.
522
https://www.in2013dollars.com/uk/inflation/1968?endYear=2023&amount=500
523
Baraniuk C. (2015). BBC – Future – The cyborg chess players that can’t be beaten, December 04 // http://www.bbc.com/future/story/20151201-the-cyborg-chess-players-that-cant-be-beaten
Забегая вперёд, скажем, что Леви одержал победу в этом пари, выиграв в последующие годы несколько матчей против различных программ (Chess 4.5, Каиссы и MacHack), включая решающий матч 1978 г. против программы Chess 4.7 в Торонто [524] , [525] , а в 1984 г. Леви выиграл вторую, на этот раз пятилетнюю ставку в пари против разработчиков программы Cray Blitz [526] .
Но вернёмся назад, когда исход этого пари ещё был неясен, а Леви не прекращал спорить.
524
Douglas J. R. (1978). Chess 4.7 versus David Levy / BYTE. p. 84. Retrieved 17 October 2013 // https://archive.org/stream/byte-magazine-1978-12/1978_12_BYTE_03-12_Life#page/n85/mode/2up
525
Levy D. N. L., Newborn M. (1980). More chess and computers: the microcomputer revolution, the challenge match. Computer Science Press // https://books.google.ru/books?id=uDtQAQAAIAAJ
526
Levy D. (1984). Chess Master versus Computer // ICCA Journal, Vol. 7, No. 2.
В 1973 г. во время Северо-Американского чемпионата по шахматам среди компьютерных программ (North American Computer Chess Championship, NACCC), организованного Ассоциацией вычислительной техники (Association for Computing Machinery, ACM) в Атланте, Леви поспорил с создателями программы CHAOS, которые выразили сомнение в его заявлении о том, что в течение года они не смогут запрограммировать компьютер для правильной игры в окончании «король и ладья с пешкой против короля и ладьи» так, чтобы машина всегда была способна выиграть, находясь в выигрышной позиции, и никогда не проигрывала в ничейной. Сумма пари составила 100 долларов, и спустя год, в ноябре 1974 г., Леви получил деньги, поскольку программисты признали, что задача оказалась слишком сложной для них.