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>
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
MembershipOracleor 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 anullresult signalling no counterexample was found does not mean that there can be none.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceEquivalenceOracle.DFAEquivalenceOracle<I>A specialization of theEquivalenceOracleinterface for a DFA learning scenario.static interfaceEquivalenceOracle.MealyEquivalenceOracle<I,O>A specialization of theEquivalenceOracleinterface for a Mealy learning scenario.static interfaceEquivalenceOracle.MooreEquivalenceOracle<I,O>A specialization of theEquivalenceOracleinterface 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),nullis 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
nullif no counterexample could be found. In case a non-nullvalue is returned, the output field in theDefaultQuerycontains the SUL output for the respective query.
-
-