Toward Uniform Random Generation in 1-safe Petri Nets Yi-Ting Chen - - PowerPoint PPT Presentation
Toward Uniform Random Generation in 1-safe Petri Nets Yi-Ting Chen - - PowerPoint PPT Presentation
Toward Uniform Random Generation in 1-safe Petri Nets Yi-Ting Chen (LIP6 / Sorbonne Universit) Advisor: Jean Mairesse, Samy Abbes 2019 Apr 23 - LIPN Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Motivation
- Complexity and scale in software systems are increasing.
- The crucial factor is related to concurrency.
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Motivation
- Complexity and scale in software systems are increasing.
- The crucial factor is related to concurrency.
- Difficulty : "Combinatorial explosion problems"
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Motivation
- Complexity and scale in software systems are increasing.
- The crucial factor is related to concurrency.
- Difficulty : "Combinatorial explosion problems"
- Approach : Statistical model checking
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Motivation
- Complexity and scale in software systems are increasing.
- The crucial factor is related to concurrency.
- Difficulty : "Combinatorial explosion problems"
- Approach : Statistical model checking
→ probabilistic framework in a trace monoid
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Motivation
- Complexity and scale in software systems are increasing.
- The crucial factor is related to concurrency.
- Difficulty : "Combinatorial explosion problems"
- Approach : Statistical model checking
→ probabilistic framework in a trace monoid
- Goal : Random generation for concurrent systems
→ 1-safe Petri nets
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M1
M0 M1 c c a b
Reachability graph
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
- Concurrency :
- Casuality :
- Conflit :
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
- Concurrency : a, c
- Casuality :
- Conflit :
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
- Concurrency : a, c
- Casuality : a, b
- Conflit :
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
- Concurrency : a, c
- Casuality : a, b
- Conflit :
b, c
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
- From M0, abacb is a valid firing sequence.
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - 1-safe Petri nets
a b c
M0
M0 M1 c c a b
Reachability graph
- From M0, abacb is a valid firing sequence.
- We lost the feature of concurrency by viewing the firing
sequences as the sequential executions. ex : abacb = abcab
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - trace monoids
Trace monoid M
- Alphabet : Σ = {a, b, c}
- Independent relation :
I = {(a, c)} Heap of pieces
- Pieces:
a b c
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - trace monoids
Trace monoid M
- Alphabet : Σ = {a, b, c}
- Independent relation :
I = {(a, c)} Heap of pieces
- Pieces:
a b c
- Example of heap :
a b a c b abacb = abcab
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - trace monoids
Trace monoid M
- Alphabet : Σ = {a, b, c}
- Independent relation :
I = {(a, c)}
- Canonical normal form :
abacb = a · b · ac · b Heap of pieces
- Pieces:
a b c
- Example of heap :
a b a c b abacb = abcab
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Concurrent models - trace monoids
Trace monoid M
- Alphabet : Σ = {a, b, c}
- Independent relation :
I = {(a, c)}
- Canonical normal form :
abacb = a · b · ac · b
a c b ac
Heap of pieces
- Pieces:
a b c
- Example of heap :
a b a c b abacb = abcab
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Framework- random sampling from a Markov chain
- Take account of "concurrency" and "states"
a c b ac
traces in a trace monoid
M0 M1 c c a b
words in an automaton
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Framework- random sampling from a Markov chain
- Take account of "concurrency" and "states"
a c b ac
traces in a trace monoid
M0 M1 c c a b
words in an automaton
M0, a M1, b M1, c M0, ac M0, c
traces in an automaton
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Framework- random sampling from a Markov chain
- Take account of "concurrency" and "states"
- The executions of 1-safe Petri nets are understood up to
traces.
a c b ac
traces in a trace monoid
M0 M1 c c a b
words in an automaton
M0, a M1, b M1, c M0, ac M0, c
traces in an automaton
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniform measure on trace monoids
Trace monoid : M = a, b, c | a · c = c · a
- set of cliques C : ε, a, b, c, ac
- Möbius polynomial µ(x) =
c∈C
(−1)|c|x|c| = 1 − 3x + x2
- Möbius inversion formula : G(x) =
u∈M
x|u| =
1 µ(x)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniform measure on trace monoids
Trace monoid : M = a, b, c | a · c = c · a
- set of cliques C : ε, a, b, c, ac
- Möbius polynomial µ(x) =
c∈C
(−1)|c|x|c| = 1 − 3x + x2
- Möbius inversion formula : G(x) =
u∈M
x|u| =
1 µ(x)
Theorem (Abbes, Mairesse 2015)
There exists a unique uniform measure ν on ∂M, satisfying: ∀u ∈ M, ν(↑ u) = p|u| p0 : the root of smallest modulus of µ(x).
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniform measure on trace monoids
Theorem (Abbes, Mairesse 2015)
Let ν be the uniform measure on ∂M. Then the canonical normal decomposition of a trace is a realization of the Markov chain with initial probability measure h which is the Möbius transform of ν.
a c b ac
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniform measure on trace monoids
Theorem (Abbes, Mairesse 2015)
Let ν be the uniform measure on ∂M. Then the canonical normal decomposition of a trace is a realization of the Markov chain with initial probability measure h which is the Möbius transform of ν.
- # paths with length k in the
automaton = # traces with height k in a trace monoid
a c b ac
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniform measure for actions on trace monoids
Theorem (Abbes 2015)
Let X × M → X be an irreducible partial action. Then there exists a uniform Markov measure, satisfying : ∀α ∈ X ∀x ∈ Mα, να(↑ x) = p|x|
0 Γ(α, α · x).
a b c
- Gα(x) =
- u∈Mα
x|u|
- Γ(α, β) = lim
x→p0 Gβ(x) Gα(x)
- µα,β(x) =
- γ∈Cα,β
(−1)|γ|x|γ|
- Möbius matrix:
µ(x) = (µα,β)(x)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Properties of Γ function
- Define Γ(α, β) = lim
x→p0 Gβ(x) Gα(x)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Properties of Γ function
- Define Γ(α, β) = lim
x→p0 Gβ(x) Gα(x)
- cocycle relation: Γ(α, γ) = Γ(α, β)Γ(β, γ)
Γ(α, α) = 1
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Properties of Γ function
- Define Γ(α, β) = lim
x→p0 Gβ(x) Gα(x)
- cocycle relation: Γ(α, γ) = Γ(α, β)Γ(β, γ)
Γ(α, α) = 1
- Fix a state α0,
(Γ(α0, β))β ∈ ker µ(p0)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Calculation of Γ function
a b c
M0 → M0 : ε, c, M0 → M1 : a, ac, M1 → M0 : b, M1 → M1 : ε, c.
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Calculation of Γ function
a b c
M0 → M0 : ε, c, M0 → M1 : a, ac, M1 → M0 : b, M1 → M1 : ε, c. µ(x) = M0 M1 1 − x −x + x2 −x 1 − x
- .
p0 =
√ 5+1 2
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Calculation of Γ function
a b c
M0 → M0 : ε, c, M0 → M1 : a, ac, M1 → M0 : b, M1 → M1 : ε, c. µ(x) = M0 M1 1 − x −x + x2 −x 1 − x
- .
p0 =
√ 5+1 2
Let
- Γ(M0, M0)
Γ(M0, M1) T =
- 1
λ T ∈ ker µ(p0)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Calculation of Γ function
a b c
M0 → M0 : ε, c, M0 → M1 : a, ac, M1 → M0 : b, M1 → M1 : ε, c. µ(x) = M0 M1 1 − x −x + x2 −x 1 − x
- .
p0 =
√ 5+1 2
Let
- Γ(M0, M0)
Γ(M0, M1) T =
- 1
λ T ∈ ker µ(p0) −p0 + (1 − p0) · λ = 0
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Calculation of Γ function
a b c
M0 → M0 : ε, c, M0 → M1 : a, ac, M1 → M0 : b, M1 → M1 : ε, c. µ(x) = M0 M1 1 − x −x + x2 −x 1 − x
- .
p0 =
√ 5+1 2
Let
- Γ(M0, M0)
Γ(M0, M1) T =
- 1
λ T ∈ ker µ(p0) −p0 + (1 − p0) · λ = 0 = ⇒ λ = p0 1 − p0 = 1 p0 = √ 5 − 1 2 .
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
New proof from the linear algebra point of view
- Construct the expanded automaton of cliques
M = a, b, c | a · c = c · a
a b c ac1 ac2
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
New proof from the linear algebra point of view
- Construct the expanded automaton of cliques
M = a, b, c | a · c = c · a
a b c ac1 ac2
(a, 1) (b, 1) (c, 1) (ac, 1) (ac, 2) 1 1 1 1 1 1 1 1 1 1 1 1 1
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
New proof from the linear algebra point of view
- Construct the expanded automaton of cliques
M = a, b, c | a · c = c · a
a b c ac1 ac2
(a, 1) (b, 1) (c, 1) (ac, 1) (ac, 2) 1 1 1 1 1 1 1 1 1 1 1 1 1
- Find the Perron eigenvector of the incidence matrix of
this automaton
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
- Find the Perron eigenvector of the incidence matrix of
this automaton (a, 1) (b, 1) (c, 1) (ac, 1) (ac, 2) 1 1 1 1 1 1 1 1 1 1 1 1 1 v(c,i) = 1 pi−1h(c).
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
- Find the Perron eigenvector of the incidence matrix of
this automaton (a, 1) (b, 1) (c, 1) (ac, 1) (ac, 2) 1 1 1 1 1 1 1 1 1 1 1 1 1 v(c,i) = 1 pi−1h(c). v = h(a) h(b) h(c) h(ac)
1 ph(ac)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
- Find the Perron eigenvector of the incidence matrix of
this automaton (a, 1) (b, 1) (c, 1) (ac, 1) (ac, 2) 1 1 1 1 1 1 1 1 1 1 1 1 1 v(c,i) = 1 pi−1h(c). v = h(a) h(b) h(c) h(ac)
1 ph(ac)
- Since the incidence matrix is irreducible and aperiodic
- Apply Perron-FrobeniusTheorem
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on trace monoids
- Find the Perron eigenvector of the incidence matrix of
this automaton (a, 1) (b, 1) (c, 1) (ac, 1) (ac, 2) 1 1 1 1 1 1 1 1 1 1 1 1 1 v(c,i) = 1 pi−1h(c). v = h(a) h(b) h(c) h(ac)
1 ph(ac)
- Since the incidence matrix is irreducible and aperiodic
- Apply Perron-FrobeniusTheorem
- Get the uniqueness of the uniform measure
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on actions
Example for 1-safe petri net
a b c
M0, a M1, b M1, c M0, ac M0, c
νM0(C1 = c) = νM0(↑ c) − νM0(↑ (ac))
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on actions
Example for 1-safe petri net
a b c
M0, a M1, b M1, c M0, ac M0, c
νM0(C1 = c) = νM0(↑ c) − νM0(↑ (ac)) = p0 · Γ(M0, M0) − p2
0 · Γ(M0, M1)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on actions
Example for 1-safe petri net
a b c
M0, a M1, b M1, c M0, ac M0, c
νM0(C1 = c) = νM0(↑ c) − νM0(↑ (ac)) = p0 · Γ(M0, M0) − p2
0 · Γ(M0, M1)
= p0 · 1 − p2
0 · 1
p0 = 0
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on actions
Example for 1-safe petri net
a b c
M0, a M1, b M1, c M0, ac M0, c
- The automaton is NOT strongly connected
→ can not apply Perron-Frobenius Theorem
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Uniqueness of uniform measure on actions
Example for 1-safe petri net
a b c
M0, a M1, b M1, c M0, ac M0, c
- The automaton is NOT strongly connected
→ can not apply Perron-Frobenius Theorem
- Some state never go through under νM0
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Ongoing directions
- A systematic way to calculate Γ function
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Ongoing directions
- A systematic way to calculate Γ function
- Complete the proof of the uniqueness of uniform measure
- n actions in a trace monoid
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Ongoing directions
- A systematic way to calculate Γ function
- Complete the proof of the uniqueness of uniform measure
- n actions in a trace monoid
- Random generation for actions on a trace monoid
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions
Ongoing directions
- A systematic way to calculate Γ function
- Complete the proof of the uniqueness of uniform measure
- n actions in a trace monoid
- Random generation for actions on a trace monoid
- For the purpose of model checking (application of this
theory)
Introduction Uniform measure Uniform measure for actions Uniqueness of uniform measure Ongoing directions