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

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

?? fitness.c

?? 簡單遺傳算法經典例子!! SGPC: Simple Genetic Programming in C by Walter Alden Tackett and Aviram Carmi
?? C
字號:
/* THE "DONUT PROBLEM" */
/*
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 fitness_c_rcsid[]="$Id: fitness.c,v 1.3 1993/07/07 05:40:16 gpc-avc Exp gpc-avc $";
#endif

/*
 *
 * $Log: fitness.c,v $
 * Revision 1.3  1993/07/07  05:40:16  gpc-avc
 * Modified code for terminate_early()
 *
 * Revision 1.2  1993/05/14  03:34:12  gpc-avc
 * fixed minor problems
 *
 * Revision 1.1  1993/05/14  03:10:49  gpc-avc
 * Initial revision
 *
 * Revision 2.8  1993/04/30  05:08:38  gpc-avc
 * Restructured directories and Makefile
 *
 * Revision 2.6  1993/04/17  03:03:01  gpc-avc
 * Added a test to check if the fitness file exists
 *
 *
 */

#include <stdio.h>
#include <malloc.h>
#include <errno.h>
#include <stdlib.h>
#include "gpc.h"
#include "prob.h"
#include "math.h"

VOID load_fitness_file P_((
	char *fn,
	int *num,
	int **labels,
	GENERIC ***table,
        pop_struct *pop
	));

GENERIC **fitness_cases_table;
GENERIC **test_cases_table;
int *fclabels;
int *tclabels;
int numfc;
int numtc;
int global_terminate_flag = 0;

#define xabs(x) ((x)>0?(x):(-(x)))
#ifdef ANSI_FUNC

VOID evaluate_fitness_of_populations(
     int 	numpops,
     int 	numgens,
     pop_struct	*pop,
     int	p
     )
#else

VOID evaluate_fitness_of_populations(numpops,numgens,pop,p)
     int 	numpops;
     int 	numgens;
     pop_struct	*pop;
     int	p;
#endif
{
  int		i;

  for (i=0; i<pop[p].population_size; i++) {
    pop[p].standardized_fitness[i] = 
      evaluate_fitness_of_individual(pop,p,pop[p].population[i],i);
  }
}

#ifdef ANSI_FUNC

float evaluate_fitness_of_individual(
     pop_struct	*pop,
     int	p,
     tree	*t,
     int	i
     )
#else

float evaluate_fitness_of_individual(pop, p, t, i)
     pop_struct	*pop;
     int	p;
     tree	*t;
     int	i;
#endif
{
  int		j, correct;
  GENERIC	pdval;

  correct = 0;
  for (j=0; j<numfc; j++) {
    load_terminal_set_values(pop,p,fitness_cases_table[j]);
    if (eval(pop[p].population[i])>0.0) {
      if (fclabels[j])  correct++;
    } else {
      if (!(fclabels[j]))  correct++;
    }
  }
  return 1.0 - (((float) correct)/(float)numfc);
}

#ifdef ANSI_FUNC

float validate_fitness_of_tree(
     int	numpops,
     int	numgens,
     pop_struct *pop,
     int	p,
     tree 	*t
     )
#else

float validate_fitness_of_tree(numpops, numgens, pop, p, t)
  int		numpops;
  int		numgens;
  pop_struct	*pop;
  int		p;
  tree		*t;
#endif
{
  int	        j, correct, agree;
  float		optclass(), retval, optval;

  correct = agree = 0;
  for (j=0; j<numtc; j++) {
    load_terminal_set_values(pop,p,test_cases_table[j]);
    if ((retval = eval(t)) > 0.0) {
      if (tclabels[j])  correct++;
      if ((optval = optclass(test_cases_table[j][0],test_cases_table[j][1],
			     test_cases_table[j][2])) > 0.0) agree++;
    } else {
      if (!(tclabels[j]))  correct++;
      if ((optval = optclass(test_cases_table[j][0],test_cases_table[j][1],
			     test_cases_table[j][2])) <= 0.0) agree++;
    }
/*    write_tree(pop, p, pop[p].format, stdout);
    printf("\n fitness=%f; optimal=%f\n", retval, optval);
    getchar();
*/
  }
  if (agree == numtc) global_terminate_flag = 1; /* optimal solution found */
  return 1.0 - (((float) correct)/(float)numtc);
}
  
#ifdef ANSI_FUNC

int terminate_early(
  int 		numpops,
  int 		numgens,
  pop_struct 	*pop
  )
#else

int terminate_early(numpops,numgens,pop)
  int		numpops;
  int		numgens;
  pop_struct 	*pop;
#endif
{
  if (global_terminate_flag) {
    printf("\n*** OPTIMAL INDIVIDUAL FOUND ***\n");
  }
  return global_terminate_flag;
}

