
de.learnlib.algorithm.lstar.moore.ExtensibleLStarMooreBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of learnlib-lstar Show documentation
Show all versions of learnlib-lstar Show documentation
This artifact provides the implementation of the L* learning algorithm described in the paper "Learning Regular
Sets from Queries and Counterexamples" (https://doi.org/10.1016/0890-5401(87)90052-6) by Dana Angluin including
variations and optimizations thereof such as the versions based on "On the Learnability of Infinitary Regular
Sets" (https://dx.doi.org/10.1006/inco.1995.1070) by Oded Maler and Amir Pnueli or "Inference of finite automata
using homing sequences" (http://dx.doi.org/10.1006/inco.1993.1021) by Ronald L. Rivest and Robert E. Schapire.
The newest version!
/*
* Automatically generated by BuilderGen, https://github.com/misberner/buildergen.
* DO NOT EDIT THIS FILE! Your changes will be overwritten.
* Edit the @GenerateBuilder specification of class
* de.learnlib.algorithm.lstar.moore.ExtensibleLStarMoore
*/
package de.learnlib.algorithm.lstar.moore;
public final class ExtensibleLStarMooreBuilder<
I extends java.lang.Object,
O extends java.lang.Object> {
private static<
I extends java.lang.Object,
O extends java.lang.Object> de.learnlib.algorithm.lstar.moore.ExtensibleLStarMoore $createDispatch(
net.automatalib.alphabet.Alphabet alphabet,
de.learnlib.oracle.MembershipOracle> oracle,
java.util.List> initialPrefixes,
java.util.List> initialSuffixes,
de.learnlib.algorithm.lstar.ce.ObservationTableCEXHandler super I,? super net.automatalib.word.Word> cexHandler,
de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> closingStrategy
) {
return new de.learnlib.algorithm.lstar.moore.ExtensibleLStarMoore(
alphabet,
oracle,
initialPrefixes,
initialSuffixes,
cexHandler,
closingStrategy
);
}
private net.automatalib.alphabet.Alphabet alphabet;
private de.learnlib.oracle.MembershipOracle> oracle;
private java.util.List> initialPrefixes;
private java.util.List> initialSuffixes;
private de.learnlib.algorithm.lstar.ce.ObservationTableCEXHandler super I,? super net.automatalib.word.Word> cexHandler;
private de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> closingStrategy;
public ExtensibleLStarMooreBuilder() {
this.initialPrefixes = de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar.BuilderDefaults.initialPrefixes();
this.initialSuffixes = de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar.BuilderDefaults.initialSuffixes();
this.cexHandler = de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar.BuilderDefaults.cexHandler();
this.closingStrategy = de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar.BuilderDefaults.closingStrategy();
}
public de.learnlib.algorithm.lstar.moore.ExtensibleLStarMoore create() {
return $createDispatch(
this.alphabet,
this.oracle,
this.initialPrefixes,
this.initialSuffixes,
this.cexHandler,
this.closingStrategy
);
}
public net.automatalib.alphabet.Alphabet getAlphabet() {
return this.alphabet;
}
public void setAlphabet(net.automatalib.alphabet.Alphabet alphabet) {
this.alphabet = alphabet;
}
public ExtensibleLStarMooreBuilder withAlphabet(net.automatalib.alphabet.Alphabet alphabet) {
this.alphabet = alphabet;
return this;
}
public de.learnlib.oracle.MembershipOracle> getOracle() {
return this.oracle;
}
public void setOracle(de.learnlib.oracle.MembershipOracle> oracle) {
this.oracle = oracle;
}
public ExtensibleLStarMooreBuilder withOracle(de.learnlib.oracle.MembershipOracle> oracle) {
this.oracle = oracle;
return this;
}
public java.util.List> getInitialPrefixes() {
return this.initialPrefixes;
}
public void setInitialPrefixes(java.util.List> initialPrefixes) {
this.initialPrefixes = initialPrefixes;
}
public ExtensibleLStarMooreBuilder withInitialPrefixes(java.util.List> initialPrefixes) {
this.initialPrefixes = initialPrefixes;
return this;
}
public java.util.List> getInitialSuffixes() {
return this.initialSuffixes;
}
public void setInitialSuffixes(java.util.List> initialSuffixes) {
this.initialSuffixes = initialSuffixes;
}
public ExtensibleLStarMooreBuilder withInitialSuffixes(java.util.List> initialSuffixes) {
this.initialSuffixes = initialSuffixes;
return this;
}
public de.learnlib.algorithm.lstar.ce.ObservationTableCEXHandler super I,? super net.automatalib.word.Word> getCexHandler() {
return this.cexHandler;
}
public void setCexHandler(de.learnlib.algorithm.lstar.ce.ObservationTableCEXHandler super I,? super net.automatalib.word.Word> cexHandler) {
this.cexHandler = cexHandler;
}
public ExtensibleLStarMooreBuilder withCexHandler(de.learnlib.algorithm.lstar.ce.ObservationTableCEXHandler super I,? super net.automatalib.word.Word> cexHandler) {
this.cexHandler = cexHandler;
return this;
}
public de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> getClosingStrategy() {
return this.closingStrategy;
}
public void setClosingStrategy(de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> closingStrategy) {
this.closingStrategy = closingStrategy;
}
public ExtensibleLStarMooreBuilder withClosingStrategy(de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> closingStrategy) {
this.closingStrategy = closingStrategy;
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy