zulu.baseline
Interface Oracle

All Known Implementing Classes:
RemoteOracle

public interface Oracle

This interface aims at provide the few methods needed in the communication with an Oracle. You can use it for the development of a local Oracle for example, and add queries not yet supported by Zulu.


Field Summary
static java.util.Vector<java.lang.String> alphabet
           
 
Method Summary
 java.util.Vector<java.lang.String> getAlphabet()
           
 int getCountMQ()
           
 java.util.Vector<java.lang.String> iThinkIFound()
          Lock the task and get the test sample.
 boolean membershipQuery(java.lang.String word)
          Execute a membership query
 float submit(java.lang.String r)
          Submit a classification of the test sample
 

Field Detail

alphabet

static final java.util.Vector<java.lang.String> alphabet
Method Detail

getAlphabet

java.util.Vector<java.lang.String> getAlphabet()
Returns:
The characters of the alphabet recognized by the target DFA

membershipQuery

boolean membershipQuery(java.lang.String word)
                        throws ReachedLimitException
Execute a membership query

Returns:
True if the string belong to the target DFA, or False
Throws:
ReachedLimitException

submit

float submit(java.lang.String r)
Submit a classification of the test sample

Returns:
The score (correctly classified strings*100/size of test set)

iThinkIFound

java.util.Vector<java.lang.String> iThinkIFound()
Lock the task and get the test sample. Membership queries are not allowed after the use of this method.

Returns:
The test sample

getCountMQ

int getCountMQ()