Rybka (Rybka)

Перейти к навигации Перейти к поиску
Rybka
Тип Шахматная программа
Разработчик Васик Райлих
Операционная система Windows
Последняя версия 4 (26 мая, 2010 года[1])
Лицензия Проприетарное программное обеспечение
Сайт rybkachess.com

Rybka (чеш. Рыбка) — компьютерная шахматная программа, разработанная международным мастером по шахматам Васиком Райлихом. С мая 2008 года по декабрь 2010 года[2] Rybka была сильнейшей шахматной программой во всех известных рейтинговых списках.[3][4][5][6][7] Rybka выиграла множество официальных Компьютерных шахматных турниров, включая Чемпионат мира по шахматам среди компьютерных программ в 2007, 2008, 2009 и 2010 годах. В феврале 2011 проиграла матч из сорока партий программе Гудини (Houdini 1.5a) со счётом 23½ — 16½. Программа поддерживает однопроцессорный и многопроцессорный режимы. Всего поддерживается до 2048 ядер. Существуют как 32-разрядные, так и 64-разрядные версии программы.

В 2011 году последовало обвинение в плагиате — использовании исходного кода сторонних программ. Автору поступило требование вернуть все шахматные награды и призовые деньги, завоёванные программой, а также было заявлено об отказе в праве участвовать в будущих чемпионатах мира; это же было рекомендовано сделать организаторам других турниров[8][9][⇨].

Название[править | править код]

Слово Rybka означает на чешском и польском языках то же самое, что и в русском: «рыбка». В интервью на вопрос Александра Шмидта: «Вы выбрали имя Rybka, потому что программа всегда выскальзывает из рук, будто рыбка?», Васик Райлих ответил: «Что касается имени Rybka, я прошу прощения, но это останется моей маленькой тайной».[10]

Сила игры[править | править код]

Версия 2.2n2 (доступна для бесплатной загрузки) имела рейтинг 3110 Эло[11] на 4-ядерном процессоре, а Rybka 3 примерно на 100 пунктов сильнее, чем 2.2n2[12]. Текущая версия Rybka использует многопроцессорность, увеличивая рейтинг примерно на 50 пунктов Эло при удвоении количества процессоров[13].

Оценочная функция Rybka рассматривается разработчиками как одно из главных преимуществ среди конкурирующих программ[14][15].

Использование побитового представления клеток доски увеличивает эффективность на 60 % при запуске в 64-разрядном режиме, что, в свою очередь, приводит к приблизительно 40 дополнительным пунктам рейтинга Эло[16].

26 сентября 2008 вышел рейтинговый список SSDF, с Deep Rybka 3 на первом месте с рейтингом 3238[17].

Хотя и официально заявлена поддержка программой до 2048 вычислительных ядер, эффективность распараллеливания крайне низкая на большом количестве потоков. Заявленные 2048 ядер - больше похожи на маркетинговый ход разработчиков.

Внутренние качества[править | править код]

Rybka — программа с закрытым исходным кодом, однако некоторые подробности известны: Rybka использует побитовое представление шахматных позиций[18] и альфа-бета-отсечение с относительно большим «окном стремления» (англ. aspiration search window)[19]. Она использует очень агрессивное сокращение возможных решений, что приводит к несбалансированным деревьям поиска[20]. Детали функции оценки неизвестны, но начиная с версии 2.3.1 в ней использованы идеи гроссмейстера Ларри Кауфмана, бо́льшая часть которых была предложена в его публикациях 1990-х годов о материальном дисбалансе[16][21].

В 2007 году Rybka была обвинена в том, что была основана на программе Fruit, но Райлих категорически отверг это утверждение[22].

Создатели[править | править код]

Ивета и Васик Райлихи

Команда Рыбки необычна среди создателей компьютерных шахматных программ — среди её главных участников немало сильных шахматистов[16]. Васик Райлих, главный автор Рыбки, является международным мастером (IM).[23] Международный гроссмейстер (GM) Ларри Кауфман[24], победивший в 2008 году на чемпионате мира для ветеранов (старше 60 лет), начиная с версии 2.3 отвечает за функцию оценки. Ивета Райлих, главный испытатель и идейный вдохновитель программы Rybka, является женщиной-гроссмейстером (WGM) и международным мастером (IM)[25]. Йерун Номен[26] (использовавший в работе программу REBEL) и Даг Нильсен[27], авторы дебютных книг — сильнейшие игроки в усовершенствованные шахматы.

