de.ls5.jlearn.splittercreators
Class KearnsStyleDFASplitterCreator
java.lang.Object
de.ls5.jlearn.splittercreators.KearnsStyleDFASplitterCreator
- All Implemented Interfaces:
- SplitterCreator
- Direct Known Subclasses:
- RivestStyleDFASplitterCreator
public class KearnsStyleDFASplitterCreator
- extends Object
- implements SplitterCreator
- Author:
- fh
Method Summary |
boolean |
applyGlobally()
Indicates that a set of suffixes is ought to be applied globally (to all
states or components - or whatever data structure is used). |
List<State> |
applyToStates()
Return a list of states from the hypothesis which are identified to
be affected by splitters formely having been created using the
createSplitters-method. |
List<Word> |
createSplitters(Word counterexample,
Word output,
Oracle o,
Automaton hypothesis)
Determine splitters that reveal diverging behavior between the learner's
hypothesis and the target system. |
protected Word |
getValidPrefix(Word ce,
Word co)
|
protected Word |
getValidPrefix(Word ce,
Word co,
int lower,
int upper,
int[] flags)
|
void |
setOracle(Oracle o)
allows to set the oracle explicitly. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
hyp
protected Automaton hyp
KearnsStyleDFASplitterCreator
public KearnsStyleDFASplitterCreator()
KearnsStyleDFASplitterCreator
public KearnsStyleDFASplitterCreator(Oracle oracle)
setOracle
public void setOracle(Oracle o)
- Description copied from interface:
SplitterCreator
- allows to set the oracle explicitly. It is expected that when the oracle
is set explicitly, this will override the oracle that is set by the learning
algorithm. This is useful to count the queries used by the splittercreator
seperately.
- Specified by:
setOracle
in interface SplitterCreator
createSplitters
public List<Word> createSplitters(Word counterexample,
Word output,
Oracle o,
Automaton hypothesis)
- Description copied from interface:
SplitterCreator
- Determine splitters that reveal diverging behavior between the learner's
hypothesis and the target system. Those splitters are used by the
learning algorithm to split states which formerly have been considered
to be one state.
- Specified by:
createSplitters
in interface SplitterCreator
- Parameters:
counterexample
- counterexample provided by the equivalence oracleoutput
- output of the target system in reaction to the target systemo
- connector to the target systemhypothesis
- current hypothesis of the learner
- Returns:
- list of sequences of input symbols revealing divering behavior
getValidPrefix
protected Word getValidPrefix(Word ce,
Word co)
throws LearningException
- Throws:
LearningException
getValidPrefix
protected Word getValidPrefix(Word ce,
Word co,
int lower,
int upper,
int[] flags)
throws LearningException
- Throws:
LearningException
applyToStates
public List<State> applyToStates()
- Description copied from interface:
SplitterCreator
- Return a list of states from the hypothesis which are identified to
be affected by splitters formely having been created using the
createSplitters-method.
- Specified by:
applyToStates
in interface SplitterCreator
- Returns:
- list of states
applyGlobally
public boolean applyGlobally()
- Description copied from interface:
SplitterCreator
- Indicates that a set of suffixes is ought to be applied globally (to all
states or components - or whatever data structure is used). In case
applyGlobally() is false, applyToStates() may be considered.
- Specified by:
applyGlobally
in interface SplitterCreator
- Returns:
- true if suffixes should be applied globally
Copyright © 2011. All Rights Reserved.