Un jeu sur plusieurs graphiques


13

Considérons le jeu suivant sur un graphique pondéré dirigé avec une puce à un nœud.G

Tous les nœuds de sont marqués par A ou B.G

Il y a deux joueurs Alice et Bob. Le but d'Alice (Bob) est de déplacer la puce vers un nœud marqué par A (B).

Initialement, Alice et Bob ont respectivement et dollars.mAmB

Si un joueur est en position perdante (c'est-à-dire que la position actuelle du jeton est marquée par une lettre opposée), il peut déplacer le jeton vers un nœud voisin. Un tel mouvement coûte quelques dollars (le poids du bord correspondant).

Le joueur perd s'il est en position perdante et n'a pas d'argent pour le réparer.

Considérons maintenant le langage GAME qui se compose de tous les graphiques pondérés dirigés (tous les poids sont des entiers positifs), la position initiale de la puce et les capitales d'Alice et Bob qui sont données dans la représentation unaireG

telle qu'Alice a une stratégie gagnante à ce jeu.

Le langage GAME appartient à P . En effet, la position actuelle du jeu est définie par la position de la puce et les capitales actuelles d'Alice et Bob, donc la programmation dynamique fonctionne (ici il est important que les capitales initiales soient données dans la représentation unaire).

Considérons maintenant la généralisation suivante de ce jeu. Considérons plusieurs graphiques pondérés dirigés avec une puce à chaque graphique. Tous les nœuds de tous les graphiques sont marqués par A et B. Maintenant, Bob gagne si tous les jetons sont marqués par B et Alice gagne si au moins un jeton marqué par A.G1,Gn

Considérez le langage MULTI-GAME qui se compose de tous les graphiques , les positions initiales et les majuscules et (dans la représentation unaire) de sorte qu'Alice gagne au jeu correspondant. Ici, il est important que les majuscules soient communes à tous les graphiques, il ne s'agit donc pas uniquement de plusieurs JEUX indépendants.G1,,GnmAmB

Question Quelle est la complexité du langage MULTI-JEUX? (Est-ce qu'il appartient aussi à P ou il y a des raisons de penser que ce problème est difficile?)

UPD1 Neal Young a suggéré d'utiliser la théorie de Conway. Cependant je ne sais pas s'il est possible d'utiliser cette théorie pour plusieurs jeux à capital commun.

UPD2 Je veux montrer un exemple qui montre que MULTI-GAME n'est pas très simple. Permettez à Alice de diviser son capital en quelques termes (Elle va utiliser dollars pour le ème graphique). Définissez comme le nombre minimal tel que dans le ème jeu, Bob gagne si Alice et Bob ont respectivement et dollars. Si (pour certains fractionnements ) alors Alice gagne. Cependant, l'inverse n'est pas vrai. Considérez deux copies du graphique suivant (initialement la puce est à gauche en haut A): mAnmA=a1+a2+anaiibiiaibib1+bn>mBmA=a1+a2+anentrez la description de l'image ici

Pour un graphique, Bob gagne si et ou si et . Cependant, pour le jeu avec deux copies de ce graphique, Bob perd si et . En effet, Bob à dépenser ou dollars pour déplacer les deux puces à un noeud marqué par . Ensuite, Alice peut déplacer au moins une puce vers un nœud marqué par A. Après cela, Bob n'a plus d'argent pour sauvegarder sa position.mA=0mB=2mA=1mB=3mA=1mB=545B

UPD3 Étant donné que la question des graphiques arbitraires semble difficile, considérez des graphiques spécifiques. Notons les nœuds d'un graphe comme . Ma restriction est la suivante: pour chaque paire il existe un bord de à et il n'y a pas de bord inverse. Il existe également une restriction pour les coûts des arêtes: pour l'arête à n'est pas supérieure à celle de à .Gi1,ki<jiji<j<kjkik


4
en MULTI-GAME, qu'est-ce qui constitue un déménagement? Le joueur fait un mouvement dans chaque graphique? Ou choisit un graphique pour faire un mouvement? Avez-vous vérifié si la théorie des jeux de Conway (chauffage et refroidissement) s'applique ici? (Quelques références peuvent être trouvées ici: en.wikipedia.org/wiki/… )
Neal Young

@Neal Young Le joueur choisit un graphique pour faire un mouvement.
Alexey Milovanov

FWIW, Si je me souviens bien, la théorie des jeux de Conway considère comment jouer des jeux qui sont composés à partir d'autres jeux de cette manière (à chaque mouvement, le joueur choisit l'un des sous-jeux pour se déplacer). Je ne sais pas quelle pertinence sa théorie a par rapport à la complexité de calcul.
Neal Young

1
@NealYoung Merci, mais si je comprends bien, le problème est que les joueurs ont des capitales communes pour tous les jeux. Je ne trouve pas comment cela peut être corrigé par la théorie de Conway ...
Alexey Milovanov

Alice (Bob) est-elle obligée de déplacer la puce si elle se trouve sur le nœud A (B)? Quelles sont les conditions gagnantes du multi-jeu? B gagne-t-il également lorsque tous les jetons sont sur les nœuds B, mais A a-t-il encore de l'argent? Vous dites que A gagne si au moins un jeton est sur A, donc A peut simplement essayer de garder deux jetons dans un noeud marqué par A dans les deux graphiques "moins chers"; dès que B éloigne l'un des deux jetons du nœud A, Alice le ramène (et ignore les autres graphiques)
Marzio De Biasi

Réponses:


2

Étant donné que la réponse de Steven Stadnicki ne semble pas avoir été acceptée par le demandeur, j'ai pensé qu'il pourrait être utile de fournir une mise à jour: j'ai une réduction de 3SAT à MULTI-GAME. Je n'ai pas regardé attentivement la réponse de Steven ou suivi le lien qu'il a fourni, mais sur la base de la réduction suivante, je ne serai pas surpris si MULTI-GAME est effectivement PSPACE-complete. Cependant, je ne prendrais pas la peine d'étendre ce résultat au-delà de la dureté NP.

Une instance 3SAT est constituée des clauses , chaque clause étant de la forme où chaque est l'une des variables ou la négation d'une des variables.C1,,CmCi=Li1Li2Li3Likx1,,xn

Dans une telle instance 3SAT, la réduction crée une instance MULTI-GAME composée de jeux - un pour chaque variable et un autre jeu utilisé comme puits de capital excédentaire. Nous allons d'abord définir la structure des graphiques pour chaque jeu, puis regarder un exemple et discuter de l'idée de base, puis nous déterminerons les coûts exacts à attribuer aux bords pour que la réduction reste ferme.n+1

Tout d'abord, le graphique de jeu variable pour chaque variable :Gjxj

  1. Créez un sommet étiqueté marqué d'un A (c'est-à-dire un sommet gagnant pour Alice). La puce pour commence au sommet .xjGjxj
  2. Créez un sommet marqué et un sommet marqué , chacun marqué d'un B (c'est-à-dire que les deux sont des positions gagnantes pour Bob). Créez des arêtes dirigées de vers et , les deux avec des coûts de .TFxjTF1
  3. Pour chaque littéral de la clause , si ou , créez des sommets étiquetés et marqués avec A et des sommets étiquetés et marqués avec B. Ajoutez des bords et avec des coûts définis sur . (Nous définirons plus tard.)LikCiLik=xjLik=¬xjCiTACiFACiTBCiFB(T,CiTA)(F,CiFA)liklik

    Ajoutez des arêtes et . Si , définissez le sur et le sur . Sinon, définissez le sur et le sur .(CiTA,CiTB)(CiTA,CiTB)Lik=xj(CiTA,CiTB)lik1(CiTA,CiTB)lik(CiTA,CiTB)lik(CiTA,CiTB)lik1

