Морской бой — задача поиска, и метод обходит удачу примерно на двадцать выстрелов. Стреляя наугад, весь флот топят в среднем за 75 выстрелов; поиск с добиванием раненых — примерно за 58; подсчёт того, где ещё помещаются оставшиеся корабли, — примерно за 55. А свой флот против здешнего компьютера лучше всего ставить к краям: расстановка вдоль бортов обходится сильнейшему уровню в 16 лишних выстрелов.
Игра здесь идёт по тетрадным правилам: поле 10×10 и десять кораблей — один четырёхпалубный, два трёхпалубных, три двухпалубных и четыре однопалубных, всего двадцать клеток. Вы стреляете первым, а попадание даёт ещё один выстрел.
Метод стрельбы можно измерить числом выстрелов, которое нужно, чтобы потопить весь случайно расставленный флот. Каждая строка ниже — 50 000 смоделированных партий против того способа расстановки, которым пользуется сам компьютер:
| Метод | В среднем выстрелов | Медиана |
|---|---|---|
| Случайные клетки | 75,0 | 75 |
| Поиск наугад, потом добивание вдоль оси | 58,2 | 58 |
| То же, но поиск по шахматке (однопалубники не ищем, пока жив корабль длиннее) | 57,0 | 57 |
| То же, с сеткой по самому длинному живому кораблю | 56,6 | 57 |
| Подсчёт вероятностей: стрелять туда, где помещается больше всего вариантов оставшихся кораблей | 55,3 | 56 |
Переход от стрельбы наугад к любому методу, который добивает раненых, — это семнадцать выстрелов; всё остальное — уточнения на один-три выстрела. Но и это много: в партии двух сильных игроков пара выстрелов решает, кто первым потопит последний корабль.
Для сравнения: уровням компьютера на этом сайте нужно в среднем 62,2 («Простой»), 58,1 («Сложный») и 55,2 («Эксперт») выстрела, по 50 000 партий на каждый.
Пока раненого корабля нет, вы ищете то, чего не видно. Сетка — это набор клеток, выбранный так, что любой корабль заданной длины обязательно накроет хотя бы одну из них. На шахматке — через клетку — не проскочит ни один корабль длиной от двух, а стоит она половину поля.
Пока крупные корабли на плаву, сетка может быть реже. Клетки на каждой четвёртой диагонали ловят четырёхпалубный всего за 25 выстрелов; когда он потоплен, переходите на каждую третью диагональ для трёхпалубных, затем на шахматку. Однопалубные оставьте напоследок: дёшево их не ловит никакая сетка, а к тому времени большая часть поля всё равно вычеркнута.
Здесь есть ловушка: сетка по самому маленькому живому кораблю в этом флоте бесполезна. Четыре однопалубника держат длину самого маленького корабля равной единице почти всю партию, а сетка с шагом один — это всё поле. Подбирайте сетку по самому большому кораблю, который ещё ищете.
Попадание стоит дороже всего, когда корабль добит за наименьшее число выстрелов. Три позиции покрывают все случаи:
Когда ось ясна, идите в одну сторону до промаха, потом возвращайтесь к другому концу. Потопив корабль, сверьтесь со списком оставшихся: если четырёхпалубного уже нет, ряд из трёх попаданий закончен, и дальше гнать некуда.
Самый сильный метод спрашивает не «куда я ещё не стрелял», а «сколькими способами оставшиеся корабли могут накрыть эту клетку». На пустом поле центральную клетку могут накрыть 36 разных положений кораблей флота, а угловую — только 16. Каждый промах вычёркивает положения, каждое попадание делает положения через него гораздо вероятнее. Стреляйте в клетку, где их больше всего.
Всё это за столом никто не считает, но привычку перенять легко, особенно к концу партии: посмотрите, что осталось на плаву, и найдите, где ещё может стоять каждый корабль. На изрешеченном поле у трёхпалубного часто остаётся два-три возможных места. Стреляйте в общую для них клетку.
Против каждого уровня компьютера эти методы дают такие шансы на победу (вы стреляете первым, оба флота расставлены случайно):
| Ваш метод | против «Простого» | против «Сложного» | против «Эксперта» |
|---|---|---|---|
| Случайные клетки | 9% | 4% | 2% |
| Поиск и добивание | 68% | 52% | 40% |
| Шахматка и добивание | 73% | 57% | 45% |
| Сетка по самому длинному и добивание | 74% | 58% | 46% |
| Подсчёт вероятностей | 78% | 63% | 51% |
Первый выстрел стоит примерно полтора пункта: два равных по силе метода делят партии примерно 51,5 на 48,5 в пользу начинающего.
Расстановка значит не меньше стрельбы, и ответ здесь ясный. Компьютер, который считает варианты, целится в середину: там помещается больше всего положений. У корабля, прижатого к борту, способов там оказаться меньше, и его находят позже. Мы смоделировали сильнейший уровень компьютера против нескольких расстановок:
| Ваша расстановка | «Эксперту» нужно в среднем | Ваш шанс на победу* |
|---|---|---|
| Каждый корабль касается края поля | 71,6 выстрела | 96% |
| Все корабли в верхней половине (ряды 1–5) | 68,7 выстрела | 93% |
| Крупные у края, однопалубные где угодно | 64,1 выстрела | 81% |
| Случайная, как ставит игра | 55,2 выстрела | 51% |
| Ни один корабль не касается края | 49,3 выстрела | 28% |
* Если вы сами стреляете подсчётом вероятностей. Против «Простого» и «Сложного» порядок тот же.
Обычно советуют не выстраивать весь флот вдоль бортов: человек, который это заметит, прочешет края. Против человека совет хороший. Здешний компьютер не помнит ваших прошлых партий и не подстраивается, поэтому против него расстановка по краям просто выигрывает чаще. Хуже всего — обратное: флот, собранный в середине, находят быстрее любого другого.
На каждом уровне компьютер видит ровно то, что видели бы вы на его месте: промахи, попадания, потопленные корабли и список тех, что на плаву. В вашу расстановку он не заглядывает никогда, а свой флот на всех уровнях ставит одинаково.
Чтобы обыгрывать «Эксперта» уверенно, делайте оба дела сразу: считайте, где помещаются корабли, когда стреляете, и ставьте свой флот к краям. Вместе это превращает равную игру примерно в 24 победы из 25.
Ищите по сетке, подобранной по самому большому кораблю, которого ещё не нашли, добивайте каждое попадание вдоль его оси, а к концу партии стреляйте туда, где оставшиеся корабли ещё помещаются. В моделировании так флот топят примерно за 55–57 выстрелов, а наугад — за 75.
Против компьютера, который считает вероятности, — вдоль краёв поля. Здесь флот, где каждый корабль касается края, обходится сильнейшему уровню в среднем в 71,6 выстрела вместо 55,2. Против человека, который вас знает, расстановку стоит менять: одни края становятся предсказуемы.
Это важно меньше, чем кажется. При здешнем способе расстановки любая клетка занята кораблём в 18–21% партий; чуть холоднее только углы. Важно другое: первые выстрелы должны ложиться на сетку.
На поле 10×10 с флотом в двадцать палуб хороший метод топит всё примерно за 55–58 выстрелов; девять партий из десяти укладываются примерно в 46–64. Стрельбе наугад нужно около 75.
В этой версии — нет, она идёт по классическим тетрадным правилам: корабли не касаются даже углами. Поэтому клетки по диагонали от попадания и кольцо вокруг потопленного корабля — точно вода.
Здесь — да: после попадания вы стреляете, пока не промахнётесь. Компьютер играет по тому же правилу.
Отчасти. Даже у лучшего метода разброс от партии к партии около двадцати выстрелов, так что близкие партии решает удача. Но метод в среднем стоит те же двадцать выстрелов, поэтому на длинной дистанции лучший искатель выигрывает уверенно.
Да. Против «Простого» и «Сложного» уже поиск с добиванием выигрывает больше половины партий. Против «Эксперта» подсчёт вероятностей вместе с флотом вдоль краёв выигрывает в моделировании около 96% партий.