Введение
Шахматный движок
the chess engine
Rybka — компьютерный шахматный движок, разработанный международным мастером Васиком Раджличем. Около 2011 года Rybka входила в число самых рейтинговых движков в списках рейтингов шахматных движков и выиграла множество компьютерных шахматных турниров. После того, как Rybka одержала четыре победы подряд на чемпионатах мира по компьютерным шахматам с 2007 по 2010 год, она была лишена этих титулов после того, как Международная ассоциация компьютерных игр (ICGA) пришла к выводу в июне 2011 года, что Rybka была скопирована из шахматных движков Crafty и Fruit и, следовательно, не соответствовала требованиям оригинальности. В 2015 году Комиссия по этике ФИДЕ, рассмотрев жалобу Васика Раджлича и разработчика шахматных движков, а также издателя игр Криса Уиттингтона относительно нарушений этических норм в ходе внутренних дисциплинарных процедур, признала ICGA виновной и наложила на ICGA предупреждение. Дело № 2/2012. ChessBase опубликовала подробную двухчастную статью об этом процессе и вердикте с участием представителя ICGA Дэвида Леви. Впоследствии ChessBase привлекла Раджлича к созданию Fritz 15 (выпущен в конце 2015 года) и Fritz 16 (выпущен в конце 2017 года).
Имя
Слово «рыбка», произносимое по-чешски, означает «маленькая рыбка» на чешском, польском и во многих других славянских языках. Василия Ражлиха в интервью Александр Шмидт однажды спросил: «Вы выбрали название «Рыбка», потому что ваша программа всегда ускользала из рук, словно маленькая рыбка?» Он ответил: «Что касается названия «Рыбка», то, к сожалению, это останется моей личной тайной».
Внутренние
Rybka – программа с закрытым исходным кодом, однако некоторые детали стали известны: Rybka использует битовое представление, и является альфа-бета-поисковиком с относительно широким окном аспирации. Она применяет очень агрессивную отсечку, что приводит к несбалансированным деревьям поиска. Детали оценочной функции неизвестны, но начиная с версии 2.3.1 в нее включены наработки гроссмейстера Ларри Кауфмана по материальным дисбалансам, большая часть которых была разработана в серии статей в 1990-х годах.
Команда
Несколько членов команды Rybka – сильные шахматисты: Васик Раджлич, главный автор Rybka, имеет звание международного мастера (IM). ГМ Ларри Кауфман – чемпион мира по шахматам среди старшего поколения 2008 года, и с версии 2.3 по версию 3 отвечал главным образом за оценочную функцию. Ивета Раджлич, жена Васика Раджлича и основной тестировщик Rybka, имеет звания женского гроссмейстера (WGM) и международного мастера (IM). Джерон Нумен (ранее работавший над Rebel) и Даг Нильсен были авторами дебютной книги – последний входит в число лучших игроков в мире в фристайл-шахматах. Оба сейчас менее активны, и Джири Дуфек отвечает за ведение дебютной книги.
История
Васик Раджлич начал работу над своей шахматной программой в начале 2003 года. Первая бета-версия Rybka была выпущена 2 декабря 2005 года. Появление бесплатной бета-версии Rybka 1 и первой коммерческой версии Rybka 1 в конце 2005 года произвело фурор, и Rybka вскоре стала доминирующей программой, с большим отрывом возглавляя рейтинговые списки.
Шансы матчей против гроссмейстеров
В марте 2007 года программа Рыбка сыграла восьмиматчевый поединок против гроссмейстера Романа Джиндичашвили с преимуществом пешки и хода. Результат был 4–4, после двух побед Рыбки, четырех ничьих и двух поражений. В то же время Рыбка выиграла восьмиматчевый поединок в марте 2007 года у гроссмейстера Яана Эхльвеста, которому был предоставлен гандикап в виде пешки. Гроссмейстер Ларри Кауфман из команды Рыбки пообещал собственные средства гроссмейстеру, который сможет победить Рыбку в шестиматчевом поединке без материального преимущества. Яан Эхльвест снова был выбран для игры с Рыбкой, получая вдвое больше времени на обдумывание и белые фигуры в каждом матче, в то время как у Рыбки был ограниченный дебютный репертуар (три хода), ограниченный размер хэш-таблицы (512 МБ) и не использовались эндшпильные табличные базы (поединок был назван "Всё, кроме пешки"). Матч, вновь состоявшийся в 2007 году, завершился со счетом 4,5–1,5 после трех побед Рыбки и трех ничьих. В сентябре 2008 года Рыбка сыграла поединок с гандикапом против Вадима Милова, своего сильнейшего соперника в подобных поединках. На тот момент рейтинг Эло Милова составлял 2705, что помещало его на 28-е место в мире. Результатом стала минимальная победа Милова: в двух стандартных партиях (Милов играл белыми, без гандикапа) Милов проиграл первую партию и сыграл вничью во второй. Затем они сыграли две партии с классическим гандикапом "пешка и ход" (убрана пешка f7). Первая партия завершилась ранней ничьей вечным шахом, а во второй победил Милов. Наконец, они сыграли четыре партии с гандикапом в виде размена (Рыбка убрала ладью с a1, Милов – коня с b8); здесь Рыбка трижды сыграла вничью и один раз проиграла. Итоговый счет составил 4,5–3,5 в пользу Милова.
Матч "Заппа"
В сентябре 2007 года Заппа победил Рыбку в матче со счетом 5½–4½. В этом матче было сыграно две знаменитые партии. Первая – четвертая партия, состоявшая из 180 ходов, которая приближалась к ничьей по правилу 50 ходов. Однако из-за неверной оценки движка Рыбка, на 109-м ходу он передвинул пешку, чтобы избежать ничьей (хотя Заппа мог и взял ее немедленно), тем самым обнулив счетчик этого правила. Потеря пешки в конечном итоге позволила Заппе постепенно ослабить оборону Рыбки и выиграть партию. Затем, в девятой партии, Рыбка имела преимущество в 3 пешки и полностью выигранную позицию, но допустила чудовищную ошибку на 71-м ходу, названную "худшей ошибкой в современных компьютерных шахматах", поскольку ей не хватило знаний, чтобы увидеть, что последует ничья из-за разноцветных слонов. Заппа обладал этими знаниями, воспользовался ими и свел партию вничью. Энтони Коззи поблагодарил своего оператора Эрдогана Гюнеса за то, что у него хватило сил остаться до конца в этих двух партиях, вместо того чтобы согласиться на ничью в четвертой партии или сдаться в девятой. Но переговоры между Рыбкой и Джуниором сорвались из-за разногласий по поводу оборудования на месте проведения. Матч был изменен до 10 партий против Заппы, а победителю было выплачено 10 000 долларов.
Версия 3
Rybka 3 был выпущен 6 августа 2008 года. Хотя Rybka 3 по-прежнему является UCI-движком, он обладает дополнительными функциями при использовании с пользовательскими интерфейсами ChessBase и Convekta. В интервью Фрэнку Квисинскому Васик Раджлич рассказал о планах по созданию графического интерфейса, который будет "наглядно демонстрировать пользователю шахматные знания", вероятно, в виде графической оценки фигур на доске. Этот графический интерфейс, названный Aquarium, был выпущен компанией ChessOK (ранее известной как Convekta).
Версия 4
Rybka 4 был выпущен 26 мая 2010 года. Васик Раджлич предоставил следующую информацию на форуме Rybka: Rybka 4 – это обычный UCI-движок, без защиты от копирования. Существуют отдельные однопроцессорные и многопроцессорные версии. Полные пакеты шахматного анализа, включающие Rybka 4, будут выпущены компаниями ChessBase (www.chessbase.com) и Convekta/ChessOK (www.chessok.com). Простой Rybka 4 UCI без графического интерфейса, предназначенный только для загрузки, доступен на сайте RybkaChess (www.rybkachess.com). Все эти версии Rybka 4 будут идентичны и могут использоваться с любым GUI, совместимым с UCI.
Rybka 4 is a normal UCI engine, without copy protection. There are separate single processor and multi processor versions. Full chess analysis packages which include Rybka 4 will be made by ChessBase (www. chessbase. com) and Convekta/ChessOK (www. chessok. com). Plain Rybka 4 UCI without GUI for download only is available from RybkaChess (www. rybkachess. com). All of these versions of Rybka 4 will be identical and can be used in any UCI compliant GUI.
Удаленная Рыбка
Васик Раджлич выпустил "Remote Rybka" – специальную версию движка Rybka (4+ или кластер), работающую на очень мощном оборудовании и кластерах, управляемых Лукасом Чимиотти. Эту версию можно арендовать на определенный срок, но в настоящее время минимальный срок аренды составляет 2 дня из-за операционных расходов. Арендатор получает доступ к "Remote Rybka" со своего компьютера, а все детали аренды строго конфиденциальны.
Версия 4.1
Это была версия, оперативно подготовленная после объявления расследования ICGA, чтобы исключить неправомерное использование исходного кода. Она была выпущена 5 марта 2011 года.
Версия 5
Информация из последнего видеоинтервью Васика Раджлиха указывала на то, что выход Rybka 5 планировался в период с конца 2011 года по первую половину 2012 года. По состоянию на апрель 2022 года этого так и не произошло.
Спор о хитроумной шахматной машине
Ранние частные версии движка Rybka обвинялись в том, что являются клоном Crafty, включая копирование конкретных ошибок, таких как сравнение результата функции EvaluateMate с числом 99999, которое она не могла бы вернуть, и наличие ненужного кода ("нет ни одной разумной причины, по которой программа, запущенная в 2003 году, должна содержать такой код, кроме как бездумного копирования из Crafty без малейшего понимания его назначения").
Спор о шахматной машине Fruit GPL
Rybka обвиняется в том, что была создана на основе Fruit, но Раджлич категорически это отрицает, утверждая, что Rybka на 100% оригинальна на уровне исходного кода. Шахматный программист Зак Вегнер выдвинул дальнейшие обвинения в нарушении лицензии GPL, основываясь на новой попытке декомпиляции и годовом исследовании исполняемого файла Rybka 1.0. Раджлич с тех пор отказался отвечать на эти обвинения. Автор Fruit, Фабьен Летузе, после пятилетнего отсутствия появился в январе 2011 года и опубликовал открытое письмо с просьбой предоставить больше информации относительно Rybka и нарушений GPL. Президент ICGA Дэвид Леви осветил ситуацию на ChessVibes и предложил форуму программистов оценить обоснованность претензий. Варианты включают аннулирование всех турнирных побед Rybka в соответствии со Статьей 3, пункт h, подпункт iv. Четырнадцать известных шахматных программистов впоследствии написали открытое письмо Дэвиду Леви, Яапу ван ден Херику и совету ICGA, заявив, что сейчас имеются "неопровержимые доказательства" того, что Rybka 1.0 beta (первая сильная версия Rybka) была напрямую получена из Fruit.
Дисквалификация и запрет ВКЦК
28 июня 2011 года Международная ассоциация компьютерных игр (ICGA) завершила расследование и установила, что Васик Раджлич при создании программы Rybka скопировал код двух других шахматных программ: Crafty и Fruit. По мнению ICGA, Васик Раджлич нарушил правило ассоциации, согласно которому каждая шахматная программа должна быть оригинальной разработкой автора, а если код программы основан на коде, написанном другими разработчиками, необходимо указать всех авторов или источник этого кода при подаче заявки. ICGA сочла предполагаемое нарушение Васика Раджлича самым серьезным проступком, который шахматный программист и член ICGA может совершить по отношению к своим коллегам и самой ICGA. В качестве санкций ICGA дисквалифицировала Васика Раджлича и программу Rybka с Чемпионатов мира по компьютерным шахматам (WCCC) 2006, 2007, 2008, 2009 и 2010 годов. Васику Раджличу также пожизненно запрещено участвовать в WCCC или любых других мероприятиях, организованных или одобренных ICGA. Кроме того, ICGA потребовала от Васика Раджлича вернуть ассоциации четыре реплики Кубка Шеннона, врученные на WCCC в 2007, 2008, 2009 и 2010 годах, а также все призовые деньги, полученные программой Rybka за участие в этих соревнованиях.
Отклик
После публикации вердикта и приговора ICGA на компьютерных шахматных форумах разгорелись острые разногласия, касающиеся корректного применения теста Abstraction Filtration Comparison, разницы между заимствованием идей и копированием кода, а также предвзятости при проведении расследования. Раджлич ответил на обвинения ICGA в видеоинтервью с Нельсоном Эрнандесом, ответив на вопросы о возникшем споре и своем отношении к нему. Президент ICGA Дэвид Леви и научный сотрудник по математике из Университета Сиднея Марк Уоткинс ответили на публикацию Риса собственными заявлениями, защищая состав комиссии ICGA и ее выводы соответственно. ChessBase опубликовал обширный список комментариев читателей к статье Риса, особо выделив два самых длинных комментария – один в поддержку, другой против, размещенные в конце статьи. В 2012 году Васик Раджлич подал жалобу в Комиссию по этике ФИДЕ на решения, процедуру и предвзятость ICGA, которую также подписали Сорен Риис, Эд Шрёдер и Крис Уиттингтон. В 2015 году Комиссия по этике ФИДЕ признала Международную ассоциацию компьютерных игр (ICGA) виновной в нарушении этических норм в ходе внутреннего дисциплинарного процесса и вынесла ICGA предупреждение.