Le jeu du puits de capitaux:

  1. Créez un sommet marqué , marqué par B.C
  2. Pour chaque clause , créer un sommet marqué marqué avec A, et un sommet marqué marqué avec B. Création d' un bord avec un coût bord (encore à déterminer ci - dessous), et un bord également avec le coût de l'arête .CiCiACiB(C,CiA)ci(CiA,CiB)ci

C'est beaucoup à prendre, donc j'espère qu'un exemple rendra cela un peu plus digeste. Notre instance 3SAT est la suivante:

C1=x1x2¬x3

C2=x2x3¬x4

C3=¬x1¬x3x4

La réduction transforme cette instance en 4 graphiques de jeu variables et 1 graphique de puits de capital. Dans les schémas ci-dessous, les sommets rouges sont marqués avec A (c'est-à-dire sont des positions gagnantes pour Alice) et les sommets cyan sont marqués avec B (sont des positions gagnantes pour Bob).

Graphique pour :x1

entrez la description de l'image ici

Graphique pour :x2

entrez la description de l'image ici

Graphique pour :x3

entrez la description de l'image ici

Graphique pour :x4

entrez la description de l'image ici

Graphique pour le puits de capital:

entrez la description de l'image ici

L'idée est la suivante:

Bob est obligé de faire les premiers coups pour sortir des positions perdantes dans les parties variables. Chacun de ces mouvements code une affectation de vrai ou faux à la variable correspondante.nn

Alice aura alors suffisamment de capital pour effectuer exactement 4 mouvements, chacun desquels Bob devra avoir suffisamment de capital pour correspondre afin que Bob gagne. Les valeurs et doivent être choisies de telle sorte que la seule stratégie gagnante possible d'Alice soit la suivante, pour une clause :cilikCi

Clause d'Alice : stratégie :Ci soit . Pour chaque , si ou , passez à dans le jeu variable pour . également à dans le jeu de capitaux.Ci=Li1Li2Li3k{1,2,3}Lik=xj¬xjCi?AxjCiA

( désigne ou , dont un seul est accessible dans un jeu variable donné après les mouvements d'ouverture de Bob.)Ci?ACiTACiFA

Si l'ouverture de Bob correspond à une affectation de vérité qui laisse une clause insatisfaite, alors Alice choisir et mettre en œuvre la stratégie ci-dessus coûte Alice capital à mettre en œuvre, et Bob la même chose battre; si d'autre part est satisfait, alors le contre-jeu de Bob obtient une remise d'au moins . Notre objectif en définissant les valeurs et et les capitaux de départ d'Alice et Bob est de s'assurer que cette remise est le facteur décisif pour savoir si Alice ou Bob gagne.CiCili1+li2+li3+ciCi1cilik

À cette fin, définissez et définissezb=m+1

lik=2b10+ib2k pour chaque ,k{1,2,3}

ci=3b10+b8k=13ib2k ,

Le capital de départ d'Alice à ,9b10+b8

et le capital de départ de Bob à9b10+b8+n1.

Notez que toutes ces valeurs sont polynomiales en , donc l'instance MULTI-GAME générée par la réduction a une taille polynomiale dans la taille de l'instance 3SAT même si ces coûts sont codés en unaire.m

Notez également que pour chaque clause , est le capital de départ d'Alice. (Ce qui est également plus que le capital de Bob après avoir effectué les premiers mouvements.)Cili1+li2+li3+ci=9b10+b81n

Tout d'abord, il est immédiatement clair que si l'ouverture de Bob définit une affectation de vérité qui laisse une clause insatisfaite, alors Alice gagne en utilisant sa stratégie de clause donnée ci-dessus.CiCi

Si l'ouverture de Bob satisfait toutes les clauses, nous pouvons discuter des contraintes sur les options d'Alice qui excluent toute autre possibilité de gagner Alice. Notez que l'ordre dans lequel Alice effectue ses mouvements n'est pas pertinent, car les réponses de Bob sont forcées et le capital total dont Bob aura besoin pour répondre aux mouvements d'Alice est inchangé par l'ordre des mouvements d'Alice.

  • Alice ne peut pas faire plus de 4 coups: si Alice fait 5 coups ou plus, alors ses coups ont un coût total de , ce qui dépasse son budget.5b10
  • Alice doit effectuer 4 mouvements: si Alice sélectionne 3 mouvements dans le jeu de capitaux, son coût total est ce qui est supérieur au budget . Si elle sélectionne un seul coup de 3 dans un jeu variable, son coût total est ce qui est nettement inférieur au capital de Bob après l'ouverture, de sorte que Bob peut facilement se permettre le contre-jeu.9b10+3b83b7>9b10+2b88b10+2b8+b7
  • Alice doit sélectionner un coup dans le jeu de capitaux: si ce n'est pas le cas, elle sélectionne 4 coups dans des jeux variables, avec un coût total , et encore une fois Bob peut facilement se permettre le contre-jeu. (Notez que s'il y avait un jeu de capitaux distincts par clause, nous pourrions même montrer qu'Alice doit jouer dans exactement un de ces jeux.)8b10+4b7

À partir de cette étape, nous pouvons ignorer les termes et dans les coûts de déménagement choisis, car ils totaliseront toujours . Étant donné qu'Alice doit choisir exactement un mouvement dans le jeu de capitaux, supposons que ce mouvement est vers . Ensuite, Alice a (en ignorant les termes et ) capital restant, et Bob a moins que ce montant restant.b10b89b10+b8CiAb10b8k=13ib2k1

  • Alice doit sélectionner au moins un mouvement coûtant pour une clause :lj3Cj si elle ne le fait pas, alors ses mouvements coûtent (encore des termes d'ordre inférieur) , et Bob a plus que suffisamment de capital pour le contre-jeu.3b5
  • Ledit mouvement coûtant doit être le mouvement coûtant :lj3li3 il ne peut pas s'agir d'un mouvement coûtant pour , sinon ce mouvement seul coûte qui est supérieur au budget restant d'Alice. Si c'est pour , alors le mouvement de coût doit également être choisi par Alice pour épuiser le terme d'ordre dans le budget restant de Bob. Mais alors soit le terme d'ordre dans le budget restant de Bob, soit le terme d'ordre ne s'épuise pas, alors Bob gagne facilement.lj3j>i(i+1)b6lj3j<il(ij)3b6b2b2

Des arguments similaires devraient établir qu'Alice doit sélectionner les mouvements coûtant et . Si l'affectation de vérité de Bob satisfait , alors même cette stratégie ne fonctionne pas, car la remise que Bob obtient sur l'un des coûts basés sur compense le capital de moins qu'il a après son ouverture.li2li1Cilik1


Une remarque sur ma réponse précédente: il est évident avec le recul que, pour la variante TABLE-GAME de MULTI-GAME que j'ai définie dans les commentaires de cette réponse, un DP de style sac à dos suffit pour déterminer quel joueur a une stratégie gagnante. Vous pouvez affirmer que la meilleure stratégie de Bob est de toujours répondre à un état perdant dans une table de jeu donnée avec un investissement minimal possible (cela ne peut pas couper un coup ultérieur pour Bob qu'il aurait autrement), et à partir de là que l'ordre des mouvements d'Alice n'a pas d'importance. Il s'agit alors de choisir une répartition du capital d'Alice parmi les jeux de sorte que la somme des réponses gagnantes minimales de Bob sur ces jeux dépasse son budget, qui peut être recadré comme un problème de style sac à dos, qui a un DP polynomial en raison à la représentation unaire des coûts. (Ma récurrence serait en fait '

Il s'avère que même une arborescence simple pour chaque jeu, avec une profondeur constante et vraiment une seule fourchette significative par jeu (à savoir ceux au début qui obligent Bob à choisir une affectation de vérité) est suffisante pour obtenir la dureté NP. J'ai eu quelques idées pour me débarrasser de cette fourchette initiale, qui a bloqué en quelque sorte forçant Bob à investir un montant fixe relativement important de capital dans jeux sans qu'Alice n'ait à s'engager à l'avance dans ces jeux, mais évidemment puisque TABLE-GAME est dans P ce n'est pas possible sans la fourche.n

Je n'ai pas beaucoup pensé à votre cas spécial d' UPD3 . Je soupçonne que c'est aussi NP-difficile, pour la raison que mes gadgets variables semblent en un coup d'œil comme s'ils peuvent être adaptables à ces contraintes, mais je ne vais probablement pas y aller plus loin.


0

Mise à jour: probablement incorrecte, laissant pour le moment le souvenir d'avoir exploré une avenue. Voir les commentaires.

Mise à jour 2: définitivement incorrecte.

Considérons un graphique de forme (B) -1-> (A) -1-> (B), c'est-à-dire , où , , les sommets 1, 2, 3 sont respectivement étiquetés B, A, B et les arêtes sont toutes affectées à 1.G=(V,E)V={1,2,3}E={(1,2),(2,3)}

Définissez une instance de MULTI-JEU en 3 parties en définissant , , les trois parties commençant sur le sommet 1. Clairement, Alice ne peut pas gagner cette partie.mA=mB=2G1=G2=G3=G

Cependant, la récurrence ci-dessous échoue pour : il n'y a pas de répartition des fonds de Bob entre les deux premiers jeux et le troisième jeu de sorte que pour toutes les répartitions des fonds d'Alice , à la fois et . Si ou , alors ; et si alors .M[3,2,2]2u,uv,2vM[2,2u,2v]=BW[3,u,v]=Bu=1u=2M[2,2u,2]=Au=0W[3,u,2]=A

Je ne vois pas de moyen immédiat de sauver cette approche. Inverser l'ordre de quantification sur et fait échouer la récurrence sur l'instance dans la mise à jour 2 du message de question.uv


Étant donné une instance MULTI-GAMEmA,mB,G1,,Gn,

Précalculer

W[k,x,y]={Aif Alice wins GAME on Gk with initial funds x for Alice and y for Bob,Botherwise

pour tous les jeux et tous les , .xmAymB

Désignons par le gagnant de MULTI-GAME si l'instance est limitée aux premiers graphes et fonds , . ( si Bob gagne, sinon.) AlorsM[k,x,y]kxmAymBM[k,x,y]=BA

M[1,x,y]=W[1,x,y]

et

M[k+1,x,y]=Bif and only ifvu,W[k+1,u,v]=BandM[k,xu,yv]=B.

Sortie "oui" si , "non" sinon.M[n,mA,mB]=A


Votre algorithme est faux. Considérez le graphique sur l'image dans mon message. Considérez le MULTI-GAME avec deux de ces graphiques. Ici W [1,0,2] = W [2,0,2] = B et W [1,1,3] = W [2,1,3] = B. Cependant, pour MULTI-GAME avec m_A = 1 et m_B = 5, Alice gagne
Alexey Milovanov le

Oops. Essayez de quantifier universellement dans la récurrence? Je vérifierai en attendant. u
gdmclellan

@AlexeyMilovanov avec des changements dans les quantificateurs que la récurrence devrait suivre pour l'exemple. Mais vous avez mis en doute cette approche. Il semble que cela pourrait obliger Bob à organiser une seule distribution de fonds qui bat toutes les distributions qu'Alice pourrait concevoir. Cela dit, je ne suis pas sûr d'avoir été convaincu de l'idée centrale ici: que ce problème ne concerne pas vraiment le JEU. Sait-on quelque chose sur le problème connexe où chaque instance de GAME est remplacée par une simple table à la W ci-dessus?
gdmclellan

Le tableau W ne définit pas le gagnant. Je ne sais pas si c'est vrai pour une autre table ...
Alexey Milovanov le

@AlexeyMilovanov Le tableau W, par définition, détermine le gagnant des instances GAME isolées dans l'un quelconque des graphiques d'entrée. Je ne sais pas pourquoi tu dirais le contraire. J'ai cependant mis à jour ma réponse avec un contre-exemple, au cas où il y aurait un doute persistant qu'elle était incorrecte.
gdmclellan

0

D'après mes commentaires ci-dessus, voici une réduction qui, je pense, montre que le problème est difficile pour PSPACE (et probablement complet). Soit le graphe à nœuds, numéroté , avec un lien du nœud à pour tout , tous les nœuds autres que marqués pour A, nœud marqué pour B, et le chit initialement satisfait sur . (Tous les bords ici ont coûté 1). Il doit être clair que B gagne ssi il a dollars. (Si besoin est, nous pouvons donner des bords de coût unitaire à partir de chaque nœud autre que[n]n+1n0i+1i0i<n00n[n]n0à lui-même, puisque A voudra toujours garder le chit aussi loin que possible de et B voudra toujours le rapprocher; en effet, si les auto-liens ne sont pas autorisés, nous pouvons «doubler» la ligne en deux exemplaires, formant une échelle avec des liens bidirectionnels.0

Maintenant, considérons le graphe avec deux nœuds supplémentaires et : le nœud relie à certains et à , et le nœud a des liens à et (Supposons que ). Tous ces liens ont un coût nul. (Ce n'est pas strictement nécessaire pour la réduction, mais c'est pratique.) Les deux et sont marqués pour A. De toute évidence à partir de B voudra aller à tandis que A voudra aller àGαβα[i]ββ[j][k]j<kαββ[j][k](A préférerait ne pas bouger du tout, mais cela peut valoir la peine de passer à pour augmenter le coût pour B). De même, il peut être arrangé que B ne veuille jamais passer à et que A veuille toujours le faire. La valeur théorique de ces positions est alors . Mais il est connu que l'établissement de la valeur d'une somme de jeux (c'est-à-dire des graphiques) de ce type est PSPACE-complete; cela a été montré dans la thèse de maîtrise de Laura Jo Yedwah . Votre problème est donc au moins difficile pour PSPACE.[k][i]{i{jk}}


1
Les preuves de la thèse semblent utiliser de grandes valeurs de i, j et k dans les jeux. Notez qu'ici tous les poids peuvent être supposés être au maximum les capitales des joueurs, qui étaient représentées en unaire.
Antti Röyskö

@ AnttiRöyskö Je vais donc devoir regarder de plus près la preuve; Je crois que le résultat sur PSPACE-compléteness of Go endgames utilise le résultat de la thèse et suppose également un comptage unaire (car là, i / j / k viennent des tailles des régions de la carte).
Steven Stadnicki

Ce n'est pas clair: y a-t-il des bords à ou ? Si tous les nœuds (sauf ) sont marqués par A, Alice ne bougera pas ...β 0αβ0
Alexey Milovanov

@AlexeyMilovanov Oups, c'est ma faute - devrait également être lié à . En outre, Alice peut toujours vouloir se déplacer d'une telle position; imaginez le cas où nous avons juste un seul nœud, , avec des liens vers , et Bob a dollars. Ensuite, Alice passera à pour empêcher Bob de passer à et finalement de gagner. β α [ i ] > [ j ] j + 1 [ i ] [ j ]αβα[i]>[j]j+1[i][j]
Steven Stadnicki

@StevenStadnicki c'est un vol pas clair: est-il possible d'obtenir ou partir du nœud initial ? De plus, si tous les jetons ne sont pas sur B, Bob doit partir, donc à votre jeu, soit Bob atteindra A dans tous les graphiques (et gagnera), soit Bob n'en aura pas assez et perdra. β nαβn
Alexey Milovanov
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.