История[править | править код]

Васик Райлих начал работу над созданием компьютерной шахматной программы в начале 2003 года. 2 декабря 2005 года была выпущена бета-версия Rybka 1.0.

Участие в турнирах[править | править код]

В 2005 году, с 27 декабря по 30 декабря, Rybka участвовала в 15-м Международном компьютерном шахматном чемпионате в Падерборне (IPCCC). Rybka выиграла турнир, набрав 5½ очка из 7 возможных, опередив такие программы как Gandalf, Zappa, Spike, Shredder и Fruit.

На Интернет-чемпионате по шахматам (CCT8), проходившем с 25 февраля по 26 февраля 2006 года, Rybka победила, набрав 8 очков из 9 возможных, сыграв без поражений. В апреле 2006 года в основном турнире PAL/CSS Freestyle, играя без помощи человека, Rybka 1.1 заняла первое место. В финальном турнире Rybka 1.1 разделила второе и третье место, после Hydra. В 6-м турнире ICT в Лейдене в мае 2006 Rybka победила, набрав 8½ из 9 и обыграв Sjeng, Gandalf и Shredder. В 14-м Чемпионате мира по шахматам в Турине (Италия) в мае 2006, Rybka, игравшая под названием Rajlich, разделила второе место с программой Shredder, с которой сыграла вничью, после программы Junior, выигравшей титул Чемпиона мира 2006. В июне 2006 в главном турнире PAL/CSS Freestyle команда Rybka, игравшая под именем Rajlich, разделила первое место с Intagrand. В финале же Rybka заняла чистое первое место. В 2006 на Открытом компьютерном чемпионате Нидерландов по шахматам (ODCCC) Rybka 2.2 стала первой с максимальной суммой очков — 9 из 9 возможных[28]. В декабре 2006 Rybka участвовала в 17-м IPCCC. Rybka выиграла турнир, набрав 6½ очка из 7 возможных[29].

В феврале 2007 года Rybka участвовала в турнире CCT9 и выиграла его с 6/7 очками[30]. В 7-м турнире ICT в Лейдене в мае 2007 Rybka победила, набрав 7½ из 9 очков, впереди Zappa и HIARCS[31]. Rybka выиграла 15-й Чемпионат мира по шахматам среди компьютерных программ в июне 2007 с 10 очками из 11 возможных. Команда Rybka, игравшая под именем Rajlich, выиграла в июне 2007 турнир PAL/CSS Freestyle, завершив его с 6/9 очками. Позже в том же году она снова победила на ODCCC, набрав 8/9 очков[32].

В январе 2008 года Rybka заняла первое место в CCT10, набрав 5,5/7 очка[33]. В октябре 2008 Rybka выиграла 16-й Чемпионат мира по шахматам среди компьютерных программ, проходивший в Пекине, Китай, набрав 8/9. Месяц спустя Rybka выиграла 28-й ODCCC, набрав максимальные 9/9 очков[34].

В марте 2009 года Rybka выиграла CCT11 с 7,5/9 очка[35] и 17-й Чемпионат мира по шахматам среди компьютерных программ (Памплона, Испания), набрав 8/9 очков[36]. В октябре 2009 Rybka выиграла 29-й ODCCC с результатом 7,5/9[37].

Гандикап-матчи Рыбки против гроссмейстеров[править | править код]

После того, как первой среди программ Rybka выиграла гандикап-матч с гроссмейстеромЯана Эльвеста, которому была предложена фора в пешку), Ларри Кауфман из команды Rybka пообещал собственный денежный приз, если человек сможет выиграть у Рыбки в матче из шести партий без форы. Гроссмейстер Яан Эльвест позже повторно сыграл с Рыбкой, имея двойное преимущество во времени на обдумывание ходов и белый цвет в каждой партии, при этом Rybka имела трёхходовую дебютную книгу, ограниченный размер кэша (512 Мб) и не имела доступа к базе эндшпильных окончаний (матч назывался «Всё, кроме пешки»). Матч закончился со счётом 4,5-1,5 после трех побед Рыбки и трех ничьих[38].

