Class AbstractSelectEQOracle

java.lang.Object
net.maswag.falcaun.AbstractSelectEQOracle
All Implemented Interfaces:
de.learnlib.oracle.EquivalenceOracle<net.automatalib.automaton.transducer.MealyMachine<?,String,?,String>,String,net.automatalib.word.Word<String>>, de.learnlib.oracle.EquivalenceOracle.MealyEquivalenceOracle<String,String>, EvaluationCountable, EvaluationCountable.MealyEquivalenceOracle<String,String>
Direct Known Subclasses:
HillClimbingEQOracle, MutateSelectEQOracle

public abstract class AbstractSelectEQOracle extends Object implements de.learnlib.oracle.EquivalenceOracle.MealyEquivalenceOracle<String,String>, EvaluationCountable.MealyEquivalenceOracle<String,String>

Abstract AbstractSelectEQOracle class.

Author:
Masaki Waga <masakiwaga@gmail.com>
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • random

      Random random
    • generationSize

      int generationSize
    • childrenSize

      int childrenSize
    • symbolList

      List<? extends String> symbolList
    • memOracle

    • length

      private int length
    • maxTests

      private int maxTests
    • resetWord

      private boolean resetWord
    • currentSamples

      private List<net.automatalib.word.Word<String>> currentSamples
    • ltlOracle

      private de.learnlib.oracle.PropertyOracle.MealyPropertyOracle<String,String,String> ltlOracle
    • evaluateCount

      private int evaluateCount
    • minCost

      private double minCost
  • Constructor Details

    • AbstractSelectEQOracle

      AbstractSelectEQOracle(NumericMembershipOracleCost memOracle, int length, Random random, int maxTests, int generationSize, int childrenSize, boolean resetWord)
    • AbstractSelectEQOracle

      AbstractSelectEQOracle(NumericMembershipOracleCost memOracle, int length, Random random, int maxTests, int generationSize, int childrenSize, boolean resetWord, de.learnlib.oracle.PropertyOracle.MealyPropertyOracle<String,String,String> ltlOracle)
  • Method Details

    • resetSamples

      private void resetSamples()
    • isDisproved

      private boolean isDisproved()
      Returns whether the property is disproved i.e., whether it observed such an input that the cost function < 0.
      Returns:
      whether the property is disproved.
    • findCounterExample

      @Nullable @ParametersAreNonnullByDefault public de.learnlib.query.DefaultQuery<String,net.automatalib.word.Word<String>> findCounterExample(net.automatalib.automaton.transducer.MealyMachine<?,String,?,String> hypothesis, Collection<? extends String> inputs)
      Specified by:
      findCounterExample in interface de.learnlib.oracle.EquivalenceOracle<net.automatalib.automaton.transducer.MealyMachine<?,String,?,String>,String,net.automatalib.word.Word<String>>
    • generateTestWord

      private net.automatalib.word.Word<String> generateTestWord(List<? extends String> symbolList)
      Generate one word of length length randomly
      Parameters:
      symbolList - The list of the possible symbols
      Returns:
      the generated word
    • createNextGeneration

      abstract List<net.automatalib.word.Word<String>> createNextGeneration(List<net.automatalib.word.Word<String>> goodSamples)