Упрощенная версия карточной игры Winner

9

Я задал эту проблему в MathOverflow , без какого-либо удовлетворительного ответа.

Рассмотрим следующую игру для двух игроков, которая является упрощением карточной игры Winner . (Следующая формулировка была взята из комментария Гийома Брунери о MathOverflow.)

Есть два игрока A и B. У каждого игрока есть набор карт (подмножество ), видимых от обоих игроков. Цель игры - избавиться от собственных карт. Первый игрок разыгрывает любую карту на столе, затем другой игрок должен разыгрывать (строго) большую карту, и так далее, пока один из игроков не сможет сыграть или не решит пройти. Затем карты на столе сбрасываются, и другой игрок начинает заново, разыгрывая любую карту (за которой последует карта большего размера). И так до тех пор, пока у одного из двух игроков не закончатся карты и они не выиграют игру.{1,...,N}

Я хочу знать лучшую стратегию для игроков (если он может победить).

Формальное определение

Обозначим через конфигурацию игры, в которой набор карт первого игрока равен , набор карт второго игрока - , а самая большая карта на столе - , где означает, что на столе нет карты. Я хотел бы, чтобы алгоритм вычислял, учитывая , есть ли у первого игрока выигрышная стратегия в конфигурации .вес(я,A,В)AВяязнак равно0я,A,Ввес(я,A,В)

Формально я хотел бы, чтобы алгоритм вычислял функцию определенную следующим образом:е

Пусть , ,ZNзнак равно{1,2,,N}ВооLзнак равно{FaLsе,TрUе}

Функцияе:{0,1,,N}×2ZN×2ZNВооL

где

f(я,A,В)знак равно{FaLsеВзнак равноTрUеВJA:J>я,е(J,В,A-{J})знак равноFaLsеTрUеВе(0,В,A)знак равноFaLsеFaLsев противном случае

Неправильные стратегии

Вот некоторые неправильные стратегии:

  1. Всегда разыгрывайте самую маленькую карту. Пусть , выигрышная стратегия для игрока A в конфигурации - сыграть карту . Если игрок А сыграет карту 1, он проиграет.Nзнак равно3,Aзнак равно{1,3},Взнак равно{2}вес(0,A,В)3
  2. Играйте наименьшую карту, если у другого игрока нет только одной карты. Это более сильная стратегия, чем стратегия 1, но она также неверна. Подумайте только о конфигурации . Если игрок А использует стратегию 2, он проиграет: , таким образом, игрок A проиграет.вес(0,{1,4,6,7},{2,3,5,8})124568проходить3
Yai0Phah
источник
6
Этот вопрос интересен, но, пожалуйста, постарайтесь сделать его максимально читабельным. Например, вам не нужно копировать дословный комментарий Гийома Брунери, включая часть «Я думаю, что это должен быть известен игроку…», которая отличается от предположения в вашем вопросе и может только сбить с толку читателей. Также, пожалуйста, рассмотрите возможность удаления первой формулировки из трех: вторая формулировка дает интуитивное понимание, третья дает формальное определение, и я не думаю, что первая формулировка служит какой-либо цели.
Цуёси Ито
5
Возможно, лучший способ проанализировать это - написать программу, которая определяет оптимальные ходы для любой позиции и ищет шаблоны. Нет априорной причины, по которой у этой игры должна быть хорошая стратегия.
Питер Шор
2
Я бы начал со стратегии с небольшим количеством карт и работал бы оттуда. Например, если у каждого игрока по 2 карты, выигрывает тот, у кого самая высокая карта, независимо от того, у какого игрока следующий ход. Он разыгрывает старшую карту, другой игрок должен сдать, затем он разыгрывает свою последнюю карту.
Джо
Кто-нибудь может помочь мне переписать описание GB, чтобы следовать постскриптуму 1? Мне жаль, что я не являюсь носителем языка, и описать такую ​​сложную игру не в моих силах.
Yai0Phah
1
@ Tsuyoshi: если игрок A всегда разыгрывает наименьшую карту, игрок B выигрывает. Если игрок А разыгрывает карту 1 и не всегда разыгрывает наименьшую карту, игрок А может выиграть. Это означает, что существует меньший контрпример к стратегии 2, которая всегда выигрывает.
Питер Шор

Ответы:

4

Вероятно, это должен быть комментарий, но он слишком длинный.

Родственная игра была изучена Джеффом Каном, Джеффом Лагариасом и Хансом Витсенхаузеном в серии статей «Игра в одиночку с двумя людьми I, II, III» и « На карточной игре Ласкара». В игре, которую они изучали, каждый игрок имеетNкарты, сданные из карт, пронумерованных . Каждый трюк состоит из двух карт, старшая карта выигрывает, а победитель - лидер. Цель состоит в том, чтобы принять большинство трюков.2N1 2N

Они доказали ряд интересных фактов об оптимальной стратегии, но не смогли найти эффективный алгоритм для оптимальной игры, а также не смогли доказать, что это NP-сложный.

Для игры в Misère , где каждый человек пытается использовать наименьшее количество трюков, он смог выработать оптимальную стратегию.

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

Питер Шор
источник