Перейти к содержанию

3.5.11 Компьютерные шахматы после Deep Blue

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

К счастью, IBM не была единственным создателем шахматных машин и программ, и после ухода Deep Blue со сцены прогресс не останавливался ни на секунду. Надежды некоторых шахматистов на то, что машины близки к выходу на плато уровня игры, не оправдались. Вскоре выяснилось, что для того, чтобы соревноваться с сильнейшими игроками-людьми, вовсе не нужны специализированные устройства, вполне достаточно обычных персональных компьютеров. В 1997 г. программа Rebel, созданная голландским программистом Эдом Шрёдером, со счётом 10,5 : 6,5 победила в матче гроссмейстера Артура Юсупова[1], а год спустя одолела одного из лучших шахматистов — самого Ананда — со счётом 5 : 3. Программа играла на обычном персональном компьютере, правда не все игры велись со стандартным турнирным контролем времени. Из восьми игр четыре были сыграны при блиц-контроле (5 минут каждому игроку плюс 5 секунд за каждый совершённый ход) — здесь программа победила со счётом 3 : 1. Ещё две партии были сыграны при ускоренном контроле (15 минут на партию у каждого игрока) — здесь преимущество программы также оказалось троекратным: 1,5 : 0,5. И наконец, оставшиеся две партии были сыграны при стандартном турнирном контроле (два часа на 40 ходов, затем час на доигрывание), здесь Ананду удалось склонить чашу весов в свою пользу — он выиграл одну партию, а вторая завершилась миром[2].

В 2002 г. новый чемпион мира по классическим шахматам — Владимир Крамник — сыграл вничью матч с Deep Fritz 7 (4 : 4)[3], при этом код программы был заморожен за пару месяцев до проведения матча, и копия программы была предоставлена Крамнику для подготовки. То есть Крамник получил возможность в течение двух месяцев практиковаться в игре против будущего противника[4].

В 2003 г. Каспаров сыграл два матча против шахматных программ. Первым стал январский матч против программы Deep Junior, созданной израильскими программистами Амиром Баном и Шаем Бушински. Он завершился счётом 3 : 3 — Каспаров выиграл первую партию, Deep Junior третью, а остальные игры завершились вничью[5]. Заметим, что скорость перебора Deep Junior во время матча составляла порядка 3 млн позиций в секунду, то есть почти в 70 раз меньше, чем у Deep Blue. В ноябре состоялся второй матч, в котором Каспаров в четырёх партиях сразился с X3D Fritz — версией Fritz, оснащённой интерфейсом, основанным на специальных очках, отображавших трёхмерный вид доски, а также голосовым интерфейсом для ввода ходов. Матч также завершился вничью — двумя результативными партиями и двумя ничейными[6].

Рис. 74. Каспаров в специальных очках, отображавших трёхмерный вид доски

В 2004 г. команда гроссмейстеров в составе Руслана Пономарёва, Весели́на Топалова и Сергея Карякина сразилась против команды машин в составе Hydra, Fritz 8 и Deep Junior. Матч закончился разгромом для команды людей: 8,5 : 3,5, единственной победой, записанной людьми на свой счёт, стала победа самого молодого участника, Сергея Карякина, над Deep Junior[7]. Год спустя попытать счастье против той же команды машин решила команда из трёх бывших чемпионов мира по шахматам по версии FIDE: Александра Халифмана, Рустама Касымджанова и уже знакомого нам по матчу 2004 г. Руслана Пономарёва, который в этот раз стал автором единственной победы людей. Итог матча — 8 : 4 в пользу машин[8].

В 2005 г. Hydra разгромила гроссмейстера Майкла Адамса со счётом 5,5 : 0,5[9], а в 2006 г. жертвой Deep Fritz со счётом 4 : 2 пал Крамник[10]. В конце нулевых годов лучшие программы достигли гроссмейстерского уровня игры на мобильных устройствах. В 2008 и 2009 гг. мобильная версия движка[11] Hiarcs, игравшая под управлением оболочки Pocket Fritz на мобильном телефоне, становилась победителем турнира Copa Mercosur в Буэнос-Айресе (Аргентина), причём по итогам турнира 2009 г., средний рейтинг участников которого составил 2389 пунктов, программа продемонстрировала «перформанс» (турнирный рейтинг) в 2898 пунктов, завершив турнир с девятью победами и единственной ничьей. В этом турнире поражение от программы потерпели оба участвовавших в нём гроссмейстера — Андрес Родригес Вилья и Сергио Слипак[12]. Движок Hiarcs 13, находившийся «под капотом» Pocket Fritz 4 в турнире 2009 г., перебирал всего около 20 000 позиций в секунду, используя 528 МГц процессор телефона HTC Touch HD, то есть уступал Deep Blue примерно в 10 000 раз[13].

С конца нулевых годов в матчах с шахматными программами людям стали предоставлять фору. В 2007–2008 гг. программа Rybka сыграла несколько подобных матчей, в которых противниками машины выступали гроссмейстеры Яан Эльвест, Роман Джинджихашвили и Вадим Милов. Фора обычно включала в себя пешку и дополнительный ход в начале игры. Эльвест и Джинджихашвили проиграли свои матчи[14], а Милов вышел из борьбы победителем[15].

