introduction to process discoveryprocess discovery process identification process analysis process...

Post on 11-Oct-2020

12 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Fabrizio Maria Maggi

f.m.maggi@ut.ee

Introduction to Process Discovery

Process discovery

Process identification

Processanalysis

Processimplementation

Processmonitoring

Processredesign

Process architecture

As-is processmodel

Insights onweaknesses and

their impact

To-be process model

Executable processmodel

Conformance and performance

insights

Process Analysis in the BPM

Lifecycle

Define Vision Develop Strategy Implement Strategy

Manage Personnel Manage Assets

Management Processes

Core Processes

Support Processes

Manage Risk

ManageInformation

ProcureMaterials

ProcureProducts

MarketProducts

Deliver Products

Manage Customer

Service

Examples for BPM lifecycle and process mining

C

1.5h

B

15h

DE

2h

C DA B E

A

3m

35h 30h

15m

10m

10min

5m5m 10m30m

Process Mining

www.processmining.org

Process Mining

www.processmining.org

α-algorithm: the Origin of Process Discovery

van der Aalst, W. M. P. and Weijters, A. J. M. M. and Maruster,

L. (2003). Workflow Mining: Discovering process models

from event logs, IEEE Transactions on Knowledge and Data

Engineering

α-algorithm

Basic Idea: Ordering relations

• Direct succession: x>y iff for some case x is directly followed by y.

• Causality: xy iff x>y and not y>x.

• Parallel: x||y iff x>y and y>x

• Unrelated: x#y iff not x>y and not y>x.

case 1 : task A

case 2 : task A

case 3 : task A

case 3 : task B

case 1 : task B

case 1 : task C

case 2 : task C

case 4 : task A

case 2 : task B

...

A>B

A>C

B>C

B>D

C>B

C>D

E>F

AB

AC

BD

CD

EF

B||C

C||B

ABCD

ACBD

EF

Basic Idea: Example

Basic Idea: Example

Basic Idea: Footprints

α-Algorithm

Idea (a)

α-Algorithm

Idea (a)

a b

α-Algorithm

Idea (b)

α-Algorithm

Idea (b)

a b, a c and b # c

α-Algorithm

Idea (c)

α-Algorithm

Idea (c)

b d, c d and b # c

α-Algorithm

Idea (d)

α-Algorithm

Idea (d)

a b, a c and b || c

α-Algorithm

Idea (e)

α-Algorithm

Idea (e)

b d, c d and b || c

α-algorithm: Applicative Example

α(L) = ?

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

ALPHABET

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

ALPHABET

{a,b,c,d,e,f,g}

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

INITIAL ACTIVITIES

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

INITIAL ACTIVITIES

{a}

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

FINAL ACTIVITIES

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

FINAL ACTIVITIES

{g}

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

α-algorithm: Applicative Example

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

a b c d e f g

a # > > # # # #

b < # || > # # #

c < || # > # # #

d # < < # > > #

e # # # < # # >

f # # # < # # >

g # # # # < < #

FOOTPRINTS

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

L= { <a,b,c,d,e,g> 3, <a,c,b,d,e,g> 2, <a,b,c,d,f,g>, <a,c,b,d,f,g> 4}

α-algorithm: Applicative Example

α(L) = ?

L= { <a,b,c,d,e,f> 4, <a,g,h,d,f,e> 2, <a,b,c,d,f,e> 3, <a,g,h,d,e,f> 3}

Limitations of alpha miner

Completeness

All possible traces of the process (model) need to be in the log

Short loops

c>b and b>c implies c||b and b||cinstead of cb and bc

Self-loops

b>b and not b>b implies bb (impossible!)

Frequency of the Ordering Relations?

Little Thumb to Deal with Noise

van der Aalst, W. M. P. and Weijters, A. J. M. M. (2003).

Rediscovering workflow models from event-based data

using little thumb, Integrated Computer-Aided Engineering

Heuristics Miner

Heuristics Miner

number between -1 and 1 indicating strength of causal dependency between a and b

Heuristics Miner

Heuristics Miner

Heuristics Miner

What’s the corresponding process model?

Automated Process Discovery

Automated process

discovery method

Simplicity

minimal size & structural complexity

Precision

does not parse traces not in the

log

Fitness

parses the traces of the log

Generalization

parses traces of the process not

included in the log

50

Process Discovery Algorithms:

The Two Worlds

High-Fitness

High-Precision

Heuristic Miner

Fodina Miner

High-Fitness

Low-Complexity

Process Model discovered with Heuristics

Miner

Process Model discovered with

Inductive Miner

Structured by construction

Based on process tree

Process Discovery Algorithms:

The Two Worlds

High-Fitness

High-Precision

Heuristic Miner

Fodina Miner

High-Fitness

Low-Complexity

Inductive Miner

Evolutionary Tree Miner

Split Miner

Augusto, A. and Conforti, R. and Dumas, M. and La Rosa, M.

(2017). Split Miner: Discovering Accurate and Simple

Business Process Models from Event Logs. ICDM 2017

Process Model discovered with

Split Miner

Process Discovery Algorithms

High-Fitness

High-Precision

Low-Complexity

Split Miner

From Event Log to Process Model in 5 Steps

58

Directly-Follows Graph and

Loops DiscoveryFiltering

Concurrency Discovery

SplitsDiscovery

JoinsDiscovery

Event Log

Process Model

Trace #obs

a » b » c » g » e » h 10

a » b » c » f » g » h 10

a » b » d » g » e » h 10

a » b » d » e » g » h 10

a » b » e » c » g » h 10

a » b » e » d » g » h 10

a » c » b » e » g » h 10

a » c » b » f » g » h 10

a » d » b » e » g » h 10

a » d » b » f » g » h 10

59

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

Trace #obs

a » b » c » g » e » h 10

a » b » c » f » g » h 10

a » b » d » g » e » h 10

a » b » d » e » g » h 10

a » b » e » c » g » h 10

a » b » e » d » g » h 10

a » c » b » e » g » h 10

a » c » b » f » g » h 10

a » d » b » e » g » h 10

a » d » b » f » g » h 10

60

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

61

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

(b || c) (b || d) (d || e) (e || g)

62

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

63

Break for Make-up!

64

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

(b || c) (b || d) (d || e) (e || g)

65

Directly-Follows Graph and

Loops Discovery

Concurrency DiscoveryEvent Log Filtering

SplitsDiscovery

JoinsDiscovery

Process Model

66

Done!

top related