algoritmo alpha - ufprsilvana.detro... · silvana pereira detro. descoberta de processo = play‐in...

Post on 25-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Algoritmo Alpha

Silvana Pereira Detro

Descoberta de Processo = Play‐In

event log process model

Play-In

event logprocess model

Play-Out

event logprocess model

Replay

•Modelo estendido mostrando tempos, frequências, etc.• Diagnósticos• Previsões• Recomendações

software system

(process) model

event logs

models analyzes

discovery

records events, e.g., messages,

transactions, etc.

specifies configures implements

analyzes

supports/ controls

enhancement

conformance

“world”

people machinescomponents

organizations

business processes

Simplificando Logs de Eventos ao Focar no Fluxo de Controle

[(Registrar_pedido, Checar_estoque, Enviar_pedido, Verificar_pagamento), (Registrar_pedido, Checar_estoque, Cancelar_pedido), (Registrar_pedido, Checar_estoque),…]

Logs de Eventos Simples

• Um log de eventos é um multiconjunto de traces (o mesmo trace pode aparecer várias vezes).

• Um trace é uma sequência de atividades (abstraímos de todos os outros atributos, mas os eventos são ordenados).

Objetivo do Algoritmo Alpha

Logs de eventos contém todos ostraces possíveis do modelo e vice versa

Objetivo do Algoritmo Alpha

Generalização: o log de eventos contém apenas um subconjunto de todos ospossíveis traces do modelo.

a

b

c

df

p2

end

p4

p3p1

start

e

p5

Notação é menos relevante (e.g. BPMN)

Notação é menos relevante (e.g. BPMN)

Quatro Forças Concorrentes

resistênciaConfiança

fitness(habilidade de explicar o

comportamento observado)

simplicidade("Occam's razor")

gravidade

precisão(evitar underfitting)

generalização(evitar overfitting)

lift

Relações >,→,||,#

• Sucessão direta: 𝑥 𝑦 se x é diretamente seguido por y

abcdacbdaed

Relações >,→,||,#

• Sucessão direta: 𝑥 𝑦 se x é diretamente seguido por y

a>ba>ca>eb>cb>dc>bc>de>d

abcdacbdaed

Relações >,→,||,#

• Sucessão direta: 𝑥 𝑦 se x é diretamente seguido por y

• Causalidade: 𝑥 → 𝑦 se 𝑥 𝑦 e não 𝑦 𝑥

a>ba>ca>eb>cb>dc>bc>de>d

a→ba→ca→eb→dc→de→d

abcdacbdaed

Relações >,→,||,#

• Sucessão direta: 𝑥 𝑦 se x é diretamente seguido por y

• Causalidade: 𝑥 → 𝑦 se 𝑥 𝑦 e não 𝑦 𝑥

• Paralelo: 𝑥||𝑦 se  𝑥 𝑦 e 𝑦 𝑥

a>ba>ca>eb>cb>dc>bc>de>d

a→ba→ca→eb→dc→de→d

b||c c||b

abcdacbdaed

Relações >,→,||,#

• Sucessão direta: 𝑥 𝑦 se x é diretamente seguido por y

• Causalidade: 𝑥 → 𝑦 se 𝑥 𝑦 e não 𝑦 𝑥

• Paralelo: 𝑥||𝑦 se  𝑥 𝑦 e 𝑦 𝑥

• Escolha: x#y se não 𝑥 𝑦 e não 𝑦 𝑥

a>ba>ca>eb>cb>dc>bc>de>d

a→ba→ca→eb→dc→de→d

b||c c||b

abcdacbdaed

b#ee#bc#ea#d…

Ideia Básica Utilizada pelo Algoritmo Alpha (2)

a b

(a) Padrão de sequência: a→b

Ideia Básica Utilizada pelo Algoritmo Alpha (2)

(b) Padrão XOR-split: a→b,a→c, e b#c

a

b

c

b

c

d

(c) Padrão XOR-join: b→d,c→d, e b#c

Ideia Básica Utilizada pelo Algoritmo Alpha (2)

a

b

c

(d) Padrão AND-split: a→b,a→c, e b||c

(e) Padrão AND-join: b→d,c→d, e b||c

b

c

d

Exemplo:

Resultado produzidopelo algoritmo Alpha

a>ba>ca>eb>cb>dc>bc>de>d

a→ba→ca→eb→dc→de→d

b||c c||b

b#ee#bc#ea#d…

a

b

c

de

p2

end

p4

p3p1

start

Footprint de L1

Modelo descoberto tem a mesma footprint

a

b

c

de

p2

end

p4

p3p1

start

Log e modelo de processo possuem a mesma matriz

Footprint de L2

Log e modelo de processo possuem a mesma matriz

Resumo: Padrões simples de processos podem ser descobertos de logs de eventos

