Rybka: история шахматного движка, достижения и спор с ICGA

Компьютерные шахматы
Просмотры: 7124

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

Последней публичной версией стала Rybka 4.1, выпущенная в 2011 году. Новая Rybka 5 так и не появилась, а четыре чемпионских титула 2007–2010 годов были позднее аннулированы Международной ассоциацией компьютерных игр. Это решение вызвало один из самых продолжительных и неоднозначных споров в истории компьютерных шахмат.

Что такое Rybka?

Rybka — шахматный движок с поддержкой протокола UCI, созданный международным мастером Васиком Райлихом.

Первая публичная бета-версия появилась в декабре 2005 года. Уже в первые месяцы движок вышел в число лидеров рейтингов и начал побеждать программы, которые до этого считались сильнейшими.

Обложка шахматной программы Deep Rybka 4

Deep Rybka 4 была многопоточной редакцией движка для мощных процессоров

Rybka не имела собственной обязательной графической доски. Как и другие UCI-движки, она могла работать в разных оболочках:

  • ChessBase и Fritz;
  • Aquarium;
  • Arena;
  • Chess Assistant;
  • Shredder;
  • других программах с поддержкой UCI.

Коммерческие комплекты ChessBase поставлялись с интерфейсом Fritz, базой партий и дебютной книгой.

Что означает название Rybka?

Слово rybka в чешском, польском и ряде других славянских языков означает «рыбка» или «маленькая рыба».

Васик Райлих не раскрывал точную причину выбора названия и называл её личным секретом.

Кто создавал Rybka?

Главным программистом и владельцем проекта был Васик Райлих — международный мастер, родившийся в США и выросший в Чехии.

В разные годы в команде участвовали:

  • Ларри Кауфман — гроссмейстер и специалист по позиционной оценке;
  • Ивета Райлих — международный мастер и женский гроссмейстер, тестировавшая движок;
  • Йири Дуфек — автор официальных дебютных книг;
  • Лукас Чимиотти — разработчик и оператор кластерной версии;
  • другие тестировщики, шахматисты и специалисты по компьютерным турнирам.

Ларри Кауфман особенно активно участвовал в работе над оценочной функцией поздних версий Rybka 2 и Rybka 3.

История версий Rybka

Версия Период Значение
Rybka 1.0 Beta Декабрь 2005 года Первая публичная версия, быстро вышедшая в лидеры рейтингов
Rybka 2 2006–2007 годы Коммерческое развитие и многопоточные редакции
Rybka 2.3.2a Июнь 2007 года Финальная версия второй линии; позднее опубликована бесплатно
Rybka 3 Август 2008 года Крупное усиление оценки и поиска, широкое использование гроссмейстерами
Rybka 4 Май 2010 года Улучшение тактики, атаки на короля и эффективности поиска
Rybka 4.1 2011 год Последнее публичное обновление движка

Rybka 1

Первая публичная бета-версия появилась вскоре после турнира в Падерборне 2005 года. Даже ранняя Rybka заметно превосходила многие коммерческие программы своего времени.

Движок быстро занял верхние позиции в CCRL, CEGT и других независимых рейтингах.

Rybka 2

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

Версия 2.3.2a стала одной из самых известных бесплатных редакций и до сих пор размещена на официальном сайте проекта.

Rybka 3

Rybka 3 стала крупным шагом вперёд. Команда переработала поиск и позиционную оценку, а движок укрепил лидерство в компьютерных рейтингах.

Именно эта версия участвовала во многих матчах с форой против гроссмейстеров.

Rybka 4 и 4.1

В Rybka 4 разработчики уделили особое внимание атаке на короля, тактической устойчивости и скорости поиска.

Версия 4.1 исправляла ошибки и стала последним публичным выпуском семейства.

Обычная Rybka и Deep Rybka

Как и у Fritz и Shredder, слово Deep обозначало многопроцессорную редакцию.

Rybka Deep Rybka
Работа с ограниченным числом потоков Поддержка более мощных многоядерных систем
Для обычных домашних компьютеров Для длительного анализа и рабочих станций
Меньшая стоимость Более дорогая профессиональная редакция
Та же основная шахматная линия Параллельный поиск на большем числе ядер

Deep Rybka не была отдельным нейросетевым движком. Отличие заключалось прежде всего в использовании дополнительных процессорных ресурсов.

Как работала Rybka?

Rybka относилась к классическим CPU-движкам с альфа-бета-поиском. Исходный код коммерческих версий не публиковался.