В марте 2008 года Rybka играла гандикап-матч из восьми партий против гроссмейстера Романа Джинджихашвили чёрными «без пешки и хода», с 3 марта по 8 марта. Результат был 4—4, после 2 побед Рыбки, 4 ничьих и 2 поражений[39].

В сентябре 2008 года Rybka играла гандикап-матч против гроссмейстера Вадима Милова, своего сильнейшего соперника в подобных матчах (Милов на тот момент имел рейтинг Эло 2705, 28-й в мире). Результатом была победа человека, доставшаяся Милову с трудом. В двух партиях без форы Милов проиграл Рыбке белыми 1½-½. Имея преимущество «в пешку и ход», он выиграл 1½-½. Также он победил 2½-1½ (3 ничьи, 1 победа), играя черными без коня, а Rybka без ладьи[40].

Матч с Zappa[править | править код]

В сентябре 2007 года шахматная программа Zappa победила Рыбку в матче со счетом 5½-4½. Ключевой была 180-ходовая четвёртая партия[41], которую сначала могла выиграть Рыбка (одним точным ходом 52.Qe1), а потом закончиться вничью при соблюдении правила 50 ходов. Однако, чтобы избежать ничьей на 109-м ходу вследствие данного правила, из-за особенности программы Рыбка пожертвовала свою пешку. Потеря пешки в конечном счете позволила Zappa свести на нет обороноспособность Рыбки и выиграть партию.[42]

Версии[править | править код]

Версия 3[править | править код]

В то время как предыдущие версии Rybka были выпущены исключительно компанией Convekta, Rybka 3 была выпущена совместно ChessBase и Convekta.[43] Хотя Rybka 3 остается шахматной программой с UCI интерфейсом, она имеет дополнительные особенности, когда выполняется в пользовательской оболочке ChessBase или Convekta.[44] В интервью с Франком Куизинским Васик Райлих рассказал о планах относительно будущего графического интерфейса пользователя (GUI), который «должным образом отобразит шахматное знание пользователю», наиболее вероятно в форме графической оценки фигур на доске. Графический интерфейс пользователя, названный Aquarium («Аквариум»), был выпущен компанией ChessOK, прежде известной как Convekta[45].

Поддержка Chess960 (шахмат Фишера) была осуществлена для шахматного турнира в Майнце 2007 года, где впоследствии Rybka выиграла компьютерный турнир по шахматам Фишера[46][47].

Было много общих усовершенствований силы игры, включая улучшение многопроцессорной производительности, увеличенную эффективность поиска и лучшую оценку позиции. Созданы три программных стиля: оптимальный, человеческий и динамический. Дебютная книга теперь продается как отдельный продукт[44]. Рейтинг-листы шахматных программ показали, что Rybka 3 превышает рейтинг предыдущей версии Rybka практически на 100 пунктов Эло[48].

Версия 4[править | править код]

  • Rybka 4 была выпущена 26 мая 2010 года. Васик Райлих дал следующую информацию на форуме Rybka:[49]
    • Rybka 4 является нормальным UCI-движком, без защиты от копирования.
    • Есть отдельные однопроцессорные и мультипроцессорные версии.
    • Полные шахматные пакеты анализа, которые включает Rybka 4, будут сделаны ChessBase (www.chessbase.com) и Convekta/ChessOK (www.chessok.com).
    • Обычная Rybka 4 UCI без графического интерфейса (GUI) доступна для загрузки только от RybkaChess (www.rybkachess.com).
    • Все эти версии Rybka 4 будут идентичны и могут использоваться в любом UCI-совместимом GUI.

Выпуск будущих дополнений[править | править код]

  • Нативная поддержка Linux была подтверждена без указания определенной даты. План выпуска программы на не-Windows платформах ожидается после завершения Rybka версии 3.0. Однако Rybka работает под программным обеспечением Wine, а 64-битовая Rybka выполняется и под Linux, и под Mac OS X с использованием экспериментального, Rybka-определенного уровня трансляции, названного «microwine»[50].
  • Поддержка Pocket PC и подобных мобильных устройств[51].

