O algoritmo alfa é o primeiro em tecnologia de análise de processo que permitiu encontrar as chamadas redes de fluxo de trabalho a partir de logs de processo. O algoritmo foi desenvolvido em 2013 pelo fundador da metodologia de Process Mining, Professor Will MP van der Aalst.
O que são Redes de fluxo de trabalho (doravante WF) é uma rede construída com base em redes de Petri. É importante ressaltar que o WF baseado em redes Petri permite apresentar e analisar melhor os fluxos de trabalho.
As características distintivas do WF são:
- . ( , )
- ( , )
- .1. .2.
Vejamos alguns exemplos:
Esses esquemas não são WF. Por quê? No primeiro caso, não temos o início e o fim da cadeia (eles são indicados por um círculo). No segundo caso, a ação d não tem fim.
Abaixo, dei um exemplo de uma rede WF correta - há um começo e um fim, e todas as ações estão localizadas entre eles e são concluídas.
Tendo esclarecido um pouco o que é WF,
vamos passar para o algoritmo alfa: para obter WF usando o algoritmo alfa, precisamos colocar as coisas em ordem em nosso log. Para isso, definiremos as seguintes relações entre as transições no log de eventos (posteriormente serão necessárias para construir um modelo):
1. Sequência direta.
Evento A> Evento B.
Em um log de eventos real, seria assim:
2. Relação causal.
Evento A → Evento B.
Significa que existem tais transições no log de eventos,
mas não existem tais transições :
Portanto, no diagrama colocamos o símbolo
- Eventos paralelos.
O registro contém ambas as transições Evento A → Evento B e Evento B → Evento A. - Falta de consistência.
Evento A # Evento B e vice-versa. Esses eventos não aparecem no log.
O conjunto de dados comum de todas as transições é chamado de conjunto L.
Vejamos um pequeno exemplo. Abaixo está um registro de três casos.
Vamos escrever as conexões de nosso log que são usadas no algoritmo alfa:
- > ,
> ,
> ,
> ,
> ,
> ,
> - → ,
→ ,
→ ,
→ ,
→ ,
→ - ||
Com base nos relacionamentos resultantes, desenhamos WF.
O modelo resultante cobre todas as ações do nosso log e é fácil de analisar.
Limitações do algoritmo alfa.
Se seu log contém loops simples ou duplos (repetições de ações), o algoritmo interpreta mal e pode gerar um modelo diferente do esperado. Vamos voltar ao nosso log anterior e adicionar repetições a ele:
O modelo esperado será semelhante a este:
Mas o algoritmo alfa nos dará uma imagem completamente diferente:
Qual é a razão? A ação "Processando um aplicativo" não tem início nem fim. No processo de geração do modelo, um conjunto A (onde há todos os inícios) e um conjunto B (onde os processos são encerrados) são criados. Como com várias repetições, os conjuntos de dados são perdidos, o algoritmo não consegue localizá-los. Conseqüentemente, esta ação está fora do modelo geral.
A mesma situação ocorre com duas ações repetidas em uma linha. O algoritmo Alpha deixará apenas um deles e o segundo sairá e não seremos capazes de interpretar o modelo.
Como esse problema pode ser resolvido? É necessário levar em consideração, tanto quanto possível, as peculiaridades do sistema que você está analisando. Se o seu sistema grava no log não apenas os pontos principais, mas também as ações que são geradas automaticamente (por exemplo, em casos de escrita à mão, o sistema pode fazer um salvamento automático a cada 5 segundos e gravá-lo no log), então faz sentido combinar essas ações em um elemento.