Génération aléatoire et fonctions génératrices pour les

advertisement
Volumetry
Generating function and random sampling
Application to combinatorics
Génération aléatoire et fonctions génératrices
pour les langages temporisés et les permutations
Nicolas Basset
University of Oxford
2 Juillet
1/34
Volumetry
Generating function and random sampling
Application to combinatorics
The context of timed automata theory
Introduced by Alur and Dill in 1990 to model and verify real-time
properties of embedded systems (cars, phones, pacemakers...).
Since then many people works...
• on practical issues:
• successful implemented tools;
• used in the industry.
• and also on a common theoretical challenge: lifting results
from automata theory to timed automata theory.
2/34
Volumetry
Generating function and random sampling
Application to combinatorics
The context of timed automata theory
Introduced by Alur and Dill in 1990 to model and verify real-time
properties of embedded systems (cars, phones, pacemakers...).
Since then many people works...
• on practical issues:
• successful implemented tools;
• used in the industry.
• and also on a common theoretical challenge: lifting results
from automata theory to timed automata theory.
A research program since 2009 ⊂ theoretical challenge
(Asarin, Degorre, B., Perrin, Béal)
Leverage quantitative properties from
• automata theory (e.g. Kleene like system of equations for
generating functions);
• symbolic dynamics (e.g. entropy);
• coding theory.
2/34
Volumetry
Generating function and random sampling
Application to combinatorics
This talk
Volumetry of timed languages
Generating function and random sampling for timed languages
Application to combinatorics of permutations
3/34
Volumetry
Generating function and random sampling
Application to combinatorics
Outline
Volumetry of timed languages
Generating function and random sampling for timed languages
Application to combinatorics of permutations
4/34
Volumetry
Generating function and random sampling
Application to combinatorics
Timed Automata [Alur and Dill]
Timed automaton = Finite state automaton + clocks, guards,
reset
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
d; x a , x d ∈ (0; 1)/x a := 0
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
d; x a , x d ∈ (0; 1)/x a := 0
(0, 0)
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
(0.4, 0.4)
d; x a , x d ∈ (0; 1)/x a := 0
0.4 s elapsed
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
(0, 0.4)
d; x a , x d ∈ (0; 1)/x a := 0
x d := 0
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
(0.3, 0.7)
q
0.3 s elapsed
d; x a , x d ∈ (0; 1)/x a := 0
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
d; x a , x d ∈ (0; 1)/x a := 0
x a := 0
(0.3, 0)
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
(0.9, 0.6)
d; x a , x d ∈ (0; 1)/x a := 0
0.6 s elapsed
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
How does it work?
Recognizes timed words e.g. (0.4,a)(0.3,d)(0.6,a)
xa
a; x a , x d ∈ (0; 1)/x d := 0
p
1
q
(0, 0.6)
x d := 0
d; x a , x d ∈ (0; 1)/x a := 0
O
1
xd
5/34
Volumetry
Generating function and random sampling
Application to combinatorics
The timed language recognized
a; x a , x d
∈ (0; 1)/x d := 0
p
q
d; x a , x d ∈ (0; 1)/x a := 0
a
b
a
b
a b
a
<1
<1
Language: (t1 , a)(t2 , d)(t3 , a)(t4 , d) . . . such that ti + ti +1 ∈ (0; 1).
6/34
Volumetry
Generating function and random sampling
Application to combinatorics
Volume of the hypercube
a, x ≤ d/x := 0
Timed word : (t1 , a)(t2 , a) . . . (tn , a)
dimension 1
dimension 2
dimension 3
dimension n
?
t1 ≤ d
t1 , t2 ≤ d
t1 , t2 , t3 ≤ d
t1 , . . . , tn ≤ d
Volume d
Volume d 2
Volume d 3
Volume d n
7/34
Volumetry
Generating function and random sampling
Application to combinatorics
Volume of the hypercube
a, x ≤ d/x := 0
Volume generating function: f (z) =
dimension 1
dimension 2
P
n∈N
d nz n =
dimension 3
1
1−dz .
dimension n
?
t1 ≤ d
t1 , t2 ≤ d
t1 , t2 , t3 ≤ d
t1 , . . . , tn ≤ d
Volume d
Volume d 2
Volume d 3
Volume d n
7/34
Volumetry
Generating function and random sampling
Application to combinatorics
Volume of the simplex
a, x ≤ 1
Timed word : (t1 , a)(t2 , a) . . . (tn , a)
dimension 1
dimension 2
dimension 3
dimension n
?
t1 ≤ 1
t1 + t2 ≤ 1
t1 + t2 + t3 ≤ 1 t1 +· · ·+tn ≤ 1
Volume 1
Volume 1/2
Volume 1/6
Volume 1/n!
8/34
Volumetry
Generating function and random sampling
Application to combinatorics
Volume of the simplex
a, x ≤ 1
Volume generating function: f (z) =
dimension 1
dimension 2
P
1 n
n∈N n! z
dimension 3
= exp(z).
dimension n
?
t1 ≤ 1
t1 + t2 ≤ 1
t1 + t2 + t3 ≤ 1 t1 +· · ·+tn ≤ 1
Volume 1
Volume 1/2
Volume 1/6
Volume 1/n!
8/34
Volumetry
Generating function and random sampling
Application to combinatorics
Measuring timed languages
π1
t1
π3
t3
π2
t2
• Choosing a timed word (~t, π) ∈ Ln = Discrete choice for the
path π + Continuous choice for vector of delays ~t.
• Given π, Lπ = {~t | (~t, π) ∈ Ln } ⊆ Rn is a polytope (e.g.
hypercube, simplex...)
• Measure of Ln : Vn =
P
π∈E n Vol(Lπ )
• Volume generating function : f (z) =
(typically ≈ ρn )
P
n∈N
Vn z n
9/34
Volumetry
Generating function and random sampling
Application to combinatorics
Outline
Volumetry of timed languages
Generating function and random sampling for timed languages
Application to combinatorics of permutations
10/34
Volumetry
Generating function and random sampling
Application to combinatorics
Generating functions of timed languages
Volume generating function:
X
f (z) =
Vn z n
a; x a , x d ∈ (0; 1)/x d := 0
n∈N
For the thick twin:
f (z) = tan(z) + 1/ cos(z)
5 4
z + ...
= 1 + z + 21 z 2 + 13 z 3 + 24
d; x a , x d ∈ (0; 1)/x a := 0
11/34
Volumetry
Generating function and random sampling
Application to combinatorics
Generating functions of timed languages
Volume generating function:
X
f (z) =
Vn z n
a; x a , x d ∈ (0; 1)/x d := 0
n∈N
For the thick twin:
f (z) = tan(z) + 1/ cos(z)
5 4
z + ...
= 1 + z + 21 z 2 + 13 z 3 + 24
d; x a , x d ∈ (0; 1)/x a := 0
Main idea: consider starting state s = (q, ~x ) as a parameter.
• L(s): languages starting from s.
• vk (s) = Vol(Lk (s)) for k ∈ N.
• f (s, z) =
P
k∈N vk (s)z
k.
• Take value in the initial state s0 : f (z) = f (s0 , z).
11/34
Volumetry
Generating function and random sampling
Application to combinatorics
Languages and volume equations, operator Ψ [AD09]
•
•
•
•
States s = (q, ~x ) ∈ S
Timed letter α = (t, δ) ∈ A
α
Successor operation s −
→ sα (with sα ∈ S ∪ {⊥}).
R
RM
P
Integral over timed letter α∈A .dα = δ∈∆ 0 .dt
Recursive equations for languages and volumes
Languages equations
Volumes equations
L0 (s) = ε if s is final
v0 (s)R= 1F (s)
S
Lk+1 (s) = α∈A αLk (sα ) vk+1 (s) = α∈A vk (sα ) dα
with Lk (⊥) = ∅
with vk (⊥) = 0
Volumes and operator ΨZ
Ψ(g )(s) =def
g (sα ) dα
with g (⊥) = 0.
A
vn = Ψ(vn−1 ) = Ψn (1F ).
12/34
Volumetry
Generating function and random sampling
Application to combinatorics
From languages equations to generating functions
Recall
Languages equations
Volumes equations
L0 (s) = ε if s is final
v0 (s)R= 1F (s)
S
Lk+1 (s) = α∈A αLk (sα ) vk+1 (s) = α∈A vk (sα ) dα
with Lk (⊥) = ∅
with vk (⊥) = 0
P
Implies f (s, z) = k∈N vk (s)z k fixed point of:
Z
f (sα , z) dα + 1F (s).
f (s, z) = z
(1)
α∈A
More succinctly: f = zΨf + 1F ; this characterises f
13/34
Volumetry
Generating function and random sampling
Application to combinatorics
From languages equations to generating functions
Recall
Languages equations
Volumes equations
L0 (s) = ε if s is final
v0 (s)R= 1F (s)
S
Lk+1 (s) = α∈A αLk (sα ) vk+1 (s) = α∈A vk (sα ) dα
with Lk (⊥) = ∅
with vk (⊥) = 0
P
Implies f (s, z) = k∈N vk (s)z k fixed point of:
Z
f (sα , z) dα + 1F (s).
f (s, z) = z
(1)
α∈A
More succinctly: f = zΨf + 1F ; this characterises f
Remark
(1) can be obtained directly from:
[
L(s) =
αL(sα ) + (ε if s is final).
α∈A
13/34
Volumetry
Generating function and random sampling
Application to combinatorics
Characterization of the generating function.
Recall f (s, z) =
Theorem
P
k∈N vk (s)z
k
and f (z) = f (s0 , z)
For z within the disc of convergence, the function f is the unique
solution of the integral equation:
f = zΨf + 1F .
Can we compute a closed form formula of f from this equation?
14/34
Volumetry
Generating function and random sampling
Application to combinatorics
Characterization of the generating function.
Recall f (s, z) =
Theorem
P
k∈N vk (s)z
k
and f (z) = f (s0 , z)
For z within the disc of convergence, the function f is the unique
solution of the integral equation:
f = zΨf + 1F .
Can we compute a closed form formula of f from this equation?
• In general too difficult: involve variables ~x ∈ Rd with d > 1.
14/34
Volumetry
Generating function and random sampling
Application to combinatorics
Characterization of the generating function.
Recall f (s, z) =
Theorem
P
k∈N vk (s)z
k
and f (z) = f (s0 , z)
For z within the disc of convergence, the function f is the unique
solution of the integral equation:
f = zΨf + 1F .
Can we compute a closed form formula of f from this equation?
• In general too difficult: involve variables ~x ∈ Rd with d > 1.
• For some subclass of timed automata, yes!
14/34
Volumetry
Generating function and random sampling
Application to combinatorics
Random sampling
Problem statement
Given L and n > 0,
Generate time words t1 a1 · · · tn an ∈ Ln
probability 1/Vn .
with density of
15/34
Volumetry
Generating function and random sampling
Application to combinatorics
Random sampling
Problem statement...again parametrised wrt. starting state
Given L and n > 0, and s ∈ S
Generate time words t1 a1 · · · tn an ∈ Ln (s) with density of
probability 1/vn (s).
15/34
Volumetry
Generating function and random sampling
Application to combinatorics
The recursive method
q
a, x < 1, y < 1, x := 0
b, x < 1, y < 1, x := 0
p
r
Let vk (p, (x, y ), a) weight (volume) of timed words of length k
starting from state (p, (x, y )) and the transition a:
From volume equation...
vk (p, (x, y )) = vk (p, (x, y ), a) + vk (p, (x, y ), b)
Z
vk−1 (q, (0, y + t))dt
vk (p, (x, y ), a) =
t|x+t∧y +t≤1
...to recursive random sampling
Pk (a|p, (x, y )) =
vk (p, (x, y ), a)
,
vk (p, (x, y ))
Pk (t|p, (x, y ), a) =
vk−1 (q,(0,y +t))
vk (p,(x,y ),a)
Pk (b|p, (x, y )) =
vk (p, (x, y ), b)
vk (p, (x, y ))
16/34
Volumetry
Generating function and random sampling
Application to combinatorics
The Boltzmann method (1/2)
• Parameter: z < Rconv(f ) and s ∈ S.
• Boltzmann sampler: Pz (w ) =
z |w|
f (s,z) .
17/34
Volumetry
Generating function and random sampling
Application to combinatorics
The Boltzmann method (1/2)
• Parameter: z < Rconv(f ) and s ∈ S.
• Boltzmann sampler: Pz (w ) =
z |w|
f (s,z) .
Why do we want this?
17/34
Volumetry
Generating function and random sampling
Application to combinatorics
The Boltzmann method (1/2)
• Parameter: z < Rconv(f ) and s ∈ S.
• Boltzmann sampler: Pz (w ) =
z |w|
f (s,z) .
Why do we want this?
• Words of a fixed length have the same probability to occurs.
• Tuning z allows us to choose the expected size of output
timed words.
• Easy to construct knowing generating functions:
17/34
Volumetry
Generating function and random sampling
Application to combinatorics
The Boltzmann method (2/2)
q
a, x < 1, y < 1, x := 0
p
b, x < 1, y < 1, x := 0
r
Let f (p, (x, y ), a, z) generating function starting from (p, (x, y ))
and a:
From generating function equation...
f (p, (x, y ), z) = z ×
R f (p, (x, y ), a, z) + z × f (p, (x, y ), b, z) + 1
f (p, (x, y ), a, z) = t|x+t∧y +t≤1 f (q, (0, y + t), z)dt
...to Boltzmann sampling
Pz (ε) =
1
z × f (p, (x, y ), a, z)
, Pz (a|p, (x, y )) =
, ...
f (p, (x, y ), z)
f (p, (x, y ), z)
Pk (t|p, (x, y ), a) =
f (q,(0,y +t),z)
f (p,(x,y ),a,z)
18/34
Volumetry
Generating function and random sampling
Application to combinatorics
Pros and cons of the two methods
• Recursive methods: Space complexity:
O(|Q|n|horloges|+1 log(n)) for length n (in bits).
• Boltzmann sampling: needs to access the generating
functions. No closed form formulae in general.
19/34
Volumetry
Generating function and random sampling
Application to combinatorics
Pros and cons of the two methods
• Recursive methods: Space complexity:
O(|Q|n|horloges|+1 log(n)) for length n (in bits).
A solution (for quasi-uniform generation): fix m << n and at
each step k = 1..n use vm (sk )/vm+1 (sk−1 ) instead of
vn−k (sk )/vn−k+1 (sk−1 )
• Boltzmann sampling: needs to access the generating
functions. No closed form formulae in general.
19/34
Volumetry
Generating function and random sampling
Application to combinatorics
Pros and cons of the two methods
• Recursive methods: Space complexity:
O(|Q|n|horloges|+1 log(n)) for length n (in bits).
• Boltzmann sampling: needs to access the generating
functions. No closed form formulae in general.
We can compute closed form formulae for 1.5 clocks timed
automata:
f (p, (x, 0), z) = cos(xz)+sin((1−x)z)
cos(z)
a; x a , x d ∈ (0; 1)/x d := 0
p
q
d; x a , x d ∈ (0; 1)/x a := 0
19/34
Volumetry
Generating function and random sampling
Application to combinatorics
Outline
Volumetry of timed languages
Generating function and random sampling for timed languages
Application to combinatorics of permutations
20/34
Volumetry
Generating function and random sampling
Application to combinatorics
Permutations with signature in a regular language.
σ(n)
7
7
ascent
6
σ = 6724512
6
5
Signature:
sg(σ) = adaada
5
descent
ascent
4
4
ascent
3
2
3
descent
d
p
ascent
2
a
q
a
1
0
1
n
0
1
2
3
4
5
6
7
21/34
Volumetry
Generating function and random sampling
Application to combinatorics
First problem statement
Given L ⊆ {a, d}∗ , compute the exponential generating function:
FL (z) =
X
σ, sg(σ)∈L
X
zn
z |σ|
=
αn (L)
|σ|!
n!
n≥1
where αn (L) = |{σ ∈ Sn | sg(σ) ∈ L}|.
EGF for the Up-up-down-down permutations
F(aadd)∗ (aa+ǫ) =
sinh(z)−sin(z)+sin(z) cosh(z)+sinh(z) cos(z)
.
1+cos(z) cosh(z)
22/34
Volumetry
Generating function and random sampling
Application to combinatorics
Second problem statement
Given L ⊆ {a, d}∗ and n ≥ 1, construct a uniform random
sampler for {σ ∈ Sn | sg(σ) ∈ L}. That is
Prob(output = σ) =
1
αn (L)
where αn (L) = |{σ ∈ Sn | sg(σ) ∈ L}|.
23/34
Volumetry
Generating function and random sampling
Application to combinatorics
Second problem statement
Given L ⊆ {a, d}∗ and n ≥ 1, construct a uniform random
sampler for {σ ∈ Sn | sg(σ) ∈ L}. That is
Prob(output = σ) =
1
αn (L)
where αn (L) = |{σ ∈ Sn | sg(σ) ∈ L}|.
A permutation without 2 consecutive descents (n = 100)
[75, 76, 7, 72, 81, 64, 77, 55, 97, 15, 95, 18, 98, 32, 93, 17, 67, 12, 49, 85,
22, 50, 21, 68, 57, 87, 27, 41, 52, 61, 91, 26, 30, 59, 33, 73, 5, 54, 39, 43,
28, 44, 14, 62, 11, 80, 40, 47, 45, 66, 56, 69, 86, 19, 78, 90, 37, 71, 51, 99,
13, 48, 4, 34, 83, 100, 1, 6, 46, 82, 9, 35, 60, 29, 84, 20, 58, 79, 2, 38, 96,
10, 23, 88, 3, 53, 94, 36, 89, 16, 31, 24, 63, 8, 74, 42, 65, 70, 92, 25]
23/34
Volumetry
Generating function and random sampling
Application to combinatorics
A geometric interpretation
Order polytopes for permutation σ or signature w ∈ {a, d}n−1 .
• O(σ)= set of vectors of [0, 1]n with same order as σ.
• O(w )= set of vectors of [0, 1]n with signature w .
A vector in O(132) ⊂ O(ad)
1
d
a
0
Volume Generating Function
FL (z) =
X
σ, sg(σ)∈L
z |σ| X
=
Vol(O(u))z |u|+1 .
|σ|!
u∈L
24/34
Volumetry
Generating function and random sampling
Application to combinatorics
Two transitions and their timed semantic
We consider timed automata with two kinds of transition
a;x a ,x d ∈(0;1)/x d :=0
Ascent: −−−−−−−−−−−−→
d;x a ,x d ∈(0;1)/x a :=0
Descent: −−−−−−−−−−−−→
The timed polytope associated to w ∈ {a, d}∗ is
(~t,w )
Pw =def {~t | (0, 0) −−−→ y for some y ∈ [0, 1]2 }
Example
(0.4,a)
(0.3,d)
(0.6,a)
(0, 0) −−−−→ (0.4, 0) −−−−→ (0, 0.3) −−−−→ (0.6, 0)
Thus (0.4, 0.3, 0.6) ∈ Pada
25/34
Volumetry
Generating function and random sampling
Application to combinatorics
Chain polytopes
The chain polytope of u ∈ {a, d}n−1 is the set C(u) of vectors
~t ∈ [0, 1]n such that for all i < j ≤ n and l ∈ {a, d},
wi · · · wj−1 = l j−i ⇒ ti + . . . + tj < 1.
Links between the three kinds of polytopes
For l ∈ {a, d} and u ∈ {a, d}n−1 :
φ
vol. preserving
Pul = C(u) −−ul−−−−−−−−−→ O(u).
Example
A vector (t1 , t2 , t3 , t4 , t5 ) ∈ [0, 1]5 belongs to C(daadd) = Pdaadda
iff
t1 +
t2
t2
+t3 +
t4
t4
+t5 + t6
<1
<1
<1
d
aa
dd
iff 1 − t1 > t2 < t2 + t3 < 1 − t4 > 1 − t4 − t5 > t6
iff (1 − t1 , t2 , t2 + t3 , 1 − t4 , 1 − t4 − t5 , t6 ) ∈ O(daadd).
26/34
Volumetry
Generating function and random sampling
Application to combinatorics
Reducing the two problems
Reduction for Problem 1 (exponential generating function)
FL (z) =
X
u∈L
Vol(O(u))z |u|+1 =
X
Vol(L′′w )z |w | = VGF (L′′ )(z).
w ∈L′′
(Recall: volume preserving transformation φw : L′′w → O(u).)
Reduction for Problem 2 (uniform sampling)
1. Choose uniformly an n-length timed word (~t, w ) ∈ L′′n ;
2. compute ~ν = φw (~t) ∈ On (L);
3. return σ such that ~ν ∈ O(σ) (using a sort).
27/34
Volumetry
Generating function and random sampling
Application to combinatorics
Reducing the two problems
Reduction for Problem 1 (exponential generating function)
FL (z) =
X
u∈L
Vol(O(u))z |u|+1 =
X
Vol(L′′w )z |w | = VGF (L′′ )(z).
w ∈L′′
(Recall: volume preserving transformation φw : L′′w → O(u).)
Reduction for Problem 2 (uniform sampling)
1. Choose uniformly an n-length timed word (~t, w ) ∈ L′′n ;
2. compute ~ν = φw (~t) ∈ On (L);
3. return σ such that ~ν ∈ O(σ) (using a sort).
Now it suffices to solve the problems for timed automata over
{a, d}.
27/34
Volumetry
Generating function and random sampling
Application to combinatorics
Only one clock is needed
Two new kinds of transition
(t,S)
• Straight: x −−−→ x + t if x + t < 1
to replace
(.,a)
(t,a)
(.,d)
(t,d)
. −−→ (x a , 0) −−−→ (x a + t, 0) if x a + t < 1;
. −−→ (0, x d ) −−−→ (0, x d + t) if x d + t < 1;
(t,T )
• Turn: x −−−→ t if x + t < 1
to replace
(.,a)
(t,d)
(.,d)
(t,a)
. −−→ (x a , 0) −−−→ (0, t) if x a + t < 1;
. −−→ (0, x d ) −−−→ (t, 0) if x d + t < 1;
28/34
Volumetry
Generating function and random sampling
y
7
Application to combinatorics
The straight-turn encoding of signatures
7
a
6Turn
6
Straight
5
d
Straight
p
5
q
a
4 Turn
4
Turn
3
3
S
T
2
Turn
2
1
0
p
q
T
1
x
0
1
2
3
4
5
6
7
29/34
Volumetry
Generating function and random sampling
Application to combinatorics
Language and VGF equations
No two consecutive descents
S
T
p
q
T
parametrized language equations
Lp (x) = ∪t≤1−x (t, S)Lp (x + t)∪ ∪t≤1−x (t, T)Lq (t) ∪ ǫ
Lq (x) =
∪t≤1−x (t, T)Lp (t)
parametrized VGF
fp (x, z) = z
fq (x, z) =
R
t≤1−x fp (x
R
+ t, z)dt+ z t≤1−x fq (t, z)dt + 1
R
z t≤1−x fp (t, z)dt
30/34
Volumetry
Generating function and random sampling
Application to combinatorics
The matrix notation
~f (x, z) = zMS
Z
1
~f (s, z)ds + zMT
x
Z
1−x
~f (t, z)dt + F
~
0
No two consecutive descents
S
T
p
MS =
q
T
1 0
0 1
1
~
, MT =
,F =
.
0 0
1 0
0
31/34
Volumetry
Generating function and random sampling
Application to combinatorics
Solving the equation
~f (x, z) = zMS
Z
1
~f (s, z)ds + zMT
x
Z
1−x
~f (t, z)dt + F
~
0
!
!
~f (x, z)
~f (x, z)
−MS −MT
=z
~f (1 − x, z)
~f (1 − x, z)
MT
MS
!
!
~f (1, z)
~f (0, z)
−MS −MT
~
= exp z
and ~f (1, z) = F
~f (0, z)
~f (1, z)
MT
MS
∂
∂x
An algorithm to compute FL (z)
A1 (z) A2 (z)
−MS −MT
1. Compute
=def exp z
;
A3 (z) A4 (z)
MT
MS
2. return FL (z) the component of
~f (0, z) = [A1 (z)]−1 [I − A2 (z)]F
~ = [I − A3 (z)]−1 A4 (z)F
~
corresponding to the initial state q0 .
32/34
Volumetry
Generating function and random sampling
Application to combinatorics
A classical example: the alternating permutations
e.g. σ = 94738251
T
~ = MT = (1), MS = (0).
Here F
0 −z
cos z
−MS −MT
= exp
=
exp z
z 0
MT
MS
sin z
− sin z
cos z
~ = [I − A3 (z)]−1 A4 (z)F
~)
(Recall FL (z) = [A1 (z)]−1 [I − A2 (z)]F
FL (z) =
cos z
1 + sin z
=
cos z
1 − sin z
33/34
Volumetry
Generating function and random sampling
Application to combinatorics
A classical example: the alternating permutations
e.g. σ = 94738251
T
~ = MT = (1), MS = (0).
Here F
0 −z
cos z
−MS −MT
= exp
=
exp z
z 0
MT
MS
sin z
− sin z
cos z
~ = [I − A3 (z)]−1 A4 (z)F
~)
(Recall FL (z) = [A1 (z)]−1 [I − A2 (z)]F
FL (z) =
cos z
1 + sin z
=
cos z
1 − sin z
For Boltzmann sampling:
f (x, z) = z
with
f (x, z) =
Z
1−x
f (t, z)dt + 1
0
cos(xz) + sin(1 − x)z
cos z
33/34
Volumetry
Generating function and random sampling
Application to combinatorics
Conclusion
Some idea exposed here
• Link between permutations, poset polytopes and timed
languages.
• Kleene like equations for timed languages, their volumes and
generating functions.
Future work
• Analytic combinatorics with continuous parameters
(measurable union, poset polytopes...).
• Statistical model checking (simulation) using random
sampling of timed words.
• Further exploration of combinatorics of permutations.
34/34
Download