После Каспарова. Компьютерные шахматы — итоги и перспективы

    Заключительная статья из цикла о противостоянии Каспарова с шахматными машинами

    Матч с X3D стал последним сражением Гарри Кимовича с машиной – больше он никогда не играл с компьютерами публично. Впрочем, и его соперничество с людьми тоже продолжалось недолго. Пару лет он ещё играл в обычных турнирах, но в 2005 году решил завершить свою шахматную карьеру. Отныне шахматы стали для него всего лишь хобби.

    После ухода Каспарова, в шахматах не осталось явного лидера. На протяжении нескольких лет шахматную корону оспаривало сразу несколько примерно равных по силе гроссмейстеров. Но в 2013 году на вершину поднялся молодой норвежец Магнус Карлсен. Сегодня он чемпион мира и безусловный лидер мировых шахмат.

    Между тем матчи людей и машин продолжались. В 2004-05 годах в Испании состоялись два матча ведущих гроссмейстеров против лучших шахматных программ. Оба закончились победой команды машин, со счетом 3½:8½ и 4:8. В ходе второго матча состоялась также последняя на текущий момент, победа человека над одной из топ-программ при классических условиях игры. Честь столь специфического достижения выпала на долю гроссмейстера Руслана Пономарева, который смог воспользоваться оплошностью программы Дип Фриц 9.

    Летом 2005 года в Лондоне состоялся матч между гроссмейстером первой мировой десятки Майклом Адамсом и шахматной машиной Гидра (на фото слева). Традиционно, игралось шесть партий. Матч закончился со счетом 0½:5½ в пользу машины. Все чего смог добиться человек в матче, это одна ничья.

    И наконец, заключительным аккордом противостояния людей и машин стал матч чемпиона мира Владимира Крамника и шахматной программы Дип Фриц 10 в конце 2006 года. Снова победа машины – 4:2.

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


    На фото – Владимир Крамник играет с программой Дип Фриц 10.

    Как и у людей, состав сильнейших программ тоже постепенно менялся. В конце 2005 года на смену «заслуженным» чемпионам старой волны – Джуниору, Фрицу, Шреддеру и другим, пришел новый фаворит – программа Рыбка. Она намного обогнала конкурентов во всех рейтинг-листах и на протяжении пяти лет никто не смог оспорить её превосходство. С каждой новой версией она все больше и больше прибавляла в силе.

    В конце 2010 года на вторые роли Рыбку отодвинул Гудини, став новым, очевидным лидером среди программ. Продержавшись на самом верху мировой табели о рангах около трех лет, он в свою очередь уступил место ещё более сильным конкурентам. С 2014 года лучшими в мире считаются сразу две программы – Комодо и Стокфиш. В настоящее время они входят в аналитический арсенал практически всех ведущих гроссмейстеров. Стоит еще отметить, что в отличие от коммерческого Комодо, Стокфиш – это программа с открытым исходным кодом. А значит просмотреть её код, или даже просто наблюдать за процессом её совершенствования, может каждый. Между тем, уровень современных программ продолжает быстро расти и предела их совершенству пока не видно.

    Но вернемся к вопросу противостояния людей и машин. Могут ли сильнейшие гроссмейстеры обыгрывать лучшие шахматные программы сегодня?

    Как уже упоминалось выше, нормальные матчи между людьми и компьютерами давно не проводятся, так что судить об этом можно только по косвенным признакам. В первую очередь, это конечно рейтинг. Современные программы уже более чем на 500 пунктов сильнее тех, что играли когда-то с Каспаровым и другими гроссмейстерами. Причем, даже без учета прогресса по части вычислительной техники. Следует правда иметь в виду, что по результатам многолетних тестов, прирост рейтинга у машин слегка опережает человеческий – где-то в соотношении 5:4 или 4:3. Тем не менее, запас прочности современных программ настолько велик, что лучшие из них сейчас как правило без всякого труда выигрывают у тех программ, оборону которых в свое время безуспешно пытались взломать такие шахматные гиганты как Гарри Каспаров и Владимир Крамник. Играя против когда-то «заслуженных» Фрицев и Джуниоров, современные программы легко приумножают даже совсем незначительный перевес, и без проблем доводят его до победы. В общем, посредством старых программ и рейтингов можно сделать вполне определенный вывод относительно силы игры современных машин.


    Но, помимо рейтингов и матчей программ, несомненно важным является мнение и самих гроссмейстеров. По крайней мере тех, из них, кто в настоящее время постоянно играет в турнирах или занимается тренерской или аналитической работой. Без шахматных программ сегодня не обходится ни один серьезный анализ на «высшем уровне» и ведущие шахматисты (не как программисты конечно, но как пользователи), могут поведать о поведении программ очень многое:

    Гроссмейстер Владимир Тукмаков:
    …В общении шахматиста с машиной был заведомый лидер – человек, который задавал направление поиска, а программа, послушно следуя указаниям лидера, только вносила коррективы и уточнения. Но в последние годы это соотношение драматическим образом и необратимо изменилось. Теперь уже ЖД взял на себя роль жреца и поводыря, оставляя белковому существу возможность практически использовать рекомендации высшего разума.

    Гроссмейстер Сергей Шипов:
    Программы в конце первого десятилетия нового века стали уже намного сильнее людей — лучших из лучших — и это не подвергается сомнениям среди профессионалов. Каждый из нас использует лучшие программы в домашнем анализе, мы их знаем, как родных. Даже лучше…

    Современные программы (в первую очередь Рыбка и Гудини) обладают удивительно сбалансированной и человечной оценочной функцией. Они уже не такие жадные, как программы 90-х. Тонко чувствуют инициативу, грамотно работают с пешечной структурой, учитывают все важные стратегические факторы…

    В общем, десятилетия упорной работы программистов и профессиональных шахматистов прошли не зря. Они совместно создали почти идеальных игроков, намного превосходящих нас, живых людей. Это факт.

    Гроссмейстер Сергей Карякин:
    …Я иногда сражаюсь с программой «Гудини» и могу сравнивать. В поединке против компьютера тебя не покидает чувство обреченности…


    Возможен ли матч человек — машина сегодня? Каким он может быть? Давайте попробуем оценить варианты подобного соревнования.

    Во-первых, следует отметить, что разного рода легкие партии проводятся и в наши дни. А вот для серьезного матча нужен солидный призовой фонд, который вряд ли возможен при современном общественном интересе. Но даже если оставить в стороне финансовые вопросы, то в вероятном матче человеку придется давать какую-то фору – по времени или по материалу. Иначе он вряд ли согласится играть. Фора по материалу (речь конечно идет о топ-гроссмейстерах) скорее всего выльется в одну-две пешки, или их разменный эквивалент из других фигур. К сожалению, на размер материальной форы, по-видимому не слишком влияет сила игры лучших современных программ. Что естественно делает бессмысленным сравнение этих программ с людьми.

    Можно, в свою очередь, давать фору не по материалу, а скажем за счет уменьшения времени машины. Но чтобы современная программа сбавила в силе до уровня компьютеров первой половины 2000-х, потребуется выставить ей около 1 секунды на ход на хорошем современном смартфоне. Подобного рода «подгонка» силы соперников в общем-то лишает смысла само соревнование между человеком и машиной. В лучшем случае мы определим, сколько форы по времени необходимо, чтобы соперники и в самом деле уравнялись в силах. И только.


    Какие же есть еще варианты? Отсутствие у компьютера дебютной книги человеку поможет мало, так как машины и без нее играют сильно. От удаления эндшпильных таблиц выигрыш будет ещё меньше. Повторение ходов из предыдущих партий в основном исключено, вследствие заметной «рандомности» сопутствующей шахматным программам на многоядерных системах. Если же давать в помощь человеку слабую программу, то сразу встает вопрос, насколько велика роль машины в результатах человека. В общем, трудно представить себе какие-то очевидные и интересные формы игры с компьютерами сегодня.

    Подводя итоги, можно сказать что время громких матчей людей и машин окончательно ушло в прошлое. Компьютер сегодня не соперник, а помощник людей. Под влиянием машин, да и не только их, современные шахматы постепенно меняются. К чему это приведет, предстоит увидеть нам с вами.


    Смотрите также:
    Статья о принципах работы шахматных программ от Randl
    — Последняя редакция русского перевода книги «Behind Deep Blue» (pdf+doc): по ссылкам один, два, три.

    Комментарии 25

      +19
      Спасибо за потрясающий цикл статей.
      Карякин хорошо сказал, конечно:
      «В поединке против компьютера тебя не покидает чувство обреченности...»
        +4
        Подводя итоги, можно сказать что время громких матчей людей и машин окончательно ушло в прошлое. Компьютер сегодня не соперник, а помощник людей.

        Могу ошибаться, но слышал мнение, что до сих пор нету хорошей программы, играющей в Го, неужели в эту игру не проводят чемпионаты между машиной и человеком?
          +5
          Нет, Вы не ошибаетесь.

          Дерево вариантов в Го на много порядков больше чем в шахматах, кроме того позиционные нюансы в японской игре гораздо более сложные.

          То есть в компьютерных го пока весьма далеко от решения 2-х основных проблем, которые сейчас преодолены в компьютерных шахматах: эффективный перебор и оценка позиции.
            +2
            Тут такое мнение, выражаемое одним предложением. То, что в Го машина проигрывает, это результат того, что человек в Го играет очень хорошо, а компьютер очень плохо. В шахматах всё ровно наоборот. И дело не в алгоритме-дело в количестве возможных комбинаций и предсказуемости поведения фигур противника. В шахматах и фигуры предсказумее ходят, и количество ходом намного-много порядков меньше. А раз так-то это в разумных пределах вычислительной мощности компьютера, которое и есть его главное преимущество над человеком.
              +1
              Бувально через месяцев после этого сообщения вышла AlphaGo и полностью поменяла ландшафт) Go оказалась еще более простой игрой — первая же попытка серьезной компании сделала игру машин с человеком полностью бессмысленной.
                0

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

                  0
                  а для Го потребуется как минимум десктопный комп


                  Почему вы так думаете? Есть какие-то достоверные оценки игры AlphaZero если ограничить ее скорость скоростью доступной на телефоне?
                    0

                    Согласно википедии самые продвинутые версии AlphaGo и AlphaGo Zero работают на такой конфигурации:


                    4 TPU v2, одна машина

                    Соответственно на мобилке это просто работать не будет, либо очень очень медленно.

                      0
                      Да и десктопов с TPU я вроде пока что не встречал в продаже.
                        0
                        либо очень очень медленно.


                        Конечно очень медленно по сравнению с TPU. Но почему вы думаете что этого «очень медленно» не хватит для человека?
                        Просто могу сказать что для AlphaGo Zero шахматной есть опенсорсный клон, который работает и очень сильно играет на обычном CPU. Намного сильнее чем любой человек когда-либо играл. Я не знаю, есть ли подобная версия для го, но ожидаю что если бы ее кто-то сделал, она точно также выносила бы любого человека и в го. Процессоры для мобильника — они все еще обрабатывают сотни миллионов операций в секунду, и с обученной сетью можно обсчитывать лучший ход и на мобильнике.
                          0
                          Конечно очень медленно по сравнению с TPU. Но почему вы думаете что этого «очень медленно» не хватит для человека?

                          Можно вообще использовать обычный перебор варинтов, но это будет настолько медленно, что бессмысленно, потому что вселенная успеет сколлапсироваться, прежде чем закончатся расчеты одного хода.


                          Просто могу сказать что для AlphaGo Zero шахматной есть опенсорсный клон, который работает и очень сильно играет на обычном CPU.

                          Шахматы — игра полегче Го, там намного меньшее ветвление. В шахматы компьютеры выигрывали у людей и до появления Alpha Zero без использования нейронных сетей. Что за клон?


                          Я не знаю, есть ли подобная версия для го, но ожидаю что если бы ее кто-то сделал, она точно также выносила бы любого человека и в го.

                          Нет такой версии, что-то до сих пор не сделали. Да и даже о версии под обычный CPU я не слышал.


                          Процессоры для мобильника — они все еще обрабатывают сотни миллионов операций в секунду, и с обученной сетью можно обсчитывать лучший ход и на мобильнике.

                          Это все теория, вот когда появится такая версия на мобилке, тогда и можно будет вернуться к обсуждению.

                            0
                            Что за клон?


                            Полностью нейросеть и параметры от AlphaZero скопировала LCZero.
                            ru.wikipedia.org/wiki/Leela_Chess_Zero
                            Есть и другие программы — Leelenstein и прочие, которые тоже используют подход на нейросетях, но либо имеют другую сеть, либо другую стратегию обучения.

                            При этом LCZero не требует видеокарты или тем более TPU для работы. Она совершенно спокойно работает на любом CPU — пусть и значительно медленней чем она бы работала на GPU той же стомости.

                            Шахматы — игра полегче Го, там намного меньшее ветвление.


                            Это было важно пока главной силой программ была способность перебора вариантов, а главной проблемой — оценка позиции. Но после появления нейросетевых программ ситуация изменилась: у них теперь есть оценка позиции которая превосходит человеческий уровень ( а скорость перебора наоборот снизилась примерно в тысячу раз).

                            Чтобы не быть голословным: в шахматах я видел блитцматч гроссмейстера против LCZero, которая играла с ограничением перебора в 1 позицию. Иными словами — вообще безо всякого перебора. И этого оказалось достаточно чтобы обыграть гроссмейстера. Пусть и в блице, но даже в блице гросс делает перебор на несколько ходов вперед, т.е. гросс рассматривал вариаты глубже, рассматривал больше позиций чем LCZero и все равно проиграл. Мгновенная оценка позиции нейросети оказалась гораздо лучше человеческой — что-то что раньше казалось невозможным.

                            Теперь если рассмотреть Го — вроде как считается что там интуитивная оценка позиции более важна чем в шахматах, а способность к перебору — менее важна. Именно тем, что программы не могли научить оценивать позицию и объясняют проблемы ранних Гошных программ по сравнению с шахматными.
                            В какую силу будет играть AlphaGo Zero если ограничить ее перебор, скажем, 1 позицией или сотней? ( Вполне очевидно, что рассмотреть сотню позиций за разумное время сейчас сможет и мобильник). Возможно что также как и в шахматах: сильней аналога гроссмейстера, а возможно и сильней любого человека. Мы не знаем ответ на этот вопрос т.к. я не слышал чтобы AlphaGo Zero клонировали для игры в Го и выложили в открытый доступ.
                            Поэтому ваша оценка

                            а для Го потребуется как минимум десктопный комп,


                            мне кажется безосновательной.
                              0
                              LCZero

                              Здесь можно смотреть непрерывный компьютерный чемпионат. На данный момент (6.08.20) Lc0 рвет Stockfish +37-4.
                              блитцматч гроссмейстера против LCZero

                              1. Блиц есть блиц.
                              2. Гроссмейстеры бывают разные.
                +3
                В данном случае я имел в виду только шахматы. Го — это отдельная тема. Сейчас лучшие программы в Го играют примерно на 5-й дан на популярном сервере KGS. В переводе на российскую классификацию это примерно уровень мастера (плюс-минус). Так что пока программы для Го лучшим игрокам мира не конкуренты.

                В настоящий момент актуальнее соперничество в сёги — японском варианте шахмат. Этот вид шахмат вариативнее обычных, и потому сложнее для программ. Сейчас как раз в Японии проводится серия встреч люди-машины. Информации мало, но можно отслеживать здесь
                  +3
                  Будем ждать когда же компьютер будет научится щелкать и Го.
                    +3
                    В Го совсем недавно был прорыв и АИ уже может играть на одном уровне с человеком. Информация из этого курса: CS188.1x Artificial Intelligence на edx
                      +3
                      Скорее всего речь идет о методе монте карло. Но насколько я знаю, и там не было речи о том, чтобы программа выиграла 9 дана без форы.
                        +2
                        Десять лет назад, когда я более менее серьёзно занимался го, лучшие программы играли примерно как я (у меня был 10 кю). Потом они начали довольно резво развиваться (возможно это было связанно с тем, что задача обыграть человека в шахматы была в общем решена и внимание программистов переключилось на го, где всё было плохо). Учитывая что разница между профессиональным 1 даном и 9 даном довольно небольшая (в теории 4 камня форы, а на практике часто и меньше), и программы уже вплотную подобрались к 1-му профессиональному, думаю ждать осталось не долго.
                          +1

                          В итоге так и вышло :)

                            0
                            Да, я конечно не ожидал что от этого моего комментария до победы компьютера над профессиональным 9-м даном пройдёт всего год. Я тогда не знал что DeepMind этим уже занимается и думал что ещё лет 5-10 понадобится. Но с другой стороны матч против Ли Седола в 2016-м ещё был на куче железа (48 TPU на нескольких серверах) и до сверхчеловеческого уровня на домашнем ПК потребовалось ещё несколько лет.
                    +5
                    Шахматы все-таки величайшая игра! На небольшом поле, с несложными правилами, и такая глубина!
                      +4
                      А можно в последнюю статью вставить ссылки на все предыдущие статьи? Хотел этот цикл скинуть другу почитать.

                      А вообще спасибо за материал. Было очень интересно.
                        +2
                        +1
                          +4
                          UPD: Автор добавил ссылки в конце статьи.
                        +3
                        Меня, как давнего любителя шахмат, соревнования людей с компьютерными движками перестали интересовать уже давно. У человека шансов выиграть у компьютера нет. Но удивительно, что соревнования людей с людьми и движков с движками превратились в два разных, но по своему интересных вида спорта.

                        Если раньше соревнования людей в шахматы носили характер поиска абсолютной истины, то с появлением движков этот мотив ушел. Многие считавшиеся ранее эталоном партий после анализа с компьютером были серьезно пересмотрены. Поэтому игра людей с людьми стала носить более спортивный характер с элементами случайности, в некотором смысле шахматы стали в чем-то более близки к киберспорту (что-то типа StarCraft). Посмотрите, например, партии в шахматы Б. Джобавы (хотя бы вот эту www.chessgames.com/perl/chessgame?gid=1708295). Этот отход от строгих канонов с целью удивить противника, вывести его на необычные позиции.

                        А вот движки, в свою очередь, могут находить удивительно красивые вещи. Например, неизбежный мат в 517 ходов [ timkr.home.xs4all.nl/chess2/diary_16.htm, позиция 316 ], пока самый длинный из известных матов. Человеку найти такое не под силу. И очень интересно смотреть соревнования движков, например вот эти [ tcec.chessdom.com/live.php ]. Тут нет случайностей, а есть поединок стратегий. Это отдельное удовольствие.

                        Так что я думаю, шахматы будут еще очень долго жить, но движки и люди это будут отдельные ветви шахмат.

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое