public final class BacktrackingSearch extends Object
Modifier and Type | Class and Description |
---|---|
static class |
BacktrackingSearch.CostAggregator
Utility enum, that allows to specify the optimization criterion when performing and optimal ADS search.
|
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 an ADS by constructing (growing) splitting words for the current set of states and recursively computing
sub-ADSs for the induced partitions.
|
static <S,I,O> Optional<ADSNode<S,I,O>> |
computeOptimal(MealyMachine<S,I,?,O> automaton,
Alphabet<I> input,
Set<S> states,
BacktrackingSearch.CostAggregator costAggregator)
Computes an ADS by iterating over the successor tree in a breadth-first manner, yielding an optimal (dependant on
the passed optimization function) ADS.
|
public static <S,I,O> Optional<ADSNode<S,I,O>> compute(MealyMachine<S,I,?,O> automaton, Alphabet<I> input, Set<S> states)
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.public static <S,I,O> Optional<ADSNode<S,I,O>> computeOptimal(MealyMachine<S,I,?,O> automaton, Alphabet<I> input, Set<S> states, BacktrackingSearch.CostAggregator costAggregator)
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 ADScostAggregator
- the optimization function by which solutions should be prunedOptional.empty()
if there exists no ADS that distinguishes the given states, a valid ADS
otherwise.Copyright © 2020. All rights reserved.