optimised calculation of symmetries for state space reduction

30
Optimised Calculation of Symmetries for State Space Reduction HARRO WIMMEL Universität Rostock, Institut für Informatik 8. Oktober 2010 c 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 1 / 17

Upload: universitaet-rostock

Post on 22-Apr-2015

849 views

Category:

Education


0 download

DESCRIPTION

AWPN 2010

TRANSCRIPT

Page 1: Optimised Calculation of Symmetries for State Space Reduction

Optimised Calculation ofSymmetries for State SpaceReduction

HARRO WIMMEL

Universität Rostock, Institut für Informatik

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 1 / 17

Page 2: Optimised Calculation of Symmetries for State Space Reduction

Overview

What are Symmetries?DefinitionCalculating Symmetries in LoLA

Optimised Calculation of SymmetriesInheritance of Dead BranchesProducts instead of PowersPartial Orthogonalisation

Experimental Results

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 2 / 17

Page 3: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?Symmetries are Automorphisms

A symmetry maps a Petri Net onto itself:

• Places to places

• Transitions to transitions

• Edges to edges

• Tokens to tokens, if applicable

• bijectively, i.e. each object appears exactly once as image.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 3 / 17

Page 4: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 5: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 -

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 6: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 1

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 7: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 -

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 8: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 - 4

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 9: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 - 4, b - d

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 10: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 - 4, b - d3 - 5

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 11: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 - 4, b - d3 - 5, c - e

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 12: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 - 4, b - d3 - 5, c - e2 - 6

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 13: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 12 -

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 14: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 1, a - a2 - 3, b - c

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 15: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 1, a - a2 - 3, b - c3 - 2, c - b

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 16: Optimised Calculation of Symmetries for State Space Reduction

What are Symmetries?An Example

1

a

2 b

3c

4 d 5

e6f

1 - 1, a - a2 - 3, b - c3 - 2, c - b4 - 5, d - e5 - 6, e - f6 - 4, f - d

Written as a permutation:(1)(a)(2 3)(b c)(4 5 6)(d e f )

The mapping of transitions is usuallyforced, that is, (2 3)(4 5 6) suffices asa full representation.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 4 / 17

Page 17: Optimised Calculation of Symmetries for State Space Reduction

Caclulating Symmetries in LoLAThe Implementation so far

1. Brute-force-method to calculate symmetries (see the example)

• high complexity (solves the graph isomorphism problem, unknown if polynomial)

• needs to be done at least for the first symmetry

2. Calculation of powers of symmetries

• in linear time (per power)

• needs a symmetry as input

3. Combination of these methods

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 5 / 17

Page 18: Optimised Calculation of Symmetries for State Space Reduction

Caclulating Symmetries in LoLAThe Implementation so far

1. Brute-force-method to calculate symmetries (see the example)

• high complexity (solves the graph isomorphism problem, unknown if polynomial)

• needs to be done at least for the first symmetry

2. Calculation of powers of symmetries

• in linear time (per power)

• needs a symmetry as input

3. Combination of these methods

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 5 / 17

Page 19: Optimised Calculation of Symmetries for State Space Reduction

Calculating Symmetries in LoLABuilding Powers of Symmetries

For our example σ = (2 3)(4 5 6) we calculate

• σ1 = (2 3)(4 5 6),

• σ2 = (4 6 5),

• σ3 = (2 3),

• σ4 = (4 5 6),

• σ5 = (2 3)(4 6 5),

• σ6 = id (identity).

By chance, these are all the symmetries there are.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 6 / 17

Page 20: Optimised Calculation of Symmetries for State Space Reduction

Calculating Symmetries in LoLAPartial Symmetries and Dead Branches

The brute-force approach recursively completes partial symmetries (starting withthe empty set) to full symmetries by assigning images to objects.

The examples assignment 1- 1, 2- 4 cannot be completed whatever wechoose to be the images of the places 3, 4, 5, and 6.

But: the brute-force algorithm has to check all possible assignments to 3, 4, 5, and6 to exclude the existence of a symmetry, i.e. it has to search this dead branchcompletely.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 7 / 17

Page 21: Optimised Calculation of Symmetries for State Space Reduction

Calculating Symmetries in LoLAGenerators

Symmetries can be built from a set of generators. For n objects (places) we needfrom each class S i

j (1 ≤ i ≤ j ≤ n) of symmetries with

• k - k for all k < i and

• i - j

exactly one symmetry %ij ∈ S i

j , then we can write any symmetry σ as

σ = %nmn◦ . . . ◦ %2

m2◦ %1

m1

with m1 = σ(1), m2 = (%1m1

)−1(σ(2)), m3 = (%2m2

)−1((%1m1

)−1(σ(3))) etc.We obtain a „small“ set of generators (compared to the number of all symmetries).

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 8 / 17

Page 22: Optimised Calculation of Symmetries for State Space Reduction

Optimisation: Inheritance of dead branches

