Китайские шашки JumpStar

ИИ для китайских шашек

JumpStar — сильнейший в мире ИИ-движок для китайских шашек

Теперь на iPhone Китайские шашки: JumpStar Играйте офлайн против сильнейшего ИИ, решайте ежедневные головоломки, получайте подсказки и сохраняйте повторы.

С чего всё началось

Я создал JumpStar для своей мамы. Проект начался 15 мая 2026 года в Индиане, когда я помогал родителям переезжать из дома, где прошло наше детство. Собирая вещи, мы нашли нашу старую доску для китайских шашек и стали вспоминать, как весело было играть всей семьёй.

Когда мы с братом уехали учиться в университет, мама пыталась найти приложения с китайскими шашками для iPhone, чтобы продолжать играть самой, но ни одно из них не было по-настоящему хорошим. Учитывая успехи AlphaGo и Stockfish, я был уверен, что для китайских шашек наверняка существует множество сильных ИИ-движков с открытым исходным кодом, но их нет. Несмотря на популярность и изящество игры, сообщество ИИ уделяло китайским шашкам удивительно мало внимания. Именно этот пробел и побудил меня создать JumpStar.

Моей целью было создать первый сверхчеловеческий ИИ-движок для китайских шашек. Сильный компьютерный соперник позволил бы маме продолжать играть, даже когда нас с братом нет рядом. А сверхчеловеческий движок мог бы даже открыть новые красивые закономерности и стратегии игры, которые ещё не получили широкой известности.

Поэтому проект и стал публичным. Сильный закрытый движок интересен, но другим людям трудно его оценить или улучшить. Открытый бенчмарк ИИ для китайских шашек делает работу проверяемой: в нём есть свод правил, протокол, набор позиций, базовые движки, журналы партий и именованная модель JumpStar, которой могут бросить вызов другие системы.

Красота китайских шашек

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

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

Как играть в китайские шашки

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

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

Краткий справочник — в разделе полные правила китайских шашек. Когда будете готовы играть сильнее, переходите к руководству JumpStar по стратегии и тактике.

Переведите свои фишки в противоположный треугольник Настоящая доска для китайских шашек на 121 лунку в начальной позиции: Игрок 1 мчится из верхнего треугольника к противоположной цели.
Гонка через звезду. Переведите все свои фишки в противоположный треугольник раньше соперника.
Простой ход на одну лунку Реальный допустимый первый ход на доске для китайских шашек: Игрок 1 шагает из клетки 6 в соседнюю клетку 15.
Шаг к соседу. Фишка может переместиться на одну позицию в любую соседнюю пустую лунку.
Ход цепочкой прыжков Реальный ход из трёх прыжков в отборочной партии Iter57: Игрок 1 идёт из клетки 2 через клетки 7 и 27 в клетку 29.
Связывайте прыжки в цепочки. Прыгайте через занятые лунки, приземляйтесь за ними и продолжайте прыгать, когда позволяет геометрия.

Чем интересен ИИ для китайских шашек

Классические настольные игры десятилетиями занимали центральное место в исследованиях ИИ. Deep Blue от IBM победил чемпиона мира по шахматам Гарри Каспарова в 1997 году. AlphaGo обыграл Ли Седоля в 2016 году. Эти игры стали вехами, потому что сильная компьютерная игра изменила то, как люди их понимают.

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

Даже спокойная начальная позиция быстро ветвится. В правилах JumpStar для двух игроков в стартовой позиции есть 14 допустимых первых ходов. После того как каждая сторона сделала по одному ходу, возможны 196 последовательностей из двух полуходов. На глубине трёх полуходов из начальной позиции возможны 4,760 последовательностей ходов. Позже в партии цепочки прыжков и забитые линии делают выбор куда менее очевидным, чем можно предположить по правилам.

Что такое JumpStar

