Algorithms for Parity Games Piotr Danilewski May 15, 2008 Piotr - - PowerPoint PPT Presentation

algorithms for parity games
SMART_READER_LITE
LIVE PREVIEW

Algorithms for Parity Games Piotr Danilewski May 15, 2008 Piotr - - PowerPoint PPT Presentation

Outline Parity Games When can we win? Algorithms Algorithms for Parity Games Piotr Danilewski May 15, 2008 Piotr Danilewski Algorithms for Parity Games Outline Parity Games When can we win? Algorithms Parity Games Why? Definition


slide-1
SLIDE 1

Outline Parity Games When can we win? Algorithms

Algorithms for Parity Games

Piotr Danilewski May 15, 2008

Piotr Danilewski Algorithms for Parity Games

slide-2
SLIDE 2

Outline Parity Games When can we win? Algorithms

Parity Games Why? Definition Winning condition When can we win? General observations Strategy representation Winning sets Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Piotr Danilewski Algorithms for Parity Games

slide-3
SLIDE 3

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Practical use of Parity Games

◮ Modal µ-calculus model checking ◮ Synthesis and satisfiability checking for reactive systems ◮ Module checking

Piotr Danilewski Algorithms for Parity Games

slide-4
SLIDE 4

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

What are Parity Games?

Piotr Danilewski Algorithms for Parity Games

slide-5
SLIDE 5

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Parity Graph

G = (V , E, p) p : V − → N

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-6
SLIDE 6

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Parity Game

Nodes assigned to players A and B . V = VA ∪ VB

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-7
SLIDE 7

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Play

Play - infinite path π = (v0, v1, v2, ....) π1 = (q1, q3, q6, q7, q6, q7, ...) π2 = (q2, q4, q5, q2, q4, q5, ...)

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-8
SLIDE 8

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Winning condition

Let P denote minimal priority which repeats itself infinitely often.

◮ If P is odd then player A wins. ◮ If P is even then player B wins.

Piotr Danilewski Algorithms for Parity Games

slide-9
SLIDE 9

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Winning condition

π1 = (q1, q3, q6, q7, q6, q7, ...) (1, 4, 1, 4, 1, 4, 1, 4...) P = 1 ⇒ A wins.

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-10
SLIDE 10

Outline Parity Games When can we win? Algorithms Why? Definition Winning condition

Winning condition

π2 = (q2, q4, q5, q2, q4, q5, ...) (2, 3, 3, 2, 3, 3, 2, 3...) P = 2 ⇒ B wins.

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-11
SLIDE 11

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

When can we win?

Piotr Danilewski Algorithms for Parity Games

slide-12
SLIDE 12

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Ideal playing

We assume players do not make mistakes.

◮ π1 is invalid under this assumption.

At vertex q3 player B should have chosen q5.

◮ π2 is valid. Choosing q3 at q2 would not help player A. q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-13
SLIDE 13

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Memoryless property

We do not have to know how we reached certain vertex in order to deduct how to play.

Piotr Danilewski Algorithms for Parity Games

slide-14
SLIDE 14

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Memoryless strategy representation

Strategy does not change over time. sA : VA − → V sB : VB − → V sA, sB point to successor picked by players A and B respectively.

Piotr Danilewski Algorithms for Parity Games

slide-15
SLIDE 15

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Memoryless strategy representation

sA(v) :=    q3 if v = q1 q4 if v = q2 q7 if v = q6

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-16
SLIDE 16

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Strategy graph

GA - Graph G were edges outgoing from VA are limited to only those chosen by sA.

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-17
SLIDE 17

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Winning condition in strategy graph

Player A wins if for given vertex v all reachabe cycles in GA are

  • dd.

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-18
SLIDE 18

Outline Parity Games When can we win? Algorithms General observations Strategy representation Winning sets

Winning sets partition

Every parity game graph can be partitioned into winning sets WA and WB.

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-19
SLIDE 19

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Algorithms