#ifdef ANSI_FUNC

VOID define_fitness_cases(
  int 		numpops,
  int 		numgens,
  pop_struct	*pop
     )
#else

VOID define_fitness_cases(numpops,numgens,pop)
  int 		numpops;
  int 		numgens;
  pop_struct	*pop;
#endif
{
  int	p,i;
  char	ffn[132],tfn[132];
  FILE	*f;

  printf("Enter name of fitness cases file: ");
  scanf("%s",ffn);
  printf("%s\n",ffn);
  printf("Enter name of validation test cases file: ");
  scanf("%s",tfn);
  printf("%s\n",tfn);
  load_fitness_file(ffn,&numfc,&fclabels,&fitness_cases_table,pop);
  load_fitness_file(tfn,&numtc,&tclabels,&test_cases_table,pop);
}

#ifdef ANSI_FUNC

VOID load_fitness_file(
  char *fn,
  int *num,
  int **labels,
  GENERIC ***table,
  pop_struct *pop
  )
#else

VOID load_fitness_file(fn,num,labels,table,pop)
char	*fn;
int	*num;
int	**labels;
GENERIC ***table;
pop_struct *pop;
#endif
{
  FILE	*f;
  int	i,j;
  int	p =0;

  if ((f=fopen(fn,"r")) == (FILE *) NULL) {
    fprintf(stderr,"Error: fitness file not found: %s\n",fn);
    exit(1);
  }
  fscanf(f,"%d",num);
  (*labels) = (int *) malloc(*num*sizeof(int));
  (*table) = (GENERIC **) malloc(*num*sizeof(GENERIC *));
  for (i = 0; i<*num; i++) {
    (*table)[i] = (GENERIC *) 
      malloc(pop[p].terminal_table_size*sizeof(GENERIC));
    fscanf(f,"%d",&((*labels)[i]));
    for (j=0;j<pop[p].terminal_table_size;j++) 
      fscanf(f,FORMAT,&((*table)[i][j]));
  }
  fclose(f);
}

float optclass(x,y,z) 
float	x,y,z;
{
  return (float)
    -(2.0*(sqrt((double)(x*x+y*y))-sqrt((double)((x-1.0)*(x-1.0)+z*z))-x)+1.0);
}
((*labels)[i]));
    for (j=0;j<pop[p].terminal_table_size;j++) 
      fscanf(f,FORMAT,&((*table)[i][j]));
  }
  fclose(f);
}

