Игры / Эксперимент

Морской бой: Jev строит карту вероятностей

Один вызов Jev оценивает вероятность попадания для каждой доступной клетки. Код превращает ответы в тепловую карту и выбирает клетку с максимумом.

По делу

Что это решает

jev-sonar показывает поле «Морского боя» как карту вероятностей. В одном запросе Jev получает вопросы о каждой ещё не обстрелянной клетке; код выбирает максимальную оценку и делает выстрел.

Результат для пользователя

Оценить все доступные клетки за один запрос и выбрать выстрел

Один запрос — много проверок

Состояние включает историю попаданий, промахов и затонувших кораблей. Для каждой свободной клетки создаётся отдельный Noul-вопрос «будет ли здесь попадание?». Эти ответы приходят вместе и образуют тепловую карту. Дополнительный Choice-вопрос о ходе служит сверкой, но фактический выбор делается по максимальной Noul-вероятности с определённым правилом ничьей.

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

Почему важны два режима проверки

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

Автор также публикует один live-прогон с Jev. В нём показаны 54 запроса и более четырёх тысяч типизированных вопросов, однако одна партия — слишком маленькая выборка для вывода о win rate. Ключевой наблюдаемый факт здесь — fan-out вопросов и построение карты.

Что получает исследователь

После запуска сохраняются JSON-отчёт, Markdown-сводка и текстовая тепловая карта. Так можно сравнивать распределения, исходы выстрелов и Brier score на серии одинаково настроенных партий, не выдавая один красивый скриншот за полноценный benchmark.

Как попробовать самому

  1. 01Установить зависимости через uv sync и начать с uv run jev-sonar --offline --games 20 --seed 11.
  2. 02Посмотреть отчёт и убедиться, что он помечен как результат офлайн-заглушки.
  3. 03Для реального режима добавить TYPESAFE_API_KEY и запускать небольшое число партий, учитывая множество вопросов в каждом ходе.
Инструкция и код автора

Ограничение этого проекта

Офлайн-статистика относится к заглушке, а опубликованная live-партия не даёт надёжной оценки доли побед Jev.