Piotr Danilewski Algorithms for Parity Games

slide-20
SLIDE 20

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

◮ Enrich graph with additional information and deduct the best

strategy

◮ Choose some strategy and then improve it

Piotr Danilewski Algorithms for Parity Games

slide-21
SLIDE 21

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Naive Algorithm

Piotr Danilewski Algorithms for Parity Games

slide-22
SLIDE 22

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

The naive algorithm

◮ Consider all possible strategies sA. ◮ Consider all possible counter-strategies sB. ◮ Pick the best sA

Piotr Danilewski Algorithms for Parity Games

slide-23
SLIDE 23

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Time complexity of the naive algorithm

O

v∈V

deg v

  • In case of full graph:

O

  • |V ||V |

Piotr Danilewski Algorithms for Parity Games

slide-24
SLIDE 24

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Jurdzinski’s algorithm

Piotr Danilewski Algorithms for Parity Games

slide-25
SLIDE 25

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Parity Progress Measure

Store additional tuple Nc+1 at each vertex where c is maximal priority. Comparison operators: <i, ≤i, =i, ≥i, >i - lexicographic operators

  • n i + 1 first elements.

(2, 3, 0, 0) >1 (2, 2, 4, 1) (2, 3, 0, 0) =0 (2, 2, 4, 1) (0, 1, 0, 0) <1 (1, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-26
SLIDE 26

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Parity Progress Measure

Function ρ : V − → Nc+1 is a Parity Progress Measure if: ∀(v, w) ∈ E : ρ(v) ≥p(v) ρ(w) and if p(v) is odd ∀(v, w) ∈ E : ρ(v) >p(v) ρ(w)

Piotr Danilewski Algorithms for Parity Games

slide-27
SLIDE 27

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Parity Progress Measure

If Parity Progress Measure ρ exists then graph G must have only even cycles. Otherwise, let i be minimal odd priority in some cycle. Then: ρ(v1) >i ρ(v2) ≥i ρ(v3)... ≥i ρ(v1)

Piotr Danilewski Algorithms for Parity Games

slide-28
SLIDE 28

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Parity Progress Measure

Vi := p−1(i) MG := N0 × N|V1| × N0 × N|V3| × N0 × ... × N|Vc|

Piotr Danilewski Algorithms for Parity Games

slide-29
SLIDE 29

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Codomain restriction

           V0 := ∅ V1 := {q1, q6} V2 := {q2} V3 := {q4, q5} V4 := {q3, q7} MG = N0 × N2 × N0 × N2 × N0

q1 1 q2 2 q3 4 q4 3 q5 3 q6 1 q7 4

Piotr Danilewski Algorithms for Parity Games

slide-30
SLIDE 30

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Game Parity Progress Measure

So far - we worked on graphs with even cycles only. Now - we want to include all graphs and vertex assignment to players. Add highest element T: MT

G = MG ∪ {T}

T means we cannot fit any other value because we reach an odd cycle

Piotr Danilewski Algorithms for Parity Games

slide-31
SLIDE 31

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Game Parity Progress Measure

Let ρ : V − → MT

G be any function.

Small progress function: Prog(ρ, v, w) := least m ∈ MT

G : m ≥p(v) ρ(w), and inequality

must be strict if p(v) is odd.

q6 1

(0, 1, 0, 0, 0)

q7 4

(0, 1, 0, 1, 0) Prog(ρ, q6, q7) = { least m >1 (0, 1, 0, 1, 0)} = (0, 2, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-32
SLIDE 32

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Game Parity Progress Measure

Game Parity Progress Measure is a function ρ : V − → MT

G such

that for all v ∈ V :

◮ v ∈ VA ⇒ ∀(v, w) ∈ E : ρ(v) ≥p(v) Prog(ρ, v, w) ◮ v ∈ VB ⇒ ∃(v, w) ∈ E : ρ(v) ≥p(v) Prog(ρ, v, w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-33
SLIDE 33

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Game Parity Progress Measure

Game Parity Progress Measure is a function ρ : V − → MT

G such

that for all v ∈ V :

◮ v ∈ VA ⇒ ∀(v, w) ∈ E : ρ(v) ≥p(v) Prog(ρ, v, w) ◮ v ∈ VB ⇒ ∃(v, w) ∈ E : ρ(v) ≥p(v) Prog(ρ, v, w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-34
SLIDE 34

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Game Parity Progress Measure

Game Parity Progress Measure is a function ρ : V − → MT

G such

that for all v ∈ V :

◮ v ∈ VA ⇒ ∀(v, w) ∈ E : ρ(v) ≥p(v) Prog(ρ, v, w) ◮ v ∈ VB ⇒ ∃(v, w) ∈ E : ρ(v) ≥p(v) Prog(ρ, v, w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-35
SLIDE 35

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Strategy from Game Parity Progress Measure

Given ρ player B forms strategy sB by minimalising its value.

q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-36
SLIDE 36

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Winning sets from Game Parity Progress Measure

If ρ is a minimal Game Parity Progress Measure: WB = {v ∈ V : ρ(v) = T} WA = {v ∈ V : ρ(v) = T}

q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-37
SLIDE 37

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Computing the minimal Game Parity Progress Measure

◮ Start by assigning ρ(v) := (0, 0, ..., 0) to all vertices ◮ Increment each vertex which violates the Game Parity

Progress Measure constraints Lift(ρ, v)(u) :=    ρ(u) ⇐ u = v max

  • ρ(v), min(v,w)∈E Prog(ρ, v, w)
  • ⇐ u = v ∈ VB

max

  • ρ(v), max(v,w)∈E Prog(ρ, v, w)
  • ⇐ u = v ∈ VA

Piotr Danilewski Algorithms for Parity Games

slide-38
SLIDE 38

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s Algorithm

Piotr Danilewski Algorithms for Parity Games

slide-39
SLIDE 39

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 0)

q1 1

(0, 0, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 0, 0)

q4 3

(0, 0, 0, 0, 0)

q5 3

(0, 0, 0, 0, 0)

q6 1

(0, 0, 0, 0, 0)

q7 4

(0, 0, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-40
SLIDE 40

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 1)

Lift(ρ, q1)(q1) = max

  • (0, 0, 0, 0, 0) , max

(v,w)∈E Prog(ρ, q1, w)

  • Prog(ρ, q1, w) := least m ∈ MT

G : m >1 ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 0, 0)

q4 3

(0, 0, 0, 0, 0)

q5 3

(0, 0, 0, 0, 0)

q6 1

(0, 0, 0, 0, 0)

q7 4

(0, 0, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-41
SLIDE 41

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 2)

Lift(ρ, q5)(q5) = max

  • (0, 0, 0, 0, 0) ,

min

(v,w)∈E Prog(ρ, q5, w)

  • Prog(ρ, q5, w) := least m ∈ MT

G : m >3 ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 0, 0)

q4 3

(0, 0, 0, 0, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 0, 0, 0, 0)

q7 4

(0, 0, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-42
SLIDE 42

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 3)

Lift(ρ, q6)(q6) = max

  • (0, 0, 0, 0, 0) , max

(v,w)∈E Prog(ρ, q6, w)

  • Prog(ρ, q6, w) := least m ∈ MT

G : m >1 ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 0, 0)

q4 3

(0, 0, 0, 0, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 1, 0, 0, 0)

q7 4

(0, 0, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-43
SLIDE 43

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 4)

Lift(ρ, q7)(q7) = max

  • (0, 0, 0, 0, 0) ,

min

(v,w)∈E Prog(ρ, q7, w)

  • Prog(ρ, q7, w) := least m ∈ MT

G : m≥4ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 0, 0)