По общему принципу движок сочетал:

  • минимаксный поиск;
  • альфа-бета-отсечение;
  • эвристики сокращения малоперспективных ветвей;
  • расширения тактических продолжений;
  • таблицу транспозиций;
  • позиционную оценочную функцию;
  • дебютную книгу;
  • эндшпильные таблицы.

Меньше узлов, больше отбора

Rybka часто просматривала меньше позиций в секунду, чем некоторые конкуренты, но старалась эффективнее выбирать важные ветви.

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

Позиционная оценка

Сильной стороной Rybka считалась стабильная оценка долгосрочных факторов:

  • безопасности короля;
  • структуры пешек;
  • активности фигур;
  • пространства;
  • проходных пешек;
  • качества лёгких фигур;
  • инициативы и компенсации за материал.

Поздние версии стали лучше играть острые позиции и точнее оценивать прямую атаку на короля.

Эндшпильные таблицы

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

Почему Rybka стала революционным движком?

До появления Rybka вершина компьютерных шахмат регулярно менялась между Fritz, Shredder, Junior, Hydra, Zappa и другими программами.

Rybka создала необычно большой разрыв с конкурентами. В течение нескольких лет она:

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

Позднее её обошли Houdini, Stockfish и Komodo, но многие решения Rybka повлияли на последующее поколение шахматных движков.

Главные достижения Rybka

Падерборн и компьютерные турниры

Первым крупным успехом стала победа в Международном чемпионате по компьютерным шахматам в Падерборне в 2005 году.

В последующие годы Rybka выигрывала:

  • турниры CCT;
  • Открытый чемпионат Нидерландов по компьютерным шахматам;
  • сильные Freestyle-соревнования;
  • другие турниры классических и быстрых компьютерных шахмат.

Четыре титула WCCC

Первоначально Rybka была объявлена чемпионом мира среди шахматных компьютеров в 2007, 2008, 2009 и 2010 годах.

В 2011 году ICGA аннулировала эти результаты. Поэтому в актуальных официальных списках Rybka не считается обладателем четырёх титулов, хотя именно она заняла первые места за доской в тех турнирах.

Соревнования TCEC

Rybka участвовала в первых сезонах Top Chess Engine Championship.

В первом и втором сезонах она дошла до суперфинала, но уступила Houdini 1.5a. Эти матчи стали символом смены лидера компьютерных шахмат.

Матчи Rybka против гроссмейстеров

К концу 2000-х обычный матч сильнейшего движка с человеком уже почти не представлял спортивной интриги. Поэтому команда Rybka проводила встречи с материальной форой.

Яан Эльвест

В 2007 году Rybka сыграла восемь партий против гроссмейстера Яана Эльвеста. В каждой партии у компьютера отсутствовала одна из восьми белых пешек.

Rybka выиграла матч со счётом 5,5:2,5.

Джоэл Бенджамин

В матче с Джоэлом Бенджамином отсутствующая пешка и цвет менялись от партии к партии.

Официальный счёт составил 4,5:3,5 в пользу Rybka.

Роман Джинджихашвили

Против Романа Джинджихашвили Rybka играла чёрными без одной пешки. Первый восьмипартийный матч закончился со счётом 4:4.

Позднее проводились встречи с классической форой «пешка f7 и первый ход».

Вадим Милов

В 2008 году Rybka встретилась с Вадимом Миловым, рейтинг которого превышал 2700.

Матч включал обычные партии, игры без пешки f7 и партии с форой качества. Милов победил со счётом 4,5:3,5.

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

Спор вокруг Rybka

История Rybka неразрывно связана с расследованием Международной ассоциации компьютерных игр — ICGA.

Спор был не обычным шахматным конфликтом, а сочетанием трёх разных вопросов:

  • насколько оригинальным был код ранней Rybka;
  • были ли нарушены правила компьютерных чемпионатов;
  • была ли процедура расследования и наказания справедливой.

Обвинения

В 2011 году группа программистов обратилась в ICGA с утверждением, что ранние версии Rybka были производными от открытого движка Fruit, а также использовали элементы Crafty.

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

Решение ICGA

28 июня 2011 года руководство ICGA заявило, что считает доказательства убедительными и что Васик Райлих нарушил турнирное правило об оригинальности и раскрытии источников.

ICGA постановила:

  • аннулировать результаты Rybka в чемпионатах 2006–2010 годов;
  • лишить программу титулов 2007–2010 годов;
  • перераспределить места между другими участниками;
  • аннулировать блиц-титулы 2009 и 2010 годов;
  • пожизненно запретить Райлиху участвовать в мероприятиях ICGA.

