Package de.learnlib.algorithm.adt.ads
Class DefensiveADS<S,I,O>
- java.lang.Object
-
- de.learnlib.algorithm.adt.ads.DefensiveADS<S,I,O>
-
- Type Parameters:
S
- (hypothesis) state typeI
- input alphabet typeO
- output alphabet type
public final class DefensiveADS<S,I,O> extends Object
A variant of the backtracking ADS search (seeADS
,BacktrackingSearch
), that works on partially defined automata. It tries to find an ADS based on defined transitions and successively closes transitions if no ADS has been found.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <S,I,O>
Optional<ADTNode<S,I,O>>compute(MealyMachine<S,I,?,O> automaton, Alphabet<I> alphabet, Set<S> states, PartialTransitionAnalyzer<S,I> pta)
Compute an adaptive distinguishing sequence (as an ADT) for the given automaton and the given set of states.
-
-
-
Method Detail
-
compute
public static <S,I,O> Optional<ADTNode<S,I,O>> compute(MealyMachine<S,I,?,O> automaton, Alphabet<I> alphabet, Set<S> states, PartialTransitionAnalyzer<S,I> pta)
Compute an adaptive distinguishing sequence (as an ADT) for the given automaton and the given set of states.- Type Parameters:
S
- (hypothesis) state typeI
- input alphabet typeO
- output alphabet type- Parameters:
automaton
- the automaton for which an ADS should be computedalphabet
- the input alphabet of the automatonstates
- the set of states which should be distinguished by the computed ADSpta
- the analyzer to inspect and close partial transitions- Returns:
Optional.empty()
if there exists no ADS that distinguishes the given states, a valid ADS otherwise.
-
-