Разбор расстановок
Выберите число партий и сравните пять способов расставить флот. Против них играет алгоритм нашего морского боя. Чем больше выстрелов ему потребуется, тем дольше расстановка держалась в этом расчёте.
Посчитать самому
Считаю партии…
Нажмите «Пересчитать»: против каждой расстановки сыграет тот же противник, что и в нашей игре, а в столбце справа встанет среднее число выстрелов, которое ему понадобилось.
Больший результат означает, что этот противник затратил больше выстрелов в данной выборке. При повторе создаются новые флоты; один прогон не доказывает превосходство стратегии. Расчёт выполняется в вашем браузере.
| Стратегия | Что это |
|---|---|
| Как выпадет | Случайная расстановка с соблюдением правил: корабли не касаются друг друга. |
| По краям | Приоритет местам у края поля. При неудаче используется обычная случайная расстановка. |
| По углам | Приоритет местам ближе к углам. При неудаче используется обычная случайная расстановка. |
| В центре | Приоритет местам ближе к центру. При неудаче используется обычная случайная расстановка. |
| Вразброс | Из предложенных случайных допустимых мест выбираются наиболее удалённые от уже стоящих кораблей. При неудаче используется обычная случайная расстановка. |
Как читать результат
Виджет показывает среднее число выстрелов для каждой стратегии. Это результат выбранной выборки, а не постоянная характеристика расстановки. При сравнении сохраняйте одинаковое число партий для всех стратегий.
Разница средних описывает только поиск противника. Она не учитывает, как стреляете вы, и не гарантирует победу в полной партии. Повторный расчёт позволяет увидеть, насколько устойчив порядок на вашей выборке.
Почему у края другой вес
Дело в числе способов. Четырёхпалубный корабль можно положить через центральную клетку восемью способами: четыре по горизонтали и четыре по вертикали. Через угловую всего двумя.
Алгоритм считает именно это: складывает, сколько раз каждая клетка оказалась накрыта хотя бы одним допустимым положением уцелевших кораблей. На пустом поле центр получает больший вес из-за многопалубных кораблей. После выстрелов карта меняется. Для однопалубного эффект края этим счётом не объясняется: обе ориентации одной клетки дают вес 2 и в углу, и в центре.
Где совет перестаёт работать
Против соперника с другой стратегией поиска результат может быть иным. Человек может заметить привычку и начать с бортов. Наш алгоритм считает каждую партию с нуля и памяти о прошлых играх у него нет.
И ещё одно. Расстановка строго по периметру сама становится предсказуемой: если соперник поймёт, что центр у вас всегда пуст, он просто исключит его из перебора и выиграет время. Поэтому универсального совета о месте для однопалубных этот разбор не даёт.
Как это устроено внутри
Стратегия — это способ выбирать место. Для каждого корабля код пробует до 40 случайных положений и выбирает лучшее из допустимых по своей мерке: у «краёв» это близость к борту, у «вразброс» — расстояние до соседей. Это выбор из пробы, а не поиск глобального оптимума. Если собрать флот не удаётся, используется обычная случайная расстановка.
Дальше флот отдают алгоритму, и он топит его до последней клетки. Никакой магии и никаких заранее записанных ответов: тот же код, что играет с вами на странице игры. Число выстрелов здесь является метрикой конкретного алгоритма, а не теоретическим оптимумом.
Вопросы про разбор
Что именно считает этот разбор?
Он строит флот по выбранной стратегии и запускает против него того же противника, что играет в нашем морском бою. Метрика одна: сколько выстрелов ему нужно, чтобы утопить всё. Чем больше, тем расстановка живучее.
Почему при каждом пересчёте цифры немного разные?
Выборка зависит от случайной расстановки и выбора среди равных ходов. Средние и порядок стратегий могут меняться. Увеличение числа партий не превращает результат в гарантию для любой расстановки.
Это работает против живого человека?
Разбор проверяет только наш алгоритм. Человек может выбирать другой порядок выстрелов и учитывать ваши привычки; переносить на него результат автоматически нельзя.
Считается на вашем сервере?
Нет, прямо у вас в браузере. При 80 партиях на каждую из пяти стратегий считаются 400 партий. Длительность зависит от устройства и выбранной выборки.