Readme File to Run GAMIFS Algorithm
by Michel Tesmer
6/20/2008
email: micheltesmer@gmail.com


1. Compilation

gcc *.c -lm -O3 gamifs_bpqgausql


2. Running

./gamifs_bpqgausql -a 1 -i 001 -b wine_ -e 90 -v 44 -u 13 -h 3 -o 3 -c 100 -z 100 -g 10 -I 1 -P 0.15 -B 0.3 -m 1 -F 0.7 -D 0.3 -L 0.6 -k resultadosawine.txt -f matrix_MI_wine.txt -C mutinfo_CF_wine.txt -E entropy_wine.txt

Parameters:

	printf("\n+---------------------------------------------------------+\n");
	printf("|          GAMIFS - Genetic Algorithm guided by           |\n");
	printf("|          Mutual Information Feature Selection           |\n");
	printf("|                                                         |\n");
	printf("|                   Michel Tesmer Tur                     |\n");
	printf("|                      01/02/2004                         |\n");
	printf("+---------------------------------------------------------+\n\n");
	
	printf("\nUso:\tgamifsbpq -a <GAType> -i <SimId> -b <Basename> -e <Ntrain>\n");
 	printf("                  -v <Nval>   -p <Ntest> -u <Ninput>   -h <Nhidden>\n");
  	printf("                  -o <Noutput> -c <Epochs> -s <Epsi> -z <SizePop>\n");
	printf("                  -g <MaxGen> -I <IniType> -P <PctjePop> -B <PctjeBits>\n");
        printf("                  -l <SelType> -x <CrossType> -r <Pcross> -m <MutType>\n");
	printf("                  -F <FracFitMut> -t <Pmut> -D <Pbbadd> -L <Pbbirrel>\n");
        printf("                  -R <CostRatio>  -k <FileRanking> -f <FileMiMatrix>\n");
	printf("                  -C <FileMIClases> -E <FileEntropy>\n\n");

	printf("-a <GAType>        : Type of Genetic Algorith\n");
	printf("                     <GAType> can be:\n");
	printf("                        0 Deterministic Crowding\n");
	printf("                        1 GAMIFS\n\n");
        printf("-i <SimId>         : 3 digits simulation id\n\n");
 	printf("-b <Basename>      : root name of the dataset(Ex. sonar_)\n\n");
 	printf("-e <Ntrain>        : Size of training sample\n\n");
 	printf("-v <Nval>          : Size of validation sample\n\n");
 	printf("-p <Ntest>         : Size of testin sample\n\n");
 	printf("-u <Ninput>        : Number of units of the neural network input layer\n\n");
 	printf("-h <Nhidden>       : Number of units of the neural network hidden layer\n\n");
 	printf("-o <Noutput>       : Number of units of the neural network output layer\n\n");
	printf("-c <Epochs>        : Number of neural network training epochs\n\n");
	printf("-s <Epsi>          : Regularization parameter of BPQ algorithm\n\n");
	printf("-z <SizePop>       : GA population size\n\n");
	printf("-g <MaxGen>        : GA generations\n\n");
	printf("-I <IniType>       : Population initialization method\n");
	printf("                     <IniType> can be:\n");
	printf("                        0 Random\n");
	printf("                        1 NMIFS Ranking\n");
	printf("-P <PctjePop>      : % of population initialized with NMIFS ranking [0,1]\n\n");
	printf("-B <PctjeBits>     : % of bits initialized with NMIFS ranking[0,1]\n\n");
	printf("-l <SelType>       : Selection type\n");
	printf("                     <SelType> can be:\n");
	printf("                        0 Permutation\n");
	printf("                        1 Elitist\n\n");
	printf("-x <CrossType>     : Crossover type\n");
	printf("                     <CrossType> can be:\n");
	printf("                        0 Binomial\n");
	printf("                        1 Uniform\n");
	printf("                        2 1-point\n");
	printf("                        3 2-points\n\n");
	printf("-r <Pcross>        : Crossover probability\n\n");
	printf("-m <MutType>       : Mutation type\n");
	printf("                     <MutType> can be:\n");
	printf("                        0 No mutation\n");
	printf("                        1 Mutation NMIFS\n");
	printf("                        2 Mutation Ranking AMIFS\n");
	printf("                        3 Mutation Ranking MI\n\n");
	printf("-F <FracFitMut>    : Fraccion de individuos que se mutaran\n");
	printf("-t <Pmut>          : Mutation pbb\n");
	printf("-D <Pbbadd>        : Pbb of adding a feature\n");
	printf("-L <Pbbirrel>      : Pbb of eliminate a feature\n");
	printf("-R <CostRatio>     : Penalization term on fitness function\n");
	printf("-k <FileRanking>   : File with NMIFS ranking. Output of NMIFS algorithm\n");
	printf("-f <FileMIMatrix>  : File with feature's redundancy (MI) matrix\n");
	printf("-C <FileMIClases>  : File with MI Class-Feature\n");
	printf("-E <FileEntropy>   : file with feature's entropy\n\n");
