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.
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 ) .
Formellement, je voudrais un algorithme pour calculer la fonction définie comme suit:
Soit , B o o l = { F a l de l'e , T r u e } .
Fonction
où
Mauvaises stratégies
Voici quelques mauvaises stratégies:
- 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.
- 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 → passe → 3 , donc le joueur A perdra.