Rybka — это компьютерный шахматный движок , разработанный международным мастером Васиком Райлихом . Около 2011 года Rybka был одним из самых высоко оцененных движков в рейтингах шахматных движков [2] [3] [4] [5] [6] и выиграл множество компьютерных шахматных турниров.
После того, как Rybka выиграла четыре последовательных чемпионата мира по шахматам среди компьютерных программ с 2007 по 2010 год, она была лишена этих титулов после того, как Международная ассоциация компьютерных игр в июне 2011 года пришла к выводу, что Rybka была плагиатом как из шахматных движков Crafty , так и из Fruit [7] [8] и, таким образом, не соответствовала их требованиям оригинальности. [9] В 2015 году Комиссия по этике ФИДЕ после жалобы, поданной Васиком Райлихом и разработчиком шахматного движка и издателем игр Крисом Уиттингтоном относительно этических нарушений во время внутренних дисциплинарных разбирательств, признала ICGA виновной и вынесла ICGA предупреждение. Дело 2/2012. [10] [11]
ChessBase опубликовала сложную двухчастную статью-интервью [12] о процессе и вердикте с представителем ICGA Дэвидом Леви. Впоследствии ChessBase наняла Рейлиха для производства Fritz 15 (выпущен в конце 2015 года) [13] и Fritz 16 (выпущен в конце 2017 года). [14]
Слово rybka , произносимое [ˈrɪpka] на чешском языке , означает «маленькая рыбка» на чешском, польском и многих других славянских языках . Однажды в интервью Александр Шмидт спросил Васика Райлиха: «Вы выбрали имя Рыбка, потому что ваша программа всегда выскальзывала из ваших рук, как маленькая рыбка?» Он ответил: «Что касается имени Рыбка — извините, но это останется моей личной тайной». [15]
Rybka — программа с закрытым исходным кодом, но некоторые подробности все же были раскрыты: Rybka использует представление bitboard [ 16] и является альфа-бета -поисковиком с относительно большим окном аспирации. [17] Она использует очень агрессивную обрезку, что приводит к несбалансированным деревьям поиска. [18] Детали функции оценки неизвестны, но с версии 2.3.1 она включает работу GM Ларри Кауфмана по материальным дисбалансам, большая часть которой была проработана в серии статей в 1990-х годах. [19]
Несколько членов команды Rybka являются сильными шахматистами: Васик Райлих , главный автор Rybka, является международным мастером (IM). ГМ Ларри Кауфман является чемпионом мира по шахматам среди сеньоров 2008 года и с версии 2.3 по версию 3 был главным ответственным за функцию оценки. Ивета Райлих , жена Васика Райлиха и главный тестер Rybka, является женским гроссмейстером (WGM) и международным мастером. Йерун Нумен (который работал над Rebel ) и Даг Нильсен были авторами его дебютной книги — последний является одним из лучших в мире шахматистов-фристайлеров . Оба сейчас менее активны, и Иржи Дуфек отвечает за книгу.
Васик Райлих начал работу над своей шахматной программой в начале 2003 года. Первая бета-версия Rybka была выпущена 2 декабря 2005 года.
Появление бесплатной Rybka 1 beta и первой коммерческой версии Rybka 1 в конце 2005 года стало сенсацией, и Rybka вскоре стала доминирующей программой, лидирующей в рейтинговых списках с огромным отрывом. [20]
В январе 2004 года Рыбка приняла участие в 6-м турнире по компьютерным шахматам среди программистов (CCT6), заняв 53-е место из 54 участников, проиграв 5 партий, сыграв вничью 3 и победив занявшего последнее место участника, у которого было 0 очков (Тоно). [21]
В апреле 2004 года Рыбка приняла участие в Chess War V, проводимом Оливье Девилем, и заняла 23-е место в дивизионе D. [22]
В апреле 2004 года Рыбка приняла участие в 3-м сезоне швейцарской системы под руководством Клода Дюбуа, одержав 6 побед, потерпев 6 поражений и сыграв вничью 6 раз в Топ-200 и заняв 71-е место. [23]
Рыбка участвовала в Chess War VI, заняв 42-е место в дивизионе D. [24] Рыбка участвовала в Chess War VII, заняв 48-е место в дивизионе C. [25] Рыбка участвовала в AEGT, тур 3, одержав 89 побед, потерпев 28 поражений и сыграв вничью 15 раз. [26]
В декабре 2005 года Rybka приняла участие в 15-м Международном чемпионате по шахматам среди компьютерных программ в Падерборне . Rybka выиграла турнир с результатом 5½ очков из 7, опередив другие движки, такие как Gandalf, Zappa , Spike, Shredder и Fruit .
На CCT8 в феврале 2006 года Rybka победила со счетом 8 из 9, оставшись непобежденной. В главном турнире PAL/CSS Freestyle в апреле 2006 года Rybka 1.1 без посторонней помощи заняла первое место. В финальном турнире Rybka 1.1 заняла второе и третье места, уступив Hydra . На 6-м ICT в Лейдене в мае 2006 года Rybka победила со счетом 8½ из 9, опередив Sjeng , Gandalf и Shredder . На 14-м чемпионате мира по компьютерным шахматам в Турине, Италия, в мае 2006 года Rybka, играя под именем Rajlich , заняла второе место, разделив место с Shredder , после Junior , победившего чемпиона мира 2006 года. В главном турнире PAL/CSS Freestyle в июне 2006 года команда Rybka, игравшая под псевдонимом Rajlich, разделила первое место с Intagrand. В финале команда Rybka заняла чистое первое место, опередив остальных на одно очко. Все 8 участников, прошедших в финал, были пользователями Rybka. На открытом чемпионате Нидерландов по компьютерным шахматам 2006 года Rybka 2.2 заняла первое место с максимальным результатом 9 из 9. [ требуется цитата ] [27] В декабре 2006 года Rybka приняла участие в 16-м Международном чемпионате по компьютерным шахматам в Падерборне . Rybka выиграла турнир с результатом 6½ очков из 7. [ требуется цитата ]
В феврале 2007 года Рыбка приняла участие в CCT9 и победила с результатом 6/7. [ требуется цитата ] На 7-м Лейденском ICT в мае 2007 года Рыбка победила со счетом 7½ из 9, опередив Заппу и HIARCS . [ требуется цитата ] Рыбка выиграла 15-й чемпионат мира по компьютерным шахматам в июне 2007 года со счетом 10 из 11. Команда Рыбки, играющая под псевдонимом Rajlich, выиграла финал PAL/CSS Freestyle в июне 2007 года со счетом 6/9. Позже в том же году она снова выиграла открытый чемпионат Нидерландов по компьютерным шахматам , набрав 8/9. [28]
В январе 2008 года Рыбка разделила первое место в CCT10 с результатом 5,5/7. [ требуется ссылка ] В октябре 2008 года Рыбка выиграла 16-й чемпионат мира по компьютерным шахматам , проходивший в Пекине , Китай , набрав 8/9. Месяц спустя Рыбка выиграла 27-й открытый чемпионат Нидерландов по компьютерным шахматам, проходивший в Лейдене , набрав идеальные 9/9. [29]
В марте 2009 года Рыбка выиграла CCT11 с результатом 7,5/9 [30] и 17-й чемпионат мира по шахматам среди компьютерных программ , проходивший в Памплоне , Испания , с результатом 8/9. [31]
В мае 2010 года Рыбка выиграла Международный компьютерный шахматный турнир в Лейдене со счетом 8/9. [32]
В марте 2007 года Рыбка сыграла матч из восьми партий против гроссмейстера Романа Джинджихашвили с пешкой и ходом. Результат был 4–4, после двух побед Рыбки, четырех ничьих и двух поражений. [33]
В то время как Рыбка выиграла матч из 8 игр в марте 2007 года с гроссмейстером Яаном Эльвестом , в котором давались пешки человеку, гроссмейстер Ларри Кауфман из команды Рыбки пообещал свои собственные деньги гроссмейстеру-человеку, который сможет победить Рыбку в матче из шести игр без материальных шансов Архивировано 16 декабря 2008 года на Wayback Machine . Гроссмейстер Яан Эльвест снова был выбран для игры с Рыбкой, получая в два раза больше времени на обдумывание и белые цвета в каждом матче, при этом у Рыбки была только трехходовая дебютная книга, ограниченный (512 МБ) размер хэша и не было таблиц эндшпиля (матч был назван «Все, кроме пешки»). Матч, снова сыгранный в 2007 году, закончился со счетом 4,5–1,5 после трех побед Рыбки и трех ничьих . [34]
В сентябре 2008 года Рыбка сыграла матч с коэффициентами против Вадима Милова , своего сильнейшего противника в матче с коэффициентами. В то время рейтинг Эло Милова составлял 2705, что ставит его на 28-е место в мире. Результатом стала победа Милова с небольшим перевесом: в двух стандартных партиях (Милов играл белыми, коэффициентов нет), Милов проиграл первую партию и свел вторую вничью. Затем они сыграли две партии на классической форе «пешка и ход» (снята f7). Первая партия закончилась ранней ничьей из-за вечного шаха, а вторая была выиграна Миловым. Наконец, они сыграли четыре партии с коэффициентами качества (Рыбка снял ладью a1, Милов коня b8); здесь Рыбка трижды сыграл вничью и один раз проиграл. Окончательный счет был 4,5–3,5 в пользу Милова. [35]
В сентябре 2007 года Заппа победил Рыбку в матче, 5+1 ⁄ 2 – 4+1 ⁄ 2 . В этом матче были сыграны две знаменитые партии. Первая — четвертая партия из 180 ходов, [36] которая приближалась к ничьей по правилу 50 ходов . Однако из-за неправильной оценки движком Рыбки на 109-м ходу он передвинул пешку, чтобы избежать ничьей (хотя Заппа мог и сделал это немедленно), тем самым сбросив счетчик для этого правила. Потеря пешки в конечном итоге позволила Заппе свести на нет защиту Рыбки и выиграть игру. [37] Затем в 9-й партии Рыбка имела 3 пешки в плюсе с полностью выигранной позицией, но допустила ужасную ошибку на 71-м ходу, «худшую ошибку в современных компьютерных шахматах», [38], поскольку у нее не было достаточных знаний, чтобы увидеть, что ничья последует из -за разноцветных слонов . У Заппы были эти знания, он воспользовался ими и свел партию вничью. [39] Энтони Коззи поблагодарил своего оператора Эрдогана Гюнеша за то, что у него хватило сил досидеть до конца в этих двух играх, а не согласиться на ничью в четвертой игре или сдаться в девятой игре. [38]
Матч состоялся после того, как Васик Райлих сделал рекламный вызов чемпиону ФИДЕ Фрицу или Джуниору на сумму 100 000 долларов, даже предлагая коэффициент на игру в матче из 24 партий (13 очков). [40] Но переговоры между Рыбкой и Джуниором прервались из-за споров по поводу игровых автоматов на месте. [41] Матч был изменен на 10 партий против Заппы, и победителю в конечном итоге была выплачена сумма в размере 10 000 долларов.
Rybka 3 была выпущена 6 августа 2008 года. [42] В то время как предыдущие версии Rybka были выпущены исключительно Convekta, Rybka 3 была выпущена как Chessbase , так и Convekta. [43] Хотя Rybka 3 по-прежнему является движком UCI , она имеет дополнительные функции при запуске под пользовательскими интерфейсами ChessBase и Convekta. [42] В интервью Фрэнку Кисински Васик Райлих раскрыл планы относительно будущего графического интерфейса , который будет «правильно отображать шахматные знания пользователю», скорее всего, в форме графической оценки фигур на доске. Графический интерфейс, названный Aquarium , был выпущен ChessOK (ранее известный как Convekta). [44]
Рыбка 4 вышла 26 мая 2010 года. Васик Райлих предоставил следующую информацию на форуме Рыбки: [45]
Васик Райлих выпустил "Remote Rybka", которая является специальной версией Rybka (4+ или кластер) на очень мощном оборудовании / кластерах, управляемых Лукасом Чимиотти. [46] Его можно арендовать на определенный период времени, хотя в настоящее время не менее 2 дней из-за накладных расходов. При аренде вы получаете доступ к Remote Rybka со своего ПК, и все детали аренды строго конфиденциальны.
Это была версия, быстро созданная после объявления расследования ICGA, чтобы гарантировать отсутствие неточностей в источнике кода. Она была выпущена 5 марта 2011 года.
Информация из последнего видеоинтервью Васика Райлиха [47] указывала, что прибытие Рыбки-5 планировалось где-то между концом 2011 года и первой половиной 2012 года. По состоянию на апрель 2022 года этого так и не произошло.
Ранние частные движки Rybka обвинялись в том, что они были клонами Crafty , включая копирование определенных ошибок — например, сравнение результата функции EvaluateMate с числом 99999, которое она не могла вернуть [48] — и ненужный код («нет ни одной земной причины для какой-либо программы, которая, как утверждалось, была запущена в 2003 году, иметь такой код, кроме того, что она была бездумно скопирована из Crafty без малейшего понимания ее назначения»). [49]
В мае 2007 года на сцене появился новый шахматный движок под названием Strelka (в переводе с русского «стрелка»), который, как утверждалось, был написан Юрием Осиповым. Вскоре появились утверждения, что Strelka является клоном Rybka 1.0 beta, в том смысле, что это была реверс-инжиниринговая и слегка модифицированная версия Rybka. [50] Несколько игроков обнаружили, что Strelka дает идентичный анализ Rybka в различных ситуациях, даже имея те же ошибки и слабости в некоторых случаях. Однако Осипов неоднократно заявлял на форумах, что Strelka основана на Fruit , а не на Rybka, и что любые сходства связаны либо с тем, что Rybka также основана на Fruit, либо с тем, что он настроил функцию оценки так, чтобы она была максимально близка к Rybka. [51] [52]
С выпуском Strelka 2.0 beta был включен исходный код. Райлих заявил, что источник сделал «очевидным», что Strelka 2.0 beta действительно была клоном Rybka 1.0 beta, хотя и не без некоторых улучшений в определенных областях. На основании этого он заявил, что исходный код принадлежит ему и намеревался перевыпустить его под своим именем, [53] хотя позже он решил этого не делать. Он также выдвинул обвинения в том, что «Юрий Осипов» был псевдонимом .
По словам Виктора Захарова (компания Convekta) в его обзоре для шахматного сайта Arena: «Я считаю, что Юрий Осипов (Иванович) — настоящее имя. Он этого не скрывал. Однако я не могу утверждать это со 100% уверенностью». И у него также есть некоторые контакты с Юрием Осиповым для разработки шахматной программы для мобильных платформ. [54]
Автор Fruit Фабьен Летузей в открытом письме, упомянутом выше, заявил, что Strelka 2.0 beta является производной от Fruit с некоторыми незначительными изменениями. [55]
IPPOLIT , RobboLito, Igorrit, IvanHoe, FireBird и Fire — это серия мощных шахматных программ с открытым исходным кодом, изначально разработанных группой анонимных программистов, называющих себя декабристами, после восстания декабристов . [56] [57]
Шахматный движок IPPOLIT был выпущен в мае 2009 года с исходным кодом, но из-за политики некоторых шахматных форумов не публиковать материалы с «сомнительным правовым статусом» (например, устав Talkchess [58] ) он оставался относительно неизвестным до октября 2009 года. Васик Райлих заявил [59] , что IPPOLIT — это декомпилированная версия Rybka, и что люди, вовлеченные в процесс, информировали его о ходе работы по электронной почте. [60]
Rybka обвинялась в том, что она основана на Fruit , но Райлих категорически отрицал это, [61] заявив, что Rybka на 100% оригинальна на уровне исходного кода. Дальнейшие обвинения в нарушении GPL были выдвинуты шахматным программистом Заком Вегнером на основе новой попытки декомпиляции и годичного исследования исполняемого файла Rybka 1.0. [62] С тех пор Райлих отказался отвечать на эти обвинения. [63] Автор Fruit Фабьен Летузей с тех пор появился после 5-летнего отсутствия в январе 2011 года и опубликовал открытое письмо [55] с просьбой предоставить дополнительную информацию относительно нарушений Rybka и GPL.
Президент ICGA Дэвид Леви рассмотрел ситуацию на ChessVibes и созвал форум программистов для решения по существу. [64] Варианты включают в себя отмену всех турнирных побед Rybka по Статуту 3.h.iv. [65] Четырнадцать известных шахматных программистов с тех пор написали открытое письмо Дэвиду Леви, Яапу ван ден Херику и совету ICGA, заявив, что теперь есть «неопровержимые доказательства» того, что Rybka 1.0 beta (первая сильная версия Rybka) была напрямую получена из Fruit. [66]
28 июня 2011 года Международная ассоциация компьютерных игр (ICGA) завершила расследование и установила, что Васик Райлих при программировании Rybka допустил плагиат двух других шахматных программ: Crafty и Fruit . [67] По данным ICGA, Васик Райлих не выполнил правило ICGA, согласно которому каждая компьютерная шахматная программа должна быть оригинальной работой разработчика-участника, а те, «чей код получен из или включает игровой код, написанный другими, должны указать всех других авторов или источник такого кода в своих данных для подачи». [68] ICGA расценила предполагаемое нарушение Васика Райлиха как самое серьезное правонарушение, которое шахматный программист и член ICGA может совершить по отношению к своим коллегам и к ICGA. [69] Санкция ICGA для Васика Райлиха и Рыбки заключалась в дисквалификации с чемпионата мира по шахматам среди компьютерных программ (WCCC) 2006, 2007, 2008, 2009 и 2010 годов. [70] Васику Райлиху также пожизненно запретили участвовать в WCCC или любом другом мероприятии, организованном или санкционированном ICGA. [71] Кроме того, ICGA потребовала, чтобы Васик Райлих вернул ICGA четыре копии Кубка Шеннона, представленные на WCCC в 2007, 2008, 2009 и 2010 годах, а также все призовые деньги , присужденные за выступления Рыбки на этих мероприятиях. [72]
После публикации вердикта и приговора ICGA на форумах по компьютерным шахматам разгорелись обширные разногласия, в центре которых были вопросы правильного применения теста абстракции-фильтрации-сравнения, различия между копированием идей и копированием кода, а также предвзятость расследования. [73]
Райлих ответил на обвинения ICGA в видеоинтервью с Нельсоном Эрнандесом и ответил на вопросы о споре и высказал свое мнение по этому поводу. [47]
В январе 2012 года ChessBase .com опубликовал статью доктора Сёрена Рииса. Риис, компьютерный ученый из Лондонского университета королевы Марии и модератор форума Rybka, критиковал решение ICGA, расследование, методы, на которых основывалось расследование, и предвзятость членов комиссии и Секретариата. Риис утверждал, что критические части отчета комиссии ICGA, которые, как казалось, показывали построчное дублирование кода между Rybka и Fruit, были вводящими в заблуждение или сфальсифицированными, и возражал против состава комиссии и Секретариата, предполагая, что они состояли почти исключительно из конкурирующих шахматных программистов, у которых был конфликт интересов в том, чтобы отстранить Райлиха от соревнований, чтобы прервать его непрерывное доминирование в соревновательных компьютерных шахматах. [74] Президент ICGA Дэвид Леви и научный сотрудник Сиднейского университета по математике Марк Уоткинс ответили на публикацию Рииса своими собственными заявлениями, защищающими комиссию ICGA и выводы, соответственно. [75] [76] ChessBase опубликовал длинный список комментариев читателей к статье Рииса, особо указав на два самых длинных комментария, один за и один против, которые были расположены в конце. [77]
В 2012 году Васик Райлих подал жалобу [78] на решения ICGA, процесс и предвзятость в Комиссию по этике ФИДЕ , подписанную Сореном Риисом, Эдом Шредером и Крисом Уиттингтоном. В 2015 году Комиссия по этике ФИДЕ признала Международную ассоциацию компьютерных игр ICGA виновной в нарушениях этики во время внутренних дисциплинарных разбирательств и вынесла ICGA предупреждение. [79]
Кок де Гортер, председатель Голландской ассоциации компьютерных шахмат (CSVN), написал:
Мне не нужно говорить вам, что ICGA устроила ужасный беспорядок. На нашем сайте в августе прошлого года мы заявили, что не примем запрет на Рыбку. Мир компьютерных шахмат расколот на две части. В настоящее время совет CSVN имеет самые серьезные сомнения относительно правомерности решения ICGA. Поэтому мы решили не соблюдать их санкции против Рыбки. [80]
Те, кто выступал за санкции, были подвергнуты суровому сомнению (например) Мигелем А. Балликорой, Джорджем Спейтом и Сёреном Риисом. Их оппозиция произвела на нас впечатление, потому что эти люди могут положиться на обширный опыт в области шахматного программирования, права и математической логики. Когда, наконец, голландец Эд Шрёдер, бывший чемпион мира по компьютерным шахматам, присоединился к вышеупомянутым критикам ICGA, у нас, похоже, больше не было выбора. [81]
В ответ 10 бывших участников мероприятий CSVN опубликовали открытое письмо 21 сентября 2011 года, в котором обвинили CSVN в «отсутствии суждения», лично выделив и раскритиковав председателя Кока де Гортера: «Ваши... турниры больше не в надежных руках», и объявили о своем отказе от мероприятий CSVN «при текущем руководстве». [82]
Рыбка участвовала в соревновании CSVN 2012 (ICT) и победила. [83]