PrerequisitesThe brute-force approach has shown a dead branch for some S i

j , i.e. S ij = ∅.

There is a symmetry in some S jm.

TheoremThen, S i

m = ∅ and needs not be computed by the brute-force approach.

ProofFrom %i

m ∈ S im and %j

m ∈ S jm we conclude %i

m ◦ (%jm)−1 ∈ S i

j . A contradiction.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 9 / 17

Page 23: Optimised Calculation of Symmetries for State Space Reduction

Optimisation: Products instead of Powers

Instead of computing only the powers σ1, σ2, σ3, . . . and checking whether thesebelong to a so far empty class S i

j , we can use all symmetries found up until now:

Building ProductsFor each newly found symmetry σ ∈ S i

j and each formerly known symmetry% ∈ Sk

m with k ≥ i we can check in O(1) if we already know of a symmetry inS i

%(j). If not, σ ◦ % ∈ S i%(j) is one.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 10 / 17

Page 24: Optimised Calculation of Symmetries for State Space Reduction

Optimisation: Products instead of PowersRough Complexity

If n is the number of objects (places) and m is the size of a set of generators for thesymmetries, we need for all symmetries

• for the calcuation of powers:

• n powers (up to the „identity“ S ii ) for m symmetries

• O(n) per power, altogether O(m ∗ n2).

• for the calculation of products:

• m products, m < n or m > n possible, for m symmetries

• O(1) per test, if no new symmetry is obtained

• O(n) per new symmetry, altogether O(m2 + m ∗ n)

Typically, products lead faster to more symmetries than powers.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 11 / 17

Page 25: Optimised Calculation of Symmetries for State Space Reduction

Optimisation: Partial OrthogonalisationAn Example

1

a

2 b

3c

4 d 5

e6f

Generators (e.g.):• %1

1 = (2 3)(4 6 5),• %2

2 = id, %23 = (2 3)(4 5 6)

• %44 = id, %4

5 = (4 5 6), %46 = (4 6 5)

Reduction:• (%1

1)6 = id ∈ S1

1 ,• %2

2 = id, (%23)

3 = (2 3) ∈ S23• %4

4 = id, %45 = (4 5 6), %4

6 = (4 6 5)

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 12 / 17

Page 26: Optimised Calculation of Symmetries for State Space Reduction

Optimisation: Partial Orthogonalisation• Generating cycle GC contains index (for %2

3 = (2 3)(4 5 6) it is(2 3) = GC )

• All powers σ|GC |k+1 (k ∈ N) of σ contain GC

• All powers σ|OC |` (` ∈ N) do not contain some other cycle OC

• Solution of |GC |k + 1 = |OC |` eliminates OC and remains in the sameclass S i

j

• Can be infeasible, for an optimal power eliminate all prime factors of |GC |from |OC |

ResultPartial orthogonalisation reduces the size of the representation and partially allowsto commute symmetries, i.e. such symmetries do not influence each other.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 13 / 17

Page 27: Optimised Calculation of Symmetries for State Space Reduction

Experimental ResultsDead Branches

Let Ni be the Petri Net with i cycles of lengths from 1 to i (N3 being the examplenet). Many dead branches occur. A comparison of LoLA without and with theproposed optimisation yields:

Ni #gen LoLA-old LoLA-newN10 45 <0.1s <0.1sN15 105 0.4s 0.2sN20 190 2.4s 1.3sN25 300 8.2s 4.4sN30 435 25s 13sN35 595 66s 34s

#gen is the size of the generator set.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 14 / 17

Page 28: Optimised Calculation of Symmetries for State Space Reduction

Experimental ResultsProducts instead of Powers

The optimisation of using products instead of powers can be shown with a grid ofcommunication agents in d dimensions with n agents in any direction (ECHO d/n).

ECHO #symm #gen LoLA-old LoLA-new3/3 48 10 0.2s <0.1s3/5 48 10 4.6s 2.9s3/7 48 10 29s 16s4/3 384 21 3.5s 1.6s4/5 384 21 244s 96s5/3 3840 41 82s 23s

#symm is the number of all symmetries, #gen the size of the generator set.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 15 / 17

Page 29: Optimised Calculation of Symmetries for State Space Reduction

K. Schmidt: Explicit State Space Verification, Habilitation Thesis, HumboldtUniversität zu Berlin, 2002.

K. Wolf: LoLA – A low level analyzer,http://www.informatik.uni-rostock.de/∼nl/wiki/tools/lola, 2010.

W. Reisig: Elements of Distributed Algorithms, Springer Verlag, 1998.

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 16 / 17

Page 30: Optimised Calculation of Symmetries for State Space Reduction

Thanks For Your Attention!

8. Oktober 2010 c© 2010 UNIVERSITÄT ROSTOCK | FAKULTÄT FÜR INFORMATIK & ELEKTROTECHNIK, INSTITUT FÜR INFORMATIK 17 / 17