q4 3

(0, 0, 0, 0, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 1, 0, 0, 0)

q7 4

(0, 1, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-44
SLIDE 44

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 5)

Lift(ρ, q4)(q4) = max

  • (0, 0, 0, 0, 0) ,

min

(v,w)∈EProg(ρ, q4, w)

  • Prog(ρ, q4, w) := least m ∈ MT

G : m>3ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 0, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 1, 0, 0, 0)

q7 4

(0, 1, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-45
SLIDE 45

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 6)

Lift(ρ, q3)(q3) = max

  • (0, 0, 0, 0, 0) ,

min

(v,w)∈E Prog(ρ, q3, w)

  • Prog(ρ, q3, w) := least m ∈ MT

G : m≥4ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 1, 0, 0, 0)

q7 4

(0, 1, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-46
SLIDE 46

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 7)

Lift(ρ, q6)(q6) = max

  • (0, 1, 0, 0, 0) , max

(v,w)∈EProg(ρ, q6, w)

  • Prog(ρ, q6, w) := least m ∈ MT

G : m >1 ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 2, 0, 0, 0)

q7 4

(0, 1, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-47
SLIDE 47

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 8)

Lift(ρ, q7)(q7) = max

  • (0, 1, 0, 0, 0) ,

min

(v,w)∈E Prog(ρ, q7, w)

  • Prog(ρ, q7, w) := least m ∈ MT

