550 likes | 1.02k Views
Parity Games. Games, logic and Automata Seminar 2014 Tal Zelmanovich. Overview. The parity game problem. The parity game problem Uses Terms and definitions Exponential algorithm Sub-exponential algorithm. Uses. Notation, & terms. Exponential algorithm. Sub-exponential algorithm.
E N D
Parity Games Games, logic and Automata Seminar 2014 Tal Zelmanovich
Overview The parity game problem The parity game problem Uses Terms and definitions Exponential algorithm Sub-exponential algorithm Uses Notation, & terms Exponential algorithm Sub-exponential algorithm
The Parity Game 5 7 5 4 2 5 3 9 1 Goal: Each head tries to force his favorite treat to be the maximal treat infinitely visited 5 1 (no ties)
The Parity Game + priorities Each vertex has at least one outgoing edge Starting vertex Player 0: Green Player 1: Blue U = vertices visited infinitely Winner: (Max(priority in U))%2 8 7 3 19 3 4 14
Properties Is it a full information game Yes! Is it a zero sum game Yep! Does the prefix of a play matters No, winner stays the same Is it a determined • Indeed! • Winning strategies are memory-less • Third level of Borel hierarchy • Strategy given by algorithm
Why is it interesting? Verification and logics: - equivalent to some cases of -automata emptiness problem (polynomial reduction) - Equivalent to model checking problem of the modal μ-calculus (modal fixpoint logic) Complexity: - Known to be in and even in same status as integer factorization problem
Notation : The subset of vertices from which player ihas a wining strategy 5 5 2 5 2 4 5 5 7 4 In general: =V
Notation : The subset of vertices from which player I has a wining strategy 5 Observation: Controlling the choices does not guarantee victory 5 2 9 5 5 4 1 5
Notation : all vertices from which player i may force a visit to one of the vertices of A (same as attractor)
Notation : all vertices from which player i may force a visit to one of the vertices of A (same as attractor) 5 2 7 5 ? 5 1 4 3 A 5 2 4 5
Notation : all vertices from which player i may force a visit to one of the vertices of A (same as attractor) 5 2 7 5 ? 5 1 4 3 A 4 5 2 5
Notation : a set of vertices s.t. player i has a strategy that doesn’t allow the game to go outside the set 5 5 5 1 Alternative definition: a set is called i-closed iff: : 5 1 5 5 6
Notation (Summary) : The subset of vertices from which player I has a wining strategy : all vertices from which player i may force a visit to one of the vertices of A (same as attractor) : a set of vertices s.t. player i has a strategy that doesn’t allow the game to go outside the set All of these terms depends on the player Reach & Closed ignores graph priorities (llama treats)
The exponential algorithm By R. McNaughton & W. Zielonka Using a two-steps recursion to separate the problem into smaller (possibly overlapping) instances The algorithm is simple, the reason it works isn’t Some observations (and of course proofs) are needed Let’s start by finding a way to detect closed areas
The exponential algorithm (proofs) Is always i-closed? Lemma 1: is always i-closed Proof: Assume is not i-closedAccording to closed-i definition, there must be a vertex to which one of the following apply: • , and : • : But since we can win from , we must be able to win from one of these ’s ContradictionReminder: emitting play prefix does affect the result
The exponential algorithm (proofs) Lemma 2: is i-closed Proof: Like the last proof, assume it is not i-closed.If it wasn’t closed, then while following a reach-A strategy for i, on some vertex along the way one of the following will happen: • player j may force the play to leave the region. • Either player i will have to leave it but since the rest of the strategy must reach A eventually, this cannot be. WRONG! 1 4 not-closed 2 It doesn’t work since A may forceus to leave the area: A
The exponential algorithm (proofs) Lemma 2 (fixed): is j-closed Proof: assume it is not j-closed.Then there exists some so either: But that means player i has a strategy forcing a play from to pass to and eventually to A, meaning . Contradiction since
The exponential algorithm (proofs) For the algorithm, we’ll need to compute multiple timesSo how fast can we do it? Trivial idea – expanding back:start with Repeatedly add to B vertices answering one of the following conditions:
The exponential algorithm (proofs) How can we speed it up? Count for each vertex how many outgoing edges we already checked (maintain an adjacency list) While there is still an edge entering B that we didn’t visit, do the following: - If , add to B - If , substruct ‘s edge count by 1 On count=0, add to B Total time:
The exponential algorithm (proofs) How can we speed it up? Count for each vertex how many outgoing edges we already checked (maintain an adjacency list) While there is still an edge entering B that we didn’t visit, do the following: - If , add to B - If , substruct ‘s edge count by 1 On count=0, add to B Total time:
The exponential algorithm (proofs) So up to now we got: Lemma 1: is always i-closed Lemma 2: is j-closed Algorithm: compute with time complexity of O(m) We can now easily compute closed areasNext: breaking down a game to smaller (faster to solve) subgames
Subgames G\B B 2 5 7 2 2 1 5 3 1 1 4 5 1 1 5 7 7 must stay a valid game – having at least 1 outgoing edge If was i\j-closed in G, then we’re promised G\B is valid
The exponential algorithm (proofs) G’=G\B B Can a subgame tell us anything about the original game? Lemma 3: if , the vertices of a subgame, were i-closed in the original game , then any winning state of is also a wining state of Proof: since i has a wining strategy from the same strategy can be used to win the game . i follows the strategy and stays in , while j cannot escape it since is i-closed in the original game.We get as required 6 3 not in 1 4 8 8 5 8 2 8 5 2
The exponential algorithm (proofs) Lemma 4: for any winning set :1. 2. Proof: (1)(a) Since is composed of winning states, i has a winning strategy from by simply reaching . (1)(b) When starting at follow a strategy to win , if j makes us leave that area, we’re in , and we have a winning strategy from here as well (2) is j-closed (lemma 2) and therefore winning this sub game promises winning entire (lemma 3)
The exponential algorithm (proofs) Lemma 4: for any winning set :1. 2. If we know some winning state(s) , then we reduced the problem to a smaller graph solve problem using recursion
The exponential algorithm (proofs) But finding an initial winning set is not that easy! Define as the highest priority in . Define as the set of vertices with priority But finding an initial winning set is not that easy! Define as the highest priority in . Define as the set of vertices with priority Lemma 5: assuming priority belongs to player i: • if , then Lemma 5: assuming priority belongs to player i: • if , then
The exponential algorithm (proofs) Lemma 5: assuming priority belongs to player i: • if , then Proof: • is j-closed (lemma 1), but it is also a subgame of . Since it is also a subgame of we get (lemma 3) • i wins using the strategy: • if the game is in follow the wining strategy (j loses everywhere there) • If the game is in , reach a vertex with priority d Victory is promised for i since we either visit the max priority d infinitely, or we can discard a finite prefix and win in
The exponential algorithm Lemma 5: assuming priority belongs to player i: - - if , then Lemma 4: for any winning set :1. 2. Algorithm • Calculate for the highest priority • By a recursive call determine the winner of • Set • Calculate • By recursive call solve If : return ,
Calculate for the highest priority • By a recursive call determine the winner of • Set • Calculate • By recursive call solve If : return ,
The exponential algorithm (analysis) Things left to do: 1. Analyze run time complexity 2. Teach a two-headed llama the algorithm (trivial - left as home work assignment)
The exponential algorithm (analysis) So, is the exponential algorithm really exponential? • Calculate for the highest priority • By a recursive call determine the winner of • Set • Calculate • By recursive call solve Total time:
The exponential algorithm (analysis) …………….. =
The exponential algorithm (analysis) We Got: It is easy to see that ! =+ Compare to geometric series
The exponential algorithm (analysis) Ratio between two elements: But this means we can bound it by geometric sum:
The sub-exponential algorithm Uri Zwick Mike Paterson Marcin Jurdzinski
The sub-exponential algorithm Definition: A set of vertices , will be called i-Dominion if and only if player i has a strategy to win from every vertex in without leaving it i-dominion must be i-closed i-dominion is a subset of
The sub-exponential algorithm The idea:Get a better running time by dismissing dominions! The problem:May be hard as the entire gameExample: is an i-dominion Solution: look for small dominions
The sub-exponential algorithm Dominion-find algorithmFinds dominions of size with runtimecomplexity for each subset , : if D is i-closed (): exponential_algorithm(D) if (): return D return “no such dominion”
The sub-exponential algorithm times Runtime analysis: for each subset , : if D is i-closed (): exponential_algorithm(D) if (): return D return “no such dominion”
The sub-exponential algorithm Since we assumed , then for any we have: And therefore (geometric series):
The sub-exponential algorithm And as required:
Run time comparsion Subexponential Uri, Mike, Marcin 2006 Marcin Jurdzinski 1998 Randomized-subexponential Bj ̈orklund, Ludwig 1995, 2003 Exponential R. McNaughton & W. Zielonka 1998, 2002
The sub-exponential algorithm To reach sub-exponential run time, we’ll use our dominion finding to remove any small dominions: D D set ;assume D is for player i if no such dominion found: return old_algorithm(G) recursively solve return: D
The sub-exponential algorithm Runtime: Running takes If we found a dominion – we used only one recursive call (on ) so If we didn’t find a dominion, we called the old algorithm.The old algorithm does two recursive calls (), ).But since in the second call is a j-dominion, it follows .So in this case: Either way:
The sub-exponential algorithm So, what is the total runtime? Vertex costs Left side – height n Right side – how many time can we perform till we reach a leaf? At most times. - -
The sub-exponential algorithm Left side – height n Right side –height Each leaf can be defined as a set of turns with maximum of n turns and no more than of them is right. Therefore the amount of leafs is bounded by and the entire tree has no more than Since the most expensive node costs (–the root) :
5 5 5 5 5 5 5 5 5 5 5
References A DETERMINISTIC SUBEXPONENTIAL ALGORITHM FOR SOLVING PARITY GAMESby Marcin Jurdzinski, Mike Paterson & Uri Zwick Complexity Zoo https://complexityzoo.uwaterloo.ca/Complexity_Zoo:U Deciding the Winner in Parity Games Is in UP ∩ co-UP by Marcin Jurdzinski