Avoiding Determinization Orna Kupferman Hebrew University Joint work with Moshe Vardi.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 3. Specification Automata Syntax, given a set A of atomic observations: Sfinite set of states S 0 Sset of initial states S S transition.
Advertisements

Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
Avoiding Determinization Orna Kupferman Hebrew University Joint work with Moshe Vardi.
Black Box Checking Book: Chapter 9 Model Checking Finite state description of a system B. LTL formula. Translate into an automaton P. Check whether L(B)
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
Synthesis of Reactive systems Orna Kupferman Hebrew University Moshe Vardi Rice University.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely.
Determinization of Büchi Automata
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Review of the automata-theoretic approach to model-checking.
Chapter 11: Limitations of Algorithmic Power
Theory of Computing Lecture 22 MAS 714 Hartmut Klauck.
Flavio Lerda 1 LTL Model Checking Flavio Lerda. 2 LTL Model Checking LTL –Subset of CTL* of the form: A f where f is a path formula LTL model checking.
Solving Games Without Determinization Nir Piterman École Polytechnique Fédéral de Lausanne (EPFL) Switzerland Joint work with Thomas A. Henzinger.
1 Carnegie Mellon UniversitySPINFlavio Lerda Bug Catching SPIN An explicit state model checker.
15-820A 1 LTL to Büchi Automata Flavio Lerda A 2 LTL to Büchi Automata LTL Formulas Subset of CTL* –Distinct from CTL AFG p  LTL  f  CTL. f.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Institute for Applied Information Processing and Communications 1 Karin Greimel Semmering, Open Implication.
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
חישוביות וסיבוכיות Computability and Complexity Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Finite State Machines Chapter 5. Languages and Machines.
Basics of automata theory
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Lexical Analysis — Part II: Constructing a Scanner from Regular Expressions.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Automatic Structures Bakhadyr Khoussainov Computer Science Department The University of Auckland, New Zealand.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
2. Regular Expressions and Automata 2007 년 3 월 31 일 인공지능 연구실 이경택 Text: Speech and Language Processing Page.33 ~ 56.
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
Graz University of Technology Professor Horst Cerjak, Barbara Jobstmann San Jose, Nov 15Optimizations for LTL Synthesis Barbara Jobstmann.
Games, Logic and Automata Seminar Rotem Zach 1. Overview 2.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
NFA defined. NFA A Non-deterministic Finite-state Automata (NFA) is a language recognizing system similar to a DFA. It supports a level of non-determinism.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Lecture Notes 
About Alternating Automata Daniel Choi Provable Software Laboratory KAIST.
BİL711 Natural Language Processing1 Regular Expressions & FSAs Any regular expression can be realized as a finite state automaton (FSA) There are two kinds.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
Nondeterministic Finite State Machines Chapter 5.
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
Tree Automata First: A reminder on Automata on words Typing semistructured data.
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Model Checking Lecture 2 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
1 Chapter 2 Finite Automata (part a) Hokkaido, Japan.
Theory of Computation Automata Theory Dr. Ayman Srour.
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
Orna Kupferman Yoad Lustig
Ekaterina Mineev Edited by: Guy Lando
Lexical analysis Finite Automata
Alternating tree Automata and Parity games
Chapter Nine: Advanced Topics in Regular Languages
4b Lexical analysis Finite Automata
Chapter Five: Nondeterministic Finite Automata
4b Lexical analysis Finite Automata
Instructor: Aaron Roth
Translating Linear Temporal Logic into Büchi Automata
Instructor: Aaron Roth
Presentation transcript:

Avoiding Determinization Orna Kupferman Hebrew University Joint work with Moshe Vardi

Deterministic (automaton, Turing machine, person…) NO! A single run on every input. Success: happily ever after in the unique future. Nondeterministic (automaton, Turing machine, person…) Multiple runs on every input. perhap s Success: happily ever after in at least one future.