Это было решение спортивной организации на основании её турнирных правил, а не судебное решение о нарушении авторского права.

Позиция Васика Райлиха

Райлих отрицал, что Rybka включала чужой игровой код в смысле правила ICGA.

Он признавал, что подробно изучал Fruit, но оспаривал вывод о том, что Rybka являлась недекларированной производной программой.

Критика расследования

Критики решения указывали на:

  • участие конкурирующих программистов в расследовании;
  • отсутствие полноценного состязательного разбирательства;
  • спорность границы между использованием идей и копированием кода;
  • чрезмерность пожизненного запрета;
  • недостаточную ясность статутных оснований наказания.

Другие специалисты поддержали выводы ICGA и опубликовали технические разборы сходств с Fruit и Crafty.

Что решила комиссия FIDE?

В 2012 году Васик Райлих и его сторонники подали жалобу в Комиссию по этике FIDE на действия ICGA.

Итоговое решение появилось позднее. Комиссия критически оценила отдельные процедурные аспекты, вынесла ICGA предупреждение и рекомендовала привести устав и дисциплинарные правила в соответствие с общими принципами FIDE.

При этом важно понимать границы решения:

  • комиссия FIDE не проводила новое техническое исследование исходного кода Rybka;
  • она не объявляла Rybka полностью оригинальной программой;
  • она не восстанавливала четыре чемпионских титула;
  • она не отменяла турнирные таблицы ICGA;
  • основной предмет рассмотрения касался этики и процедуры дисциплинарного процесса.

Поэтому фраза «FIDE доказала невиновность Rybka» была бы неточной. Верно сказать, что комиссия FIDE раскритиковала часть процедуры ICGA, но официальный статус аннулированных титулов не изменился.

Каков нынешний статус титулов?

В официальной истории ICGA результаты остаются пересмотренными.

Чемпионами вместо Rybka указаны:

  • 2007 год — Zappa;
  • 2008 год — HIARCS;
  • 2009 год — Junior, Shredder и Deep Sjeng совместно;
  • 2010 год — Rondo и Thinker совместно.

При историческом описании корректно сообщать оба факта:

  1. Rybka заняла первые места в турнирах 2007–2010 годов;
  2. в 2011 году ICGA аннулировала эти результаты и перераспределила титулы.

Партии Rybka

Победа над Маурисио Флоресом Риосом

В первой партии Rybka играет против будущего гроссмейстера Маурисио Флореса Риоса.

Соперник выбирает рискованный гамбит, но движок быстро нейтрализует инициативу и завершает партию за 25 ходов.

 

Быстрая атака против Jonny

Во втором примере Rybka создаёт прямую атаку после того, как чёрные забирают качество ходом 16...Bxe1.

Материальная выгода не успевает сыграть роли: положение короля и отставание фигур в развитии оказываются важнее.

 

Почему Rybka 5 не вышла?

После Rybka 4.1 неоднократно обсуждалась пятая версия. В начале 2010-х сообщалось о планах продолжить разработку, но публичного выпуска не произошло.

На остановку проекта могли повлиять:

  • спор и запрет ICGA;
  • выход Houdini и Stockfish на первое место;
  • снижение коммерческого преимущества закрытых движков;
  • переход Васика Райлиха к другим проектам;
  • быстрое развитие открытого тестирования и распределённых вычислений.

В 2015 году Райлих выпустил движок для Fritz 15. Это был отдельный проект, а не переименованная Rybka 5.

Можно ли скачать Rybka?

Официальный сайт проекта продолжает работать и предлагает бесплатную Rybka 2.3.2a.

Это полноценный старый UCI-движок, а не ограниченная по времени демоверсия.

Rybka 4 и Deep Rybka 4 были коммерческими продуктами. Страница ChessBase сохранилась, но товар обозначен как недоступный.

Неофициально распространяемые архивы Rybka 4 могут нарушать лицензию и содержать изменённые файлы.

Как установить Rybka 2.3.2a?

Порядок установки:

  1. скачайте архив с официального сайта;
  2. распакуйте его в постоянную папку;
  3. установите UCI-совместимую графическую оболочку;
  4. выберите добавление нового движка;
  5. укажите подходящий исполняемый файл Rybka;
  6. настройте Hash, Threads и Ponder;
  7. при необходимости подключите эндшпильные таблицы.

Для современных 64-разрядных компьютеров следует выбирать соответствующий исполняемый файл, если он присутствует в архиве.

Актуальна ли Rybka в 2026 году?

Для серьёзного современного анализа Rybka уже не является оптимальным выбором.

