public class AlphaPlusPlusMinerImproved1Impl<E,A extends AlphaPlusPlusAbstraction<E>,P extends AlphaPlusMinerParameters> extends AlphaPlusMinerImpl<E,A,P>
Constructor and Description |
---|
AlphaPlusPlusMinerImproved1Impl(P parameters,
A abstraction,
org.processmining.framework.plugin.PluginContext context) |
Modifier and Type | Method and Description |
---|---|
protected org.processmining.logabstractions.models.CausalAbstraction<E> |
causalRelationsIncludingTheorem(org.processmining.logabstractions.models.CausalAbstraction<E> current,
java.util.Collection<org.processmining.framework.util.Pair<E,E>> newRelations) |
protected java.util.Collection<AlphaPairImpl<Union<E>,Union<E>>> |
computeAlphaPairsBasedOnTheoremOneAndTwo(AlphaMiner<E,?,?> miner,
org.processmining.logabstractions.models.CausalAbstraction<E> th1th2WithOriginal,
org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua,
org.processmining.logabstractions.models.LongTermFollowsAbstraction<E> ltfa) |
protected java.util.List<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> |
computeCandidateSetsForTheoremTwoCaseOne(java.util.Collection<E> candidates,
org.processmining.logabstractions.models.CausalAbstraction<E> cra,
org.processmining.logabstractions.models.ParallelAbstraction<E> pa,
org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua) |
protected java.util.List<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> |
computeCandidateSetsForTheoremTwoCaseTwo(java.util.Collection<E> candidates,
org.processmining.logabstractions.models.CausalAbstraction<E> cra,
org.processmining.logabstractions.models.ParallelAbstraction<E> pa,
org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua,
java.util.Collection<E> ignore) |
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
computeImplicitDependenciesByTheoremOne(AlphaPlusPlusAbstraction<E> abstraction)
Step 8 of alpha++.
|
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
computeImplicitDependenciesByTheoremThree(org.processmining.logabstractions.models.CausalAbstraction<E> craIncludingTh1Th2) |
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
computeImplicitDependenciesByTheoremTwo(org.processmining.logabstractions.models.CausalAbstraction<E> updatedCRA,
AlphaPlusPlusAbstraction<E> abstraction) |
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
computeImplicitDependenciesByTheoremTwoCaseOne(java.util.Collection<E> candidates,
org.processmining.logabstractions.models.CausalAbstraction<E> cra,
org.processmining.logabstractions.models.ParallelAbstraction<E> pa,
org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua,
org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa,
org.processmining.logabstractions.models.LongTermFollowsAbstraction<E> ltfa,
org.processmining.logabstractions.models.CausalPrecedenceAbstraction<E> cpa) |
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
computeImplicitDependenciesByTheoremTwoCaseTwo(java.util.Collection<E> candidates,
org.processmining.logabstractions.models.CausalAbstraction<E> cra,
org.processmining.logabstractions.models.ParallelAbstraction<E> pa,
org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua,
org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa,
org.processmining.logabstractions.models.LongTermFollowsAbstraction<E> ltfa,
org.processmining.logabstractions.models.CausalSuccessionAbstraction<E> csa) |
protected java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> |
computeMaximumTransitionSetsBasedOnTheorem3(org.processmining.logabstractions.models.CausalAbstraction<E> craTh3) |
protected org.processmining.models.graphbased.directed.petrinet.Petrinet |
connectLengthOneLoops(org.processmining.models.graphbased.directed.petrinet.Petrinet net,
java.util.Collection<AlphaTripleImpl<java.util.Collection<E>,java.util.Collection<E>,java.util.Collection<E>>> lengthOneLoopTriples) |
protected java.util.List<AlphaTripleImpl<java.util.Collection<E>,java.util.Collection<E>,java.util.Collection<E>>> |
createLengthOneLoopTriples(AlphaPlusPlusAbstraction<E> abstraction)
step 4 and step 5 of alpha++, constructing L_{W}
|
protected java.util.Collection<E> |
expandPrimeSetTheorem3(java.util.Collection<E> primeSet,
java.util.Collection<E> set,
java.util.Collection<E> oppositionSet,
E t,
org.processmining.logabstractions.models.CausalSuccessionAbstraction<E> csa,
org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa) |
protected java.util.Collection<E> |
getCandidatesForTheoremTwoCaseOne(org.processmining.logabstractions.models.CausalAbstraction<E> updatedCRA) |
protected java.util.Collection<E> |
getCandidatesForTheoremTwoCaseTwo(org.processmining.logabstractions.models.CausalAbstraction<E> updatedCRA) |
protected org.processmining.logabstractions.models.CausalAbstraction<E> |
getCausalRelationsIncludingTheoremTwo(org.processmining.logabstractions.models.CausalAbstraction<E> original,
java.util.Collection<org.processmining.framework.util.Pair<E,E>> newCausalRelations) |
protected org.processmining.logabstractions.models.CausalAbstraction<E> |
getCausalRelationsOfTheoremOnly(java.util.Collection<org.processmining.framework.util.Pair<E,E>> craTh) |
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
processResultSetForTheorem(java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> resSet,
E a,
E b,
org.processmining.logabstractions.models.CausalAbstraction<E> cra,
org.processmining.logabstractions.models.CausalSuccessionAbstraction<E> csa,
org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa,
java.util.Collection<E> ignore) |
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> |
reduceCausalRelationsOfTheorem2(java.util.Collection<org.processmining.framework.util.Pair<E,E>> dependencies,
org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa) |
protected org.processmining.logabstractions.models.CausalAbstraction<E> |
reduceCausalRelationsOfTheorem3(java.util.Collection<org.processmining.framework.util.Pair<E,E>> relations) |
protected void |
removeAllAlphaPairsIncludingLengthOneLoops(java.util.Collection<AlphaPairImpl<Union<E>,Union<E>>> alphaPairsTh1Th2,
java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> alphaPairsTh3,
java.util.Collection<AlphaTripleImpl<java.util.Collection<E>,java.util.Collection<E>,java.util.Collection<E>>> lengthOneLoopTriples) |
org.processmining.framework.util.Pair<org.processmining.models.graphbased.directed.petrinet.Petrinet,org.processmining.models.semantics.petrinet.Marking> |
run()
code based on algorithmic sketch presented in:
"Mining Models with Non-Free-Choice Constructs"; Lijie Wen, Wil M.P.
|
connectLenghtOneLoops
alphaExpansion, createInitialCausalStack, run, run, runAccPN
addFinalPlace, addFinalPlace, addInitialPlace, addPlaces, addTransitions, addTransitions, getAbstraction, getAlphaPairToPlaceMapping, getContext, getEventClassToTransitionMapping, getExecutor, getParameters, getProgress
protected org.processmining.logabstractions.models.CausalAbstraction<E> causalRelationsIncludingTheorem(org.processmining.logabstractions.models.CausalAbstraction<E> current, java.util.Collection<org.processmining.framework.util.Pair<E,E>> newRelations)
protected java.util.Collection<AlphaPairImpl<Union<E>,Union<E>>> computeAlphaPairsBasedOnTheoremOneAndTwo(AlphaMiner<E,?,?> miner, org.processmining.logabstractions.models.CausalAbstraction<E> th1th2WithOriginal, org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua, org.processmining.logabstractions.models.LongTermFollowsAbstraction<E> ltfa)
protected java.util.List<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> computeCandidateSetsForTheoremTwoCaseTwo(java.util.Collection<E> candidates, org.processmining.logabstractions.models.CausalAbstraction<E> cra, org.processmining.logabstractions.models.ParallelAbstraction<E> pa, org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua, java.util.Collection<E> ignore)
protected java.util.List<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> computeCandidateSetsForTheoremTwoCaseOne(java.util.Collection<E> candidates, org.processmining.logabstractions.models.CausalAbstraction<E> cra, org.processmining.logabstractions.models.ParallelAbstraction<E> pa, org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua)
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> computeImplicitDependenciesByTheoremOne(AlphaPlusPlusAbstraction<E> abstraction)
abstraction
- l1ls
- executor
- progress
- protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> computeImplicitDependenciesByTheoremThree(org.processmining.logabstractions.models.CausalAbstraction<E> craIncludingTh1Th2)
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> computeImplicitDependenciesByTheoremTwo(org.processmining.logabstractions.models.CausalAbstraction<E> updatedCRA, AlphaPlusPlusAbstraction<E> abstraction)
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> computeImplicitDependenciesByTheoremTwoCaseOne(java.util.Collection<E> candidates, org.processmining.logabstractions.models.CausalAbstraction<E> cra, org.processmining.logabstractions.models.ParallelAbstraction<E> pa, org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua, org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa, org.processmining.logabstractions.models.LongTermFollowsAbstraction<E> ltfa, org.processmining.logabstractions.models.CausalPrecedenceAbstraction<E> cpa)
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> computeImplicitDependenciesByTheoremTwoCaseTwo(java.util.Collection<E> candidates, org.processmining.logabstractions.models.CausalAbstraction<E> cra, org.processmining.logabstractions.models.ParallelAbstraction<E> pa, org.processmining.logabstractions.models.UnrelatedAbstraction<E> ua, org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa, org.processmining.logabstractions.models.LongTermFollowsAbstraction<E> ltfa, org.processmining.logabstractions.models.CausalSuccessionAbstraction<E> csa)
protected java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> computeMaximumTransitionSetsBasedOnTheorem3(org.processmining.logabstractions.models.CausalAbstraction<E> craTh3)
protected org.processmining.models.graphbased.directed.petrinet.Petrinet connectLengthOneLoops(org.processmining.models.graphbased.directed.petrinet.Petrinet net, java.util.Collection<AlphaTripleImpl<java.util.Collection<E>,java.util.Collection<E>,java.util.Collection<E>>> lengthOneLoopTriples)
protected java.util.List<AlphaTripleImpl<java.util.Collection<E>,java.util.Collection<E>,java.util.Collection<E>>> createLengthOneLoopTriples(AlphaPlusPlusAbstraction<E> abstraction)
protected java.util.Collection<E> expandPrimeSetTheorem3(java.util.Collection<E> primeSet, java.util.Collection<E> set, java.util.Collection<E> oppositionSet, E t, org.processmining.logabstractions.models.CausalSuccessionAbstraction<E> csa, org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa)
protected java.util.Collection<E> getCandidatesForTheoremTwoCaseOne(org.processmining.logabstractions.models.CausalAbstraction<E> updatedCRA)
protected java.util.Collection<E> getCandidatesForTheoremTwoCaseTwo(org.processmining.logabstractions.models.CausalAbstraction<E> updatedCRA)
protected org.processmining.logabstractions.models.CausalAbstraction<E> getCausalRelationsIncludingTheoremTwo(org.processmining.logabstractions.models.CausalAbstraction<E> original, java.util.Collection<org.processmining.framework.util.Pair<E,E>> newCausalRelations)
protected org.processmining.logabstractions.models.CausalAbstraction<E> getCausalRelationsOfTheoremOnly(java.util.Collection<org.processmining.framework.util.Pair<E,E>> craTh)
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> processResultSetForTheorem(java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> resSet, E a, E b, org.processmining.logabstractions.models.CausalAbstraction<E> cra, org.processmining.logabstractions.models.CausalSuccessionAbstraction<E> csa, org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa, java.util.Collection<E> ignore)
protected java.util.Collection<org.processmining.framework.util.Pair<E,E>> reduceCausalRelationsOfTheorem2(java.util.Collection<org.processmining.framework.util.Pair<E,E>> dependencies, org.processmining.logabstractions.models.EventuallyFollowsAbstraction<E> efa)
protected org.processmining.logabstractions.models.CausalAbstraction<E> reduceCausalRelationsOfTheorem3(java.util.Collection<org.processmining.framework.util.Pair<E,E>> relations)
protected void removeAllAlphaPairsIncludingLengthOneLoops(java.util.Collection<AlphaPairImpl<Union<E>,Union<E>>> alphaPairsTh1Th2, java.util.Collection<AlphaPairImpl<java.util.Collection<E>,java.util.Collection<E>>> alphaPairsTh3, java.util.Collection<AlphaTripleImpl<java.util.Collection<E>,java.util.Collection<E>,java.util.Collection<E>>> lengthOneLoopTriples)
public org.processmining.framework.util.Pair<org.processmining.models.graphbased.directed.petrinet.Petrinet,org.processmining.models.semantics.petrinet.Marking> run()
run
in interface AlphaMiner<E,A extends AlphaPlusPlusAbstraction<E>,P extends AlphaPlusMinerParameters>
run
in class AlphaPlusMinerImpl<E,A extends AlphaPlusPlusAbstraction<E>,P extends AlphaPlusMinerParameters>