JumpStar — это движок для китайских шашек, обученный на самоигре. Он построен на компактном ядре правил и поиска на C++20, нейросетевой модели стратегии и оценки (policy/value) и поиске по дереву методом Монте-Карло. Его сильнейшая открытая контрольная точка, JumpStar_60, — текущий чемпион бенчмарка CCERL-2P10-v2. Удивительный результат — эффективность. Все модели JumpStar обучены на MacBook M4, а не на огромных кластерах TPU/GPU, с которыми ассоциируются знаменитые системы для го и шахмат.

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

Система

JumpStar — это не просто контрольная точка модели. Это полноценный стек движка и бенчмарка: представление доски, правила, поиск, самоигра, обучающие записи, инструменты судейства и открытые доказательства.

  • Правила и поиск. JumpStar использует компактное битовое представление звёздной доски на 121 лунку, строгие правила для двух игроков, генерацию допустимых шагов и ходов из нескольких прыжков, фиксацию цели, проверку окончания партии, детерминированное хеширование, базовых ботов и нативную программу для проведения матчей. Правила реализованы намеренно явно, потому что иначе движки для китайских шашек могут эксплуатировать пограничные случаи: отсиживаться в домашнем или целевом треугольнике, создавать искусственные блокады или побеждать за счёт особенностей судейской программы, а не благодаря лучшей игре. Правила JumpStar призваны поощрять чистую гонку, сильную геометрию и воспроизводимый поиск, а не уловки с блокировкой.
  • Обучение на самоигре. Самоигра и повторный анализ порождают позиции на доске, допустимые действия, счётчики посещений MCTS, результаты партий и признаки прогресса. На этих записях обучается модель стратегии и оценки, которая направляет следующий раунд поиска. JumpStar_60 — это MLP geometry_v1 размером 512x4 примерно с 10.36M параметров, обученный на повторно проанализированном наборе данных из 1.8M примеров. Основная практическая работа состояла в том, чтобы сделать этот цикл достаточно компактным и быстрым для многократного запуска на локальном оборудовании.
  • Открытое тестирование. Поскольку у китайских шашек не было зрелой открытой рейтинговой лестницы движков, параллельно с JumpStar я разработал CCERL-2P10-v2. CCERL определяет правила, протокол движков, зафиксированный набор позиций, базовые движки, артефакты релизов и методику рейтинга. Бенчмарк использует парные позиции со сменой сторон и публикует журналы партий, так что результаты воспроизводимы, а не просто заявлены. Это значит, что будущие движки могут бросить вызов JumpStar при том же судействе, а не сравнивать расплывчатые заявления о силе.

Как JumpStar играет в китайские шашки

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

Этот стиль легко не заметить, если воспринимать китайские шашки только как гонку вперёд. Поскольку фишки никогда не снимаются с доски, оборонительное построение может влиять на игру много ходов подряд: оно может лишить соперника лестницы для прыжков, заставить его обходить заторы или выиграть достаточно времени, чтобы собственные фишки модели успели дойти до цели. Поэтому некоторые из сильнейших идей JumpStar могут касаться контроля над геометрией, а не просто более быстрого продвижения.

Победная дебютная схема

Повтор победного дебюта Дебютная последовательность из восьми ходов с выделенным последним прыжком Игрока 2.
# Игрок Тип Ход
Оборонительный треугольник JumpStar Позиция из реальной партии: JumpStar выстраивает в центре фигуру, которая мешает прыжкам через середину и вытесняет фишки соперника к краям.
Закройте центр. JumpStar часто выстраивает два компактных треугольных фронта, из-за которых через центральные линии неудобно прыгать, и вытесняет фишки соперника к краям.
Длинная цепочка JumpStar в эндшпиле Позиция из реальной партии: JumpStar расставляет фишки в длинную цепочку прыжков к противоположной цели.
Реализуйте преимущество цепочками. Позже то же чутьё на расстановку создаёт длинные лестницы, которые эффективно приводят отстающие фишки домой.

Цикл поиска и обучения

В общих чертах JumpStar следует схеме AlphaZero: самоигра порождает целевые распределения посещений MCTS, на этих целях обучается модель стратегии и оценки, а более сильная модель направляет следующий раунд поиска.

