public final class StateEquivalence extends Object
| Modifier and Type | Method and 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 using
Automata.findSeparatingWord(UniversalDeterministicAutomaton,
UniversalDeterministicAutomaton, Collection). |
public static <S,I,O> Optional<ADSNode<S,I,O>> compute(MealyMachine<S,I,?,O> automaton, Alphabet<I> input, Set<S> states) throws IllegalArgumentException
Automata.findSeparatingWord(UniversalDeterministicAutomaton,
UniversalDeterministicAutomaton, Collection).S - (hypothesis) state typeI - input alphabet typeO - output alphabet typeautomaton - 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 ADSOptional.empty() if there exists no ADS that distinguishes the given states, a valid ADS
otherwise.IllegalArgumentException - if passed anything other than two states.Copyright © 2018. All rights reserved.