Class PaigeTarjanInitializers
- java.lang.Object
-
- net.automatalib.util.partitionrefinement.PaigeTarjanInitializers
-
public final class PaigeTarjanInitializers extends Object
This class provides several methods to initialize aPaigeTarjan
partition refinement data structure from common sources, e.g., automata.The counterpart of this class is
PaigeTarjanExtractors
, which provides methods to translate the contents of the partition refinement data structure after coarsest stable partition computation back to such structures.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
initCompleteDeterministic(PaigeTarjan pt, SimpleDeterministicAutomaton.FullIntAbstraction absAutomaton, IntFunction<?> initialClassification, boolean pruneUnreachable)
Initializes the partition refinement data structure from a given abstracted deterministic automaton, partitioning states according to the given classification function.static void
initCompleteDeterministic(PaigeTarjan pt, UniversalDeterministicAutomaton.FullIntAbstraction<?,?,?> absAutomaton, AutomatonInitialPartitioning ip, boolean pruneUnreachable)
Initializes the partition refinement data structure from a given abstracted deterministic automaton, using a predefined initial partitioning mode.static void
initDeterministic(PaigeTarjan pt, SimpleDeterministicAutomaton.FullIntAbstraction absAutomaton, IntFunction<?> initialClassification, Object sinkClassification)
Initializes the partition refinement data structure from a given deterministic automaton, initializing the initial partition according to the given classification function.static void
prefixSum(int[] array, int startInclusive, int endExclusive)
-
-
-
Method Detail
-
initCompleteDeterministic
public static void initCompleteDeterministic(PaigeTarjan pt, UniversalDeterministicAutomaton.FullIntAbstraction<?,?,?> absAutomaton, AutomatonInitialPartitioning ip, boolean pruneUnreachable)
Initializes the partition refinement data structure from a given abstracted deterministic automaton, using a predefined initial partitioning mode.- Parameters:
pt
- the partition refinement data structureabsAutomaton
- the abstraction of the input automatonip
- the initial partitioning modepruneUnreachable
- whether to prune unreachable states during initialization
-
initCompleteDeterministic
public static void initCompleteDeterministic(PaigeTarjan pt, SimpleDeterministicAutomaton.FullIntAbstraction absAutomaton, IntFunction<?> initialClassification, boolean pruneUnreachable)
Initializes the partition refinement data structure from a given abstracted deterministic automaton, partitioning states according to the given classification function.The return value of the
initialClassification
function can be any validObject
reference (evennull
). States are initially placed in the same partition class if their return values from applyinginitialClassification
have the same hash code (determined according toObjects.hashCode(Object)
) and are equal (determined according toObjects.equals(Object, Object)
).- Parameters:
pt
- the partition refinement data structureabsAutomaton
- the abstraction of the input automatoninitialClassification
- the function determining the initial classificationpruneUnreachable
- whether to prune unreachable states during initialization
-
prefixSum
public static void prefixSum(int[] array, int startInclusive, int endExclusive)
-
initDeterministic
public static void initDeterministic(PaigeTarjan pt, SimpleDeterministicAutomaton.FullIntAbstraction absAutomaton, IntFunction<?> initialClassification, Object sinkClassification)
Initializes the partition refinement data structure from a given deterministic automaton, initializing the initial partition according to the given classification function.This method can be used for automata with partially defined transition functions.
- Parameters:
pt
- the partition refinement data structureabsAutomaton
- the abstraction of the input automatoninitialClassification
- the initial classification functionsinkClassification
- determines how a sink is being classified.
-
-