亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? getpar~1.c

?? 簡單遺傳算法經典例子??! SGPC: Simple Genetic Programming in C by Walter Alden Tackett and Aviram Carmi
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
SGPC: Simple Genetic Programming in C
(c) 1993 by Walter Alden Tackett and Aviram Carmi
 
 This code and documentation is copyrighted and is not in the public domain.
 All rights reserved. 
 
 - This notice may not be removed or altered.
 
 - You may not try to make money by distributing the package or by using the
   process that the code creates.
 
 - You may not distribute modified versions without clearly documenting your
   changes and notifying the principal author.
 
 - The origin of this software must not be misrepresented, either by
   explicit claim or by omission.  Since few users ever read sources,
   credits must appear in the documentation.
 
 - Altered versions must be plainly marked as such, and must not be
   misrepresented as being the original software.  Since few users ever read
   sources, credits must appear in the documentation.
 
 - The authors are not responsible for the consequences of use of this 
   software, no matter how awful, even if they arise from flaws in it.
 
If you make changes to the code, or have suggestions for changes,
let us know!  (gpc@ipld01.hac.com)
*/

#ifndef lint
static char getparams_c_rcsid[]="$Id: getparams.c,v 2.18 1993/04/23 01:56:25 gpc-avc Exp gpc-avc $";
#endif

/*
 *
 * $Log: getparams.c,v $
 * Revision 2.18  1993/04/23  01:56:25  gpc-avc
 * Added COMPRESS macro so that the compression command for checkpoint
 * files is easily changed in Makefile
 *
 * Revision 2.17  1993/04/22  07:39:12  gpc-avc
 * Removed old log messages
 *
 * Revision 2.16  1993/04/17  03:03:01  gpc-avc
 * Added a test to check if the load_from_file file exists
 *
 *
 */

#include <stdio.h>
#include <malloc.h>
#include <errno.h>
#include "gpc.h"
#include "malloc4.h"

#ifdef ANSI_FUNC

VOID getparams(
  int		argc,
  char		**argv,
  int 		*numpops,
  int		*numgens,
  int		*demes,
  int		*demerows,
  int		*demecols,	       
  int 		*start_gen,
  FILE		**ckpt_file,
  pop_struct 	**pop,
  pop_struct    ****grid
  )
#else

VOID getparams(argc,argv,numpops,numgens,demes,demerows,demecols,start_gen,
	       ckpt_file,pop,grid)
  int		argc;
  char		**argv;
  int 		*numpops;
  int 		*numgens;
  int		*demes;
  int		*demerows;
  int		*demecols;	       
  int 		*start_gen;
  FILE		**ckpt_file;
  pop_struct 	**pop;
  pop_struct    ****grid;
