Process Mining Flashcards
Traditionelle Verwendung von Geschäftsprozessmodellen
- Einsicht
- Diskussion
- Dokumentation
- Verifikation
- Performance Analyse
- Animation Spezifikation
- Konfiguration
Aktuelle Herausforderung
GP Modellierung für Compliance
- Steigende Anzahl von Regulierungen
- Finanzen Solvency 2, Basel 3
- Steigende Komplexität des Compliance Nachweises
- Viele Facetten
- Wechselseitige Abhängigkeiten
- Aggregation
- Cloud Computen
Was sind Nachteile manueller Prozessmodellierung?
- Manuelle Modelle unterscheiden sich oft von Realität
- idealisierte Sicht auf Prozesse
- nur ausführbare Modellen können Arbeitsweise erzwingen
- Manuelle Erstellung of aufwendig
Wie kann man die Nachteile manueller Prozessgewinnung überwinden?
- Konformanz Laufzeitverhalten <-> Prozessmopdell überprüfen
- Prozessmodell aus Laufzeitverhalten extrahieren
- Process Mining
Process Mining
- (Teil-)automatisierte Extraktion von GP-Modellen aus Laufzeitdaten
- Extraktion von Modellen basierend auf Fakten.
- nicht Erzeugung eines einzelnen Modells des Prozesses.
- verschiedene Sichten auf gleiche Realität auf verschiedenen Abstraktionsebenen.
- Auch gesamtes Verhalten betrachtbar
Process Mining
Im Workflow Lebenszyklus
- Process Discovery: Extraktion des Workflow Designs für ausgeführten WF
- Delta Analysis Vergleich: Workflow Desing mit ausgeführtem WF
Konformanzüberprüfung durch Play-Out
- Aus Prozessmodell Event Logs generieren
- Ist Bebobachtetes Eventlog Teil des generierten EventLogs?
- Ja: Beobachtetes Eventlog Konformant zu Prozessmodell
Extraktion durch Play-In
- Zugehöriges Prozessmodell aus gegebenen Event Logs generieren
- Zugehörig bedeutet:
- Ursprüngliches Eventlog konform zu generiertem Prozessmodell
- Präzises/einfachstes Modell sollten mehrere Möglich sein
Mit Process Mining extrahierte Perspektiven
- Kontrollfluss Perspektive
- Reihenfolge der Aktivitäten
- Betriebliche Perspektive
- Informationen über Ressourcen
- Fall-Perspektive
- Eigenschaften von Fällen
- Zeitliche Perspektive
- Timing/Frequenz von Ereignissen
Process Mining
Verbesserung durch Replay
- Ausführungsfolgen aus extrahiertem Modell generieren und mit ursprünglichen Event-Log vergleichen
- Grad der Konformanz überprüfen
- Modelle nachjustieren
- Vorraussagende Modelle konstruieren
- Betiebsunterstützung
Process Mining
Einschränkungen Modellbasierter Analyse
- Idealisierte Version der Realität.
- Menschliches Verhalten nicht adäquat darstellbar.
- Oft falsche Abstraktionsebene.
- Verifikation und Performanzanalyse braucht hochqualitative Modelle.
- Bei zu großem Unterschied Modell – Wirklichkeit: modellbasierte Analyse sinnlos.
- Oft fehlt Abgleich: handgemachte Modelle – Wirklichkeit.
- Geschäftsprozessmodellierung nicht vorhanden / nicht vollständig bzw. aktuell.
- Wird GP-Dokumentation in der Praxis befolgt ?
Petrinetz-Syntax
Stelle
- Möglicher lokaler Zustand (passiv)
- S: endliche Menge von Stellen
Petrinetz-Syntax
Transition
- Lokaler Übergang (aktiv)
- T: endliche Menge von Transitionen
- T= {t1,t2,t3}
Petrinetz-Syntax
Bogen
- Fluss (automatisch)
- F: Menge von Bögen
- F={(t1,s1), (t1,s2), (s1, t2)…}
- F ⊆ S x T ∪ T x S
- konsumierend
- Von Stelle zu Transition
- Marken werden aus Stellen entnommen
- Von Stelle zu Transition
- erzeugend
- Von Transition zu Stelle
- Marken werden Stellen hinzugefügrt
- Von Transition zu Stelle
Petrinetz-Syntax
Marken (Token)
- Globaler Startzustand
- M0 : S → ℕ0
Petrinetz-Syntax
Bogenvielfachheit
- Gibt an wieviele Marken beim Folgen des Flusses erzeugt oder konsumiert werden
- 1 wird weggelassen
- W: F → ℕ\0
Petrinetz
Syntaxdefinition
- S: endliche Menge von Stellen
- T: endliche Menge von Transitionen
- mit S≠∅, T≠∅ und S∩T=∅
- F: Menge von Bögen:
- F ⊆ S x T ∪ T x S
- W: Bogenvielfachheit (Gewicht):
- W: F→ℕ\0
- M0: Globaer Startzustand
- M0 : S → ℕ0
- ⇒ (S, T, F, W, M0): Petrinetz
Petrinetz
Aktivierung von Transitionen
- Transition t ist aktiviert wenn:
- ∀ p∈Vorgänger von t : W(p ,t)⩽ mp
- W((p,t)): Gewicht des Bogens von p nach t
mp: Anzahl Marken auf p
Petrinetz
Schalten von Transitionen
- Eine der aktivierten Transitionen wird beim Übergang von Zustand Mx nach Zustand Mx+1 geschaltet (nicht deterministische Auswahl)
- Marken auf Voränger-Stellen werden konsumiert
- Marken auf Nachfolger-Stellen werden produziert
- Jede Folgemarkierung ergibt sich aus dem Schalten jweils genau einer Transition
Gibt es eine obere Grenze, wieviele Nachrichten gleichzeitig in dieser Queue enthalten sein können ?
- In der Queue befindet sich höchstens eine Nachricht .
- Ausführung der Transition „Queue füllen“, nachdem die Stellen „Nachricht empfangen“ und „Queue leer“ einen Marker besitzen.
Petrinetz
Erreichbarkeit: Notation und Definition
- M [t> : bei Markierung M ist Transition t aktiviert ( [> symbolisiert Pfeil)
- M [t> M’ : M’ ist direkte Folgemarkierung zur Markierung M nach Schaltung von Transition t
- M [w> : Liste von Transitionen w=[t1,t2,…,tn] ist iterativ aktiviert unter Markierung M, d.h.: M [t1> M1 [t2> M2 … [tn> Mn
- M [{t1, t2, …, tn}> : Liste von Transitionen [t1,t2,…,tn] ist in beliebiger Schaltungsreihenfolge iterativ aktiviert unter Markierung M (= alle Permutationen als Schaltfolgen aktiviert; genannt “nebenläufig aktiviert”)
- [M0> := {M | ∃ w ∈ T* mit M0 [w> M} (Erreichbarkeitsmenge des Systems; die Markierungen M ∈ [M0> heißen erreichbar)
Petrinetz
Erreichbarkeitsalgorithmus (breadth-first)
- Eingabe: Petrinetz Ausgabe: Erreichbarkeitstabelle
- Erstelle Tabelle: Markierungsnummer, Markierung, Schaltunen und Trage M0 ein
- In aktueller Markierung Mi für jede Transition t: aktiviert?
- Falls t aktiviert: Berechne Folgemarkierung
- Folgemarkierung bereits eine Markierung Mj?
- Wenn nicht berechne Folgemarkierung Mj mit j > i und lege neue Zeile in der Tabelle für Mj an
- trage Mi[t> Mj in Zeile Mi ein
- Falls t aktiviert: Berechne Folgemarkierung
- Mi erledigt falls alle Transitionen überprüft
- Alle eingetragenen Markierungen erledigt?
- Ja: Erreichbarkeitsanalyse abgeschlossen
- Nein: Überprüfe nächste Markierung und fahre bei 2 fort
Petrinetz
Erreichbarkeitsalgorithmus als Graph darstellen
- Erreichbarkeitstabelle oft als Graph dargestellt:
- Knoten:Zustände(linkeSpalte;ggf.inkl.Markierungsbelegungen)
- Kanten:Schaltungen(rechteSpalte)
Petrinetz
Analyse von Systemen:
Simulation
- Kann zeigen, dass bestimmte Situationen auftreten können.
- Kann nicht zeigen, dass bestimmte Situationen nicht auftreten.
- Ausschnitt aus Menge aller möglichen Verhalten.
- Keine Aussage über deren Eintrittswahrscheinlichkeit.
Petrinetz
Analyse von Systemen
Verifikation
Verifikation: Beweis von Eigenschaften:
- Statische Eigenschaften: Unabhängig von Markierungen, nur von Netztopologie abhängig.
- z.B. Verklemmungen / Deadlocks
- Dynamische Eigenschaften: Abhängig von der Menge erreichbarer Markierungen.
- Standardhilfsmittel: Erreichbarkeitsgraphen
Petrinetze
Kapazitäten
- K: S → ℕ ∩ {∞} erklärt eine (möglicherweise unbeschränkte) Kapazität für jede Stelle.
- Markierungen M: S → ℕ\0 müssen Kapazitäten respektieren, d.h. für jede Stelle s ∈ S gilt: M(s) ≤ K(s).
- Transitionen sind bei Verwendung von Kapazitäten nur dann aktiviert, wenn Folgemarkierung Kapazitäten respektiert.
Petrinetz
Analyse von Systemen
Sicherheit
- Sei P=(S,T,F,K,M0) Petrinetz.
- Abbildung B: S → ℕ\0 ∪ {∞} ordnet jeder Stelle eine „kritische Markenzahl“ zu.
- Petrinetz P heißt:
- B-sicher (oder B-beschränkt), wenn für alle erreichbaren Markierungen Anzahl der Markierungen pro Stelle durch B begrenzt, d.h.: für alle M ∈ [M0> und s ∈S gilt: M(s) ≤ B(s).
- 1-sicher, 2-sicher usw., wenn B=1, B=2 usw.
- beschränkt, wenn es natürliche Zahl b gibt, für die P b-sicher.
- Stelle s heisst b-sicher, wenn P B-sicher mit B(s)=b, und B(s‘)= ∞ für s’#s.
- Unterschied zwischen Kapazität und Sicherheit:
- Kapazität begrenzt Stellenmarkierung (a priori-Begrenzung).
- Sicherheit beobachtet Stellenmarkierung (a posteriori-Begrenzung).
Petrinetze
Analyse von Systemen
Lebendigkeit von Transitionen
Transition t eines Petrinetz P=(N,M0) heißt:
- aktivierbar: In mindestens einer erreichbaren Markierung aktiviert: existiert M1 ∈ [M0> mit: M1[t>
- lebendig: In allen erreichbaren Markierung aktivierbar: für alle M1 ∈ [M0> gilt: existiert M2∈ [M1> mit: M2[t>
- tot: In keiner erreichbaren Markierung aktiviert: für alle M ∈ [M0> gilt: ¬M[t>
- Tot ist nicht logische Negation von lebendig sondern von aktivierbar !
Petrinetz
Analyse von Systemen
Lebendigkeit von Petrinetzen
Petrinetz P=(S,T,F,K,W,M0) heißt:
- lebendig: In jeder erreichbaren Markierung ist jede Transition aktivierbar: für alle M1 ∈ [M0> und t ∈ T gilt: existiert M2 ∈ [M1> mit: M2[t>
- deadlockfrei: In jeder erreichbaren Markierung ist mindestens eine Transition aktiviert: für alle M1 ∈ [M0> gilt: existiert t ∈ T mit: M1[t>
- tot: Keine Transition aktiviert: ∀t ∈ T: ¬M0 [t>
Petrinetz
Workflownetz
- genau eine Stelle ohne eingehenden Bogen (Start-Stelle)
- genau eine Stelle ohne ausgehenden Bogen (End-Stelle)
- jede Stelle und Transition auf Pfard von Start- zu End-Stelle
- Initiale Markierung
- Start-Stelle genau eine Marke
- Rest: Keine Marke
Petrinetz
AND-Split
Petrinetz
AND-Join
Petrinetz
XOR-Split
Petrinetz
XOR-Join
Petrinetz
Bewertung
- Positiv
- Einfache und wenige Notationselemente.
- Graphisch gut darstellbar.
- Marken: übersichtliche Visualisierung des Systemzustands.
- Syntax und Semantik formal definiert.
- Werkzeuge zur Erstellung, Analyse, Simulation, Code-Generierung vorhanden (z.B. Process Mining).
- Gut geeignet für kooperierende Prozesse.
- Nachteil
- Zunächst keine Datenmodellierung (kann aber dahin erweitern).
Data-Mining vs. Process-Mining
- Process Mining: Data Mining auf Prozess-Daten
- Process-Mining: Ende zu Ende Prozesse
- Data-Mining: Datenbasiert und nicht prozessbasiert
- Qualitätsbewertung
- Viele Ähnlichkeiten, aber auch Unterschiede
- Process-Mining-Techniken können Vorteile aus Erfahrungen im Bereuch Data Mining ziehen.
Data Mining
Variablen
- Datensatz besteht aus Instanzen (Individuen, Entitäten, Fälle, Objekte oder Aufzeichnungen).
- Variablen: als Attribute, Features oder Datenelemente bezeichnet. Zwei Typen:
- Kategorielle Variablen:
- Ordinal (hoch – mittel – niedrig)
- Nominal (true – false, rot – pink – grün)
- Numerische Variablen (geordnet, können nicht einfach aufgezählt werden).
- Kategorielle Variablen:
Data Mining
Überwachtes Lernen
- Klassifizierte Daten (Labeled Data)
- Jede Instanz durch Response-Variable gekennzeichnet.
- Ziel:
- Erkläre Response-Variable (abhängige Variable) in Form von Predictor-Variablen (unabhängige Variable).
- Klassifikationstechniken (z.B.: Lernen mit Entscheidungsbäumen)
- Setzen kategorielle Response-Variablen voraus.
- Ziel: Instanzen anhand Predictor-Variablen klassifizieren.
- Regressionstechniken: Benötigen numerische Response-Variablen.
- Ziel: Zu Daten passende Funktion mit wenigsten Fehlern finden.