Symbolic Encodings of Bounded Synthesis
Peter Faymonville1, Bernd Finkbeiner1, Markus N. Rabe2, Leander Tentrup1
1Reactive Systems Group
Saarland University
2UC Berkeley
Symbolic Encodings of Bounded Synthesis Saarland University Peter - - PowerPoint PPT Presentation
Symbolic Encodings of Bounded Synthesis Saarland University Peter Faymonville 1 , Bernd Finkbeiner 1 , Markus N. Rabe 2 , Leander Tentrup 1 1 Reactive Systems Group 2 UC Berkeley Reactive synthesis Synthesis realizable unrealizable bound
Peter Faymonville1, Bernd Finkbeiner1, Markus N. Rabe2, Leander Tentrup1
1Reactive Systems Group
Saarland University
2UC Berkeley
realizable unrealizable bound [Schewe/F. 2007]
realizable unrealizable bound n [Schewe/F. 2007]
▸ synthesis of systems with minimal # states ▸ basis for other output-sensitive synthesis algorithms,
e.g. bounded cycle synthesis [F./Klein 2016]
▸ undecidable synthesis problems, e.g., distributed synthesis, become decidable ▸ complexity split between input and output
1-process architectures — 2EXPTIME
Env
1 a b Pipeline architectures — NONELEMENTARY
Env
1 2 3 a b c d 2-process arbiter architecture — UNDECIDABLE
Env
1 2 r1 r2 g1 g2
1-process architectures — NP
Env
1 a b Pipeline architectures — NP
Env
1 2 3 a b c d 2-process arbiter architecture — NP
Env
1 2 r1 r2 g1 g2
specification φ Co-Büchi automaton universal Büchi automaton nondeterministic deterministic automaton emptiness game constraint system
bounded standard
specification φ Co-Büchi automaton universal Büchi automaton nondeterministic deterministic automaton emptiness game constraint system doubly exponential in specification exponential in specification NP in bound
bounded standard
specification φ Co-Büchi automaton universal Büchi automaton nondeterministic deterministic automaton emptiness game constraint system symbolic encoding BDDs, antichains, etc standard encoding (2007): explicit
bounded standard
specification φ Co-Büchi automaton universal Büchi automaton nondeterministic deterministic automaton emptiness game constraint system symbolic encoding BDDs, antichains, etc standard encoding (2007): explicit new encoding (2017): symbolic
bounded standard
universal co-Büchi automaton Aφ q0 q1 q2 qe ⊺ r1 r2 g1g2 g1 g2 ⊺ φ = (r1 → g1) ∧ (r2 → g2) ∧ ¬(g1 ∧ g2) Transition System T t0 t1 ⊺/g1 ⊺/g2
Run graph with annotation λ q0 q1 q2 qe ⊺ r1 r2 g1g2 g1 g2 ⊺
t0 t1 ⊺/g1 ⊺/g2
⟨t0, q0⟩ λ ∶ 0 ⟨t1, q0⟩ λ ∶ 0 ⟨t1, q1⟩ λ ∶ 1 ⟨t1, q2⟩ λ ∶ 2 ⟨t0, q1⟩ λ ∶ 2 ⟨t0, q2⟩ λ ∶ 1 ⟨t0, qe⟩ λ ∶ ⟨t1, qe⟩ λ ∶
Run graph with annotation λ q0 q1 q2 qe ⊺ r1 r2 g1g2 g1 g2 ⊺
t0 t1 ⊺/g1 ⊺/g2
⟨t0, q0⟩ λ ∶ 0 ⟨t1, q0⟩ λ ∶ 0 ⟨t1, q1⟩ λ ∶ 1 ⟨t1, q2⟩ λ ∶ 2 ⟨t0, q1⟩ λ ∶ 2 ⟨t0, q2⟩ λ ∶ 1 ⟨t0, qe⟩ λ ∶ ⟨t1, qe⟩ λ ∶
Encode the existence of a transition system and a valid annotation
▸ Representation of transition system
▸ states t ∈ T ▸ transitions τt,i,t′ ▸ output labeling ot,i
▸ Representation of annotation on run graph T × Q
▸ state occurrence λB ▸ rejecting bound λ#
λB
t0,q0 ∧ ⋀ q∈Q
⋀
t∈T
⎛ ⎝λB
t,q → ⋀ q′∈Q
⋀
i∈2I
(δt,q,i,q′ → ⋀
t′∈T
(τt,i,t′ → λB
t′,q′ ∧ λ# t′,q′ ⊳q′ λ# t,q))⎞
⎠
SAT
▸ Only existentially quantified boolean variables permitted. ▸ No symbolic encoding of functions.
QBF
▸ Universally and existentially quantified boolean variables in total order. ▸ Symbolic encoding of functions with single applications.
DQBF
▸ Universally and existentially quantified boolean variables in partial order. ▸ Symbolic encoding of functions with multiple applications.
LTL realizability, SYNTCOMP 2016 experiment set
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 10−2 10−1 100 101 102 103 # instances time (sec.) fully-symbolic state-symbolic SMT basic input-symbolic
I T Q Symbolic ✗ ✗ ✗ ∃{λB
t,q, λ# t,q ∣ t ∈ T, q ∈ Q}
∃{τt,i,t′ ∣ (t, t′) ∈ T × T, i ∈ 2I} ∃{ot,i ∣ o ∈ O, t ∈ T, i ∈ 2I}
I T Q Symbolic ✗ ✗ ✗ ∃{λB
t,q, λ# t,q ∣ t ∈ T, q ∈ Q}
∃{τt,i,t′ ∣ (t, t′) ∈ T × T, i ∈ 2I} ∃{ot,i ∣ o ∈ O, t ∈ T, i ∈ 2I} λB
t0,q0 ∧ ⋀ t∈T
⋀
i∈2I ⋁ t′∈T
τt,i,t′ ⋀
q∈Q
⋀
t∈T
⎛ ⎝λB
t,q → ⋀ q′∈Q
⋀
i∈2I
(δt,q,i,q′ → ⋀
t′∈T
(τt,i,t′ → λB
t′,q′ ∧ λ# t′,q′ ⊳q′ λ# t,q))⎞
⎠
I T Q Symbolic ✓ ✗ ✗ ∃{λB
t,q, λ# t,q ∣ t ∈ T, q ∈ Q}
∀I ∃{τt,t′ ∣ (t, t′) ∈ T × T} ∃{ot ∣ o ∈ O, t ∈ T}
I T Q Symbolic ✓ ✗ ✗ ∃{λB
t,q, λ# t,q ∣ t ∈ T, q ∈ Q}
∀I ∃{τt,t′ ∣ (t, t′) ∈ T × T} ∃{ot ∣ o ∈ O, t ∈ T} λB
t0,q0 ∧ ⋀ t∈T
⋁
t′∈T
τt,t′ ⋀
q∈Q
⋀
t∈T
⎛ ⎝λB
t,q → ⋀ q′∈Q
(δt,q,q′ → ⋀
t′∈T
(τt,t′ → λB
t′,q′ ∧ λ# t′,q′ ⊳q′ λ# t,q))⎞
⎠
I T Q Symbolic ✓ ✓ ✗ ∃{λB
q ∶2T → B, λ# q∶2T → Bb ∣ q ∈ Q}
∃τ ∶ 2T × 2I → 2T ∃{o∶2T × 2I → B ∣ o ∈ O} ∀I. ∀T, T′.
I T Q Symbolic ✓ ✓ ✗ ∃{λB
q ∶2T → B, λ# q∶2T → Bb ∣ q ∈ Q}
∃τ ∶ 2T × 2I → 2T ∃{o∶2T × 2I → B ∣ o ∈ O} ∀I. ∀T, T′. (T = 0 → λB
q0(T))
⋀
q∈Q
⎛ ⎝λB
q (T) → ⋀ q′∈Q
(δq,q′ ∧ (τ(T, I) ⇒ T′) → λB
q′(T′) ∧ λ# q′(T′) ⊳q′ λ# q(T))⎞
⎠
I T Q Symbolic ✓ ✓ ✓ ∃λB∶2T × 2Q → B, λ#∶2T × 2Q → Bb ∃τ ∶ 2T × 2I → 2T ∃{o∶2T × 2I → B ∣ o ∈ O} ∀I. ∀T, T′. ∀Q, Q′.
I T Q Symbolic ✓ ✓ ✓ ∃λB∶2T × 2Q → B, λ#∶2T × 2Q → Bb ∃τ ∶ 2T × 2I → 2T ∃{o∶2T × 2I → B ∣ o ∈ O} ∀I. ∀T, T′. ∀Q, Q′. (T = 0 ∧ Q = 0 → λB(T, Q)) ∧ (λB(T, Q) → (δ ∧ (τ(T, I) ⇒ T′) → λB(T′, Q′) ∧ λ#(T′, Q′) ⊳ λ#(T, Q)))
Maximal parameter value, cumulative solving time (timeout 1h) basic input-sym state-sym Acacia Party instance max k sum t max k sum t max k sum t max k sum t max k sum t simple-arbiter 7 1008.7 8 2.7 3 100.5 8 59.2 6 902.7 full-arbiter 4 2994.5 3 0.6 2 13.3 5 2683.4 3 111.7 roundrob-arbiter 4 143.1 4 227.0 2 11.0 4 345.6 4 19.2 loadfull 5 268.7 8 44.2 2 25.1 4 83.7 4 213.5 prio-arbiter 4 176.5 4 1.6 2 0.4 6 701.2 3 69.0 loadcomp 5 36.9 6 639.4 3 432.1 5 387.8 5 212.7 genbuf 2 1840.3 2 2711.8 – 5 159.3 – generalized-bufger 2 2093.8 2 3542.8 – 6 3194.8 2 792.5 load-balancer 5 1148.8 8 83.2 2 75.3 5 270.8 – detector 6 1769.0 8 1010.7 3 239.4 8 261.6 5 370.3
LTL realizability, SYNTCOMP 2016 experiment set
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 10−2 10−1 100 101 102 103 # instances time (sec.) fully-symbolic state-symbolic Party elli rally SMT basic input-symbolic Acacia
▸ Assignments from SAT solver ▸ Skolem functions from QBF solver
Input-symbolic vs. basic encoding, circuit size (# AND-Gates)
100 101 102 103 100 101 102 103 basic input-symbolic
Input-symbolic encoding vs. state-of-the-art tools, circuit size (# AND-Gates) 100 101 102 103 104 105 100 101 102 103 104 105
Acacia BoSy (input-symbolic)
100 101 102 103 100 101 102 103
Party elli rally BoSy (input-symbolic)
▸ Symbolic encoding for bounded synthesis pays ofg ▸ Today, QBF = input symbolic encoding is the sweetspot:
Runtime competitive with non-bounded symbolic synthesis Implementation size > order of magnitude better
▸ Significant potential for DQBF solvers