#endif
{
  int	i,j;
  int   arg_offset = 0;
  int   argp = 1;
  FILE  *paramfile;
  char ckptfile[255];
  static char usage[] = 
  "%s: Usage: %s [-d rows cols] npops ngens paramfile | 'none'... [seed]\n%s: Usage: %s -r ckpt_filename\n";


  if (argc < 2) {
    fprintf(stderr, usage, argv[0],argv[0],argv[0],argv[0]);
    exit(1);
  }

  if (!strcmp(argv[1],"-r")) {
    if (argc < 3) {
      fprintf(stderr, usage, argv[0],argv[0], argv[0],argv[0]);
      fprintf(stderr, "%s: Missing checkpoint file name.\n",argv[0]);
      exit(1);
    }
    if ((*ckpt_file = fopen(argv[2],"r")) != (FILE *)NULL) {
      recover_params (*ckpt_file,numpops,numgens,demes,demerows,demecols,pop,
		      grid,start_gen);
    }
    else {
      fprintf(stderr, "%s: Checkpoint file not found: '%s'.\n",
	      argv[0],argv[2]);
      exit(1);
    }
  }
  else {
    if (!strcmp(argv[1],"-d")) {
      if (argc < 4) {
	fprintf(stderr, usage, argv[0],argv[0], argv[0],argv[0]);
	fprintf(stderr, "%s: Missing deme rows or cols.\n",argv[0]);
	exit(1);
      }
      if (argc < 7) {
	fprintf(stderr, usage,  argv[0],argv[0], argv[0],argv[0]);
	if (argc < 6) {
	  fprintf(stderr, "%s: Missing number of populations or generations.\n",
		  argv[0]);
	}
	else {
	  fprintf(stderr, "%s: Missing parameter file name.\n",argv[0]);
	  fprintf(stderr,
		  "%s: Use 'none' as the file name in order to use defaults.\n",
		  argv[0]);
	}
	exit(1);
      }
      *demes = TRUE;
      arg_offset += 3;
      argp++;
    }
    else {
      if (argc < 4) {
	fprintf(stderr, usage, argv[0],argv[0], argv[0],argv[0]);
	if (argc < 3) {
	  fprintf(stderr, "%s: Missing number of populations or generations.\n",
		  argv[0]);
	}
	else {
	  fprintf(stderr,	"%s: Missing parameter file name.\n",argv[0]);
	  fprintf(stderr,
		  "%s: Use 'none' as the file name in order to use defaults.\n",
		  argv[0]);
	}
	exit(1);
      }
      *demes = FALSE;
      *demerows = 0;
      *demecols = 0;
    }
    
    if (*demes) {
      *demerows = -1;
      sscanf(argv[argp++],"%d",demerows);
      if (*demerows < 1) {
	fprintf(stderr, "%s: Deme rows has to be greater than 1: '%s'.\n",
		argv[0], argv[argp-1]);
	exit(1);
      }
      
      *demecols = -1;
      sscanf(argv[argp++],"%d",demecols);
      if (*demecols < 1) {
	fprintf(stderr, "%s: Deme cols has to be greater than 1: '%s'.\n",
		argv[0], argv[argp-1]);
	exit(1);
      }
    }
    
    *numpops = -1;
    sscanf(argv[argp++],"%d",numpops);
    if (*numpops < 1) {
      fprintf(stderr, 
	      "%s: Number of populations has to be greater than 1: '%s'.\n",
	      argv[0], argv[argp-1]);
      exit(1);
    }
    
    *numgens = -1;
    sscanf(argv[argp++],"%d",numgens);
    if (*numgens < 1) {
      fprintf(stderr, 
	      "%s: Number of generations has to be greater than 1: '%s'.\n",
	      argv[0], argv[argp-1]);
      exit(1);
    }
    
    *pop = (pop_struct *) malloc(*numpops*sizeof(pop_struct));
    if (*demes) {
      *grid = (pop_struct ***) malloc2(*demerows,*demecols*sizeof(pop_struct *));
      for (i=0;i<*demerows;i++) {
	for (j=0;j<*demecols;j++) {
	  (*grid)[i][j] = (pop_struct *) malloc(*numpops*sizeof(pop_struct));
	}
      }
    }
    
    if (argc < *numpops+3+arg_offset) {
      fprintf(stderr, "%s: Missing parameter file name.\n", argv[0]);
      fprintf(stderr,
	      "%s: Use 'none' as the file name in order to use defaults.\n",
	      argv[0]);
      exit(1);
    }
    
    for(i=0;i<*numpops;i++,argp++) {
      defaultparams(*pop,i);
      if (strcasecmp(argv[argp],"none")) {
	if ((paramfile = fopen(argv[argp],"r")) != (FILE *)NULL) {
	  readparams(*pop,i,paramfile);
	  fclose(paramfile);
	}
	else {
	  fprintf(stderr, "%s: Parameter file not found: '%s'.\n",
		  argv[0],argv[argp]);
	  exit(1);
	}
      }
    }
    
    
    if (argc == (j=*numpops+4+arg_offset)) {
      long seed = -1;
      sscanf(argv[j-1],"%d",&seed);
      if (seed < 0) {
	fprintf(stderr, "%s: Bad seed value: '%s'.\n", argv[0], argv[j-1]);
	exit(1);
      }
      set_seed((unsigned long)seed);
    }
    if (argc > (j=*numpops+4+arg_offset)) {
      fprintf(stderr, usage, argv[0],argv[0], argv[0],argv[0]);
      fprintf(stderr, "%s: Too many arguments on command line.\n",argv[0]);
      exit(1);
    }
  }

  if (*demes) {
    for(i=0;i<*numpops;i++) {
      if ((*pop)[i].population_size%((*demerows) * (*demecols))) {
	fprintf(stderr,
		"population %d size (%d) must be evenly divisible by rows*cols (%d)\n",
		i,(*pop)[i].population_size, ((*demerows) * (*demecols)));
	exit(1);
      }
    }
  }
  
  for (i=0;i<argc;i++) {
    printf("%s ",argv[i]);
  }
  printf("\n\n");
  printf("Random seed:            %ld\n",(unsigned long)get_seed());
  printf("Number of populations:  %d\n",*numpops);
  printf("Number of generations:  %d\n",*numgens);
  if (*demes) {
    printf("Number of deme rows:    %d\n",*demerows);
    printf("Number of deme columns: %d\n",*demecols);
  }
  if (CHECKPOINT_FREQUENCY) {
    sprintf(ckptfile,"gpc_%ld_%d.ckpt",gethostid(),getpid());
    printf("Checkpointing to:       %s\n",ckptfile);
  }
  if (*start_gen) {
    printf("Restarting from gen:    %d\n", *start_gen+1);
  }
  printf("\n");

  argp = arg_offset+3;
  for(i=0;i<*numpops;i++,argp++) {
    if (*start_gen) {
      printf("Reading parameters for population %d from: %s\n\n",
	     i,argv[2]);
    }
    else if (strcasecmp(argv[argp],"none")) {
      printf("Reading parameters for population %d from: %s\n\n",
	     i,argv[argp]);
    }
    else {
      printf("Using default parameters for population %d\n\n",i);
    }
    writeparams(*pop,i,stdout);
    printf("\n");
  }

}


#ifdef ANSI_FUNC

VOID defaultparams(
  pop_struct 	*pop,
  int		i
  )
#else

VOID defaultparams(pop,i)
  pop_struct 	*pop;
  int		i;
#endif
{
  FILE	*paramfile;

  set_seed((unsigned long)11287);
  CHECKPOINT_FREQUENCY			= 0;
  START_GEN				= 0;

  pop[i].population_size 		= 100;
  pop[i].steady_state			= FALSE;
  pop[i].load_from_file 		= (char *) malloc(132*sizeof(char));
  pop[i].load_from_file[0] 		= '\0';
  pop[i].max_depth_for_new_trees 	= 6;
  pop[i].max_depth_after_crossover 	= 17; 
  pop[i].max_mutant_depth 		= 4;
  pop[i].grow_method 			= GROW;
  pop[i].selection_method 		= FITNESSPROP;
  pop[i].tournament_K 			= 7;
  pop[i].deme_search_radius_sigma	= 1.0;
  pop[i].crossover_func_pt_fraction 	= 0.695;
  pop[i].crossover_any_pt_fraction 	= 0.195;
  pop[i].fitness_prop_repro_fraction	= 0.095;
  pop[i].parsimony_factor 		= 0.0;

  if ((paramfile = fopen("default.in","r")) != (FILE *)NULL) {
    readparams(pop,i,paramfile);
    fclose(paramfile);
  }
}

#ifdef ANSI_FUNC

VOID readparams(
  pop_struct 	*pop,
  int		i,
  FILE 		*f
  )
#else

VOID readparams(pop,i,f)
  pop_struct 	*pop;
  int		i;
  FILE		*f;
