# pm4py.algo.discovery.minimum_self_distance package

## pm4py.algo.discovery.minimum_self_distance.algorithm module

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

class pm4py.algo.discovery.minimum_self_distance.algorithm.Variants(value)[source]

Bases: enum.Enum

An enumeration.

LOG = <module 'pm4py.algo.discovery.minimum_self_distance.variants.log' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\discovery\\minimum_self_distance\\variants\\log.py'>
PANDAS = <module 'pm4py.algo.discovery.minimum_self_distance.variants.pandas' from 'C:\\Users\\berti\\pm4py-core\\pm4py\\algo\\discovery\\minimum_self_distance\\variants\\pandas.py'>
pm4py.algo.discovery.minimum_self_distance.algorithm.apply(log_obj: Union[pm4py.objects.log.obj.EventLog, pandas.core.frame.DataFrame, pm4py.objects.log.obj.EventStream], variant: Optional[str] = None, parameters: Optional[Dict[Any, Any]] = None) Dict[str, int][source]

## pm4py.algo.discovery.minimum_self_distance.utils module

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

class pm4py.algo.discovery.minimum_self_distance.utils.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ACTIVITY_KEY = 'pm4py:param:activity_key'
pm4py.algo.discovery.minimum_self_distance.utils.derive_msd_witnesses(log: pm4py.objects.log.obj.EventLog, msd: Optional[Dict[Any, int]] = None, parameters: Optional[Dict[Union[str, pm4py.algo.discovery.minimum_self_distance.utils.Parameters], Any]] = None) Dict[str, Set[str]][source]

This function derives the minimum self distance witnesses. The self distance of a in <a> is infinity, of a in <a,a> is 0, in <a,b,a> is 1, etc. The minimum self distance is the minimal observed self distance value in the event log. A ‘witness’ is an activity that witnesses the minimum self distance. For example, if the minimum self distance of activity a in some log L is 2, then, if trace <a,b,c,a> is in log L, b and c are a witness of a.

Parameters
• log – Event Log to use

• msd – Optional minimum self distance dictionary

• parameters – Optional parameters dictionary

Returns

Return type

Dictionary mapping each activity to a set of witnesses.

## Module contents

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.