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)
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 © 2020. All rights reserved.