float optclass(x,y,z) 
float	x,y,z;
{
  return (float)
    -(2.0*(sqrt((double)(x*x+y*y))-sqrt((double)((x-1.0)*(x-1.0)+z*z))-x)+1.0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色av成人天堂桃色av| 国产91精品在线观看| 欧美一区永久视频免费观看| 亚洲视频你懂的| 91免费在线看| 日韩精品乱码免费| 日韩一区和二区| 激情六月婷婷久久| 国产欧美日韩卡一| 91黄色激情网站| 丝袜a∨在线一区二区三区不卡| 欧美一区二区啪啪| 国产麻豆视频精品| 一区二区三区在线免费视频| 欧美福利视频一区| 国产精品资源网| 亚洲欧洲综合另类| 欧美一区二区三区在线看| 国产一区二区三区香蕉| 中文字幕在线观看一区二区| 欧美私人免费视频| 韩国午夜理伦三级不卡影院| 一区在线中文字幕| 91麻豆精品国产91久久久| 国产九色sp调教91| 亚洲午夜一二三区视频| 久久综合久久鬼色| 色噜噜狠狠色综合中国| 国产在线精品一区二区夜色| 综合网在线视频| 日韩欧美在线影院| 91在线高清观看| 精品影院一区二区久久久| 亚洲色图在线视频| 精品国产凹凸成av人网站| 一本色道久久综合亚洲aⅴ蜜桃 | 国产一区二三区好的| 国产精品国产精品国产专区不片| 欧美性感一类影片在线播放| 国产一区三区三区| 亚洲成精国产精品女| 国产精品美女久久久久久2018| 欧美日本一区二区| 91在线精品秘密一区二区| 久久99蜜桃精品| 亚洲高清久久久| 国产精品久久久久久久久免费丝袜 | 日本亚洲电影天堂| 国产精品国模大尺度视频| 欧美va亚洲va国产综合| 在线观看91视频| 成人av电影在线网| 精品亚洲成a人| 午夜欧美在线一二页| 亚洲欧洲韩国日本视频| 久久久影视传媒| 日韩欧美一区二区免费| 欧亚洲嫩模精品一区三区| 成人短视频下载| 国内欧美视频一区二区| 热久久久久久久| 亚洲国产精品自拍| 亚洲最新视频在线观看| 国产精品国产三级国产a | 欧美麻豆精品久久久久久| 91在线观看视频| eeuss国产一区二区三区| 国产一区二区在线影院| 美国av一区二区| 日韩av中文字幕一区二区三区| 亚洲国产精品久久一线不卡| 亚洲黄色小说网站| 亚洲精品乱码久久久久久黑人| 一色屋精品亚洲香蕉网站| 中文字幕成人av| 国产精品九色蝌蚪自拍| 国产精品久久午夜| 亚洲欧美日韩综合aⅴ视频| 中文字幕在线观看不卡视频| 中文字幕精品一区二区精品绿巨人 | 亚洲主播在线播放| 一区二区在线观看免费| 一区二区三区日韩| 亚洲国产欧美另类丝袜| 亚洲国产精品久久人人爱蜜臀| 亚洲国产cao| 午夜精彩视频在线观看不卡| 视频在线观看91| 精品一区二区在线视频| 国产精品一区二区男女羞羞无遮挡 | 亚洲123区在线观看| 天天综合色天天综合色h| 日本不卡一区二区| 精品在线播放免费| 成人黄色一级视频| 色久综合一二码| 3d成人h动漫网站入口| 欧美一区二区三区在线观看| 26uuu精品一区二区| 国产精品婷婷午夜在线观看| 亚洲精品久久久久久国产精华液| 亚洲国产一区二区在线播放| 奇米色777欧美一区二区| 久久91精品国产91久久小草| 成人精品高清在线| 在线观看日韩电影| 337p日本欧洲亚洲大胆色噜噜| 中文字幕精品综合| 午夜精品福利一区二区三区蜜桃| 麻豆久久久久久| 国产精品乡下勾搭老头1| 91啪亚洲精品| 欧美一区二区黄| 国产精品护士白丝一区av| 亚洲成人一二三| 国产99久久久国产精品潘金| 欧美一区日韩一区| 国产精品欧美综合在线| 亚洲福利一区二区三区| 国产剧情一区二区| 欧美性一二三区| 国产亚洲欧美日韩日本| 亚洲v日本v欧美v久久精品| 国产一区二区福利| 欧美日韩国产一区二区三区地区| 欧美精品一区在线观看| 亚洲综合男人的天堂| 国产综合一区二区| 欧美三级在线视频| 中文字幕精品在线不卡| 麻豆久久久久久| 欧美性极品少妇| 国产精品久久国产精麻豆99网站| 奇米一区二区三区av| 在线区一区二视频| 国产精品美女久久久久aⅴ国产馆| 天天色 色综合| 91蜜桃网址入口| 国产午夜精品久久| 麻豆精品视频在线观看免费| 色综合久久中文综合久久97| 久久久久一区二区三区四区| 日韩av在线播放中文字幕| 色婷婷综合久久久久中文| 中文字幕精品一区| 麻豆91在线看| 欧美精品乱码久久久久久按摩 | 日韩色视频在线观看| 亚洲精品成人a在线观看| 国产999精品久久久久久绿帽| 日韩亚洲国产中文字幕欧美| 亚洲va国产va欧美va观看| 91亚洲永久精品| 中文一区二区在线观看| 国产麻豆一精品一av一免费 | 蓝色福利精品导航| 欧美日韩国产不卡| 亚洲国产wwwccc36天堂| 日本精品视频一区二区三区| 中文字幕亚洲成人| 成人深夜视频在线观看| 欧美国产精品久久| 国产精品18久久久久久久久| 精品sm在线观看| 精品一区二区在线视频| 欧美大片国产精品| 久久激情五月婷婷| 日韩欧美中文一区二区| 成人免费视频免费观看| 欧美激情一区二区在线| 高清不卡在线观看| 国产女主播视频一区二区| 国产精品综合久久| 国产亚洲一区二区三区四区| 国产传媒欧美日韩成人| 中文字幕成人av| 色综合天天综合在线视频| 亚洲精品美腿丝袜| 欧美日韩一级黄| 美美哒免费高清在线观看视频一区二区 | 欧美国产亚洲另类动漫| 成人黄色小视频在线观看| 亚洲天堂精品在线观看| 91国产视频在线观看| 亚洲福利一区二区三区| 日韩写真欧美这视频| 国产精品一区二区在线播放 | 色久综合一二码| 日日欢夜夜爽一区| 日韩女优av电影在线观看| 国产乱理伦片在线观看夜一区| 国产精品麻豆99久久久久久| 日本伦理一区二区| 午夜国产精品影院在线观看| 日韩欧美国产一区二区三区| 国产成人午夜精品影院观看视频| 亚洲欧洲一区二区在线播放| 欧美日韩综合不卡| 狠狠色狠狠色合久久伊人| 国产精品传媒视频|