A very convenient definition of success… Risk is for free. Goals are achieved in a more succinct way. perhap s

NFW are exponentially more succinct than DFW {N,D,A,U} x {F,B,R,P} x {W,T} NFW: nondeterministic automata on finite words. DBW: deterministic Büchi word automata. APT: alternating parity tree automata.

NFW are exponentially more succinct than DFW Ln = (0+1)*.0.(0+1) n NFW: O(n) states n 0, DFW: O(2 n ) states u v1v1 v2v2 0 1 n

Sometimes, nondeterminism causes no problems. Nonemptiness check: L(A) ≠ Ø ? Membership check, projection,… NFW and DFW: reachability  NLOGSPACE, linear time

Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) DFW: dualize the acceptance condition L(A) = (0+1)*.1 comp(L(A)) = ε + (0+1)*.0

Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) DFW: dualize the acceptance condition L(A) = (0+1)*.1 comp(L(A)) = ε + (0+1)*.0

Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) NFW: dualize the acceptance condition? 0,1 1 L(A) = (0+1)*.1 comp(L(A)) = ε + (0+1)*.0

Sometimes, nondeterminism is problematic. 1. Complementation: L(A’) = comp(L(A)) NFW: dualize the acceptance condition? L(A) = (0+1)*.1 comp(L(A)) = ε + (0+1)*.0 0,1 1 L(A’) = (0+1)* w  L(A): exists an accepting run. w  L(A): all runs are rejecting. dualization: exists a rejecting run.

Tree automata: Word automata: M(q 0,a)={q 1,q 2 } Tree automata: M(q 0,a)={  q 1,q 3 ,  q 2, q 1  } a cc c a ca q0q0 q1q1 q3q3 Sometimes, nondeterminism is problematic. 2. Running A on a tree. a c c q0q0 q1q1

Sometimes, nondeterminism is problematic. 2. Running A on a tree. M(q 0,a)={q 1,q 2 } M t (q 0,a)={  q 1,q 1 ,  q 1, q 2 ,  q 2,q 1 ,  q 2,q 2  } Given: an NFW A. M t (q,a) = M(q,a) x M(q,a) Run A on each of the paths of the tree… Wanted: an NFT A t that accepts all trees all of whose paths are accepted by A.

Sometimes, nondeterminism is problematic. 2. Running A on a tree. L(A) = (0+1)*.0.(0+1) n A: whenever you read 0, guess whether the input ends after exactly n letters. A t : whenever you read 0, guess whether all the paths in the subtree end after exactly n letters. n 0,

Sometimes, nondeterminism is problematic. 2. Running A on a tree. L(A) = (0+1)*.0.(0+1) n A: whenever you read 0, guess whether the input ends after exactly n letters. A t : whenever you read 0, guess whether all the paths in the subtree end after exactly n letters. n 0, M t (●,0)={  ●,● ,  ●, ● ,  ●,● ,  ●,●  } ●●

Sometimes, nondeterminism is problematic. 2. Running A on a tree. L(A) = (0+1)*.0.(0+1) n A: whenever you read 0, guess whether the input ends after exactly n letters. 0 accepts: rejects: n 0, ●● ● ● ● M t (●,0)={  ●,● ,  ●, ● ,  ●,● ,  ●,●  } n=2: ● ●●

Sometimes, nondeterminism is problematic. 2. Running A on a tree. Applications in 1.Decidability of CTL*, μ-calculus,… [SE84, EJ91,…] 2.Solving games with ω-regular goals. [Tho95] 3.LTL realizability and synthesis. [RP89]

How to solve complementation, decidability, games, synthesis,…? DETERMINIZE! #1 problem: exponential blow-up. legitimate (matching lower bounds). #2 problem (automata on infinite words): determinization is awfully complicated.

