Class StateEquivalence
- java.lang.Object
-
- net.automatalib.util.automaton.ads.StateEquivalence
-
public final class StateEquivalence extends Object
A utility class for computing an adaptive distinguishing sequence by means of solving the state equivalence problems, i.e. computing and ADS for two states only.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <S,I,O>
Optional<ADSNode<S,I,O>>compute(MealyMachine<S,I,?,O> automaton, Alphabet<I> input, Set<S> states)
Computes a two-state ADS by usingAutomata.findSeparatingWord(UniversalDeterministicAutomaton, UniversalDeterministicAutomaton, Collection)
.
-
-
-
Method Detail
-
compute
public static <S,I,O> Optional<ADSNode<S,I,O>> compute(MealyMachine<S,I,?,O> automaton, Alphabet<I> input, Set<S> states)
Computes a two-state ADS by usingAutomata.findSeparatingWord(UniversalDeterministicAutomaton, UniversalDeterministicAutomaton, Collection)
.- Type Parameters:
S
- (hypothesis) state typeI
- input alphabet typeO
- output alphabet type- Parameters:
automaton
- the automaton for which an ADS should be computedinput
- the input alphabet of the automatonstates
- the set of states which should be distinguished by the computed ADS- Returns:
Optional.empty()
if there exists no ADS that distinguishes the given states, a valid ADS otherwise.- Throws:
IllegalArgumentException
- if passed anything other than two states.
-
-