Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Интересно, что современные ведущие программы выбирают ход со взятием конём на e6 практически не задумываясь: и Stockfish, и Komodo, и моя программа SmarThink выдают именно этот вариант с первых же секунд обдумывания, оценивая преимущество белых после него примерно в одну пешку. Но вот для Fritz Морша этот ход оказывается неподъёмной задачкой, Fritz 13SE (последняя версия программы, созданная Моршем) на современной персоналке не может найти этот ход даже после часа обдумывания. Делая ход h6, Каспаров, активно использовавший в своей подготовке Fritz, полагал, что компьютеру нахождение за доской жертвы коня на e6 просто не под силу, а при более спокойном ходе коня на e4 позиция будет складываться в пользу чёрных. Впрочем, мы не знаем, был ли способен Deep Blue найти этот ход во время матча, поскольку жертва коня на поле e6 была просто «домашней заготовкой» и содержалась в дебютной библиотеке машины.
Этот ход компьютера серьёзно подлил масла в огонь споров о том, была ли победа Deep Blue честной и бесспорной. Мигель Ильескас, входивший в команду Deep Blue, в своём интервью 2009 г. сказал: «Мы изучили все посредственные ходы, подобные 1. е4 а6 или 1. е4 b6, и постарались заложить в машину как можно больше заранее заданных ходов. Мы также добавили удар конём на е6 в защите Каро — Канн, причём сделали это как раз утром перед шестой партией. Да, тем утром мы сказали компьютеру: если Гарри сыграет 7…h6, отвечай 8. К:е6 и не смотри в базу данных. Просто играй, не думай… Это было трагедией для Гарри. Он перемудрил, решив, что машине в теоретической позиции предоставлена свобода выбора хода, который ей нравится, и что ей не понравится жертва фигуры. Он поставил на то, что машине ни за что не понравится жертва фигуры за пешку. И действительно, если бы мы дали ему свободу выбора, компьютер никогда бы так не сыграл. Но Гарри забыл, что в соответствии с контрактом мы имеем право вносить изменения в машину ежедневно. Поэтому машина взяла на e6 немедленно, и я помню лицо Каспарова: он был в шоке».
В том же интервью Ильескас упоминает, что IBM наняла русскоязычных охранников, которые должны были пересказывать команде Deep Blue разговоры на публике между Каспаровым и его тренером [839] . Каспаров утверждал, что, будучи в гостиничном номере, обсуждал со своей командой вариант, сыгранный позже в партии. Что, если и там кто-то мог подслушивать?
Впрочем, позже Джоэль Бенджамин опроверг утверждение Ильескаса в отношении шестой партии. По утверждению Бенджамина, он собственноручно добавил в дебютную библиотеку Deep Blue ход К:e6 ещё за месяц до матча, а вовсе не «в то самое утро» перед партией, как утверждал в своём интервью Ильескас [840] .
839
Dirk Jan ten Geuzendam (2009). Interview: Miguel Illescas / New In Chess magazine. № 5.
840
Kasparov G., Greengard M. (2017). Deep Thinking: Where Machine Intelligence Ends and Human Creativity Begins. John Murray Press // https://books.google.ru/books?id=ffYZDQAAQBAJ
Так или иначе, у Каспарова были вполне резонные поводы для подозрений.
К сожалению, череда взаимных обвинений и подозрений разрушила хрупкую атмосферу совместного научного поиска и здорового спортивного соперничества. Каспаров предлагал организовать новый матч, в котором IBM выступала бы в роли участника, а не организатора, но IBM отказала Каспарову в проведении матча-реванша на предложенных им условиях.
Deep Blue больше ни разу не участвовал в соревнованиях, не сыграв более ни одной публичной партии ни против людей, ни против других компьютеров. В 2001 г. машина была окончательно отключена и затем разобрана, а её части были переданы музею Смитсоновского института и Музею компьютерной истории.
Все эти события оставили в общественном сознании горькое послевкусие недосказанности и породили череду мифов и заблуждений в отношении компьютерных шахмат. Матчи 1996 и 1997 гг. привлекли к этой сфере огромное медийное внимание, прожектор хайпа на мгновение выхватил из темноты кусочек парадной витрины, посвящённой успехам в области создания систем ИИ, и вновь практически мгновенно компьютерные шахматы погрузились в плотный мрак, скрывающий от обывателя труд исследователей.
В ответ на слова Монти Ньюборна, сравнившего победу Deep Blue с полётом на Луну, Фредерик Фридель в интервью The New York Times сказал: «Победа Deep Blue над Каспаровым стала важной вехой развития искусственного интеллекта, но IBM совершила преступление, не позволив компьютеру играть дальше. Это всё равно что высадиться на Луне и сразу же вернуться домой, не оглядевшись вокруг» [841] .
841
Hoffman P. (2003). Retooling Machine and Man For Next Big Chess Faceoff / The New York Times, Jan. 21 // https://www.nytimes.com/2003/01/21/science/retooling-machine-and-man-for-next-big-chess-faceoff.html
3.5.11 Компьютерные шахматы после Deep Blue
К счастью, IBM не была единственным создателем шахматных машин и программ, и после ухода Deep Blue со сцены прогресс не останавливался ни на секунду. Надежды некоторых шахматистов на то, что машины близки к выходу на плато уровня игры, не оправдались. Вскоре выяснилось, что для того, чтобы соревноваться с сильнейшими игроками-людьми, вовсе не нужны специализированные устройства, вполне достаточно обычных персональных компьютеров. В 1997 г. программа Rebel, созданная голландским программистом Эдом Шрёдером, со счётом 10,5 : 6,5 победила в матче гроссмейстера Артура Юсупова [842] , а год спустя одолела одного из лучших шахматистов — самого Ананда — со счётом 5 : 3. Программа играла на обычном персональном компьютере, правда не все игры велись со стандартным турнирным контролем времени. Из восьми игр четыре были сыграны при блиц-контроле (5 минут каждому игроку плюс 5 секунд за каждый совершённый ход) — здесь программа победила со счётом 3 : 1. Ещё две партии были сыграны при ускоренном контроле (15 минут на партию у каждого игрока) — здесь преимущество программы также оказалось троекратным: 1,5 : 0,5. И наконец, оставшиеся две партии были сыграны при стандартном турнирном контроле (два часа на 40 ходов, затем час на доигрывание), здесь Ананду удалось склонить чашу весов в свою пользу — он выиграл одну партию, а вторая завершилась миром [843] .
842
Rebel vs Yusupov // http://www.rebel.nl/italy.htm
843
Rebel vs Anand // http://www.rebel.nl/anand.htm
В 2002 г. новый чемпион мира по классическим шахматам — Владимир Крамник — сыграл вничью матч с Deep Fritz 7 (4 : 4) [844] , при этом код программы был заморожен за пару месяцев до проведения матча, и копия программы была предоставлена Крамнику для подготовки. То есть Крамник получил возможность в течение двух месяцев практиковаться в игре против будущего противника [845] .
В 2003 г. Каспаров сыграл два матча против шахматных программ. Первым стал январский матч против программы Deep Junior, созданной израильскими программистами Амиром Баном и Шаем Бушински. Он завершился счётом 3 : 3 — Каспаров выиграл первую партию, Deep Junior третью, а остальные игры завершились вничью [846] . Заметим, что скорость перебора Deep Junior во время матча составляла порядка 3 млн позиций в секунду, то есть почти в 70 раз меньше, чем у Deep Blue. В ноябре состоялся второй матч, в котором Каспаров в четырёх партиях сразился с X3D Fritz — версией Fritz, оснащённой интерфейсом, основанным на специальных очках, отображавших трёхмерный вид доски, а также голосовым интерфейсом для ввода ходов. Матч также завершился вничью — двумя результативными партиями и двумя ничейными [847] .
844
Kramnik-Deep Fritz match ends in 4-4 draw! / The Chess Drum // https://www.thechessdrum.net/newsbriefs/2002/NB_BrainGames2.html
845
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
846
Shabazz D. (2003). Kasparov & Deep Junior fight 3–3 to draw! / The Chess Drum // https://www.thechessdrum.net/tournaments/Kasparov-DeepJr/
847
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/
В 2004 г. команда гроссмейстеров в составе Руслана Пономарёва, Веселина Топалова и Сергея Карякина сразилась против команды машин в составе Hydra, Fritz 8 и Deep Junior. Матч закончился разгромом для команды людей: 8,5 : 3,5, единственной победой, записанной людьми на свой счёт, стала победа самого молодого участника, Сергея Карякина, над Deep Junior [848] . Год спустя попытать счастье против той же команды машин решила команда из трёх бывших чемпионов мира по шахматам по версии FIDE: Александра Халифмана, Рустама Касымджанова и уже знакомого нам по матчу 2004 г. Руслана Пономарёва, который в этот раз стал автором единственной победы людей. Итог матча — 8 : 4 в пользу машин [849] .
848
Bilbao Man vs Machine – a resume // https://en.chessbase.com/post/bilbao-man-vs-machine-a-resume
849
8:4 final score for the machines – what next? // https://en.chessbase.com/post/8-4-final-score-for-the-machines-what-next-
В 2005 г. Hydra разгромила гроссмейстера Майкла Адамса со счётом 5,5 : 0,5 [850] , а в 2006 г. жертвой Deep Fritz со счётом 4 : 2 пал Крамник [851] . В конце нулевых годов лучшие программы достигли гроссмейстерского уровня игры на мобильных устройствах. В 2008 и 2009 гг. мобильная версия движка [852] Hiarcs, игравшая под управлением оболочки Pocket Fritz на мобильном телефоне, становилась победителем турнира Copa Mercosur в Буэнос-Айресе (Аргентина), причём по итогам турнира 2009 г., средний рейтинг участников которого составил 2389 пунктов, программа продемонстрировала «перформанс» (турнирный рейтинг) в 2898 пунктов, завершив турнир с девятью победами и единственной ничьей. В этом турнире поражение от программы потерпели оба участвовавших в нём гроссмейстера — Андрес Родригес Вилья и Сергио Слипак [853] . Движок Hiarcs 13, находившийся «под капотом» Pocket Fritz 4 в турнире 2009 г., перебирал всего около 20 000 позиций в секунду, используя 528 МГц процессор телефона HTC Touch HD, то есть уступал Deep Blue примерно в 10 000 раз [854] .
850
Adams vs Hydra: Man 0.5 – Machine 5.5 // https://en.chessbase.com/post/adams-vs-hydra-man-0-5-machine-5-5
851
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
852
* Термин «движок» требует некоторых объяснений. В 2000-е годы окончательно закрепилось разделение шахматных программ на две независимые части — «оболочку» (Graphic User Interface, GUI) и «движок» (engine), связанные между собой при помощи одного из стандартных интерфейсов, например WinBoard или UCI (Universal Chess Interface). Эта практика возникла в 1990-е годы в продуктах ChessBase, в которых оболочка от ChessBase поставлялась с несколькими шахматными движками, такими как Fritz, Junior, Shredder, Hiarcs, связанными с оболочкой при помощи программного интерфейса. Затем эта практика была перенята и остальной частью сообщества компьютерных шахмат. Теперь шахматные программисты могли не тратить время на разработку собственного интерфейса, а сосредоточиться на создании «шахматного мозга» программы, сконцентрированного в её движке. Стандартизация интерфейсов шахматных движков позволила автоматизировать проведение матчей и турниров между шахматными программами, исключив из процесса человека. Теперь движки могли обмениваться ходами внутри единой оболочки, которая выполняла роль своеобразного рефери, наблюдая за расходованием времени, корректностью ходов и при необходимости присуждая результаты игры в очевидных ситуациях. Кроме того, оболочке могли быть переданы некоторые дополнительные функции, например выбор ходов из дебютной библиотеки, что позволяло, например, устраивать турниры программ с одинаковой библиотекой дебютов у всех участников.
853
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
854
Ertel W., Black N. (2018). Introduction to Artificial Intelligence. Springer International Publishing // https://books.google.ru/books?id=geFHDwAAQBAJ
С конца нулевых годов в матчах с шахматными программами людям стали предоставлять фору. В 2007–2008 гг. программа Rybka сыграла несколько подобных матчей, в которых противниками машины выступали гроссмейстеры Яан Эльвест, Роман Джинджихашвили и Вадим Милов. Фора обычно включала в себя пешку и дополнительный ход в начале игры. Эльвест и Джинджихашвили проиграли свои матчи [855] , а Милов вышел из борьбы победителем [856] .
В 2015 г. движок Komodo провёл серию матчей с форой против ряда шахматных гроссмейстеров и мастеров. Использовались форы в одну пешку, две пешки, качество (ладья за коня) и даже коня. Komodo показал хорошие результаты во всех этих играх, завершив большую часть партий вничью, но выиграв по крайней мере одну партию в каждой из конфигураций [857] .
855
Kaufman L. (2008). The Dzindzi – Rybka 3 Handicap Match // https://en.chessbase.com/post/the-dzindzi-rybka-3-handicap-match
856
Kaufman L. (2008). The Milov vs. Rybka Handicap Match // https://en.chessbase.com/post/the-milov-vs-rybka-handicap-match
857
Komodo handicap matches / Komodo chess engine // http://komodochess.com/store/pages.php?cmsid=17
Хотя люди сегодня уже не могут всерьёз соревноваться с шахматными программами в силе игры, прогресс в области шахматного программирования не стоит на месте. Программы соревнуются друг с другом, исследуются новые подходы и алгоритмы, программы помогают профессиональным шахматистам в предматчевой подготовке и последующем анализе турнирных партий. В этой книге мы ещё вернёмся к теме компьютерных шахмат, когда будем говорить об успехах нейросетевых технологий во время новой весны искусственного интеллекта, а также в главе 6.5 о социальном искусственном интеллекте. Несмотря на кажущуюся простоту настольных игр для современных интеллектуальных систем и постепенный уход от технологий GOFAI, шахматы по-прежнему остаются важным испытательным полигоном для новых технологий в области искусственного интеллекта.