Automata on infinite words 0,1 1 1 sq L(A) = (0+1)*.1 ω Büchi acceptance: visit α infinitely often {s}{s,q} Subset construction: There is no DBW for L(A) [Lan69]. Safra’s determinization construction 1988: NBW(n)  DRW(2 O(n log n), O(n))

Safra’s construction: - First optimal construction! Each state of A’ is an ordered tree in which each node is labeled by a subset of the states of A such that the label of a node is - Beautiful! MONA: implementation of a nonelementary algorithm Model checking: tools! A success story!! Synthesis: no tools, no story. Very Complicated!!!

We are afraid of Safra

Universal (automaton, Turing machine, person…) Multiple runs on every input. perhap s Success: happily ever after in all futures. When viewed as a UFW, L(A) = When viewed as an NFW, L(A) = (0+1)* (0+10)* every 1 is followed by 0 0,1 10

Universal automata are sufficiently strong to serve as intermediate automata in many applications in which deterministic automata are traditionally used as intermediate automata. -Complementation constructions -Decision procedures -Synthesis - You name it (please do) Talk outline: 1.Indeed sufficiently strong. 2.Much simpler! Promising practical applications.

Complementation NFW DFW DFW NFW UFW DFW Finite words: dualize both the branching mode and the set of accepting states subset construction a state S  Q: all states the universal automaton may visit. S is accepting iff S  α

Complementation Given an NBW A, construct a complementary NBW. 1.Construct a DRW equivalent to A. 2.Dualize the DRW. 3.Translate the result to an NBW. Current procedure: co-determinization, Streett, LAR, …

Complementation 1.NBW  complementary UCW. 2.UCW  NBW. Our procedure: Easy: dualize both the transitions and the acceptance condition and get a UCW for the comlementary language. Given an NBW A, construct a complementary NBW. Easy: analyze ranks in accepting runs of UCW. [GSKV03] co-Buchi acceptance: visit α only finitely often

Example: 0,1 1 1 s1s1 s2s2 L(A) = (0+1)*.1 ω finitely many 0s 0,1 0 s3s3 NBW:

L(A) = (1*0) ω infinitely many 0s UCW: 0,1 1 1 s1s1 s2s2 0 s3s3

s2s2 s2s2 L(A) = (1*0) ω 0,1 1 1 s1s1 s2s2 0 s3s3 s1s1 s1s s3s3 s1s1 s2s2 s1s1 s3s s1s1 s2s2 0 s1s1 s3s3 0 a ranking function f:V  {0,…,2n} s3s3 s1s1 s3s3 s1s1

s2s2 s2s2 L(A) = (1*0) ω 0,1 1 1 s1s1 s2s2 0 s3s3 s1s1 s1s s3s3 s1s1 s2s2 s1s1 s3s s1s1 s2s2 0 s1s1 s3s3 0 a ranking function f:V  {0,…,2n} The state space of the NBW: subset construction + ranks for the states in the subset s3s3 s1s1 s3s3 s1s

Complementation μ-calculus satisfiability

Is there a tree satisfying Ψ? 1.Construct an APT A Ψ that accepts all trees satisfying Ψ [EJ91,KVW00]. 2.APT  NPT. 3.Check emptiness of the NPT. Current procedure: determinization of an NPW that accepts good paths of the run tree. parity games… [Jur00]

μ-calculus satisfiability Is there a tree satisfying Ψ? 1.Construct an APT A Ψ that accepts all trees satisfying Ψ [EJ91,KVW00]. 2.APT  UCT. 3.Check emptiness of the UCT. Our procedure: Easy, “empiness equivalent” UCT, similar to the translation on NPW to NBW. UCT  “emptiness equivalent’’ NBT Ranks…

Complementation μ-calculus satisfiability Synthesis

Given an LTL formula Ψ over I and O, construct a finite-state strategy f: (2 I )*  2 O that generates only computations that satisfy Ψ. Open system: interacts with an environment! o0o0 o 1 =f(i 0 ) o 2 =f(i 0,i 1 ) o 3 =f(i 0,i 1,i 2 )i2i2 i1i1 i0i0 (f(  ))  (i 0,f(i 0 ))  (i 1,f(i 0,i 1 ))  (i 2,f(i 0,i 1,i 2 ))  …

Synthesis Is Ψ realizable? 1.Construct a DRW A Ψ that accepts all computations satisfying Ψ. 2.Run A Ψ on the I-exhaustive tree. 3.Check emptiness of the NRT. Current procedure [PR88]: Rabin emptiness… [PR88,KV98]

Synthesis Is Ψ realizable? 1.Construct an NBW A ~Ψ that accepts all computations satisfying ~Ψ [VW94]. 2.Run the dual UCW on the I-exhaustive tree. 3.Check emptiness of the UCT. Our procedure: Easy, running a universal automaton on a tree is sound and complete.

The magic: UCW  NBW UCT  NBT Based on an analysis of accepting runs of co-Büchi automata A run is accepting iff the vertices of its run DAG can get ranks in {0,…,k} so that ranks along paths decrease and odd ranks appear only finitely often. The NBW/NBT: guesses a ranking, checks decrease, checks infinitely many visits to even ranks.

A run is accepting iff the vertices of its run DAG can get ranks in {0,…,k} so that ranks along paths decrease and odd ranks appear only finitely often. s2s2 s2s2 s1s1 s1s1 s3s3 s1s1 s2s2 s1s1 s3s3 s1s1 s2s2 s1s1 s3s3 s3s3 s1s1 s3s3 s1s Width of the run DAG : -For UCW: bounded by n. -For UCT: ??? If the UCT accepts some tree, it also accepts a tree generated by a transducer with k=(2n!)n 2n 3 n (n+1)/n! states. k We still need Safra! k is bounded by the width of the run DAG.

The magic: UCW  NBW UCT  NBT Based on an analysis of accepting runs of co-Büchi automata A run is accepting iff the vertices of its run DAG can get ranks in {0,…,k} so that ranks along paths decrease and odd ranks appear only finitely often. The NBW/NBT: guesses a ranking, checks decrease, checks infinitely many visits to even ranks. In practice: [GSKV03] -Incremental search for k. -Symbolic implementation.

To sum up: 1.Many applications use determinization. 2.The complexity of Safra’s determinization prevents implementations. 3.Universality can replace determinization and results in much simpler and friendlier procedures. universality

The end

0,1 10 s1s1 s2s2 s3s3 s1s1 s1s1 s1s1 s2s s2s2

10 s1s1 s2s2 s3s3 s1s1 s1s s3s3 s1s1 s2s2 s1s1 s3s s1s1 s2s2 s1s1 s3s3 s1s1 s3s3 s3s3

Complementation NFW DFW DFW NFW UFW DFW Finite words: NBW DRW NBW NBW UCW NBW Infinite words: co-Büchi acceptance: visit α only finitely often

NBW UCW NBW

Easy: dualize both branching mode and acceptance condition. O(1) w  A: exists a run that visits α infinitely often. w  A: all runs visit α only finitely often.

NBW UCW NBW [KV97]

UCW NBW 0,1 1 1 s1s1 s2s2 L(A) = (0+1)*.1 ω 0,1 0 s3s3 NBW:

UCW NBW L(A) = (1*0) ω UCW: 0,1 1 1 s1s1 s2s2 0 s3s3

UCW NBW L(A) = (1*0) ω s1s1 s1s s3s3 s1s1 s2s2 s1s1 s3s s2s2 s1s1 s2s2 s1s1 s3s3 s3s3 s2s2 s1s1 0 s1s1 s3s3 0,1 1 1 s1s1 s2s2 0 s3s3 0 a ranking function f:V  {0,…,2n} The state space of the NBW: subset construction + ranks for the states in the subset

Complementation μ-calculus satisfiability [GSKV03]