Skip to main content

alignments

process_mining::conformance::case_centric::alignments

Functions in this Module(4)

align_variants

Compute alignments for all variants from a pre-computed activity projection.
Permits at most 255 (petri_net::TokenCount::MAX) tokens in each place.
Source
fn align_variants(net*: PetriNet, projection*: EventLogActivityProjection, options: AlignmentOptions)Vec<VariantAlignmentResult>

Arguments

Returns

import r4pm
projection = r4pm.import_item('EventLogActivityProjection','path/to/file')
net = {"arcs": [{"from_to": {"nodes": ['example', 'example'], "type": 'PlaceTransition'}, "weight": 1}], "places": {"something": {"id": '893f8ab9'}}, "transitions": {"something": {"id": '893f8ab9'}}}
# Optional argument: options, can also be omitted
options = {"cost_fn": {"log_move_cost": 1, "model_move_cost": 1, "silent_move_cost": 1, "sync_move_cost": 1}}
res = r4pm.bindings.align_variants(net, projection, options)
Defined inprocess_mining/src/conformance/case_centric/alignments/mod.rs:101

align_empty_trace

Align the empty trace to the given model
with the specified options
Permits at most 255 (petri_net::TokenCount::MAX) tokens in each place.
Source
fn align_empty_trace(net*: PetriNet, options: AlignmentOptions)AlignmentResult

Arguments

Returns

import r4pm

net = {"arcs": [{"from_to": {"nodes": ['example', 'example'], "type": 'PlaceTransition'}, "weight": 1}], "places": {"something": {"id": '893f8ab9'}}, "transitions": {"something": {"id": '893f8ab9'}}}
# Optional argument: options, can also be omitted
options = {"cost_fn": {"log_move_cost": 1, "model_move_cost": 1, "silent_move_cost": 1, "sync_move_cost": 1}}
res = r4pm.bindings.align_empty_trace(net, options)
Defined inprocess_mining/src/conformance/case_centric/alignments/mod.rs:174

align_trace

Compute alignment for a single trace (given as activity sequence).
Permits at most 255 (petri_net::TokenCount::MAX) tokens in each place.
Source
fn align_trace(net*: PetriNet, trace*: Vec<String>, options: AlignmentOptions)AlignmentResult

Arguments

Returns

import r4pm

net = {"arcs": [{"from_to": {"nodes": ['example', 'example'], "type": 'PlaceTransition'}, "weight": 1}], "places": {"something": {"id": '893f8ab9'}}, "transitions": {"something": {"id": '893f8ab9'}}}
# Optional argument: options, can also be omitted
options = {"cost_fn": {"log_move_cost": 1, "model_move_cost": 1, "silent_move_cost": 1, "sync_move_cost": 1}}
res = r4pm.bindings.align_trace(net, ['example'], options)
Defined inprocess_mining/src/conformance/case_centric/alignments/mod.rs:160

compute_fitness

Compute fitness stats from alignment results
Also constructs the empty-trace alignment (shortest path through model)
Source
fn compute_fitness(align_res*: Vec<VariantAlignmentResult>, net*: PetriNet, options: AlignmentOptions)FitnessResult

Arguments

Returns

import r4pm

align_res = [{"activities": ['example'], "frequency": 1, "result": {"Ok": {"cost": 1, "moves": [{"SyncMove": {"trace_event_index": 1, "transition": 'example'}}], "states_visited": 1}}}]
net = {"arcs": [{"from_to": {"nodes": ['example', 'example'], "type": 'PlaceTransition'}, "weight": 1}], "places": {"something": {"id": '893f8ab9'}}, "transitions": {"something": {"id": '893f8ab9'}}}
# Optional argument: options, can also be omitted
options = {"cost_fn": {"log_move_cost": 1, "model_move_cost": 1, "silent_move_cost": 1, "sync_move_cost": 1}}
res = r4pm.bindings.compute_fitness(align_res, net, options)