Alternating automata
Nondeterminism = disjunctions
- universal choices = conjunctions
q -->a {q1, q2} , q -->a { q3 }
or symmetrically, to a boolean frmula
q -->a (q1 /\ q2) \/ q3
or, disjunctive states, conjunctive states, eps-transutuibs
but we take the boolean formula form
With priorities
q --->a:1 (q1 /\ q2) \/ q3
Semantics
Run-view
- a run is an infinite tree
- Accepts if every branch is
Parity
accepting
again, we lost the nice symmetric of conj / disj
Game-vision
A(w)
is a parity game- Positions
- = prefix of words + boolean formula of the states
- Moves:
(aw, q) ---->p (w, b)
whereq ---->a:p b
- falsifier:
(w,b0 ∨b1) →(w,bi),i∈{0,1}
- verfier:
(w,b0 ∧b1) →(w,bi),i∈{0,1}
- results in an infinite path
- verifier wins if the path is
Parity
accepting
- w is in
L(A)
if verifier winsA(w)
- Verifier strategy= run tree (previous view)
Exercise:
Alternating coBüchi automaton for {wait, req, grant}: Every grant is eventually followed by a request.
Every suggests universal quantification, we should exploit it
If we take the view of falsifier (something not in the language)
- verifier: take
/\
as conjunction,\/
as strategy to choose, to get a winning strategy - falsifier: take
\/
as strategy to choose (disjunction),/\
as conjunction, to get a winning strategy- e.g. For
req-grant-req-wait^omega
, it has to wait a round atq0
so it falls into the rejecting loop atq1
, otherwise, it goes to:)
state and it loses
- e.g. For
Trade-offs
following are equally expressive
- alternating weak automate (SCC are accepting or rejecting)
- Nondeterministic Buchi automata
- determisistic parity automata
Encoding mu-calculus
Finite state automata over infinite trees
Infinite trees
- Labelled unordered trees
- NO root to be distinguished
- Unfolded rooted graphs
- (V, E, l : V → Σ)
- V: nodes
- E: edges
- l: color functions
Relation to mu-calculus
[ ] p
= accept from p in all successors (in the tree)<> q
= accept from p in some successor (in the tree)- Transitions: DNF formula over
{ <>q, []q | q \in Q }
- `q ⇒ a (<> q1 /\ <> q2) / [] q3“
Semantics via parity games?
Meaning: From everywhere
b
is reachable
Falsifier: [ ] q0
find where b
is non-reachable
Verifier: <> q1
to navigate to the reachable state
Formula Components | Automaton Concepts |
---|---|
Formula | Automaton |
Subformulas | States |
♦, □ (Diamond, Box) | Transitions |
μ, ν (Fixpoint Operators) | Priorities |
Nested Fixpoint Semantics | Parity Condition |
Intuitive equivalence (as seen above), but…
- Annoying details
- •Automata are often defined on ordered binary trees (v.s. arbitrary/infinite branching)
- •Nondeterminism is neater on ordered binary trees
- •Labels on nodes vs. edges,
<a>,[a] vs. ♦,□
- •Size of a formula/automaton?
A classic for a reason
- Highly expressive
- subsumes CTL, bisimulation invariant MSO…
- cf May 19 Notes
- Highly decidable
Remark:
A strong foundation for extended models
Especially in the case of words:
- Infinite alphabets
- Infinite memory (counters, stacks…)
- Quantitative models And for cyclic proofs?