?? classifierlist.h
字號:
/*
/ (XCS)
/ ------------------------------------
/ Learning Classifier System based on accuracy
/
/ by Martin Butz
/ University of Wuerzburg / University of Illinois at Urbana/Champaign
/ butz@illigal.ge.uiuc.edu
/ Last modified: 10-17-99
/
/ header for action with xClassifier and xClassifierSet
*/
struct xClassifier{
char *con;
char *act;
double pre;
double preer;
double acc;
double fit;
int num;
int exp;
double peerssest;
int gaIterationTime;
};
struct xClassifierSet{
struct xClassifier *cl;
struct xClassifierSet *next;
};
struct xClassifierSet * createRandomClassifierSet(int condLength, int actLength);
void createRandomCondition(char *con, int condLength);
void createRandomAction(char *act, int actLength);
void setInitialVariables(struct xClassifier *cl,int itTime);
struct xClassifierSet * getMatchSet(char *state,struct xClassifierSet **pop,struct xClassifierSet **killset,int itTime);
int match(char *m, char *c);
struct xClassifier * createCoverMatch(char *state, struct xClassifierSet *pop, int itTime);
void setMeans(struct xClassifierSet *set,struct xClassifier *cl,int itTime);
void createMatchingCondition(char *con,char *mstring);
struct xClassifierSet * getActionSet(char *action, struct xClassifierSet *ms);
void adjustActionSet(struct xClassifierSet *aset,double maxP,double reward);
void updateFitness(struct xClassifierSet *aset);
void discoveryComponent(struct xClassifierSet **set,struct xClassifierSet **pop,struct xClassifierSet **killset,int itTime);
void getDiscoversSums(struct xClassifierSet *set,double *sum,int *meangait,int *mssum,int itTime);
void selectTwoClassifiers(struct xClassifier **cl, struct xClassifier **parents, struct xClassifierSet *set,double fitsum, int itTime);
struct xClassifier * selectClassifierUsingRWS(struct xClassifierSet *set,double sum);
void insertDiscoveredClassifier(struct xClassifier *cl, struct xClassifier **parents, struct xClassifierSet **set,
struct xClassifierSet **pop, struct xClassifierSet **killset, int len);
void subsumeClassifier(struct xClassifier *cl,struct xClassifier **parents,struct xClassifierSet *locset,struct xClassifierSet **pop);
int subsumeClassifierToSet(struct xClassifier *cl, struct xClassifierSet *set);
int subsumes (struct xClassifier *cl1, struct xClassifier * cl2);
int subsumesConditions (char * first, char * second);
int crossover(struct xClassifier **cl);
int mutation(struct xClassifier *cl);
void mutate(char *string,int pos,int type);
void addClassifierToKillSet(struct xClassifier *cl,struct xClassifierSet **pop);
int addClassifierToSet(struct xClassifier *cl,struct xClassifierSet **pop);
void addNewClassifierToSet(struct xClassifier *cl,struct xClassifierSet **pop);
struct xClassifier * deleteStochClassifier(struct xClassifierSet **pop);
struct xClassifier * deleteTypeOfClassifier(struct xClassifierSet *setp,struct xClassifierSet *setpl,struct xClassifierSet **pop);
double getDelProp(struct xClassifier *cl, double meanf);
int updateSet(struct xClassifierSet **uset,struct xClassifierSet *killset);
void freeSet(struct xClassifierSet **head);
void freeClassifierSet(struct xClassifierSet **head);
void freeClassifier(struct xClassifier *cl);
void printClassifier(struct xClassifier*c);
void fprintClassifier(FILE *fp,struct xClassifier *c);
void printClassifierSet(struct xClassifierSet *head); /*letzter Eintrag zu Testzwecken!!!*/
void fprintClassifierSet(FILE *fp,struct xClassifierSet *head);
struct xClassifierSet * sortClassifierSet(struct xClassifierSet **cls,int type);
double absDouble(double value);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -