En théorie de la complexité, Géographie Généralisé est un problème PSPACE complet classique.
Introduction
editA l'origine, Géographie est un jeu particulièrement adapté aux longs trajets en voiture dans lequel deux joueurs énoncent à tour de rôle différents noms de villes. Chaque nom de ville donné doit commencer par la dernière lettre du précédant (à l'exception du premier qui est librement choisit) et il est interdit de donner un nom de ville qui a déjà été employé. Le premier joueur qui ne peut pas donner de nom de ville respectant les contraintes perd la partie et le jeu prend alors fin.
Modélisation par graphe
editLe jeu peut être représenté par un graphe orienté dont les noeuds représentent les noms de ville du monde. Une flèche lie le noeud N1 au noeud N2 si et seulement si le nom de ville représenté par le noeud N2 commence par la dernière lettre de celui représenté par le noeud N1. Autrement dit, une flèche représente le fait qu'il est possible de passer d'une ville à une autre en accord avec les règles du jeu. Une partie correspond alors à une marche sur le graphe où les joueurs choisissent chacun leur tour un noeud voisin du noeud actuel qui n'a pas été visité. Le premier joueur qui en est incapable perd la partie. Un exemple illustré avec des noms de villes de l'etat du Michigan (USA) est présenté ci-dessous.
Dans le problème Géographie Généralisé
Playing the game
editWe define P1 as the player moving first and P2 as the player moving second and name the nodes N1 to Nn. In the above figure, P1 has a winning strategy as follows: N1 points only to nodes N2 and N3. Thus P1's first move must be one of these two choices. P1 chooses N2 (if P1 chooses N3, then P2 will choose N9 as that is the only option and P1 will lose). Next P2 chooses N4 because it is the only remaining choice. P1 now chooses N5 and P2 subsequently chooses N3 or N7. Regardless of P2's choice, P1 chooses N9 and P2 has no remaining choices and loses the game.
Computational complexity
editThe problem of determining which player has a winning strategy in a generalized geography game is PSPACE-complete.
Generalized geography is in PSPACE
editLet GG = { <G, b> | P1 has a winning strategy for the generalized geography game played on graph G starting at node b }; to show that GG ∈ PSPACE, we present a polynomial-space recursive algorithm determining which player has a winning strategy. Given an instance of GG, <G, nstart> where G is a directed graph and nstart is the designated start node, the algorithm M proceeds as follows:
On M(<G, nstart>):
- Measure the out-degree of node nstart. If this degree is 0, then return reject, because there are no moves available for player one.
- Construct a list of all nodes reachable from nstart by one edge: n1, n2, ..., ni.
- Remove nstart and all edges connected to it from G to form G1.
- For each node nj in the list n1, ..., ni, call M(<G1, nj>).
- If all of these calls return accept, then no matter which decision P1 makes, P2 has a strategy to win, so return reject. Otherwise (if one of the calls returns reject) P1 has a choice that will deny any successful strategies for P2, so return accept.
The algorithm M clearly decides GG. It is in PSPACE because the only non-obvious polynomial workspace consumed is in the recursion stack. The space consumed by the recursion stack is polynomial because each level of recursion adds a single node to the stack, and there are at most n levels, where n is the number of nodes in G.
Generalized geography is PSPACE-hard
editThe following proof is due to David Lichtenstein and Michael Sipser.[1]
To establish the PSPACE-hardness of GG, we can reduce the FORMULA-GAME problem (which is known to be PSPACE-hard) to GG in polynomial time (P). In brief, an instance of the FORMULA-GAME problem consists of a quantified Boolean formula φ = ∃x1 ∀x2 ∃x3 ...Qxk(ψ) where Q is either ∃ or ∀. The game is played by two players, Pa and Pe, who alternate choosing values for successive xi. Pe wins the game if the formula ψ ends up true, and Pa wins if ψ ends up false. The formula ψ is assumed to be in conjunctive normal form.
In this proof, we assume that the quantifier list starts and ends with the existential qualifier, ∃, for simplicity. Note that any expression can be converted to this form by adding dummy variables that do not appear in ψ.
By constructing a graph G like the one shown above, we will show any instance of FORMULA-GAME can be reduced to an instance of Generalized Geography, where the optimal strategy for P1 is equivalent to that of Pe, and the optimal strategy for P2 is equivalent to that of Pa.
The left vertical chain of nodes is designed to mimic the procedure of choosing values for variables in FORMULA-GAME. Each diamond structure corresponds to a quantified variable. Players take turns deciding paths at each branching node. Because we assumed the first quantifier would be existential, P1 goes first, selecting the left node if x1 is true and the right node if x1 is false. Each player must then take forced turns, and then P2 chooses a value for x2. These alternating assignments continue down the left side. After both players pass through all the diamonds, it is again P1 's turn, because we assumed that the last quantifier is existential. P1 has no choice but to follow the path to the right side of the graph. Then it is P2 's turn to make a move.
When the play gets to the right side of the graph, it is similar to the end of play in the formula game. Recall that in the formula game, Pe wins if ψ is true, while Pa wins if ψ is false. The right side of the graph guarantees that P1 wins if and only if Pe wins, and that P2 wins if and only if Pa wins.
First we show that P2 always wins when Pa wins. If Pa wins, ψ is false. If ψ is false, there exists an unsatisfying clause. P2 will choose an unsatisfying clause to win. Then when it is P1's turn he must choose a literal in that clause chosen by P2. Since all the literals in the clause are false, they do not connect to previously visited nodes in the left vertical chain. This allows P2 to follow the connection to the corresponding node in a diamond of the left chain and select it. However, P1 is now unable to select any adjacent nodes and loses.
Now we show that P1 always wins when Pe wins. If Pe wins, ψ is true. If ψ is true, every clause in the right side of the graph contains a true literal. P2 can choose any clause. Then P1 chooses the literal that is true. And because it is true, its adjacent node in the left vertical node has already been selected, so P2 has no moves to make and loses.
Planar generalized geography is PSPACE-complete
editGeneralized geography is PSPACE-complete, even when played on planar graphs. The following proof is from theorem 3 of.[1]
Since planar GG is a special case of GG, and GG is in PSPACE, so planar GG is in PSPACE. It remains to show that planar GG is PSPACE-hard. This can be proved by showing how to convert an arbitrary graph into a planar graph, such that a game of GG played on this graph will have the same outcome as on the original graph.
In order to do that, it's only necessary to eliminate all the edge crossings of the original graph. We draw the graph such that no three edges intersect at a point, and no pair of crossing edges can both be used in the same game. This is not possible in general, but is always possible for the graph constructed from a FORMULA-GAME instance; for example we could have only the edges from clause vertices involved in crossings. Now we replace each crossing with this construction:
The result is a planar graph, and the same player can force a win as in the original graph: if a player chooses to move "up" from V in the transformed game, then both players must continuing moving "up" to W or lose immediately. So moving "up" from V in the transformed game simulates the move V→W in the original game. If V→W is a winning move, then moving "up" from V in the transformed game is also a winning move, and vice versa.
Thus, the game of GG played on the transformed graph will have the same outcome as on the original graph. This transformation takes time that is a constant multiple to the number of edge intersections in the original graph, thus it takes polynomial time.
Thus planar GG is PSPACE-complete.
Planar bipartite graph with maximum degree 3
editGG played on planar bipartite graphs with maximum degree 3 is still PSPACE-complete, by replacing the vertices of degree higher than 3 with a chain of vertices with degree at most 3. Proof is in.[1] Basically,
Edge geography
editA variant of GG is called edge geography, where after each move, the edge that the player went through is erased. This is in contrast to the original GG, where after each move, the vertex that the player used to be on is erased. In this view, the original GG can be called Vertex Geography.
Edge geography is PSPACE-complete. This is proved by reducing a decision problem of quantified Boolean formula to edge geography.[2]
Undirected geography
editOne may also consider playing either Geography game on an undirected graph (that is, the edges can be traversed in both directions). Fraenkel, Scheinerman, and Ullman[3] show that undirected vertex geography can be solved in polynomial time, whereas undirected edge geography is PSPACE-complete, even for planar graphs with maximum degree 3. If the graph is bipartite, then Undirected Edge Geography is solvable in polynomial time.
Consequences
editGiven that GG is PSPACE-complete, no polynomial time algorithm exists for optimal play in GG unless P = PSPACE. However, it may not be as easy to prove the complexity of other games because certain games (such as chess) contain a finite number of game positions — making it hard (or impossible) to formulate a mapping to a PSPACE-complete problem. In spite of this, the complexity of certain games can still be analyzed by generalization (e.g., to an n × n board). See the references for a proof for generalized Go, as a corollary of the proof of the completeness of GG.
References
edit- ^ a b c Lichtenstein, David; Sipser, Michael (April 1980). "Go Is Polynomial-Space Hard" (PDF). Journal of the ACM. 27 (2): 393–401. doi:10.1145/322186.322201.
- ^ Schaefer, Thomas J. (1978). "On the complexity of some two-person perfect-information games". Journal of Computer and System Sciences. 16 (2): 185–225. doi:10.1016/0022-0000(78)90045-4.
- ^ Fraenkel, Aviezri; Scheinerman, Edward; Ullman, Daniel (1993). "Undirected edge geography". Theoretical Computer Science. 112 (2): 371–381. doi:10.1016/0304-3975(93)90026-p.