El algoritmo α o α-miner es un algoritmo utilizado en la minería de procesos , cuyo objetivo es reconstruir la causalidad a partir de un conjunto de secuencias de eventos . Fue propuesto por primera vez por van der Aalst , Weijters y Măruşter. [1] El objetivo de Alpha miner es convertir el registro de eventos en una red de flujo de trabajo basada en las relaciones entre varias actividades en el registro de eventos. Un registro de eventos es un conjunto múltiple de rastros, y un rastro es una secuencia de nombres de actividades. Desde entonces se han presentado varias extensiones o modificaciones del mismo, que se enumerarán a continuación.
Alpha Miner fue el primer algoritmo de descubrimiento de procesos que se propuso y ofrece una buena descripción general del objetivo del descubrimiento de procesos y de cómo se ejecutan las distintas actividades dentro del proceso. Alpha Miner también fue la base para el desarrollo de muchas otras técnicas de minería de procesos, como la minería heurística y la minería genética, que se desarrolló sobre la base de la idea en la que se basa Alpha Miner. [2]
El algoritmo toma un registro de flujo de trabajo como entrada y da como resultado la construcción de una red de flujo de trabajo.
Esto se logra examinando las relaciones causales observadas entre las tareas. Por ejemplo, una tarea específica podría preceder siempre a otra tarea específica en cada rastro de ejecución, lo que podría ser una información útil.
El registro de eventos es el requisito principal para aplicar cualquier algoritmo de descubrimiento de procesos. Un registro de eventos consta de un identificador único para un caso, un nombre de actividad que describe la acción que ocurre en el proceso y una marca de tiempo. Un registro de eventos se puede representar como un conjunto múltiple de actividades. Para simplificar, el siguiente ejemplo utilizaría letras alfabéticas para representar una actividad. Considere un ejemplo de registro de eventos que se muestra en la siguiente figura:
Un registro de eventos es un conjunto de varios rastros, y un rastro es una secuencia de actividades. Por lo tanto, un registro de eventos como el anterior se puede representar mediante la siguiente notación:
Cada registro de eventos se puede resumir en un conjunto múltiple de rastros, y dichos rastros se pueden utilizar para desglosar las relaciones entre las distintas actividades del proceso. Según las reglas de Alpha Miner, las actividades que pertenecen a varios casos pueden tener cuatro tipos de relaciones entre ellas: [2]
Patrón de división XOR: A → B, A → C y B # C
Patrón de división AND: A → B, A → C y B || C
El minero alfa comienza convirtiendo un registro de eventos en relaciones de seguimiento directo, secuencia, paralelo y elección, y las usa para crear una red de Petri que describe el modelo de proceso. Inicialmente, el algoritmo construye una matriz de huellas. Usando la matriz de huellas y el patrón mostrado arriba, uno puede construir un modelo de proceso. Con base en las cuatro relaciones descritas anteriormente, primero se descubre una matriz basada en huellas. Usando la matriz basada en huellas se descubren lugares. Cada lugar se identifica con un par de conjuntos de tareas, para mantener baja la cantidad de lugares.
La relación de flujo es la unión de lo siguiente:
El resultado es
Para el ejemplo dado anteriormente, la siguiente red de Petri sería el resultado de la aplicación de alpha miner.
Se puede demostrar [3] que en el caso de un registro de flujo de trabajo completo generado por una red SWF sólida, la red que lo genera se puede reconstruir. Completo significa que su relación es máxima. No se requiere que estén presentes todos los rastros posibles (lo que sería infinito para una red con un bucle).