Pebble weighted automata and transitive closure logics
- B. Bollig, P. Gastin, B. Monmege, M. Zeitoun
LSV, ENS Cachan, CNRS, INRIA.
DOTS meeting March 18, 2010
Pebble weighted automata and transitive closure logics B. Bollig, - - PowerPoint PPT Presentation
Pebble weighted automata and transitive closure logics B. Bollig, P. Gastin, B. Monmege, M. Zeitoun LSV, ENS Cachan, CNRS, INRIA. DOTS meeting March 18, 2010 Motivations Analysis of quantitative systems Probabilistic Systems
DOTS meeting March 18, 2010
◮ Probabilistic Systems ◮ Minimization of costs ◮ Maximization of rewards ◮ . . .
◮ Probabilistic Systems ◮ Minimization of costs ◮ Maximization of rewards ◮ . . .
◮ Probabilistic automata (generative, reactive) ◮ Transition systems with costs or rewards ◮ . . .
◮ Weighted automata: quantitative extension of classical automata.
◮ Classical: decide whether a given word is accepted or not, ◮ Weighted: compute a value in a semiring from input word.
◮ Weighted logics: a formula evaluated on a word produces a value.
◮ How often does a Boolean property hold? ◮ Is the number of nodes selected by a request at least 10?
◮ In this talk, we focus on expressiveness. Boolean setting:
◮ Transitions carry weights from a semiring K = (K, +, ×, 0, 1).
◮ Transitions carry weights from a semiring K = (K, +, ×, 0, 1).
◮ Weight of a run: product of all transition weights in the semiring.
k1a1
k2a2
knan
◮ Weight of a word: sum of all weights of accepted runs on this word.
◮ Transitions carry weights from a semiring K = (K, +, ×, 0, 1).
◮ Weight of a run: product of all transition weights in the semiring.
k1a1
k2a2
knan
◮ Weight of a word: sum of all weights of accepted runs on this word.
◮ Alphabet Σ, on (N, +, ×, 0, 1).
◮ There are O(|Q||u|) runs on u, ◮ Each of which of weight exponential in |u| = n: k1 · · · kn ≤ (max ki)n.
◮ Automaton with 2-way mechanism and pebbles {1, . . . , r}. ◮ Read-only head can go either direction on ⊲u⊳ (where ⊲, ⊳ /
◮ The automaton can ←, →, drop or lift a pebble with a stack policy.
◮ Applicable transitions depend on current (state,letter,pebbles).
◮ Note. For Boolean word automata, this does not add expressive power.
◮ Automaton with 2-way mechanism and pebbles {1, . . . , r}. ◮ Read-only head can go either direction on ⊲u⊳ (where ⊲, ⊳ /
◮ The automaton can ←, →, drop or lift a pebble with a stack policy.
◮ Applicable transitions depend on current (state,letter,pebbles).
◮ Note. For Boolean word automata, this does not add expressive power.
◮ Automaton with 2-way mechanism and pebbles {1, . . . , r}. ◮ Read-only head can go either direction on ⊲u⊳ (where ⊲, ⊳ /
◮ The automaton can ←, →, drop or lift a pebble with a stack policy.
◮ Applicable transitions depend on current (state,letter,pebbles).
◮ Note. For Boolean word automata, this does not add expressive power.
◮ Computes 2|u|2: pebbles add expressive power.
◮ Trees
◮ Infinite words
◮ Pictures
◮ Traces
◮ Distributed systems
◮ . . .
◮ A formula ϕ without free variables defines a mapping ϕ : Σ+ → K. ◮ First order variables are interpreted as positions in the word. ◮ Pa(x) means “position x carries an a”. ◮ x ≤ y means “position x is before position y”.
◮ A formula ϕ without free variables defines a mapping ϕ : Σ+ → K. ◮ First order variables are interpreted as positions in the word. ◮ Pa(x) means “position x carries an a”. ◮ x ≤ y means “position x is before position y”. ◮ ϕ1 ∨ ϕ2 = ϕ1 + ϕ2 and ϕ1 ∧ ϕ2 = ϕ1 × ϕ2. ◮ ∃xϕ interpreted as a sum over all positions. ◮ ∀xϕ interpreted as a product over all positions.
◮ ∃xPa(x) = |u|a
◮ ∃xPa(x) ∨ ∃x[−1 ∧ Pb(x)] = |u|a − |u|b
◮ ∀y2(u) = 2|u|.
◮ ∃xPa(x) = |u|a
◮ ∃xPa(x) ∨ ∃x[−1 ∧ Pb(x)] = |u|a − |u|b
◮ ∀y2(u) = 2|u|.
◮ ∀x∀y2(u) = 2|u|2.
◮ =
◮ ∃xPa(x) = |u|a
◮ ∃xPa(x) ∨ ∃x[−1 ∧ Pb(x)] = |u|a − |u|b
◮ ∀y2(u) = 2|u|.
◮ ∀x∀y2(u) = 2|u|2.
◮ =
◮ ϕ with at least two first order free variables.
◮ The transitive closure operator is defined by
xyϕ =
◮ ϕ with at least two first order free variables.
◮ The transitive closure operator is defined by
xyϕ =
◮ ϕ(x, y)
def
xyϕ](u, 1, |u|) = (2|u|)|u|−1.
xy simulates first-order universal quantification.
◮ ϕ with at least two first order free variables.
◮ The transitive closure operator is defined by
xyϕ =
◮ ϕ(x, y)
def
xyϕ](u, 1, |u|) = (2|u|)|u|−1.
xy simulates first-order universal quantification. ◮ ψ = TC< x,y(2 ∧ y = x + 2).
◮ FO + TC< with bounded steps = weighted pebble automata. ◮ TC<(ϕ) where ϕ Boolean captures weighted automata. ◮ Proof resembles the translation 2-way → 1-way automata. ◮ Uses an intermediate automaton model: nested automata. ◮ We do not know if allowing unbounded steps goes beyond pebble automata. ◮ Allowing forward + backward unbounded steps goes beyond pebble