Class BlueFringeEDSMDFA<I>

  • Type Parameters:
    I - input symbol type
    All Implemented Interfaces:
    PassiveLearningAlgorithm<net.automatalib.automaton.fsa.DFA<?,​I>,​I,​Boolean>, PassiveLearningAlgorithm.PassiveAcceptorLearner<net.automatalib.automaton.fsa.DFA<?,​I>,​I>, PassiveLearningAlgorithm.PassiveDFALearner<I>

    public class BlueFringeEDSMDFA<I>
    extends AbstractBlueFringeRPNI<I,​Boolean,​Boolean,​Void,​net.automatalib.automaton.fsa.DFA<?,​I>>
    implements PassiveLearningAlgorithm.PassiveDFALearner<I>
    A state-merging learning algorithm based on the evidence principle. On an operational level this algorithm is very similar to the BlueFringeRPNIDFA algorithm. However, whereas the basic RPNI approach merges the very first pair of nodes that resemble a valid merge, the EDSM variant prioritizes the promotion of states (to be unmergable) and only proceeds to merge states, if there exists at least one mergable blue state for every red state. If such a situation occurs, the algorithm merges the two states whose merge would yield the biggest score (see EDSMUtil.score(UniversalDeterministicAutomaton, List, List)). Thus, the behavior of this algorithm is more passive, or as the name suggest evidence-driven.

    Implementation note: This implementation does support repeated calls to PassiveLearningAlgorithm.computeModel().