Une version simplifiée du jeu de cartes Winner

9

J'ai posé ce problème dans MathOverflow , sans aucune réponse satisfaisante.

Considérez le jeu à deux joueurs suivant, qui est une simplification du jeu de cartes appelé Winner . (La formulation suivante est tirée d'un commentaire de Guillaume Brunerie sur MathOverflow.)

Il y a deux joueurs A et B. Chaque joueur a un jeu de cartes (un sous-ensemble de ), visible des deux joueurs. Le but du jeu est de se débarrasser de ses propres cartes. Le premier joueur joue n'importe quelle carte sur la table, puis l'autre joueur doit jouer une carte (strictement) plus grande, et ainsi de suite jusqu'à ce qu'un des joueurs ne puisse pas jouer ou décide de passer. Ensuite, les cartes sur la table sont défaussées, et l'autre joueur recommence en jouant n'importe quelle carte (qui sera suivie d'une plus grosse carte). Et ainsi de suite jusqu'à ce qu'un des deux joueurs soit à court de cartes et gagne la partie.{1,,n}

Je veux connaître la meilleure stratégie pour les joueurs (s'il peut gagner).

Définition formelle

Notons la configuration du jeu où l'ensemble des cartes du premier joueur est A , l'ensemble des cartes du deuxième joueur est B et la plus grande carte de la table est i , où i = 0 signifie qu'il n'y a pas de carte sur la table. Je voudrais qu'un algorithme calcule, étant donné i , A , B , si le premier joueur a une stratégie gagnante dans la configuration w ( i , A , B ) .w(je,UNE,B)UNEBjeje=0je,UNE,Bw(je,UNE,B)

Formellement, je voudrais un algorithme pour calculer la fonction définie comme suit:F

Soit , B o o l = { F a l de l'e , T r u e } .Zn={1,2,,n}Bool={Funelse,True}

Fonction F:{0,1,,n}×2Zn×2ZnBool

F(je,UNE,B)={FunelseB=TrueBjUNE:j>je,F(j,B,UNE-{j})=FunelseTrueBF(0,B,UNE)=FunelseFunelseautrement

Mauvaises stratégies

Voici quelques mauvaises stratégies:

  1. Jouez toujours la plus petite carte. Soit , la stratégie gagnante pour le joueur A dans la configuration w ( 0 , A , B ) est de jouer la carte 3 . Si le joueur A joue la carte 1, il perdra.n=3,UNE={1,3},B={2}w(0,UNE,B)3
  2. Jouez la plus petite carte sauf si l'autre joueur n'a qu'une seule carte. C'est une stratégie plus solide que la stratégie 1, mais elle est également fausse. Ne pensez qu'à la configuration . Si le joueur A utilise la stratégie 2, il perdra: 1 2 4 5 6 8 passe3 , donc le joueur A perdra.w(0,{1,4,6,7},{2,3,5,8})124568passer3
Yai0Phah
la source
6
Cette question est intéressante, mais essayez de la rendre aussi lisible que possible. Par exemple, vous n'avez pas à copier textuellement le commentaire de Guillaume Brunerie, y compris la partie «Je pense que c'est A qui devrait être connu du joueur…», ce qui est différent de l'hypothèse de votre question et ne peut que dérouter les lecteurs. Veuillez également envisager de supprimer la première formulation des trois: la deuxième formulation donne une compréhension intuitive, la troisième donne une définition formelle, et je ne pense pas que la première serve à quelque chose.
Tsuyoshi Ito
5
La meilleure façon d'analyser cela est peut-être d'écrire un programme qui détermine les mouvements optimaux pour n'importe quelle position et de rechercher des modèles. Il n'y a aucune raison a priori que ce jeu ait une belle stratégie.
Peter Shor
2
Je commencerais par une stratégie avec un petit nombre de cartes et j'irais de là. Par exemple, si chaque joueur a 2 cartes, le joueur ayant la carte la plus élevée gagne, quel que soit le joueur au tour suivant. Il joue la carte la plus haute, l'autre joueur doit passer, puis il joue sa dernière carte.
Joe
Quelqu'un peut-il m'aider à redécrire la description du GB pour suivre le post-scriptum 1? Je suis désolé de ne pas être un locuteur natif et décrire un jeu aussi complexe est hors de ma capacité.
Yai0Phah
1
@Tsuyoshi: Si le joueur A joue toujours la plus petite carte, le joueur B gagne. Si le joueur A joue la carte 1 et ne joue pas toujours la plus petite carte, le joueur A peut gagner. Cela signifie qu'il y a un contre-exemple plus petit pour que la stratégie 2 gagne toujours.
Peter Shor

Réponses:

4

Cela devrait probablement être un commentaire, mais c'est trop long.

n2n1 2n

Ils ont prouvé un certain nombre de faits intéressants sur la stratégie optimale, mais n'ont pas été en mesure de trouver un algorithme efficace pour un jeu optimal, et n'ont pas non plus été en mesure de prouver qu'elle était NP-difficile.

Pour le jeu de misère , où chacun essaie de faire le moins de tours, il a pu donner la stratégie optimale.

Pour la plupart, ces résultats ont été obtenus en examinant d'abord les résultats d'un programme informatique qui a trouvé la stratégie optimale pour de petites instances, puis en recherchant des modèles pour obtenir des conjectures et enfin en prouvant ces conjectures. Je soupçonne que ce serait également une approche fructueuse à adopter pour le jeu de l'OP.

Peter Shor
la source