Class AbstractOPLearner<M extends net.automatalib.automaton.concept.SuffixOutput<I,​D>,​I,​D,​SP,​TP>

    • Method Detail

      • startLearning

        public void startLearning()
        Description copied from interface: LearningAlgorithm
        Starts the model inference process, creating an initial hypothesis in the provided model object. Please note that it should be illegal to invoke this method twice.
        Specified by:
        startLearning in interface LearningAlgorithm<M extends net.automatalib.automaton.concept.SuffixOutput<I,​D>,​I,​D>
      • refineHypothesis

        public boolean refineHypothesis​(DefaultQuery<I,​D> ceQuery)
        Description copied from interface: LearningAlgorithm
        Triggers a refinement of the model by providing a counterexample. A counterexample is a query which exposes different behavior of the real SUL compared to the hypothesis. Please note that invoking this method before an initial invocation of LearningAlgorithm.startLearning() should be illegal.
        Specified by:
        refineHypothesis in interface LearningAlgorithm<M extends net.automatalib.automaton.concept.SuffixOutput<I,​D>,​I,​D>
        Parameters:
        ceQuery - the query which exposes diverging behavior, as posed to the real SUL (i.e. with the SULs output).
        Returns:
        true if the counterexample triggered a refinement of the hypothesis, false otherwise (i.e., it was no counterexample).
      • refineHypothesisSingle

        protected boolean refineHypothesisSingle​(DefaultQuery<I,​D> ceQuery)
      • initializeState

        protected void initializeState​(HState<I,​D,​SP,​TP> newState)
      • updateHypothesis

        protected void updateHypothesis()
      • updateTransitions

        protected void updateTransitions()
      • spQuery

        protected abstract @Nullable Query<I,​D> spQuery​(HState<I,​D,​SP,​TP> state)
      • addAlphabetSymbol

        public void addAlphabetSymbol​(I symbol)
        Specified by:
        addAlphabetSymbol in interface net.automatalib.alphabet.SupportsGrowingAlphabet<M extends net.automatalib.automaton.concept.SuffixOutput<I,​D>>
      • suspend

        public OPLearnerState<I,​D,​SP,​TP> suspend()
        Description copied from interface: Resumable
        Expose the state object.
        Specified by:
        suspend in interface Resumable<M extends net.automatalib.automaton.concept.SuffixOutput<I,​D>>
        Returns:
        The state.
      • resume

        public void resume​(OPLearnerState<I,​D,​SP,​TP> state)
        Description copied from interface: Resumable
        Resume the datastructure from a previously suspended point in time.
        Specified by:
        resume in interface Resumable<M extends net.automatalib.automaton.concept.SuffixOutput<I,​D>>
        Parameters:
        state - The learner state.