Exact alignment conformance
What is computed
Section titled “What is computed”The alignment plugin takes an EventLog and an AcceptingPetriNet and computes, for every distinct trace variant, the cheapest alignment between the observed trace and a firing sequence the model permits. It returns an AlignmentSet: per variant, the alignment moves and their costs.
This is exact. It is not a token-replay approximation and it is not sampled. The variant-level factoring is what makes it affordable — a log with 2,812 cases and 40 variants costs 40 alignments, not 2,812.
Reading the moves
Section titled “Reading the moves”Three kinds, and the interesting information is in which kind dominates:
- Synchronous move — log and model agree. Nothing to see.
- Log move — the log did something the model does not allow at that point. Either the model is wrong, or the process is not following it.
- Model move — the model requires something the log did not record. Either a step was skipped, or it is not being logged at all.
A cluster of model moves on a single transition usually means an activity is missing from the data rather than missing from the process. That distinction is worth making explicitly before anyone concludes there is a compliance problem.
Fitness, and what it does not tell you
Section titled “Fitness, and what it does not tell you”The plugin reports a fitness figure derived from alignment cost. Treat it as one of four dimensions, not a score:
- Fitness — can the model reproduce the log?
- Precision — does the model allow much the log never did?
- Generalisation — will it accept reasonable unseen behavior?
- Simplicity — can a person read it?
A model with fitness 1.0 may be the flower model that permits everything. Reporting fitness alone is the most common way to make a discovered model look better than it is.
The visual replay
Section titled “The visual replay”The Inductive Visual Miner plugin runs the same exact alignment kernel and animates the result over the model — cases flowing through, deviations visible where they occur, a time scrubber over the log’s period.
It is the same computation, not a lighter approximation. The animation is a rendering of an exact result, which is why it is worth putting in front of a stakeholder: what they see is what the numbers say.
Cost, and when to move execution
Section titled “Cost, and when to move execution”Alignment is the expensive step in most pipelines. Cost grows with model size and with the number of distinct variants, and a large, highly concurrent model with thousands of variants is where a browser tab starts to hurt.
Two things to do before concluding it is too slow:
- Filter to the variants you care about. The tail of one-off variants often dominates cost and rarely changes the conclusion.
- Move execution rather than the analysis. The same plugin runs on a local engine with real threads and no tab memory ceiling — see Engines and scaling.
Object-centric conformance
Section titled “Object-centric conformance”For OCEL data there is a separate path: OCEL/OCPN Replay replays timestamped events against an object-centric Petri net and reports where tokens go missing, and OCPN Comparison diffs two nets per object type with τ-abstracted differences called out. See Object-centric techniques.