Class WpMethodEQOracle<A extends net.automatalib.automaton.UniversalDeterministicAutomaton<?,​I,​?,​?,​?> & net.automatalib.automaton.concept.Output<I,​D>,​I,​D>

    • Constructor Detail

      • WpMethodEQOracle

        public WpMethodEQOracle​(MembershipOracle<I,​D> sulOracle,
                                int lookahead)
        Constructor. Convenience method for WpMethodEQOracle(MembershipOracle, int, int) that sets expectedSize to 0.
        Parameters:
        sulOracle - interface to the system under learning
        lookahead - the maximum length of the "middle" part of the test cases
      • WpMethodEQOracle

        public WpMethodEQOracle​(MembershipOracle<I,​D> sulOracle,
                                int lookahead,
                                int expectedSize)
        Constructor. Convenience method for WpMethodEQOracle(MembershipOracle, int, int, int) that sets batchSize to 1.
        Parameters:
        sulOracle - interface to the system under learning
        lookahead - the (minimal) maximum length of the "middle" part of the test cases
        expectedSize - the expected size of the system under learning
      • WpMethodEQOracle

        public WpMethodEQOracle​(MembershipOracle<I,​D> sulOracle,
                                int lookahead,
                                int expectedSize,
                                int batchSize)
        Constructor. Uses Math.max(lookahead, expectedSize - hypothesis.size()) to determine the maximum length of sequences, that should be appended to the state-cover (first phase) and remaining transition-cover (second phase) part of the test sequence to account for the fact that the system under learning may have more states than the current hypothesis.
        Parameters:
        sulOracle - interface to the system under learning
        lookahead - the (minimal) maximum length of the "middle" part of the test cases
        expectedSize - the expected size of the system under learning
        batchSize - size of the batches sent to the membership oracle
        See Also:
        WpMethodTestsIterator
    • Method Detail

      • generateTestWords

        protected Stream<net.automatalib.word.Word<I>> generateTestWords​(A hypothesis,
                                                                         Collection<? extends I> inputs)
        Description copied from class: AbstractTestWordEQOracle
        Generate the stream of test words that should be used for the current equivalence check cycle.
        Specified by:
        generateTestWords in class AbstractTestWordEQOracle<A extends net.automatalib.automaton.UniversalDeterministicAutomaton<?,​I,​?,​?,​?> & net.automatalib.automaton.concept.Output<I,​D>,​I,​D>
        Parameters:
        hypothesis - the current hypothesis of the learning algorithm
        inputs - the collection of inputs to consider
        Returns:
        the stream of test words used for equivalence testing
        See Also:
        EquivalenceOracle.findCounterExample(Object, Collection)