Конфликт со Strelka[править | править код]

В мае 2007 года появилась новая шахматная программа Strelka, предложенная Юрием Осиповым. Вскоре возникли утверждения, что Strelka была клоном Rybka 1.0 beta в том смысле, что это была перепроектированная и немного изменённая версия Rybka.[52] Некоторые из шахматистов нашли, что у Strelka идентичный с Rybka анализ во множестве различных ситуаций, в некоторых случаях даже те же самые ошибки и слабости. Осипов, однако, неоднократно заявлял на форумах, что Strelka была основана на Fruit, а не на Rybka, и что любые общие черты были или потому, что Rybka также была основана на Fruit, или из-за настроек функции оценки, сделанными близкими к Rybka, насколько возможно.[53][54]

С выпуском Strelka 2.0 beta был включён исходный код. В. Райлих, создатель Rybka, заявил «очевидность» того, что Strelka 2.0 beta была клоном Rybka 1.0 beta, хотя не без некоторых усовершенствований определенных областей. На основе этого он назвал код своим собственным и намеревался повторно выпустить его под собственным названием[55], хотя позже он этого не сделал. Он также утверждал, что «Yuri Osipov» был псевдонимом.

Согласно Виктору Захарову (компания Convekta) в его обзоре для шахматного веб-сайта Арены: «Я полагаю, что Юрий Осипов (Иванович) — настоящее имя. Он не скрывал его. Однако я не могу утверждать это со 100%-ой гарантией.» Он также немного контактировал с Юрием Осиповым для развития мобильной платформы шахматных программ[56].

Однако автор программы Fruit Фабиан Летузье ясно выразил в открытом письме, упомянутом выше, что версия Strelka 2.0 beta является производной Fruit с некоторыми незначительными изменениями[57].

Конфликт с IPPOLIT[править | править код]

Шахматная программа IPPOLIT была выпущена в октябре 2009 года со своим исходным кодом. Некоторые испытатели утверждают, что IPPOLIT сильнее, чем Rybka 3[58][59], в то время как другие независимые источники утверждают, что Rybka и IPPOLIT имеют примерно одинаковую силу, работая на единственном основном центральном процессоре. Васик Райлих, автор Rybka, сослался, что IPPOLIT может быть декомпилированной версией Rybka, и что вовлечённые люди держали его в курсе своего продвижения через электронную почту.[60] На октябрь 2009 года нет никакого категорического доказательства относительно происхождения IPPOLIT, является ли она оригинальной работой или клоном. Несмотря на мнение Райлиха, существует утверждение, что IPPOLIT не клон Rybka из-за значимых различий, таких как меньшая используемая область памяти и различное знание эндшпиля, особенно способность превращения пешки в слона, которое не поддерживается Rybka[61].

Дисквалификация и лишение всех наград[править | править код]

В 2011 году комиссия из 34 разработчиков шахматных программ обвинила Rybka в заимствовании открытого исходного кода программ Crafty и Fruit. Вследствие этого исполком Международной ассоциации компьютерных игр потребовал у Васика Райлиха вернуть все полученные ранее награды и призовые шахматных соревнований. Было заявлено о недопущении программы на будущие чемпионаты мира; комитет WCCC рекомендовал организаторам других соревнований также отказать Rybka в участии[8][9].

