Package de.learnlib.oracle.equivalence
Class CExFirstOracle<A extends net.automatalib.automaton.concept.Output<I,D>,I,D>
- java.lang.Object
-
- de.learnlib.oracle.equivalence.CExFirstOracle<A,I,D>
-
- Type Parameters:
A- automaton typeI- input symbol typeD- output domain type
- All Implemented Interfaces:
BlackBoxOracle<A,I,D>,EquivalenceOracle<A,I,D>,InclusionOracle<A,I,D>
- Direct Known Subclasses:
DFACExFirstOracle,MealyCExFirstOracle
public class CExFirstOracle<A extends net.automatalib.automaton.concept.Output<I,D>,I,D> extends Object implements BlackBoxOracle<A,I,D>
The strategy of this black-box oracle is to first try out a property, to see if it can be disproved. If it can not be disproved it tries the same property to find a counter example to the hypothesis, before continuing with the next property.This implementation may be used when refining a hypothesis is inexpensive compared to disproving propertyOracles.
- See Also:
DisproveFirstOracle
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.BlackBoxOracle
BlackBoxOracle.DFABlackBoxOracle<I extends Object>, BlackBoxOracle.MealyBlackBoxOracle<I extends Object,O extends Object>
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.EquivalenceOracle
EquivalenceOracle.DFAEquivalenceOracle<I extends Object>, EquivalenceOracle.MealyEquivalenceOracle<I extends Object,O extends Object>, EquivalenceOracle.MooreEquivalenceOracle<I extends Object,O extends Object>
-
Nested classes/interfaces inherited from interface de.learnlib.oracle.InclusionOracle
InclusionOracle.DFAInclusionOracle<I extends Object>, InclusionOracle.MealyInclusionOracle<I extends Object,O extends Object>
-
-
Constructor Summary
Constructors Constructor Description CExFirstOracle()CExFirstOracle(PropertyOracle<I,? super A,?,D> propertyOracle)CExFirstOracle(Collection<? extends PropertyOracle<I,? super A,?,D>> propertyOracles)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable DefaultQuery<I,D>findCounterExample(A hypothesis, Collection<? extends I> inputs)List<PropertyOracle<I,? super A,?,D>>getPropertyOracles()-
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.InclusionOracle
isCounterExample
-
-
-
-
Constructor Detail
-
CExFirstOracle
public CExFirstOracle()
-
CExFirstOracle
public CExFirstOracle(PropertyOracle<I,? super A,?,D> propertyOracle)
-
CExFirstOracle
public CExFirstOracle(Collection<? extends PropertyOracle<I,? super A,?,D>> propertyOracles)
-
-
Method Detail
-
getPropertyOracles
public List<PropertyOracle<I,? super A,?,D>> getPropertyOracles()
- Specified by:
getPropertyOraclesin interfaceBlackBoxOracle<A extends net.automatalib.automaton.concept.Output<I,D>,I,D>
-
findCounterExample
public @Nullable DefaultQuery<I,D> findCounterExample(A hypothesis, Collection<? extends I> inputs)
- Specified by:
findCounterExamplein interfaceEquivalenceOracle<A extends net.automatalib.automaton.concept.Output<I,D>,I,D>
-
-