1.24k likes | 1.38k Views
Antichain Algorithms for Finite Automata. Laurent Doyen LSV, ENS Cachan & CNRS Joint work with Jean-François Raskin. Acknowledgments. J-F. Raskin. M. De Wulf. N. Maquet. … S. Raje, E. Filiot, N. Jin, …. T. Henzinger. D. Berwanger. K. Chatterjee. Antichains everywhere!.
E N D
Antichain Algorithms for Finite Automata Laurent DoyenLSV, ENS Cachan & CNRS Joint work with Jean-François Raskin
Acknowledgments J-F. Raskin M. De Wulf N. Maquet … S. Raje, E. Filiot, N. Jin, … T. Henzinger D. Berwanger K. Chatterjee
Antichains for… 200 states vs. 5000 states
Antichains for… 10 states vs. 120 states
Antichains for… 50 times faster…
Antichains for… http://www.antichains.be
Reachability Given a (directed) graph G=(V,E),
Reachability Given a graph G=(V,E), two sets Init V and Final V, Final Init
Reachability Given a graph G=(V,E), two sets Init V and Final V, is there a (finite) path from Init to Final ?
Reachability Given a graph G=(V,E), two sets Init V and Final V, is there a (finite) path from Init to Final ?
Reachability Given a graph G=(V,E), two sets Init V and Final V, NLogSpace-complete is there a (finite) path from Init to Final ?
Reachability Given a graph G=(V,E), two sets Init V and Final V, NLogSpace-complete …when the graph is given explicitly ! is there a (finite) path from Init to Final ?
Reachability Reachability is NLogSpace-complete. • In practice, the graph is implicit: • symbolic graphs • subset constructions • pushdown graphs • transition system of Petri nets • region graph of timed automata • …
Running example Given finite automata A1 and A2, deciding if L(A1) L(A2) is PSpace-complete. (even deciding L(A2) = Σ*) Subset construction
Subset construction Init: sets containing initial states of A Final: sets containing no accepting states of A Final … {1,2,3} {1,2,3} {1,2,4} {1,3} {1,4} {1,2} {2,3} {1,2} {1,3} {3} {1} {2} {1} Init
Subset construction Init: sets containing initial states of A Final: sets containing no accepting states of A Final … {1,2,3} {1,2,3} {1,2,4} {1,3} {1,4} {1,2} {2,3} {1,2} {1,3} {3} {1} {2} {1} Init
Subset construction B: Bc: Successor in Ac of set s = set of successors in A of elements in s
Subset construction B: Bc: Successor in Ac of set s = set of successors in A of elements in s
Subset construction … Bc: Successor in Ac of set s set of successors in A of elements in s
Reachability Backward algorithm One-step predecessors of states in s V: Final Init
Reachability Backward algorithm One-step predecessors of states in s V: Final Init
Reachability Backward algorithm One-step predecessors of states in s V: Final Init
Reachability Backward algorithm One-step predecessors of states in s V: Final Init
Reachability Backward algorithm One-step predecessors of states in s V: Final Init
Reachability Backward algorithm One-step predecessors of states in s V: Final Init
Reachability Backward algorithm If then Final is reachable from Init Final Init
Reachability Backward algorithm Final Init
Reachability Backward algorithm Fixpoint such that Final Init
Structure in graphs Final Init
Structure in graphs Final Init Graph is partially ordered…
Structure in graphs Final Init Final Graph is monotone…
Structure in graphs A pre-order ≤f over V is a forward simulation if v2 ≤fv1≡ v2 forward-simulates v1 ≤f implies ≤f ≤f for some
Structure in graphs A pre-order ≤f over V is a forward simulation if v2 ≤fv1≡ v2 forward-simulates v1 Running example: is a forward simulation ≤f implies ≤f ≤f for some
Structure in graphs A pre-order ≤f over V is a forward simulation if v2 ≤fv1≡ v2 forward-simulates v1 Running example: is a forward simulation ≤f implies ≤f ≤f for some
Structure in graphs A forward simulation ≤f is compatible with Final if ≤f ≤f implies
Structure in graphs A forward simulation ≤f is compatible with Final if Running example Final {1,2,3} ≤f ≤f implies {1,3} {1,2} {2,3} {3} {1} {2} Equivalently, Final is ≤f-downward-closed.
Structure in graphs Theorem A pre-order ≤f over V is a forward simulation if and only if preserves ≤f-downward-closedness. i.e., if is ≤f-downward-closed, then is ≤f-downward-closed.
Structure in graphs Theorem A pre-order ≤f over V is a forward simulation if and only if preserves ≤f-downward-closedness. i.e., if is ≤f-downward-closed, then is ≤f-downward-closed. ≤f
Structure in graphs Theorem A pre-order ≤f over V is a forward simulation if and only if preserves ≤f-downward-closedness. i.e., if is ≤f-downward-closed, then is ≤f-downward-closed. ≤f ≤f
Structure in graphs Theorem A pre-order ≤f over V is a forward simulation if and only if preserves ≤f-downward-closedness. i.e., if is ≤f-downward-closed, then is ≤f-downward-closed. ≤f ≤f
Antichain algorithm ≤f forward simulation compatible with Final. Backward algorithm B(i) is ≤f-downward-closed for all i ≥ 0 !
Antichain algorithm ≤f forward simulation compatible with Final. Backward algorithm B(i) is ≤f-downward-closed for all i ≥ 0 ! Use ≤f-maximal elements as a symbolic representation.
Antichain algorithm ≤f forward simulation compatible with Final. Backward algorithm B(i) is ≤f-downward-closed for all i ≥ 0 ! Antichain algorithm
Antichain algorithm ≤f forward simulation compatible with Final. Backward algorithm B(i) is ≤f-downward-closed for all i ≥ 0 ! Antichain algorithm