13 Petri Nets (22).pdf
- 1. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Process Mining: Data Science in Action
Petri Nets (2/2)
prof.dr.ir. Wil van der Aalst
www.processmining.org
- 2. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Safe traffic lights
r1
rg1
g1
go1
o1
or1
r2
rg2
g2
go2
o2
or2
x y
r1
rg1
g1
go1
o1
or1
r2
rg2
g2
go2
o2
or2
x
non-deterministic alternating
- 3. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Non-deteministic traffic lights
• Initial marking:
[r1,r2,x]
• Set of reachable
markings:
{ [r1,r2,x], [g1,r2],
[r1,g2], [o1,r2],
[r1,o2] }
r1
rg1
g1
go1
o1
or1
r2
rg2
g2
go2
o2
or2
x
- 4. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Reachability graph
r1
rg1
g1
go1
o1
or1
r2
rg2
g2
go2
o2
or2
x
[o1,r2]
[g1,r2]
[r1,r2,x]
[r1,o2]
[r1,g2]
rg1 rg2
or1 or2
go1 go2
The reachability graph of a Petri
net is a transition system with
one initial state (initial marking)
and no explicit final marking.
- 5. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Reachability graph
p1
t1
p2
p3
t2
p4
[p12
,p3]
t2
[p12
,p4]
[p1,p2,p3]
t1
t2
[p1,p2,p4]
t1
[p22
,p3]
t1
t2
t1
[p22
,p4]
- 6. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Question
Construct the
reachability graph
p1
t1
p2
p3
t2
p4
- 7. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Answer
p1
t1
p2
p3
t2
p4
[p12
,p3]
t2
[p1,p4]
[p1,p2,p3]
t1
t2
[p2,p4]
t1
[p22
,p3]
t1
- 8. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Multiple arcs connecting
a place and a transition
p1
t1
p2
p3
t2
p4
[p13
,p3]
t2
[p12
,p23
,p3]
t1
t2
t1
[p1,p26
,p3]
t1
[p29
,p3]
t1
[p1,p4]
[p23
,p4]
- 9. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Reachability graph does not need
to be finite
t2
p1
t1
p2
t3
p3
[p1]
t1
[p2]
t2
[p1,p3]
t1
[p2,p3]
t2
[p1,p32
]
t1
...
t3
[ ]
[p2,p32
]
t2
t3
[p3]
- 11. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Question (not easy, takes 10 minutes!)
• Model a circular railway system with four stations
(st1, st2, st3, and st4) and one train.
• At each station passengers may "hop on" or "hop
off". This is impossible if the train is moving.
• The train has a capacity of 50 persons; if the train
is full, no new passengers may hop on.
• Model the above process in terms of a Petri net.
• What is the number of reachable states?
- 12. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Hints
• How to describe the state of the train in
terms of its location (e.g., moving from st1 to
st2) and number of passengers (e.g., 36)?
• What are possible actions?
• When are they possible?
- 13. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Answer (1/4)
arrive
st1
leave
st1
arrive
st2
leave
st2
arrive
st3
leave
st3
arrive
st4
leave
st4
hop
on st1
hop
off
st1
move41 move12
move23
move34
hop
on st4
hop
on st3
hop
on st2
hop
off
st2
hop
off
st3
hop
off
st4
waiting st1
waiting st3
waiting st4 waiting st2
free busy
50
tokens
- 14. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Answer (2/4)
arrive
st1
leave
st1
arrive
st2
leave
st2
arrive
st3
leave
st3
arrive
st4
leave
st4
move41 move12
move23
move34
waiting st1
waiting st3
waiting st4 waiting st2
state of the
train: location
- 15. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Answer (3/4)
hop
on st1
hop
off
st1
hop
on st4
hop
on st3
hop
on st2
hop
off
st2
hop
off
st3
hop
off
st4
free busy
50
tokens
state of the train:
passengers
- 16. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Answer (4/4)
arrive
st1
leave
st1
arrive
st2
leave
st2
arrive
st3
leave
st3
arrive
st4
leave
st4
hop
on st1
hop
off
st1
move41 move12
move23
move34
hop
on st4
hop
on st3
hop
on st2
hop
off
st2
hop
off
st3
hop
off
st4
waiting st1
waiting st3
waiting st4 waiting st2
free busy
50
tokens
51 x 8 = 408
reachable
markings
merged model
Reachability
graph is already
too large to draw
manually!
- 17. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
"Token game" defines play-out
- 18. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Play-Out (Classical use of models)
a
b
c
d
e
p2
end
p4
p3
p1
start
a b c d
a c b d a b c d
a e d
a c b d
a c b d
a e d
a e d
- 19. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Play-In
a
b
c
d
e
p2
end
p4
p3
p1
start
a c b d a b c d
a e d
a c b d
a c b d
a e d
a e d
a b c d
- 20. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Replay
a
b
c
d
e
p2
end
p4
p3
p1
start
a b c d
- 21. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Replay
a
b
c
d
e
p2
end
p4
p3
p1
start
a e d
- 22. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Replay can detect problems
a
b
c
d
e
p2
end
p4
p3
p1
start
a c d
Problem!
missing token
Problem!
token left behind
- 23. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements)
Part I: Preliminaries
Chapter 2
Process Modeling and
Analysis
Chapter 3
Data Mining
Part II: From Event Logs to Process Models
Chapter 4
Getting the Data
Chapter 5
Process Discovery: An
Introduction
Chapter 6
Advanced Process
Discovery Techniques
Part III: Beyond Process Discovery
Chapter 7
Conformance
Checking
Chapter 8
Mining Additional
Perspectives
Chapter 9
Operational Support
Part IV: Putting Process Mining to Work
Chapter 10
Tool Support
Chapter 11
Analyzing “Lasagna
Processes”
Chapter 12
Analyzing “Spaghetti
Processes”
Part V: Reflection
Chapter 13
Cartography and
Navigation
Chapter 14
Epilogue
Chapter 1
Introduction
©Wil van der Aalst & TU/e (use only with permission & acknowledgements)