@GenerateBuilder(defaults = ExtensibleAutomatonLStar.BuilderDefaults.class) public RivestSchapireMealy(Alphabet<I> alphabet, MembershipOracle<I, Word<O>> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Word<O>> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.RIVEST_SCHAPIRE, closingStrategy); }
@GenerateBuilder(defaults = ExtensibleAutomatonLStar.BuilderDefaults.class) public RivestSchapireDFA(Alphabet<I> alphabet, MembershipOracle<I, Boolean> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Boolean> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.RIVEST_SCHAPIRE, closingStrategy); }
@GenerateBuilder(defaults = AbstractExtensibleAutomatonLStar.BuilderDefaults.class) public RivestSchapireMealy(Alphabet<I> alphabet, MembershipOracle<I, Word<O>> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Word<O>> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.RIVEST_SCHAPIRE, closingStrategy); }
@GenerateBuilder(defaults = AbstractExtensibleAutomatonLStar.BuilderDefaults.class) public RivestSchapireDFA(Alphabet<I> alphabet, MembershipOracle<I, Boolean> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Boolean> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.RIVEST_SCHAPIRE, closingStrategy); }
@GenerateBuilder(defaults = ExtensibleAutomatonLStar.BuilderDefaults.class) public MalerPnueliMealy(Alphabet<I> alphabet, MembershipOracle<I, Word<O>> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Word<O>> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.MALER_PNUELI, closingStrategy); }
@GenerateBuilder(defaults = AbstractExtensibleAutomatonLStar.BuilderDefaults.class) public MalerPnueliDFA(Alphabet<I> alphabet, MembershipOracle<I, Boolean> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Boolean> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.MALER_PNUELI, closingStrategy); }
@GenerateBuilder(defaults = AbstractExtensibleAutomatonLStar.BuilderDefaults.class) public MalerPnueliMealy(Alphabet<I> alphabet, MembershipOracle<I, Word<O>> oracle, List<Word<I>> initialSuffixes, ClosingStrategy<? super I, ? super Word<O>> closingStrategy) { super(alphabet, oracle, initialSuffixes, ObservationTableCEXHandlers.MALER_PNUELI, closingStrategy); }
@GenerateBuilder public DTLearnerVPDA(VPDAlphabet<I> alphabet, MembershipOracle<I, Boolean> oracle, AcexAnalyzer analyzer) { super(alphabet, oracle); this.analyzer = analyzer; }
@GenerateBuilder(defaults = BuilderDefaults.class) public LTSminMonitorIO(boolean keepFiles, Function<String, I> string2Input, Function<String, O> string2Output, Collection<? super O> skipOutputs) { super(keepFiles, string2Input, string2Output, skipOutputs); } }
@GenerateBuilder(defaults = BuilderDefaults.class) public LTSminLTLIO(boolean keepFiles, Function<String, I> string2Input, Function<String, O> string2Output, int minimumUnfolds, double multiplier, Collection<? super O> skipOutputs) { super(keepFiles, string2Input, string2Output, minimumUnfolds, multiplier, skipOutputs); } }
@GenerateBuilder(defaults = BuilderDefaults.class) public LTSminMonitorDFA(boolean keepFiles, Function<String, I> string2Input) { super(keepFiles, string2Input); }
@GenerateBuilder(defaults = BuilderDefaults.class) public LTSminLTLAlternating(boolean keepFiles, Function<String, I> string2Input, Function<String, O> string2Output, int minimumUnfolds, double multiplier, Collection<? super O> skipOutputs) { super(keepFiles, string2Input, string2Output, minimumUnfolds, multiplier, skipOutputs); }
@GenerateBuilder(defaults = BuilderDefaults.class) public LTSminMonitorAlternating(boolean keepFiles, Function<String, I> string2Input, Function<String, O> string2Output, Collection<? super O> skipOutputs) { super(keepFiles, string2Input, string2Output, skipOutputs); }
@GenerateBuilder public ClassicLStarDFA(Alphabet<I> alphabet, MembershipOracle<I, Boolean> oracle) { super(alphabet, oracle, Collections.singletonList(Word.epsilon()), ObservationTableCEXHandlers.CLASSIC_LSTAR, ClosingStrategies.CLOSE_FIRST); } }
/** * Constructor. * * @param alphabet * the input alphabet * @param oracle * the membership oracle */ @GenerateBuilder public NLStarLearner(Alphabet<I> alphabet, MembershipOracle<I, Boolean> oracle) { this.alphabet = alphabet; this.table = new ObservationTable<>(alphabet, oracle); }
@GenerateBuilder(defaults = AbstractTTTLearner.BuilderDefaults.class) public TTTLearnerMealy(Alphabet<I> alphabet, MembershipOracle<I, Word<O>> oracle, AcexAnalyzer analyzer) { super(alphabet, oracle, new TTTHypothesisMealy<>(alphabet), new BaseTTTDiscriminationTree<>(oracle, TTTDTNodeMealy::new), analyzer); }
@GenerateBuilder(defaults = ExtensibleAutomatonLStar.BuilderDefaults.class) public ExtensibleLStarDFA(Alphabet<I> alphabet, MembershipOracle<I,Boolean> oracle, List<Word<I>> initialPrefixes, List<Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I, ? super Boolean> cexHandler, ClosingStrategy<? super I, ? super Boolean> closingStrategy) { super(alphabet, oracle, new CompactDFA<I>(alphabet), initialPrefixes, LStarDFAUtil.ensureSuffixCompliancy(initialSuffixes), cexHandler, closingStrategy); }
@GenerateBuilder(defaults = ExtensibleAutomatonLStar.BuilderDefaults.class) public ClassicLStarMealy(Alphabet<I> alphabet, MembershipOracle<I, O> oracle, List<Word<I>> initialPrefixes, List<Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I, ? super O> cexHandler, ClosingStrategy<? super I, ? super O> closingStrategy) { super(alphabet, oracle, new CompactMealy<I,O>(alphabet), initialPrefixes, LStarMealyUtil.ensureSuffixCompliancy(initialSuffixes, alphabet, true), cexHandler, closingStrategy); }
@GenerateBuilder(defaults = ExtensibleAutomatonLStar.BuilderDefaults.class) public ExtensibleLStarMealy(Alphabet<I> alphabet, MembershipOracle<I, Word<O>> oracle, List<Word<I>> initialPrefixes, List<Word<I>> initialSuffixes, ObservationTableCEXHandler<? super I, ? super Word<O>> cexHandler, ClosingStrategy<? super I, ? super Word<O>> closingStrategy) { super(alphabet, oracle, new CompactMealy<I,O>(alphabet), initialPrefixes, LStarMealyUtil.ensureSuffixCompliancy(initialSuffixes, alphabet, cexHandler.needsConsistencyCheck()), cexHandler, closingStrategy); }
protected TTTLearnerDFA(Alphabet<I> alphabet, MembershipOracle<I, Boolean> oracle, AcexAnalyzer analyzer, Supplier<? extends AbstractBaseDTNode<I, Boolean>> rootSupplier) { super(alphabet, oracle, new TTTHypothesisDFA<>(alphabet), new BaseTTTDiscriminationTree<>(oracle, rootSupplier), analyzer); split(dtree.getRoot(), Word.epsilon(), false, true); }