Примечания[править | править код]

  1. Rybka 4 Release Notes. Архивировано из оригинала 3 марта 2012 года.
  2. Houdini Chess Engine (19 марта 2011). Архивировано из оригинала 3 марта 2012 года.
  3. CCRL 40/40 - Pure list (23 мая 2008). Дата обращения: 26 мая 2008. Архивировано из оригинала 3 марта 2012 года.
  4. CEGT 40/20. Chess Engines Grand Tournament (25 мая 2008). Дата обращения: 26 мая 2008. Архивировано из оригинала 3 марта 2012 года.
  5. Computerschach und Spiele - Eternal Rating. Computerschach und Spiele (18 марта 2007). Дата обращения: 21 мая 2008. Архивировано из оригинала 3 марта 2012 года.
  6. The SSDF Rating List. Swedish Chess Computer Association (3 ноября 2007). Дата обращения: 22 апреля 2008. Архивировано из оригинала 3 марта 2012 года.
  7. Bayesian Elo Ratinglist WBEC Ridderkerk after edition 14. Дата обращения: 20 мая 2008. Архивировано из оригинала 3 марта 2012 года.
  8. 1 2 Peter Doggers. Rybka disqualified and banned from World Computer Chess Championships (англ.). ChessVibes (29 июня 2011). Дата обращения: 30 июня 2011. Архивировано из оригинала 3 марта 2012 года.
  9. 1 2 Mark Lefler, Robert Hyatt, Harvey Williamson and ICGA panel members. Rybka Investigation and Summary of Findings for the ICGA (англ.) (PDF) (12 мая 2011). Дата обращения: 30 июня 2011. Архивировано из оригинала 3 марта 2012 года.
  10. Vasik Rajlich Архивировано 5 марта 2011 года.
  11. [https://web.archive.org/web/20090429063031/http://www.rybkachess.com/index.php?auswahl=Demo+version Архивная копия от 29 апреля 2009 на Wayback Machine Rybka — for the serious chess player. [ #Rybka engine ] [ Demo version ]]
  12. CCRL 40/40 — Index. Дата обращения: 7 июня 2009. Архивировано 7 апреля 2018 года.
  13. FAQ for Rybka 2.0-2.2n2. Дата обращения: 9 февраля 2008. Архивировано 21 февраля 2008 года.
  14. Interview with Vasik Rajlich Архивная копия от 16 декабря 2008 на Wayback Machine  (англ.)
  15. Rybka’s immortal game Архивировано 5 мая 2009 года.  (недоступная ссылка с 13-05-2013 [3993 дня] — история)  (англ.)
  16. 1 2 3 Д. Йонссон. Интервью с разработчиками Рыбки 3 Архивная копия от 5 марта 2016 на Wayback Machine (перевод с англ.)
  17. Текущий рейтинг-лист компьютерных шахматных программ SSDF. Дата обращения: 7 июня 2009. Архивировано 3 марта 2012 года.
  18. Rybka — часть исходного кода Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 24.07.2007  (англ.)
  19. Rybka search Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 18.07.2007  (англ.)
  20. Rybka search Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 03.07.2007  (англ.)
  21. Rybka @ Amsterdam 15th WCCC Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 18.06.2007  (англ.)
  22. Is Rybka a derivative of Fruit? Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 14.07.2007  (англ.)
  23. Профиль В. Райлиха на сайте ФИДЕ. Дата обращения: 24 января 2010. Архивировано 23 апреля 2015 года.
  24. Профиль Л. Кауфмана на сайте ФИДЕ. Дата обращения: 24 января 2010. Архивировано 8 января 2010 года.
  25. Профиль И. Райлих на сайте ФИДЕ. Дата обращения: 24 января 2010. Архивировано 17 марта 2010 года.
  26. Профиль Й. Номена на сайте ФИДЕ. Дата обращения: 24 января 2010. Архивировано 23 апреля 2015 года.
  27. Профиль Д. Нильсена на сайте ФИДЕ. Дата обращения: 24 января 2010. Архивировано 4 марта 2016 года.
  28. Rybkachess.com. Дата обращения: 17 ноября 2009. Архивировано 30 июня 2009 года.
  29. 17th International Computer Chess Championship — IPCCC 2007 in Paderborn Архивировано 20 февраля 2009 года.  (недоступная ссылка с 13-05-2013 [3993 дня] — история)
  30. Rybka by Vasik Rajlich is CCT9 Champion Архивировано 23 июня 2008 года.
  31. International CSVN Tournament 2007 Архивная копия от 1 июля 2009 на Wayback Machine  (недоступная ссылка с 13-05-2013 [3993 дня] — история)
  32. Computerschaak — ONK 2007 Архивная копия от 30 июня 2009 на Wayback Machine  (недоступная ссылка с 13-05-2013 [3993 дня] — история)
  33. CCT10 Final Scoreboard. Дата обращения: 17 ноября 2009. Архивировано из оригинала 28 июня 2009 года.
  34. Rybka Open Nederlands Kampioen 2008 Архивная копия от 1 июля 2009 на Wayback Machine  (недоступная ссылка с 13-05-2013 [3993 дня] — история)
  35. CCT11 Final Scoreboard. Дата обращения: 17 ноября 2009. Архивировано из оригинала 31 мая 2009 года.
  36. 7th World Computer Chess Championship. Дата обращения: 17 ноября 2009. Архивировано из оригинала 9 октября 2015 года.
  37. Final ranking 29th ODCCC. Дата обращения: 25 января 2010. Архивировано 13 февраля 2010 года.
  38. Rybka vs Ehlvest II — information center. Дата обращения: 10 июня 2009. Архивировано 16 декабря 2008 года.
  39. Rybka vs Dzindzichashvili — information center. Дата обращения: 10 июня 2009. Архивировано 16 сентября 2009 года.
  40. The Milov vs. Rybka Handicap Match Архивная копия от 20 сентября 2009 на Wayback Machine Chessbase, September 24, 2008
  41. Rybka vs Zappa. Дата обращения: 17 ноября 2009. Архивировано 16 декабря 2008 года.
  42. PGNs of game 3 and 4 with Rybka evaluation, Zappa won both. Дата обращения: 17 ноября 2009. Архивировано 16 декабря 2008 года.
  43. Chessvine Article, «A 'Little Fish' (Rybka) in Corporate Waters» Архивировано 17 декабря 2008 года.
  44. 1 2 Rybka 3 Release Notes (6 августа 2008). Дата обращения: 7 августа 2008. Архивировано из оригинала 3 марта 2012 года.
  45. Rybka Aquarium: Interview with the Developers. Дата обращения: 16 ноября 2009. Архивировано из оригинала 3 августа 2008 года.
  46. Rybka in Chess Classic Mainz 2007, Chess 960. Дата обращения: 16 ноября 2009. Архивировано 1 августа 2010 года.
  47. CCM7 - 3. Livingston Chess960 Computer-Weltmeisterschaft. Chess Tigers. Дата обращения: 22 августа 2007. Архивировано из оригинала 3 марта 2012 года.
  48. CEGT. Дата обращения: 16 ноября 2009. Архивировано из оригинала 8 марта 2011 года.
  49. Rybka 4 update. Дата обращения: 5 июня 2010. Архивировано 10 июня 2010 года.
  50. (Experimental) 64-bit Rybka on Linux Архивная копия от 1 августа 2010 на Wayback Machine // rybkaforum.net 12.07.2007  (англ.)
  51. I want know if rybka will be developed for pocketpc Архивная копия от 1 августа 2010 на Wayback Machine // rybkaforum.net 5.07.2007  (англ.)
  52. Strelka 1.0 x32:Rybka clone? Архивная копия от 16 декабря 2008 на Wayback Machine // rybkaforum.net 07.05.2007
  53. Strelka = Rybka 1.0 Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 11.07.2007
  54. osipovs arguments about strelka Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 12.01.2008
  55. Strelka 2.0 Архивная копия от 16 сентября 2009 на Wayback Machine // rybkaforum.net 11.01.2008
  56. Архивированная копия. Дата обращения: 28 апреля 2012. Архивировано из оригинала 26 февраля 2012 года.
  57. http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=389683&t=37762 Архивная копия от 13 марта 2012 на Wayback Machine Open letter of Fabien Letouzey
  58. IPPOLIT — free engine stronger than Rybka!
  59. New engine: Ippolit. Дата обращения: 15 ноября 2009. Архивировано 30 октября 2009 года.
  60. Official statement on Ippolit. Дата обращения: 15 ноября 2009. Архивировано из оригинала 24 июля 2011 года.
  61. Where to get IPPOLIT the Rybka killer? Дата обращения: 15 ноября 2009. Архивировано 9 декабря 2009 года.

Ссылки[править | править код]