Package de.learnlib.oracle
Interface EquivalenceOracle<A,I,D>
-
- Type Parameters:
A
- automaton type this equivalence oracle works onI
- input symbol typeD
- output domain type
- All Known Subinterfaces:
BlackBoxOracle<A,I,D>
,BlackBoxOracle.DFABlackBoxOracle<I>
,BlackBoxOracle.MealyBlackBoxOracle<I,O>
,EquivalenceOracle.DFAEquivalenceOracle<I>
,EquivalenceOracle.MealyEquivalenceOracle<I,O>
,EquivalenceOracle.MooreEquivalenceOracle<I,O>
,InclusionOracle<A,I,D>
,InclusionOracle.DFAInclusionOracle<I>
,InclusionOracle.MealyInclusionOracle<I,O>
,PropertyOracle<I,A,P,D>
,PropertyOracle.DFAPropertyOracle<I,P>
,PropertyOracle.MealyPropertyOracle<I,O,P>
- All Known Implementing Classes:
AbstractBFInclusionOracle
,AbstractTestWordEQOracle
,CExFirstOracle
,CompleteExplorationEQOracle
,DFABFInclusionOracle
,DFACExFirstOracle
,DFACompleteExplorationEQOracle
,DFADisproveFirstOracle
,DFAEQOracleChain
,DFAFinitePropertyOracle
,DFAIncrementalWMethodEQOracle
,DFALassoPropertyOracle
,DFAPropertyOracleChain
,DFARandomWMethodEQOracle
,DFARandomWordsEQOracle
,DFARandomWpMethodEQOracle
,DFASimulatorEQOracle
,DFAWMethodEQOracle
,DFAWpMethodEQOracle
,DisproveFirstOracle
,EQOracleChain
,IncrementalWMethodEQOracle
,LoggingPropertyOracle
,LoggingPropertyOracle.DFALoggingPropertyOracle
,LoggingPropertyOracle.MealyLoggingPropertyOracle
,MealyBFInclusionOracle
,MealyCacheConsistencyTest
,MealyCExFirstOracle
,MealyCompleteExplorationEQOracle
,MealyDisproveFirstOracle
,MealyEQOracleChain
,MealyFinitePropertyOracle
,MealyIncrementalWMethodEQOracle
,MealyLassoPropertyOracle
,MealyPropertyOracleChain
,MealyRandomWMethodEQOracle
,MealyRandomWordsEQOracle
,MealyRandomWpMethodEQOracle
,MealySimulatorEQOracle
,MealyWMethodEQOracle
,MealyWpMethodEQOracle
,MooreCacheConsistencyTest
,MooreCompleteExplorationEQOracle
,MooreEQOracleChain
,MooreIncrementalWMethodEQOracle
,MooreRandomWMethodEQOracle
,MooreRandomWordsEQOracle
,MooreRandomWpMethodEQOracle
,MooreSimulatorEQOracle
,MooreWMethodEQOracle
,MooreWpMethodEQOracle
,PropertyOracleChain
,RandomWalkEQOracle
,RandomWellMatchedWordsEQOracle
,RandomWMethodEQOracle
,RandomWordsEQOracle
,RandomWpMethodEQOracle
,SampleSetEQOracle
,SimulatorEQOracle
,SimulatorEQOracle
,SimulatorEQOracle
,SimulatorEQOracle
,SimulatorEQOracle
,StateLocalInputMealySimulatorEQOracle
,SymbolEQOracleWrapper
,ThreadSafeMealyCacheConsistencyTest
,ThreadSafeMooreCacheConsistencyTest
,WMethodEQOracle
,WMethodEQOracle
,WMethodEQOracle
,WMethodEQOracle
,WpMethodEQOracle
,WpMethodEQOracle
public interface EquivalenceOracle<A,I,D>
An equivalence oracle, which checks hypothesis automata against the (possibly unknown) system under learning (SUL).Please note that equivalence oracles are implicitly connected to a SUL, there is no explicit references in terms of a
MembershipOracle
or such. However, this might be different in implementing classes.CAVEAT: Equivalence oracles serve as an abstraction to tackle the (generally undecidable) problem of black-box equivalence testing. The contract imposed by this interface is that results returned by the
findCounterExample(Object, Collection)
method are in fact counterexamples, BUT anull
result signalling no counterexample was found does not mean that there can be none.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
EquivalenceOracle.DFAEquivalenceOracle<I>
A specialization of theEquivalenceOracle
interface for a DFA learning scenario.static interface
EquivalenceOracle.MealyEquivalenceOracle<I,O>
A specialization of theEquivalenceOracle
interface for a Mealy learning scenario.static interface
EquivalenceOracle.MooreEquivalenceOracle<I,O>
A specialization of theEquivalenceOracle
interface for a Moore learning scenario.
-
Method Summary
All Methods Instance Methods Abstract 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.
-
-
-
Method Detail
-
findCounterExample
@Nullable DefaultQuery<I,D> findCounterExample(A hypothesis, Collection<? extends I> inputs)
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.- 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.
-
-