|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.ls5.jlearn.algorithms.dhcmodular.DHCModular
public class DHCModular
Constructor Summary | |
---|---|
DHCModular()
|
|
DHCModular(Alphabet startalphabet,
Oracle oracle)
|
Method Summary | |
---|---|
boolean |
addCounterExample(Word example,
Word output)
Take an counterexample, determine what prefix makes the difference, add that splitter to the alphabet, and reset the hypothesis automaton |
int |
addLetter(Symbol letter)
Add given Symbol to the internal Alphabet of this
Learner . |
void |
addSuffix(Word suffix)
Add given Word to the internal set of suffixes of this
Learner . |
Class<? extends Plottable>[] |
getFormats()
returns an array of currently available plotable formats. |
Automaton |
getResult()
Provides the current hypothesis as Automaton object |
int |
getSigma()
Return the size of the internal Alphabet this Learner
uses to construct a hypothesis. |
void |
learn()
Starts the learning algorithm, returns once a hypothesis has been constructed |
String |
plotAsDot()
returns a dot view on the plotable objejt |
de.ls5.layouter.api.model.Graph |
plotAsGraph()
Will plot this polatbale as Graph |
String |
plotAsString()
Will plot this polatbale as String |
void |
setAlphabet(Alphabet alphabet)
Specifies the Alphabet used for construction of the hypothesis |
void |
setEquivalenceConcept(EquivalenceConcept ec)
|
void |
setMaximumStatesInBatch(int maxstates)
|
void |
setOracle(Oracle oracle)
Set the Oracle to be queried during the learning process |
void |
setOutputSymbolCreator(OutputSymbolCreator osc)
|
void |
setQueryCreator(QueryCreator qc)
|
void |
setQueueGuard(QueueGuard guard)
|
void |
setSplitterCreator(SplitterCreator splitterCreator)
Setter for the SplitterCreator , which encapsulates logic for
dealing with counterexamples (logic that, e.g., determines a suffix of
the counterexample that witnesses unequality of states, thus "splitting"
a state in the hypothesis). |
void |
setTransitionSelector(TransitionSelector ts)
|
String |
toDot()
return current state of data structure as dot text. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DHCModular()
public DHCModular(Alphabet startalphabet, Oracle oracle)
Method Detail |
---|
public final void setOracle(Oracle oracle)
Learner
Oracle
to be queried during the learning process
setOracle
in interface Learner
oracle
- Oracle
to be queriedpublic final void setAlphabet(Alphabet alphabet)
Learner
Alphabet
used for construction of the hypothesis
setAlphabet
in interface Learner
alphabet
- Alphabet
to be used for constructionpublic void setSplitterCreator(SplitterCreator splitterCreator)
Learner
SplitterCreator
, which encapsulates logic for
dealing with counterexamples (logic that, e.g., determines a suffix of
the counterexample that witnesses unequality of states, thus "splitting"
a state in the hypothesis).
setSplitterCreator
in interface Learner
splitterCreator
- instance of SplitterCreator
to be used for processing counterexamplespublic Automaton getResult()
Learner
Automaton
object
getResult
in interface Learner
public void learn() throws LearningException
Learner
learn
in interface Learner
LearningException
- if any learning-related exception occurs an instance of this exception will be thrownpublic boolean addCounterExample(Word example, Word output) throws ObservationConflictException
addCounterExample
in interface Learner
example
- counterexample provided by the equivalence oracleoutput
- output produced by the SUT when processing the counterexample
ObservationConflictException
- exception that is thrown if the counterexample and its output diverges from already observed behaviorpublic int addLetter(Symbol letter)
Learner
Symbol
to the internal Alphabet
of this
Learner
.
addLetter
in interface Learner
letter
- Symbol
to be additionally considered when construction a hypothesis
Alphabet
this letter was added topublic int getSigma()
Learner
Alphabet
this Learner
uses to construct a hypothesis.
getSigma
in interface Learner
public void setEquivalenceConcept(EquivalenceConcept ec)
public void setOutputSymbolCreator(OutputSymbolCreator osc)
public void setQueryCreator(QueryCreator qc)
public void setTransitionSelector(TransitionSelector ts)
public void setMaximumStatesInBatch(int maxstates)
public void setQueueGuard(QueueGuard guard)
public void addSuffix(Word suffix)
Learner
Word
to the internal set of suffixes of this
Learner
.
addSuffix
in interface Learner
suffix
- Word
to be additionally considered when constructing a hypothesispublic String toDot()
ObservableDataStructure
toDot
in interface ObservableDataStructure
public Class<? extends Plottable>[] getFormats()
Plottable
getFormats
in interface Plottable
public String plotAsDot()
DotPlottable
plotAsDot
in interface DotPlottable
public String plotAsString()
TextPlottable
plotAsString
in interface TextPlottable
public de.ls5.layouter.api.model.Graph plotAsGraph()
GraphPlottable
plotAsGraph
in interface GraphPlottable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |