Цитата:
Если в качестве чистой стратегии рассматривать конкретную позицию (см. выше), то логично в качестве чистой стратегии обстрела рассматривать конкретную последовательность выстрелов, которых будет
Начальных расстановок кораблей много меньше,
(по др. оценкам,
), так что возможно даже рассчитать все позиции с начала игры. У меня десктоп такое не тянет (всего лишь 30000 игр в секунду), поэтому рассчитывал ВСЕ позиции после отлова 4-палубников, это много проще. Особого выигрыша против "сетка-3" + отлов двухпалубников не дало.
-- 18.03.2021, 22:40 --Если же считать, что цель игры - выбить корабли противника раньше, чем он выбьет наши, а не выбить его как можно быстрее, то может быть важно и ситуация с нашим полем (если мы видим, что противник нас скоро добьет - берем стратегию, которая имеет больше шансов на очень быстрый выигрыш, пусть даже увеличивая ожидание времени до победы).
Забудьте о противнике! Считайте, что его нет. Ваш противник - число ходов (попыток) до полного потопления чужого флота. Чем быстрее, тем лучше. Вы можете играть асинхронно: сначала вы сыграет против его размещения кораблей, потом он против вашего и сравниваете кол-во ходов (попыток). У кого меньше, тот и выиграл. Поэтому можно сосредоточится только на одном важном критерии игры: кол-во попыток (ходов), требуемых для уничтожения некого расположения (слчайного или по какой-то системе).
-- 18.03.2021, 22:44 --Вы используете слово "стратегия" не в том смысле, что уважаемые mihaild и Padawan.
У Вас "стратегий" обстрела две, потому что Вы два алгоритма ведения огня рассматриваете.
А уважаемые mihaild и Padawan говорят о чистых стратегиях в терминах теории игр. Тогда чистых стратегий ведения огня
, сильно больше, чем атомов в видимой части Вселенной.
Стратегий на самом деле огромное кол-во. Но их можно классифицировать по одному критерию: случайно вы стреляете или нет. Сначала разбирается случайная стратегия, а потом "абсолютная", т.е. каждый ход делается с учетом наиболее вероятного расположения чужих кораблей. Лучше стратегии быть просто не может по определению. К сожалению, как я писал выше, десктоп такие расчеты не тянет с начальной позиции, но после отлова 4-х палубников - неплохо. И эта стратегия обстрела показала минимальное преимущество перед классикой (отлов 4-х, 3-х, 2-х палубников последовательно), при этом требует ресурсы на много порядков больше и недоступна человеку.
На самом деле еще хуже: на самом деле "абсолютная" стратегия обстрела не сильно выигрывает у случайной. Конкретные цифры я пока не хочу публиковать, это раскрытие статьи.
-- 18.03.2021, 22:55 --А зачем брать сразу 10x10, если можно взять 3x3 c одним двухпалубным, найти точное решение в терминах теории игр и посмотреть, насколько согласованный результат даст Ваш метод? Потом можно взять 4x4 с однопалубным и двухпалубным и т. п. И выводы проверяться сами собой.
Я рассматривал все поля, от
до
и разное кол-во кораблей (от 1 до 30). Метод согласуется с теорией (когда удается подсчитать). Да и как он может не согласоваться? Программа же генерирует начальное расположения флота и сама же потом его топит. И так
раз. После чего строится распределение, высчитывается среднее, дисперсия, квадратичное отклонение, стандартная ошибка (все это возможно, потому что распределение получается близко к нормальному). Можно возразить, что
- это только
от всех расположений кораблей. Но последовательности в
генерировались сотни раз и сравнивались, существенных расхождений нет. Цитата:
1. Проверено, что при большем кол-ве генераций позиций (от
) вероятность занятости некой клетки кораблем одинакова,
. Т.е. при случайном расположении кораблей можно вести обстрел в любом порядке, разницы в попытках не будет.
2. Число свободных клеток после генерации
. Отсюда можно оценить число возможных позиций в игре, как
.
Здесь на основе др. алгоритма оценка ниже,
3. Среди
позиций ни разу не было найдено повторяющихся (проверено сотни раз). Это плохо: хотелось бы протестировать все возможные позиции. Но на современном десктопе удавалось достичь скорости < 30000/сек позиций на одном процессоре, это слишком мало (см. п. 2).
Если хотите, назовите размер поля, число и состав кораблей, я дам вам распределение попыток для их уничтожения, среднее и дисперсию.