G : m ≥4 ρ(w) q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

(0, 2, 0, 0, 0)

q7 4

(0, 2, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-48
SLIDE 48

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 9)

Lift(ρ, q6)(q6) = max

  • (0, 2, 0, 0, 0) , max

(v,w)∈E Prog(ρ, q6, w)

  • MT

G = N0 × N2 × N0 × N2 × N0 ∪ {T} q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

(0, 2, 0, 0, 0)

Piotr Danilewski Algorithms for Parity Games

slide-49
SLIDE 49

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 10)

Lift(ρ, q7)(q7) = max

  • (0, 2, 0, 0, 0) ,

min

(v,w)∈E Prog(ρ, q7, w)

  • MT

G = N0 × N2 × N0 × N2 × N0 ∪ {T} q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-50
SLIDE 50

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Run of Jurdzinski’s algorithm (step 11)

Observe Lift operation cannot perform any more changes. End of run.

q1 1

(0, 1, 0, 0, 0)

q2 2

(0, 0, 0, 0, 0)

q3 4

(0, 0, 0, 1, 0)

q4 3

(0, 0, 0, 2, 0)

q5 3

(0, 0, 0, 1, 0)

q6 1

T

q7 4

T

Piotr Danilewski Algorithms for Parity Games

slide-51
SLIDE 51

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Space complexity of Jurdzinski’s algorithm

O(c |V |)

Piotr Danilewski Algorithms for Parity Games

slide-52
SLIDE 52

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

Time complexity of Jurdzinski’s algorithm

Time per single lift operation: O(c deg v) Total time: O(

  • v∈V

|MG| c deg v) = O (c |E| |MG|) |MG| = ⌈ c

2⌉

  • i=1

(|V2i−1| + 1) <   ⌈ c

2⌉

i=1 (|V2i−1| + 1)

c

2

 ⌈ c

2⌉

  • |V |

c

2

  • ⌈ c

2⌉

Finally O  c |E|

  • |V |

c

2

  • ⌈ c

2⌉

Piotr Danilewski Algorithms for Parity Games

slide-53
SLIDE 53

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

There are other algorithms, for example:

◮ McNaughton’s algorithm ◮ Sven’s algorithm

Piotr Danilewski Algorithms for Parity Games

slide-54
SLIDE 54

Outline Parity Games When can we win? Algorithms General approaches Naive algorithm Jurdzinski’s algorithm Other algorithms Complexity

We know that Parity Games problem

◮ is NP ∩ co-NP ◮ is UP ∩ co-UP ◮ it is unlikely to be NP-complete ◮ it is not known to be P

Piotr Danilewski Algorithms for Parity Games