самоигра -> цели посещений MCTS -> обучение policy/value -> более сильный поиск -> самоигра

Практическая сила появилась благодаря тому, что этот цикл удалось сделать достаточно дешёвым для многократного запуска: нативные воркеры самоигры на C++, эффективная генерация ходов, пакетная оценка листьев, транспозиции, повторное использование поддеревьев, компактные записи и релизные сборки, настроенные под локальное оборудование Apple.

Значительная часть этого ускорения пришлась на работу с Codex на базе GPT-5.5 как с партнёром по разработке и исследованиям. Codex помогал изучать кодовую базу, профилировать узкие места, переписывать критичные участки кода, анализировать журналы обучения, упаковывать запуски бенчмарка и одновременно вести несколько экспериментальных направлений. Самые важные достижения были практическими: значительное ускорение самоигры и оценки, сокращение потребления памяти в пути обучения примерно на 98%, чтобы работа поместилась на моём локальном компьютере, и достаточная автоматизация, чтобы продолжать улучшать движок, параллельно работая на полную ставку генеральным директором Edia.

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

Локальный учёт Codex даёт примерное представление о масштабе этого сотрудничества. Во всех ветках проекта, видимых в локальной базе данных состояния Codex, записанный показатель tokens_used составил в сумме примерно 559.9M токенов. Эти цифры включают контекст, вывод инструментов, эффекты кешированного контекста, учёт рассуждений и вывода, а также пересекающиеся рабочие ветки, поэтому их следует воспринимать как метрику процесса, а не как научное измерение вычислений.

CCERL и открытый бенчмарк

У китайских шашек нет зрелой открытой рейтинговой лестницы движков, как у шахмат и го, поэтому оценивать силу движков и их прогресс трудно. CCERL восполняет этот пробел. CCERL — первый открытый бенчмарк для оценки силы ИИ-движков для китайских шашек. Опираясь на аналогичные подходы из шахмат и го, CCERL предлагает фиксированные правила, проверенные стартовые позиции, парную смену сторон, загружаемые журналы партий и открытые базовые движки.

Судя по тестам CCERL, JumpStar с большим отрывом является сильнейшим в мире общедоступным ИИ-движком для китайских шашек.

Я считаю, что JumpStar достиг почти сверхчеловеческой силы игры в китайские шашки при правилах для двух игроков, используя вычислительные ресурсы уровня локального MacBook. Что ещё важнее, CCERL даёт всем будущим участникам цель: доработать JumpStar, создать новую модель, точнее перенести существующий движок, добавить более удачные позиции или выставить претендента при том же судействе.

Дальнейшие планы

JumpStar задуман не просто как закрытый бот. Проект стремится стать сразу несколькими вещами:

  • Сильная открытая модель ИИ. JumpStar распространяется по открытой лицензии, а этот сайт бесплатен. Любой может сыграть против JumpStar или попробовать улучшить его самостоятельно. JumpStar полностью обучен на MacBook M4. Больше вычислительных ресурсов наверняка улучшат его результаты.
  • Открытая инфраструктура для тестирования. У шахмат и го есть сообщества, где движки можно тестировать, сравнивать и улучшать. CCERL приносит ту же инфраструктуру в китайские шашки: понятные правила, воспроизводимые матчи, открытые журналы партий и возможность для других людей создавать собственные модели.
  • Исследование самой игры. Сильный ИИ меняет то, что мы способны увидеть. Я хочу понять, как выглядит хорошая игра, как развиваются дебюты, почему тесные позиции ведут себя именно так и что происходит в партиях на трёх, четырёх и шести игроков, когда центр доски превращается в пробку из возможностей.
  • Варианты для нескольких игроков. Модель для двух игроков — только начало. Самые захватывающие вопросы возникают, когда на доске становится теснее: три игрока, четыре, шесть, меняющиеся союзы, перекрытые пути и странные дебюты, возникающие сами собой. Я хочу выяснить, как выглядит сильная игра и там, и на досках гораздо больше стандартной. Сложность и закономерности, которые при этом проявятся, будут завораживающими.

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