parity to safety in polynomial time for pushdown and
play

Parity to Safety in Polynomial Time for Pushdown and Collapsible - PowerPoint PPT Presentation

Parity to Safety in Polynomial Time for Pushdown and Collapsible Pushdown Games Matthew Hague Royal Holloway, University of London with Roland Meyer, Sebastian Muskalla,and Martin Zimmermann Abstract Safety games for pushdown systems:


  1. Parity to Safety in Polynomial Time for Pushdown and Collapsible Pushdown Games Matthew Hague Royal Holloway, University of London with Roland Meyer, Sebastian Muskalla,and Martin Zimmermann

  2. Abstract Safety games for pushdown systems: n-EXPTIME-complete Parity games for pushdown systems: n-EXPTIME-complete (for order-n collapsible pushdown)

  3. Abstract Safety games for pushdown systems: n-EXPTIME-complete Parity games for pushdown systems: n-EXPTIME-complete (for order-n collapsible pushdown) We give a "natural" parity->safety reduction

  4. Abstract Safety games for pushdown systems: n-EXPTIME-complete Parity games for pushdown systems: n-EXPTIME-complete (for order-n collapsible pushdown) We give a "natural" parity->safety reduction (i.e. not parity algorithm -> TM -> safety)

  5. Motivation Safety is easy to reason about (Parity is hard) Parity is more expressive To know the relationship

  6. Ideas We Start With Finite-state parity to safety using counters (Bernet et al, 2002)

  7. Ideas We Start With Finite-state parity to safety using counters (Bernet et al, 2002) Pushdown parity to safety with large counters (Fridman and Zimmermann, 2012)

  8. Ideas We Start With Finite-state parity to safety using counters (Bernet et al, 2002) Pushdown parity to safety with large counters (Fridman and Zimmermann, 2012) Reduction order-n -> order-(n-1) Rank awareness (H, Murawski, Ong, Serre, 2008)

  9. Ideas We Start With Finite-state parity to safety using counters (Bernet et al, 2002) Pushdown parity to safety with large counters (Fridman and Zimmermann, 2012) Reduction order-n -> order-(n-1) Rank awareness (H, Murawski, Ong, Serre, 2008) Encoding large counters in a pushdown stack (Cachat and Walukiewicz, 2007)

  10. Contributions Generalise counter encoding to collapse Direct proof based on commutativity of Counters encoding Stack removal Counters behave like a stack

  11. Parity Game 1 2 4 4 Elvis Anarchist

  12. Parity Game 1 2 4 4 Elvis Play: 4 Anarchist

  13. Parity Game 1 2 4 4 Elvis Play: 4 1 Anarchist

  14. Parity Game 1 2 4 4 Elvis Play: 4 1 2 Anarchist

  15. Parity Game 1 2 4 4 Elvis Play: 4 1 2 4 Anarchist

  16. Parity Game 1 2 4 4 Elvis Play: 4 1 2 4 4 Anarchist

  17. Parity Game 1 2 4 4 Elvis Play: 4 1 2 4 4 1 4 4 1 2 4... Anarchist

  18. Parity Game 1 2 4 4 Elvis Play: 4 1 2 4 4 1 4 4 1 2 4... Winner: Elvis if least infinitely Anarchist occuring rank is even

  19. Parity with Counters 1 2 4 4 Count: number of each rank (without seeing anything smaller)

  20. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  21. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  22. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  23. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  24. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  25. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  26. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  27. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  28. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  29. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  30. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  31. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  32. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  33. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  34. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  35. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  36. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 Count: number of each rank (without seeing anything smaller)

  37. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 There is a loop! Count: number of each rank (Hit 1 five times over 4 states) (without seeing anything smaller)

  38. Parity with Counters Counters: 1 1: 2: 2 4 3: 4: 4 There is a loop! Count: number of each rank (Hit 1 five times over 4 states) (without seeing anything smaller) The smallest rank is odd: Elvis loses!

  39. Parity to Safety Reduce parity to safety game (Bernet et al): Keep counters in state (n * n^k states) Elvis loses if odd counter is high

  40. Parity to Safety Reduce parity to safety game (Bernet et al): Keep counters in state (n * n^k states) Elvis loses if odd counter is high Exponential blow up!

  41. Pushdown Games a a b b b b b b p1 c p2 c p3 c p4 c Each state has: Control state (from finite set) Stack of characters Model recursive programs

  42. Pushdown Parity to Safety Pushdown Parity Pushdown Safety (Walukiewicz 1996) Finite-state Finite-State Parity Safety

  43. Pushdown Parity to Safety Pushdown Parity Pushdown Safety (Walukiewicz 1996) Finite-state Finite-State Parity Safety (Bernet et al 2002)

  44. Pushdown Parity to Safety Pushdown Parity Pushdown Safety (Fridman and Zimmermann (Walukiewicz 2012) 1996) Finite-state Finite-State Parity Safety (Bernet et al 2002)

  45. Pushdown Parity to Safety Pushdown Parity Pushdown Safety (Fridman and Zimmermann (Walukiewicz 2012) 1996) Commutes! Finite-state Finite-State Parity Safety (Bernet et al 2002)

  46. Pushdown Parity to Safety From: a a b b b b b b p1 c p2 c p3 c p4 c To: (a, c1, c2) (b, c1, c2) (b, c1, c2') p1 (c, c1, c2) p2 (c, c1, c2)

  47. Pushdown Parity to Safety From: a a b b b b b b p1 c p2 c p3 c p4 c To: Counters (a, c1, c2) (b, c1, c2) (b, c1, c2') p1 (c, c1, c2) p2 (c, c1, c2)

  48. Exponential Blow Up? (a, c1, c2') p (b, c1, c2) Counter values: can be exponential (Pushdown->finite-state has 2^n states) Number of stack characters: (2^n)^k (For k ranks)

  49. Exponential Blow Up? (a, c1, c2') p (b, c1, c2) Counter values: can be exponential (Pushdown->finite-state has 2^n states) Number of stack characters: (2^n)^k (For k ranks)

  50. Reducing Size a From: To: c2' c1 (a, c1, c2') b p (b, c1, c2) c2 p c1

  51. Reducing Size a From: To: c2' c1 (a, c1, c2') b p (b, c1, c2) c2 p c1 Number of characters: 2^n

  52. Updating Counters Increment c1 a c2' c1 b c2 p c1

  53. Updating Counters Increment c1 a c2' c1 b c2 p c1 ( , a)

  54. Updating Counters Increment c1 a c2' c1 b c2 p c1 ( , a)

  55. Updating Counters Increment c1 a c2' Lost c2' c1 (It will be reset) b c2 p c1 ( , a)

  56. Updating Counters Increment c1 a c2' Lost c2' c1 ' (It will be reset) b c2 p c1 ( , a)

  57. Updating Counters Increment c1 a c2' 0 Lost c2' c1 ' (It will be reset) b c2 p c1 ( , a)

  58. Updating Counters Increment c1 a a c2' 0 Lost c2' c1 ' (It will be reset) b c2 p c1 ( , a)

  59. Polynomial No. of Characters a c2' c1 b c2 p c1 Counters up to 2^n Alphabet exponential

  60. Polynomial No. of Characters a a 0 1 c2' in binary c2' 1 c1 0 b 1 c1 in binary 0 c2 . p c1 . p . Counters up to 2^n Alphabet exponential

  61. Polynomial No. of Characters a a 0 1 c2' in binary c2' 1 c1 0 b 1 c1 in binary 0 c2 . p c1 . Pushdowns handle p . length-n binary Counters up to 2^n Alphabet exponential Alphabet polynomial!

  62. Pushdown Parity to Safety Pushdown parity game -> pushdown safety game Naively exponential Use stack discipline of counters Binary counter encoding of pushdowns Polynomial time reduction

  63. Collapsible Pushdown Systems Pushdown Systems = First-Order Recursion Collapsible Pushdown Systems = Higher-Order Recursion

  64. Higher-Order Programming: Niche? Almost all modern languages support it Scala, Go, JavaScript, Python, ... Retro-fitted to C++ and Java Asynchronous programs/callbacks Map/Reduce

  65. Collapsible Pushdown Systems Higher-order program: functions of functions Higher-order pushdown: stack of stacks a b p c

Recommend


More recommend