Причины:

  • последнее обновление вышло в 2011 году;
  • нет современной NNUE-оценки;
  • не используются результаты многолетнего открытого тестирования;
  • Stockfish и другие современные движки значительно сильнее;
  • коммерческая версия больше официально не продаётся.

При этом Rybka остаётся интересной:

  • как важная часть истории компьютерных шахмат;
  • для сравнения старых и современных методов анализа;
  • для воспроизведения анализов из книг и баз 2006–2012 годов;
  • для движковых ретро-турниров;
  • как бесплатный UCI-движок умеренной силы.

Rybka или современный Stockfish?

Rybka 4.1 Современный Stockfish
Последнее обновление в 2011 году Регулярные новые версии
Закрытый коммерческий движок Бесплатный проект с открытым исходным кодом
Классическая ручная оценка Альфа-бета-поиск и NNUE
Исторический инструмент Один из сильнейших актуальных анализаторов
Официально больше не продаётся Свободно скачивается

Для повседневной работы лучше использовать Stockfish. Rybka имеет смысл запускать как дополнительный исторический движок или для повторной проверки старых анализов.

Частые вопросы

Какая версия Rybka является последней?

Rybka 4.1, выпущенная в 2011 году.

Существует ли Rybka 5?

Нет. Версия обсуждалась, но публично выпущена не была.

Rybka всё ещё развивается?

Нет. Нового движка после Rybka 4.1 не появилось.

Можно ли скачать Rybka бесплатно?

Да. На официальном сайте доступна Rybka 2.3.2a. Коммерческая Rybka 4.1 бесплатно официально не распространяется.

Работает ли Rybka на Windows?

Да. Публичные версии выпускались прежде всего для Windows. В Linux их можно запускать через совместимые оболочки и Wine.

Нужна ли видеокарта?

Нет. Rybka работает на центральном процессоре.

Можно ли подключить Rybka к Arena или ChessBase?

Да. Движок поддерживает UCI.

Почему Rybka лишили титулов?

ICGA решила, что ранние версии были недекларированными производными Fruit и Crafty и нарушили правило чемпионата об оригинальности и раскрытии источников.

Признал ли Райлих обвинения?

Нет. Он отрицал, что Rybka включала чужой игровой код в смысле правила ICGA.

Оправдала ли Rybka комиссия FIDE?

Не в техническом смысле. Комиссия критиковала дисциплинарную процедуру ICGA и вынесла предупреждение, но не восстанавливала титулы и не установила оригинальность кода.

Считается ли Rybka четырёхкратным чемпионом мира?

В первоначальных результатах она заняла первые места в 2007–2010 годах, но ICGA впоследствии аннулировала эти титулы. В официальных пересмотренных таблицах чемпионами указаны другие программы.

Кто сильнее: Rybka или Stockfish?

Современный Stockfish значительно сильнее Rybka 4.1.

Что стало с Васиком Райлихом после Rybka?

Он продолжал заниматься шахматным программированием и стал автором движка Fritz 15, выпущенного ChessBase в 2015 году.

Итоги

Rybka появилась в 2005 году и за короткое время стала сильнейшим шахматным движком своего поколения.

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

Последней версией стала Rybka 4.1 от 2011 года. Rybka 5 не была выпущена, а официальная продажа четвёртой версии прекращена.

В 2011 году ICGA аннулировала четыре чемпионских титула и пожизненно запретила Райлиху участие в своих мероприятиях. Решение осталось предметом споров.

Комиссия FIDE позднее раскритиковала отдельные аспекты дисциплинарной процедуры и вынесла ICGA предупреждение, но не восстанавливала титулы и не пересматривала технический вопрос об исходном коде.

Сегодня Rybka имеет прежде всего историческое значение. Для современного анализа практичнее использовать Stockfish или Leela Chess Zero, а Rybka полезна для изучения развития движков и проверки старых шахматных материалов.

Практический совет При работе со старой книгой или базой, где варианты рассчитаны Rybka, сначала воспроизведите исходный анализ, а затем сравните критические позиции с актуальным Stockfish. Разница часто показывает, как изменились методы компьютерной оценки.

Для системной работы над тактикой, позиционной игрой, атакой и эндшпилем можно воспользоваться программой обучения «Шахматы. Перезагрузка за 21 день».

НЕТ ПРОГРЕССА В ШАХМАТАХ?

Вам поможет 21-дневный интенсив по шахматам. Гарантия!

Полезные статьи


© Copyright 2011- Шахматный клуб XChess.ru. Все права защищены!