
de.learnlib.algorithm.malerpnueli.MalerPnueliMooreBuilder 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.malerpnueli.MalerPnueliMoore
*/
package de.learnlib.algorithm.malerpnueli;
public final class MalerPnueliMooreBuilder<
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.malerpnueli.MalerPnueliMoore $createDispatch(
net.automatalib.alphabet.Alphabet alphabet,
de.learnlib.oracle.MembershipOracle> oracle,
java.util.List> initialSuffixes,
de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> closingStrategy
) {
return new de.learnlib.algorithm.malerpnueli.MalerPnueliMoore(
alphabet,
oracle,
initialSuffixes,
closingStrategy
);
}
private net.automatalib.alphabet.Alphabet alphabet;
private de.learnlib.oracle.MembershipOracle> oracle;
private java.util.List> initialSuffixes;
private de.learnlib.algorithm.lstar.closing.ClosingStrategy super I,? super net.automatalib.word.Word> closingStrategy;
public MalerPnueliMooreBuilder() {
this.initialSuffixes = de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar.BuilderDefaults.initialSuffixes();
this.closingStrategy = de.learnlib.algorithm.lstar.AbstractExtensibleAutomatonLStar.BuilderDefaults.closingStrategy();
}
public de.learnlib.algorithm.malerpnueli.MalerPnueliMoore create() {
return $createDispatch(
this.alphabet,
this.oracle,
this.initialSuffixes,
this.closingStrategy
);
}
public net.automatalib.alphabet.Alphabet getAlphabet() {
return this.alphabet;
}
public void setAlphabet(net.automatalib.alphabet.Alphabet alphabet) {
this.alphabet = alphabet;
}
public MalerPnueliMooreBuilder 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 MalerPnueliMooreBuilder withOracle(de.learnlib.oracle.MembershipOracle> oracle) {
this.oracle = oracle;
return this;
}
public java.util.List> getInitialSuffixes() {
return this.initialSuffixes;
}
public void setInitialSuffixes(java.util.List> initialSuffixes) {
this.initialSuffixes = initialSuffixes;
}
public MalerPnueliMooreBuilder withInitialSuffixes(java.util.List> initialSuffixes) {
this.initialSuffixes = initialSuffixes;
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 MalerPnueliMooreBuilder 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