#endif
{
  char	buf[132], name[132], val[132];
  unsigned long seed;
  FILE *tmp;

  while (fgets(buf,132,f) != (char *)NULL) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一卡二卡三卡四卡| 日韩欧美亚洲国产另类| 国产一区在线看| 奇米精品一区二区三区四区 | 色婷婷久久久久swag精品| 国产老妇另类xxxxx| 精品亚洲aⅴ乱码一区二区三区| 亚洲图片一区二区| 亚洲国产精品久久一线不卡| 久久成人av少妇免费| 亚洲国产视频直播| 午夜久久久久久久久| 亚洲18女电影在线观看| 天天操天天干天天综合网| 亚洲成年人网站在线观看| 亚洲成人精品影院| 天天色 色综合| 免费久久精品视频| 麻豆国产欧美一区二区三区| 国产精品一区二区免费不卡| 国产sm精品调教视频网站| 成人听书哪个软件好| 本田岬高潮一区二区三区| 99re视频精品| 欧美日韩国产片| 精品国免费一区二区三区| 欧美精品一区二区精品网| 日本一区二区成人在线| 亚洲黄色性网站| 日韩高清不卡一区| 国产成人无遮挡在线视频| av电影在线观看完整版一区二区| 色噜噜狠狠色综合中国 | 亚洲在线视频网站| 日韩电影一区二区三区| 国产高清一区日本| 欧美午夜寂寞影院| 欧美成人午夜电影| 亚洲日韩欧美一区二区在线| 日本视频一区二区三区| www.在线欧美| 日韩免费高清电影| 成人欧美一区二区三区1314| 日韩激情在线观看| 成人一区二区在线观看| 欧美精品在线观看一区二区| 国产性天天综合网| 婷婷开心激情综合| 成人性生交大合| 日韩一卡二卡三卡四卡| 亚洲精品一二三四区| 国产真实乱对白精彩久久| 欧美少妇xxx| 国产日产欧美一区二区视频| 亚洲成a人v欧美综合天堂| 丁香婷婷综合激情五月色| 欧美老女人在线| 一区二区三区产品免费精品久久75| 精品一区二区影视| 91超碰这里只有精品国产| 国产精品久久夜| 国产一二三精品| 欧美电影免费观看高清完整版在线观看| 亚洲天堂免费在线观看视频| 国产精品羞羞答答xxdd| 日韩精品一区二区三区在线观看 | 色视频一区二区| 中文字幕乱码亚洲精品一区| 麻豆91精品视频| 日韩一区二区在线观看视频| 亚洲成a人在线观看| 欧洲av一区二区嗯嗯嗯啊| 国产精品欧美一区喷水| 国产精品中文字幕欧美| 欧美大白屁股肥臀xxxxxx| 婷婷丁香久久五月婷婷| 欧美日韩一区二区电影| 亚洲国产欧美在线人成| 欧美网站一区二区| 亚洲成人久久影院| 欧美三级电影在线看| 亚洲国产欧美一区二区三区丁香婷| 一本大道av一区二区在线播放| 亚洲视频一二三| 在线看日韩精品电影| 一区二区三区成人| 欧美日韩国产首页在线观看| 婷婷综合五月天| 欧美一卡二卡在线| 久久er精品视频| 久久久午夜精品理论片中文字幕| 国产精一区二区三区| 中文av一区特黄| 97精品国产露脸对白| 亚洲制服丝袜av| 911精品国产一区二区在线| 六月丁香婷婷色狠狠久久| 精品久久五月天| 成人小视频免费在线观看| 亚洲日本成人在线观看| 欧美日韩不卡一区二区| 久久av资源站| 亚洲欧洲成人av每日更新| 色噜噜狠狠成人网p站| 亚洲.国产.中文慕字在线| 日韩三级视频中文字幕| 成人免费视频网站在线观看| 一区二区国产视频| 欧美videos大乳护士334| 成人白浆超碰人人人人| 婷婷一区二区三区| 国产午夜精品美女毛片视频| 91丨porny丨首页| 日本中文在线一区| 国产精品久久久久永久免费观看 | 欧美日韩一区二区在线观看视频| 秋霞av亚洲一区二区三| 国产欧美精品区一区二区三区| 99精品一区二区| 美女mm1313爽爽久久久蜜臀| 亚洲欧洲日韩av| 精品国内二区三区| 在线观看视频一区二区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲国产精品精华液ab| 7777精品伊人久久久大香线蕉| 成人黄色免费短视频| 奇米色777欧美一区二区| 亚洲三级电影网站| 久久亚洲一区二区三区明星换脸| 91国内精品野花午夜精品| 国产美女在线观看一区| 秋霞午夜av一区二区三区| 亚洲免费观看高清完整版在线 | 久久精品日产第一区二区三区高清版 | 亚洲国产三级在线| www精品美女久久久tv| 91精品国产综合久久蜜臀| 色综合亚洲欧洲| 粉嫩嫩av羞羞动漫久久久| 琪琪久久久久日韩精品| 亚洲成人免费av| 亚洲激情校园春色| 亚洲三级在线播放| 国产精品天天摸av网| 久久天天做天天爱综合色| 日韩一级成人av| 欧美男同性恋视频网站| 91精彩视频在线| 91在线免费看| 91女人视频在线观看| 成人午夜免费视频| 国产一区在线精品| 久久 天天综合| 精品一区二区久久久| 久久疯狂做爰流白浆xx| 韩国女主播一区二区三区| 美女爽到高潮91| 久久av中文字幕片| 激情综合色播激情啊| 国产又黄又大久久| 国产成人夜色高潮福利影视| 久久99国产精品久久| 国产曰批免费观看久久久| 国产成人免费9x9x人网站视频| 国产一区二区三区久久悠悠色av| 国产伦精品一区二区三区免费| 国产高清视频一区| 成人黄动漫网站免费app| 一本一道久久a久久精品| 色哦色哦哦色天天综合| 欧美日韩中文精品| 日韩一区二区三区四区五区六区| 欧美一区二区三区四区视频| 午夜精品久久久久久久| 日韩精品电影在线| 精品一区二区三区日韩| 国产精品亚洲а∨天堂免在线| www.av精品| 欧美午夜精品一区二区三区| 日韩精品一区二区三区视频 | 国产成人在线电影| 99精品久久只有精品| 欧美亚洲高清一区二区三区不卡| 337p亚洲精品色噜噜噜| 久久美女高清视频| 亚洲精品久久久蜜桃| 日韩av中文字幕一区二区| 国产精品亚洲专一区二区三区| 91看片淫黄大片一级在线观看| 欧美日韩激情一区二区| 久久久亚洲高清| 亚洲高清免费观看高清完整版在线观看| 日本成人在线视频网站| 成人动漫一区二区三区| 91麻豆精品91久久久久久清纯| 国产女同性恋一区二区| 亚洲一区精品在线| 国产成人av一区二区|