Package de.learnlib.oracle.equivalence
Class AbstractBFInclusionOracle<A extends DetOutputAutomaton<?,I,?,D>,I,D>
- java.lang.Object
-
- de.learnlib.util.AbstractBFOracle<A,I,D>
-
- de.learnlib.oracle.equivalence.AbstractBFInclusionOracle<A,I,D>
-
- All Implemented Interfaces:
AutomatonOracle<A,I,D>
,EquivalenceOracle<A,I,D>
,InclusionOracle<A,I,D>
- Direct Known Subclasses:
DFABFInclusionOracle
,MealyBFInclusionOracle
public abstract class AbstractBFInclusionOracle<A extends DetOutputAutomaton<?,I,?,D>,I,D> extends AbstractBFOracle<A,I,D> implements InclusionOracle<A,I,D>
AnInclusionOracle
that generates words in a breadth-first manner.- See Also:
InclusionOracle
,AbstractBFOracle
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.AutomatonOracle
AutomatonOracle.DFAOracle<I>, AutomatonOracle.MealyOracle<I,O>
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.EquivalenceOracle
EquivalenceOracle.DFAEquivalenceOracle<I>, EquivalenceOracle.MealyEquivalenceOracle<I,O>, EquivalenceOracle.MooreEquivalenceOracle<I,O>
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.InclusionOracle
InclusionOracle.DFAInclusionOracle<I>, InclusionOracle.MealyInclusionOracle<I,O>
-
-
Constructor Summary
Constructors Constructor Description AbstractBFInclusionOracle(MembershipOracle<I,D> membershipOracle, double multiplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable DefaultQuery<I,D>
findCounterExample(A hypothesis, Collection<? extends I> inputs)
Searches for a counterexample disproving the subjected hypothesis.boolean
isCounterExample(A hypothesis, Iterable<? extends I> inputs, D output)
Returns whether the given input and output is a counter example for the given hypothesis.-
Methods inherited from class de.learnlib.util.AbstractBFOracle
addWord, getMembershipOracle, getMultiplier, nextInput, pre, processInput, setMultiplier
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.learnlib.oracle.AutomatonOracle
accepts, addWords, findCounterExample
-
Methods inherited from interface de.learnlib.oracle.InclusionOracle
isCounterExample
-
-
-
-
Constructor Detail
-
AbstractBFInclusionOracle
public AbstractBFInclusionOracle(MembershipOracle<I,D> membershipOracle, double multiplier)
-
-
Method Detail
-
isCounterExample
public boolean isCounterExample(A hypothesis, Iterable<? extends I> inputs, D output)
Description copied from interface:AutomatonOracle
Returns whether the given input and output is a counter example for the given hypothesis.- Specified by:
isCounterExample
in interfaceAutomatonOracle<A extends DetOutputAutomaton<?,I,?,D>,I,D>
- Parameters:
hypothesis
- the hypothesisinputs
- the input sequenceoutput
- the output corresponding to the input.- Returns:
- whether the given input and output is a counter example.
-
findCounterExample
public @Nullable DefaultQuery<I,D> findCounterExample(A hypothesis, Collection<? extends I> inputs)
Description copied from interface:EquivalenceOracle
Searches for a counterexample disproving the subjected hypothesis. A counterexample is query which, when performed on the SUL, yields a different output than what was predicted by the hypothesis. If no counterexample could be found (this does not necessarily mean that none exists),null
is returned.- Specified by:
findCounterExample
in interfaceAutomatonOracle<A extends DetOutputAutomaton<?,I,?,D>,I,D>
- Specified by:
findCounterExample
in interfaceEquivalenceOracle<A extends DetOutputAutomaton<?,I,?,D>,I,D>
- Parameters:
hypothesis
- the conjectureinputs
- the set of inputs to consider, this should be a subset of the input alphabet of the provided hypothesis- Returns:
- a query exposing different behavior, or
null
if no counterexample could be found. In case a non-null
value is returned, the output field in theDefaultQuery
contains the SUL output for the respective query.
-
-