В 2015 г. движок Komodo провёл серию матчей с форой против ряда шахматных гроссмейстеров и мастеров. Использовались форы в одну пешку, две пешки, качество (ладья за коня) и даже коня. Komodo показал хорошие результаты во всех этих играх, завершив большую часть партий вничью, но выиграв по крайней мере одну партию в каждой из конфигураций[16].

Хотя люди сегодня уже не могут всерьёз соревноваться с шахматными программами в силе игры, прогресс в области шахматного программирования не стоит на месте. Программы соревнуются друг с другом, исследуются новые подходы и алгоритмы, программы помогают профессиональным шахматистам в предматчевой подготовке и последующем анализе турнирных партий. В этой книге мы ещё вернёмся к теме компьютерных шахмат, когда будем говорить об успехах нейросетевых технологий во время новой весны искусственного интеллекта, а также в главе 6.5 о социальном искусственном интеллекте. Несмотря на кажущуюся простоту настольных игр для современных интеллектуальных систем и постепенный уход от технологий GOFAI, шахматы по-прежнему остаются важным испытательным полигоном для новых технологий в области искусственного интеллекта.

  1. Rebel vs Yusupov // http://www.rebel.nl/italy.htm
  2. Rebel vs Anand // http://www.rebel.nl/anand.htm
  3. Kramnik-Deep Fritz match ends in 4-4 draw! / The Chess Drum // https://www.thechessdrum.net/newsbriefs/2002/NB_BrainGames2.html
  4. An interview with world chess champion Vladimir Kramnik on Man vs Machine and Classical World Championships // https://en.chessbase.com/post/vladimir-kramnik-on-man-vs-machine-and-world-championships
  5. Shabazz D. (2003). Kasparov & Deep Junior fight 3–3 to draw! / The Chess Drum // https://www.thechessdrum.net/tournaments/Kasparov-DeepJr/
  6. Biever C. (2003). Kasparov 'forced' to draw with X3D Fritz / New Scientist, 12 November // https://www.newscientist.com/article/dn4376-kasparov-forced-to-draw-with-x3d-fritz/
  7. Bilbao Man vs Machine – a resume // https://en.chessbase.com/post/bilbao-man-vs-machine-a-resume
  8. 8:4 final score for the machines – what next? // https://en.chessbase.com/post/8-4-final-score-for-the-machines-what-next-
  9. Adams vs Hydra: Man 0.5 – Machine 5.5 // https://en.chessbase.com/post/adams-vs-hydra-man-0-5-machine-5-5
  10. Schulz A. (2006). Kramnik gegen Deep Fritz: Das letzte Match Mensch gegen Maschine? / Spiegel Online // https://www.spiegel.de/netzwelt/tech/kramnik-gegen-deep-fritz-das-letzte-match-mensch-gegen-maschine-a-450147.html
  11. * Термин «движок» требует некоторых объяснений. В 2000-е годы окончательно закрепилось разделение шахматных программ на две независимые части — «оболочку» (Graphic User Interface, GUI) и «движок» (engine), связанные между собой при помощи одного из стандартных интерфейсов, например WinBoard или UCI (Universal Chess Interface). Эта практика возникла в 1990-е годы в продуктах ChessBase, в которых оболочка от ChessBase поставлялась с несколькими шахматными движками, такими как Fritz, Junior, Shredder, Hiarcs, связанными с оболочкой при помощи программного интерфейса. Затем эта практика была перенята и остальной частью сообщества компьютерных шахмат. Теперь шахматные программисты могли не тратить время на разработку собственного интерфейса, а сосредоточиться на создании «шахматного мозга» программы, сконцентрированного в её движке. Стандартизация интерфейсов шахматных движков позволила автоматизировать проведение матчей и турниров между шахматными программами, исключив из процесса человека. Теперь движки могли обмениваться ходами внутри единой оболочки, которая выполняла роль своеобразного рефери, наблюдая за расходованием времени, корректностью ходов и при необходимости присуждая результаты игры в очевидных ситуациях. Кроме того, оболочке могли быть переданы некоторые дополнительные функции, например выбор ходов из дебютной библиотеки, что позволяло, например, устраивать турниры программ с одинаковой библиотекой дебютов у всех участников.
  12. Crowther M. (2009). The week in chess, 771, 17th August 2009 // https://web.archive.org/web/20110930232108/http://www.chess.co.uk/twic/twic771.html#13
  13. Ertel W., Black N. (2018). Introduction to Artificial Intelligence. Springer International Publishing // https://books.google.ru/books?id=geFHDwAAQBAJ
  14. Kaufman L. (2008). The Dzindzi – Rybka 3 Handicap Match // https://en.chessbase.com/post/the-dzindzi-rybka-3-handicap-match
  15. Kaufman L. (2008). The Milov vs. Rybka Handicap Match // https://en.chessbase.com/post/the-milov-vs-rybka-handicap-match
  16. Komodo handicap matches / Komodo chess engine // http://komodochess.com/store/pages.php?cmsid=17

Loading comments...