Classifier
Class BasicClassifier

java.lang.Object
  |
  +--Classifier.BasicClassifier
All Implemented Interfaces:
java.lang.Comparable
Direct Known Subclasses:
AnticipatoryClassifier

public class BasicClassifier
extends java.lang.Object
implements java.lang.Comparable

This class is used to implement standard classifiers such as ZCS classifiers If you want to improve the speed of MACS, you can delete this class and put all its methods in AnticipatoryClassifier.

Author:
Olivier Sigaud and Pierre Gérard.

Field Summary
protected  Classifier.Action action
           
protected  Classifier.Perception condition
           
protected  byte perceptionLength
           
 
Constructor Summary
BasicClassifier()
           
BasicClassifier(Classifier.BasicClassifier classifier)
           
BasicClassifier(java.lang.String perceptionForm, java.lang.String actionForm)
           
 
Method Summary
 java.lang.Object clone()
          Returns a clone of the BasicClassifier
 int compareTo(java.lang.Object p)
           
 boolean equals(java.lang.Object classifier)
           
 Classifier.Action getAction()
           
 java.lang.String getActionString()
           
 Classifier.Perception getCondition()
           
 byte getPerceptionLength()
           
 java.lang.String getPerceptionString()
           
 boolean isLessGeneralThan(Classifier.BasicClassifier classifier)
           
 boolean isMoreGeneralThan(Classifier.BasicClassifier classifier)
           
 boolean matchAction(Classifier.Action act)
           
 boolean matchCondition(Classifier.Perception extCond)
           
 boolean matches(Classifier.BasicClassifier classifier)
           
 boolean matches(Classifier.Perception extCond, Classifier.Action act)
           
 void setAction(Classifier.Action newAct)
           
 void setCondition(Classifier.Perception newExtCond)
           
 java.lang.String toString()
           
 java.lang.String toString(boolean verbose)
           
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

perceptionLength

protected byte perceptionLength

condition

protected Classifier.Perception condition

action

protected Classifier.Action action
Constructor Detail

BasicClassifier

public BasicClassifier(Classifier.BasicClassifier classifier)
Parameters:
classifier -

BasicClassifier

public BasicClassifier(java.lang.String perceptionForm,
                       java.lang.String actionForm)
Parameters:
perceptionForm -
actionForm -

BasicClassifier

public BasicClassifier()
Method Detail

clone

public java.lang.Object clone()
Returns a clone of the BasicClassifier

Overrides:
clone in class java.lang.Object
Returns:
Object

compareTo

public int compareTo(java.lang.Object p)
Specified by:
compareTo in interface java.lang.Comparable
Parameters:
p -
Returns:
int

getPerceptionLength

public final byte getPerceptionLength()
Returns:
byte

getAction

public Classifier.Action getAction()
Returns:
Action

getCondition

public Classifier.Perception getCondition()
Returns:
Perception

getActionString

public java.lang.String getActionString()
Returns:
String

getPerceptionString

public java.lang.String getPerceptionString()
Returns:
String

isMoreGeneralThan

public boolean isMoreGeneralThan(Classifier.BasicClassifier classifier)
Parameters:
classifier -
Returns:
boolean

isLessGeneralThan

public boolean isLessGeneralThan(Classifier.BasicClassifier classifier)
Parameters:
classifier -
Returns:
boolean

matches

public boolean matches(Classifier.BasicClassifier classifier)
Parameters:
classifier -
Returns:
boolean

matchCondition

public boolean matchCondition(Classifier.Perception extCond)
Parameters:
extCond -
Returns:
boolean

matchAction

public boolean matchAction(Classifier.Action act)
Parameters:
act -
Returns:
boolean

matches

public boolean matches(Classifier.Perception extCond,
                       Classifier.Action act)
Parameters:
extCond -
act -
Returns:
boolean

equals

public boolean equals(java.lang.Object classifier)
Overrides:
equals in class java.lang.Object
Parameters:
classifier -
Returns:
boolean true if the two objects are equal, else false

setCondition

public void setCondition(Classifier.Perception newExtCond)
Parameters:
newExtCond -
Returns:
Classifier public BasicClassifier mutGenOneBasic() { BasicClassifier newClassifier = new BasicClassifier(this); short indexMax = (short)(StaticRandom.nextDouble()*(double)(getCondition().getLength())); newClassifier.getCondition().generalize((byte)indexMax); return newClassifier; }

setAction

public void setAction(Classifier.Action newAct)
Parameters:
newAct -

toString

public java.lang.String toString(boolean verbose)
Parameters:
verbose -
Returns:
String

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
String