Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/hotfixes' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
fit-alessandro-berti committed Aug 1, 2023
2 parents 1af0352 + d718757 commit cf73cae
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 14 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,11 @@
* minor fix TBR generalization parameters
* 57a30fb452a759bc71f707e67bf0f63118194b7f
* method to sample OCEL connected components is fixed

* 051d98cd0bfbf86419fe68f6cb0c1f139855cfdf
* fixed divergence from Github repo
* e0cbce6b90a16ef1e21edca45b83d69e1743674c
* fixed typo in OCPN discovery method

### Removed
* bf5574a34a31b93024dd9feb54acc5cc475640bd
* change-of-mind on format_dataframe deprecation warning
Expand Down
27 changes: 15 additions & 12 deletions pm4py/algo/discovery/ocel/ocpn/variants/wo_annotation.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,20 @@ def apply(ocel: OCEL, parameters: Optional[Dict[Any, Any]] = None) -> Dict[str,
double_arc_threshold = exec_utils.get_param_value(Parameters.DOUBLE_ARC_THRESHOLD, parameters, 0.0)
inductive_miner_variant = exec_utils.get_param_value(Parameters.INDUCTIVE_MINER_VARIANT, parameters, "im")

ocdfg = ocdfg_discovery.apply(ocel, parameters=parameters)
ocpn = ocdfg_discovery.apply(ocel, parameters=parameters)

petri_nets = {}
double_arcs_on_activity = {}
tbr_results = {}

for ot in ocdfg["object_types"]:
activities_eo = ocdfg["activities_ot"]["total_objects"][ot]
for ot in ocpn["object_types"]:
activities_eo = ocpn["activities_ot"]["total_objects"][ot]

start_activities = {x: len(y) for x, y in ocdfg["start_activities"]["events"][ot].items()}
end_activities = {x: len(y) for x, y in ocdfg["end_activities"]["events"][ot].items()}
start_activities = {x: len(y) for x, y in ocpn["start_activities"]["events"][ot].items()}
end_activities = {x: len(y) for x, y in ocpn["end_activities"]["events"][ot].items()}
dfg = {}
if ot in ocdfg["edges"]["event_couples"]:
dfg = {x: len(y) for x, y in ocdfg["edges"]["event_couples"][ot].items()}
if ot in ocpn["edges"]["event_couples"]:
dfg = {x: len(y) for x, y in ocpn["edges"]["event_couples"][ot].items()}

is_activity_double = {}
for act in activities_eo:
Expand All @@ -97,13 +98,15 @@ def apply(ocel: OCEL, parameters: Optional[Dict[Any, Any]] = None) -> Dict[str,
obj._start_activities = Counter(start_activities)
obj._end_activities = Counter(end_activities)
process_tree = inductive_miner.apply(obj, variant=inductive_miner.Variants.IMd, parameters=parameters)
petri_nets[ot] = tree_converter.apply(process_tree, parameters=parameters)
elif inductive_miner_variant == "im":
flat_log = flattening.flatten(ocel, ot, parameters=parameters)
process_tree = inductive_miner.apply(flat_log, parameters=parameters)
petri_net = tree_converter.apply(process_tree, parameters=parameters)
petri_nets[ot] = petri_net

petri_nets[ot] = tree_converter.apply(process_tree, parameters=parameters)
ocpn["petri_nets"] = petri_nets
ocpn["double_arcs_on_activity"] = double_arcs_on_activity
ocpn["tbr_results"] = tbr_results

ocdfg["petri_nets"] = petri_nets
ocdfg["double_arcs_on_activity"] = double_arcs_on_activity

return ocdfg
return ocpn
2 changes: 1 addition & 1 deletion requirements_stable.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ kiwisolver==1.4.4
lxml==4.9.3
matplotlib==3.7.1
networkx==3.1
numpy==1.25.1
numpy==1.25.2
packaging==23.1
pandas==2.0.3
pillow==10.0.0
Expand Down

0 comments on commit cf73cae

Please sign in to comment.