⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 param.c

📁 遗传算法和神经网络结合
💻 C
📖 第 1 页 / 共 2 页
字号:
    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("COMPASS_SENSOR",findThis)==0){    sscanf(lineBuffer[i],"%d",&useCompass);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("ENERGY_SENSOR",findThis)==0){    sscanf(lineBuffer[i],"%d",&useEnergy);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("EPOCHS",findThis)==0){    sscanf(lineBuffer[i],"%d",&amoebaEpochs);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("FITNESS_FILE",findThis)==0){    sscanf(lineBuffer[i],"%s",fitnessFile);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("FITNESS_FUNCTION",findThis)==0){    sscanf(lineBuffer[i],"%d",&ffitness);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("FRONT_INFRARED",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfFrontInfrared);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("GENERATIONS",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfGenerations);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("GRIPPER",findThis)==0){    sscanf(lineBuffer[i],"%d",&useGripper);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("GRIPPER_NO_NOISE",findThis)==0){    sscanf(lineBuffer[i],"%d",&gripperNoise);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("GRIPPER_SENSOR",findThis)==0){    sscanf(lineBuffer[i],"%d",&gripperSensor);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("GROUND_SENSOR",findThis)==0){    sscanf(lineBuffer[i],"%d",&useGround);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("INDIVIDS",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfIndivids);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("LIGHT_CAMERA",findThis)==0){    sscanf(lineBuffer[i],"%s",lightCamera);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("LIGHTBULB_SENSORS",findThis)==0){    sscanf(lineBuffer[i],"%d",&useLightbulbSensors);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("LOG_PATH",findThis)==0){    sscanf(lineBuffer[i],"%s",logPath);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("MOTOR_CAMERA",findThis)==0){    sscanf(lineBuffer[i],"%s",motorCamera);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("MOVE_OBSTACLES",findThis)==0){    sscanf(lineBuffer[i],"%d",&moveObstacles);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("NOISE_PERCENTAGE",findThis)==0){    sscanf(lineBuffer[i],"%f",&amountOfNoise);    free(findThis);    if(amountOfNoise!=0)      amountOfNoise = amountOfNoise / 100.0;    parseGetNext(&i,&findThis);  }  if(strcmp("NR_OF_INDIVIDS_TO_LOG",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfIndividsToLog);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("NR_OF_STEPS",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfSteps);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("OFFSPRINGS",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfKids);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("PARENTS",findThis)==0){    sscanf(lineBuffer[i],"%d",&nrOfFathers);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("PICTURE_ROBOT",findThis)==0){    sscanf(lineBuffer[i],"%s",robotPicFile);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("PICTURE_WORLD",findThis)==0){    sscanf(lineBuffer[i],"%s",worldPicFile);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("ROBOT_CAMERA",findThis)==0){    sscanf(lineBuffer[i],"%s",robotCamera);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("ROD_NOISE",findThis)==0){    sscanf(lineBuffer[i],"%d",&useRodNoise);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("ROD_SENSOR",findThis)==0){    sscanf(lineBuffer[i],"%d",&useRodSensor);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("RUN_REAL",findThis)==0){    sscanf(lineBuffer[i],"%d",&useSerialLine);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("SAVE_WEIGHTS_EVERY_x_GENERATION",findThis)==0){    sscanf(lineBuffer[i],"%d",&saveGeneration);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("SCALE",findThis)==0){    sscanf(lineBuffer[i],"%f",&xScale);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("SELECTION_METHOD",findThis)==0){    sscanf(lineBuffer[i],"%d",&selectionMethod);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("SENSOR_NOISE",findThis)==0){    sscanf(lineBuffer[i],"%d",&sensorNoise);    free(findThis);    parseGetNext(&i,&findThis);  }  baudCount=0;  serialDevice = (char**) malloc(sizeof(char*)*paramNrOfRobots);  while(strcmp("SERIAL_LINE",findThis)==0 && baudCount < paramNrOfRobots){      serialDevice[baudCount] = (char*) malloc(sizeof(char) * 20);      sscanf(lineBuffer[i],"%s",serialDevice[baudCount++]);      printf("Serial line 0 is %s \n", serialDevice[0]);      free(findThis);      parseGetNext(&i,&findThis);  }   if(strcmp("SMALL_CAMERA",findThis)==0){    sscanf(lineBuffer[i],"%s",smallCamera);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("START_GENERATION",findThis)==0){    sscanf(lineBuffer[i],"%d",&startGeneration);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("TEST_SAME_START_POSITION",findThis)==0){    sscanf(lineBuffer[i],"%d",&testSameStartPosition);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("UPDATE_DELAY",findThis)==0){    sscanf(lineBuffer[i],"%d",&updateDelay);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("VERBOSE_LEVEL",findThis)==0){    sscanf(lineBuffer[i],"%d",&verboseLevel);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("WALL_CAMERA",findThis)==0){    sscanf(lineBuffer[i],"%s",wallCamera);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("WEIGHT_FILE",findThis)==0){    sscanf(lineBuffer[i],"%s",weightsFile);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("WORLD_FILE",findThis)==0){    sscanf(lineBuffer[i],"%s",worldFile);    free(findThis);    parseGetNext(&i,&findThis);  }  if(strcmp("WORLD_PATH",findThis)==0){    sscanf(lineBuffer[i],"%s",worldPath);    free(findThis);    parseGetNext(&i,&findThis);  }  if(findThis)    free(findThis);  mapping = (int**)malloc(sizeof(int*)*paramNrOfRobots);  input   = (double**)malloc(sizeof(double*)*paramNrOfRobots);           simoutput = (double**)malloc(sizeof(double*)*paramNrOfRobots);  for( i=0; i < paramNrOfRobots; i++){    input[i]   = (double*)malloc(sizeof(double)*(NETWORK_INPUTS));    simoutput[i] = (double*)malloc(sizeof(double)*(NETWORK_INPUTS));    mapping[i] = (int*)malloc(sizeof(int)*(NETWORK_INPUTS));  }}void printParams(){  if(verboseLevel>1){    printf("------Simulator options-----\n");    if(useCompass==1)      printf("Using khepera compass\n");    printf("Using %d front sensors\n",nrOfFrontInfrared);    if(nrOfBackInfrared>0)      printf("Using back sensors\n");    if(sensorNoise==1){      printf("Using sensor noise\n");      printf("amount of sensor noise %f\n",amountOfNoise);    }    printf("Sensors :\n");    if (useEnergy==1)      printf(" * Energy, energy lost each cycle : %.2f\n",energyDecrease);    if (useGround==1)      printf(" * Ground \n");       	           if (useCompass==1)      printf(" * Compass \n");    if(useGripper==1){      printf("Using khepera gripper");      if(gripperSensor){	printf(" with gripper sensor");	if(gripperNoise)	  printf("\nadding gripper noise (not wise in my opinion)");      }      printf("\n");    }        printf("Graphical scale %f\n",xScale);        printf("\nNr of generations to run:   %d\n",nrOfGenerations);    printf("Nr of individs per generation %d\n",nrOfIndivids);    printf("Nr of fathers  per generation %d\n",nrOfFathers);    printf("Nr of kids     per father     %d\n",nrOfKids);    if (startGeneration > 0)      printf("Starting generation             : %d\n",startGeneration);    printf("Epochs,steps,timelaps          : %d %d\n",amoebaEpochs,nrOfSteps);    printf("Generations,best,offspring      : %d %d %d\n",	   nrOfGenerations,nrOfFathers,nrOfKids);    printf("Logging the best %d individs each generation\n",nrOfIndividsToLog);    printf("Random seed : %d\n", seed);    printf("Fitness function : %d\n",ffitness);  }}/** * Loads option file, parse it and set global variables and options. * @param paramFile Filename of the option file to load. */void loadParams(char *paramFile){  if((fp=fopen(paramFile,"r"))==NULL){    fprintf(stderr,"Couldnt open optionsfile %s \n",paramFile);    exit(-1);  }  readFile();  sortFile();    removeMojs();  printf("Kept %3d config lines\n",readLines-nrOfLines);  parseFile();  printParams();  // Cean up memory  freeBuffers();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -