Skip to content

synamine.discover

Process discovery algorithms.

discover

High-level discovery API -- delegates to algorithm modules.

discover_dfg

discover_dfg(
    log: EventLog, *, noise_threshold: float = 0.0
) -> DirectlyFollowsGraph

Discover a Directly-Follows Graph from an event log.

PARAMETER DESCRIPTION
log

The event log to analyze.

TYPE: EventLog

noise_threshold

Edges with frequency below this proportion of the max are removed.

TYPE: float DEFAULT: 0.0

RETURNS DESCRIPTION
DirectlyFollowsGraph

The discovered DFG with edge frequencies.

discover_variant_trie

discover_variant_trie(
    log: EventLog, *, min_count: int = 1
) -> VariantTrie

Build a variant trie (prefix tree) from an event log.

The trie represents all trace variants as a tree structure where shared prefixes are merged. Designed for dendrogram visualization.

PARAMETER DESCRIPTION
log

The event log to analyze.

TYPE: EventLog

min_count

Prune variants with fewer than this many traces.

TYPE: int DEFAULT: 1

RETURNS DESCRIPTION
VariantTrie

The variant prefix tree.

discover_petri_net

discover_petri_net(
    log: EventLog,
    *,
    algorithm: str = "alpha",
    noise_threshold: float = 0.0,
    dependency_threshold: float = 0.5,
    and_threshold: float = 0.65,
    loop_two_threshold: float = 0.5,
) -> PetriNet

Discover a Petri Net from an event log.

PARAMETER DESCRIPTION
log

The event log to analyze.

TYPE: EventLog

algorithm

Discovery algorithm to use ("alpha" or "heuristic").

TYPE: str DEFAULT: "alpha"

noise_threshold

Filter infrequent edges (0.0 = keep all).

TYPE: float DEFAULT: 0.0

dependency_threshold

Heuristic Miner: minimum dependency measure to keep an edge.

TYPE: float DEFAULT: 0.5

and_threshold

Heuristic Miner: threshold for AND-split/join detection.

TYPE: float DEFAULT: 0.65

loop_two_threshold

Heuristic Miner: threshold for length-2 loop detection.

TYPE: float DEFAULT: 0.5

RETURNS DESCRIPTION
PetriNet

discover_process_tree

discover_process_tree(
    log: EventLog, *, noise_threshold: float = 0.0
) -> ProcessTree

Discover a Process Tree from an event log using the Inductive Miner.

PARAMETER DESCRIPTION
log

The event log to analyze.

TYPE: EventLog

noise_threshold

Filter infrequent edges (0.0 = keep all, 0.2 = remove bottom 20%).

TYPE: float DEFAULT: 0.0

RETURNS DESCRIPTION
ProcessTree

convert_dfg_to_petri_net

convert_dfg_to_petri_net(
    dfg: DirectlyFollowsGraph,
) -> PetriNet

Convert a Directly-Follows Graph to a Petri Net.

PARAMETER DESCRIPTION
dfg

The DFG to convert.

TYPE: DirectlyFollowsGraph

RETURNS DESCRIPTION
PetriNet

A Petri Net with one transition per activity.