de.ls5.jlearn.splittercreators
Class KearnsStyleSplitterCreator

java.lang.Object
  extended by de.ls5.jlearn.splittercreators.KearnsStyleSplitterCreator
All Implemented Interfaces:
SplitterCreator
Direct Known Subclasses:
RivestStyleSplitterCreator

public class KearnsStyleSplitterCreator
extends Object
implements SplitterCreator

Author:
fh

Field Summary
protected  Automaton hyp
           
 
Constructor Summary
KearnsStyleSplitterCreator()
           
 
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.
 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
 

Field Detail

hyp

protected Automaton hyp
Constructor Detail

KearnsStyleSplitterCreator

public KearnsStyleSplitterCreator()
Method Detail

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 oracle
output - output of the target system in reaction to the target system
o - connector to the target system
hypothesis - current hypothesis of the learner
Returns:
list of sequences of input symbols revealing divering behavior

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.