(b) Padrão XOR-split:a→b, a→c, e b#c

(c) Padrão XOR-join:b→d, c→d, e b#c

(a) Padrão de sequência: a→b

(d) Padrão AND-split:a→b, a→c, e b||c

(e) Padrão AND-join:b→d, c→d, e b||c

Seja L um log de eventos sobre T. Então, α (L) é definido como segue: 1. TL = { t ∈ T | ∃σ ∈ L t ∈σ},2. TI = { t ∈ T | ∃σ ∈ L t = first(σ) },3. TO = { t ∈ T | ∃σ ∈ L t = last(σ) },4. XL = { (A,B) | A ⊆ TL ∧A ≠ ø ∧B ⊆ TL ∧B ≠ ø ∧

∀a ∈ A∀b ∈ B a →L b ∧ ∀a1,a2 ∈ A a1#L a2 ∧ ∀b1,b2 ∈ B b1#L b2 },5. YL = { (A,B) ∈ XL | ∀(A′,B′) ∈ XL A ⊆ A′ ∧B ⊆ B′⇒ (A,B) = (A′,B′) },6. PL = { p(A,B) | (A,B) ∈ YL } ∪{iL,oL},7. FL = { (a,p(A,B)) | (A,B) ∈ YL ∧a ∈ A } ∪ { (p(A,B),b) | (A,B) ∈

YL ∧b ∈ B } ∪{ (iL,t) | t ∈ TI} ∪{ (t,oL) | t ∈ TO}, and8. α(L) = (PL,TL,FL).

α‐algoritmo

• Seja L um log de eventos sobre T. Então, α (L) é definido como segue: 1. TL = { t ∈ T | ∃σ ∈ L t ∈ σ},• Cada atividade em L corresponde a uma transição em α(L).

2. TI = { t ∈ T | ∃σ ∈ L t = first(σ) }• Corrija o conjunto de atividades iniciais - isto é, os primeiros

elementos de cada trace: ⟨t1, …, tn⟩, …, ⟨t’1, …, t’m⟩3. TO = { t ∈ T | ∃σ ∈ L t = last(σ) }• Corrija o conjunto de atividades finais – isto é, elementos que

aparecem por último no trace: ⟨t1, …, tn⟩, …, ⟨t’1, …, t’m⟩

α‐algoritmo

• TL = {a, b, c, d, e}• TI =  {a}• TF = {d}

α‐algoritmo

• Passo 4: Calcular pares (A, B)• Passo 5: Excluir pares não-máximos (A,B)• Passo 6: Determinar lugares 𝑝 , 𝑑𝑒 𝑝𝑎𝑟𝑒𝑠 𝐴, 𝐵

α‐algoritmo (cont.)

Encontre pares (A, B) de conjuntos de atividades de modo que todos os elementos a∈A e todos os elementos b∈B estejam causalmente relacionados (isto é, a → 𝐿 ), todos os elementos em A sejam independentes (𝑎 # La2) e todos elementos em B são independentes (b1#Lb2).

4. XL = { (A,B) | A ⊆ TL ∧A ≠ ø ∧B ⊆ TL ∧B ≠ ø∧∀a ∈ A∀b ∈ B a →L b

∧ ∀a1,a2 ∈ A a1#L a2∧ ∀b1,b2 ∈ B b1#L b2 },

Lugares como Footprints

ssion & acknowledgements)

α‐algoritmo

• TL = {a, b, c, d, e}• TI =  {a}• TF = {d}• XL = ({a}, {b}), ({a}, {c}), ({a}, {e}), ({a}, {b, e}), ({a}, {c, e}), ({b}, {d}),({c}, {d}), ({e}, {d}), ({b, e}, {d}), ({c, e}, {d})

α‐algoritmo (cont.)5. YL = { (A,B) ∈ XL |

∀(A′,B′) ∈ XL A ⊆ A′ ∧B ⊆ B′⇒ (A,B) = (A′,B′) }

• Exclua do conjunto 𝑋todos os pares (A, B) que não são máximos!

α‐algoritmo

• TL = {a, b, c, d, e}• TI =  {a}• TF = {d}• XL = ({a}, {b}), ({a}, {c}), ({a}, {e}), ({a}, {b, e}), ({a}, {c, e}), ({b}, {d}),({c}, {d}), ({e}, {d}), ({b, e}, {d}), ({c, e}, {d})

α‐algoritmo

• TL = {a, b, c, d, e}• TI =  {a}• TF = {d}• XL = ({a}, {b}), ({a}, {c}), ({a}, {e}), ({a}, {b, e}), ({a}, {c, e}), ({b}, {d}),({c}, {d}), ({e}, {d}), ({b, e}, {d}), ({c, e}, {d})• YL = ({a}, {b, e}), ({a}, {c, e}), ({b, e}, {d}), ({c, e}, {d})

x x x xx x

α‐algoritmo (cont.)

• Determine o conjunto de lugares: cada elemento (A,B) de 𝑌 é um lugar. Para assegurar a estrutura do workflow, adicionar um lugar de origem 𝑖 e um local de destino 𝑜

6. PL = {p(A,B) | (A,B) ∈ YL } ∪ {iL,oL},

α‐algoritmo

• TL = {a, b, c, d, e}• TI =  {a}• TF = {d}• XL = ({a}, {b}), ({a}, {c}), ({a}, {e}), ({a}, {b, e}), ({a}, {c, e}), ({b}, {d}),({c}, {d}), ({e}, {d}), ({b, e}, {d}), ({c, e}, {d})• YL = ({a}, {b, e}), ({a}, {c, e}), ({b, e}, {d}), ({c, e}, {d})• PL =  ({a}, {b, e}),  ({a}, {c, e}),  ({b, e}, {d}),  ({c, e}, {d}),  , 

α‐algoritmo (cont.)

• Determine a relação de fluxo: conectar cada lugar 𝑝 , com cada elemento a de seu conjunto A das transições de origem e com cada elemento de seu conjunto B das transições de destino. Em adição, desenhe um arco do lugar de origem 𝑖 para cada transição inicial t ∈ 𝑇 a Tnd um arco de cada transição final t ∈ 𝑇 para o lugar de origem 𝑂

7. FL = { (a,p(A,B)) | (A,B) ∈ YL ∧a ∈ A }∪ { (p(A,B),b) | (A,B) ∈ YL ∧b ∈ B }∪{ (iL,t) | t ∈ TI} ∪ { (t,oL) | t ∈ TO}

8. α(L) = (PL, TL, FL)

α‐algoritmo

• TL = {a, b, c, d, e}• TI =  {a}• TF = {d}• XL = ({a}, {b}), ({a}, {c}), ({a}, {e}), ({a}, {b, e}), ({a}, {c, e}), ({b}, {d}),({c}, {d}), ({e}, {d}), ({b, e}, {d}), ({c, e}, {d})• YL = ({a}, {b, e}), ({a}, {c, e}), ({b, e}, {d}), ({c, e}, {d})• PL =  𝑃({a}, {b, e}), 𝑃({a}, {c, e}), 𝑃({b, e}, {d}), 𝑃({c, e}, {d}), 𝐼 , 𝑂• FL = {a, 𝑃 , , ),  𝑃 , , , b),  𝑃 , , , e),  a, 𝑃({a}, {c, e}) ,  𝑃({a}, {c, e}), 𝑐 ,

𝑃({a}, {c, e}), e , (𝑏, 𝑃({b, e}, {d}) 𝑃({b, e}, {d}), 𝑑 , (𝑒, 𝑃({b, e}, {d}) 𝑃({b, e}, {d}), 𝑑 , 

(𝑐, 𝑃({c, e}, {d}) 𝑃({c, e}, {d}), 𝑑 ,  𝑖 , 𝑎),  𝑓, 𝑂 ) 

• α(L) = (𝑃 , 𝑇 , 𝐹 )

a

b

cp2 p4

p1 e p3 d

start end

Resultado: Log de Evento L1

Questão: Matriz para log de evento L3

Questão: Matriz para log de evento L3

Aplicar 8 Passos do Algoritmo Alpha

Modelo para L3 descoberto pelo Algoritmo Alpha

Resultado no PROM para Log de Evento L3

Conclusões

• O algoritmo Alpha fornece uma abordagem básica de descoberta de processos;

• Tem muitas limitações. Estes serão discutidos mais tarde;

• No entanto, ilustra bem os principais ingredientes da descoberta de processos.

Engenharia de Produção 45

Referências

• Camilo, C.O. e Silva, J.C. 2009. Mineração de Dados: Conceitos, Tarefas, Métodos e Ferramentas. Instituto de Informática. Universidade Federal de Goiás.

• Han, J., Pei, J. and Kamber, M., 2011. Data mining: concepts and techniques. Elsevier.

• Hand, D.,  Mannila, H. and Smyth. P. Principles of Data Mining. MIT Press, Cambridge, MA, 2001.

• Online Coursera Course. 2014. Process Mining: Data science in Action.• Van der Aalst, W.M.P. 2011. Process Mining Discovery, Conformance and Enhancement of Business Processes. Springer Heidelberg Dordrecht London New York.

• Van der Aalst, W.M.P. 2012. Process mining. Discovering, Conformance and Enhancement of Business Processes. Springer.

• Witten, I.H., Frank, E., Hall, M.A., Pal, C.J. 2016.  Data Mining: PracticalMachine Learning Tools and Techniques. Morgan Kauffman. 

top related