All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.learnlib.algorithm.lstar.dfa.ClassicLStarDFABuilder Maven / Gradle / Ivy

Go to download

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.dfa.ClassicLStarDFA
 */

package de.learnlib.algorithm.lstar.dfa;

public final class ClassicLStarDFABuilder<
		I extends java.lang.Object> {

	private static<
			I extends java.lang.Object> de.learnlib.algorithm.lstar.dfa.ClassicLStarDFA $createDispatch(
		net.automatalib.alphabet.Alphabet alphabet,
		de.learnlib.oracle.MembershipOracle oracle
		) {
		return new de.learnlib.algorithm.lstar.dfa.ClassicLStarDFA(
			alphabet,
			oracle
			);
	}

	private net.automatalib.alphabet.Alphabet alphabet;
	private de.learnlib.oracle.MembershipOracle oracle;

	public ClassicLStarDFABuilder() {
	}

	public de.learnlib.algorithm.lstar.dfa.ClassicLStarDFA create() {
		return $createDispatch(
			this.alphabet,
			this.oracle
			);
	}

	public net.automatalib.alphabet.Alphabet getAlphabet() {
		return this.alphabet;
	}
	public void setAlphabet(net.automatalib.alphabet.Alphabet alphabet) {
		this.alphabet = alphabet;
	}
	public ClassicLStarDFABuilder 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 ClassicLStarDFABuilder withOracle(de.learnlib.oracle.MembershipOracle oracle) {
		this.oracle = oracle;
		return this;
	} 

}