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

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

?? gpshared.c

?? 遺傳規劃工具
?? C
字號:
/*======================================================================+| PGPC: Parallel Genetic Programming in C                               || (c) 1994 Genetic Algorithm Technology Corp. all rights reserved       ||   written by David Andre                                              |+======================================================================*//*======================================================================+| FILE: gpshared.c                                                      || DESCRIPTION: Contains code required both in the boss node and the     || breeder nodes, such as randomizers and the like.  May disappear when  || out-of sample fittnes cases are allowed.                              ||                                                                       || REVISIONS:                                                            || Jan 24, 1995:  Works as of today, no known bugs.                      || Mar 21, 1995:  Changed and added Randu, PM randomizers, added         ||                fitness case randomizers                               |+======================================================================*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include "gp.h"#include <math.h>#include "proto.h"#include "time.h"#ifdef __BORLANDC__#include "gpi_stub.h"#else/*#include <iocntrl.h>#include <process.h>#include <channel.h>#include <semaphor.h>#include "mncommon.h"#include "mnproto.h"#include "gpi.h"*/#endif#ifdef _ICC	 #include <process.h>#endif#define RANDU_MODER     2147483648  /*  2^32   */#define PM_MODER        2147483647  /*  2^32-1 */#define RANDU_CONSTANT  65539#define PM_CONSTANT     16807#define MY_MODER    2147483647static unsigned long      g_my_state;static unsigned long      g_constant;static unsigned long      g_mod_num;static unsigned long      randu_constant;static unsigned long      pm_constant;static  char g_str[256];unsigned long MyRand(void)/*;*/ /*funcdef*/{    return g_my_state = ((g_my_state * g_constant) % (MY_MODER));}unsigned long MyMaxRand(void)/*;*/ /*funcdef*/{	 return (unsigned long) (MY_MODER);}unsigned long MySrand(unsigned long my_seed)/*;*/ /*funcdef*/{    g_constant = (unsigned long int)pow(7.0,5.0);    return (g_my_state = my_seed);}unsigned long GetMyRand(void)/*;*/ /*funcdef*/{    return(g_my_state);}unsigned long PM_Rand(void)/*;*/ /*funcdef*/{    g_my_state = ((g_my_state * PM_CONSTANT) % (PM_MODER));    return (g_my_state);}unsigned long PM_MaxRand(void)/*;*/ /*funcdef*/{    return (unsigned long) (PM_MODER);}unsigned long PM_Srand(unsigned long my_seed)/*;*/ /*funcdef*/{    g_my_state = my_seed;    return (g_my_state);}unsigned long GetPMRand(void){    return(g_my_state);}unsigned long Randu_Rand(void)/*;*/ /*funcdef*/{    return g_my_state = ((g_my_state * RANDU_CONSTANT) % (RANDU_MODER));}unsigned long Randu_MaxRand(void)/*;*/ /*funcdef*/{    return (unsigned long) (RANDU_MODER);}unsigned long Randu_Srand(unsigned long my_seed)/*;*/ /*funcdef*/{    return (g_my_state = my_seed);}unsigned long GetRanduRand(void){    return(g_my_state);}/*---------------------------------------------*/void SetSeed(Population *pop,  unsigned long s  )/*;*/ /*funcdef - dgpc - SetSeed*/{  ((*pop).pop_startup_info.seed) = (long)s;  /* new code */  SRAND((signed long)s);}unsigned long GetSeed(Population * pop)/*;*/ /*funcdef - dgpc - GetSeed*/{  return ((*pop).pop_startup_info.seed);}unsigned long GetSystemSeed(void){	long temp;	temp = rand();	srand(temp);	return(temp);}float GaussianNoise(float mean, float sigma )/*;*/ /*funcdef - dgpc - GaussianNoise*/{  float		gauss;  static int gaussian_noise_toggle;  static float  gaussian_noise_uniform1, gaussian_noise_uniform2;  static float  gaussian_noise_temp;  if (gaussian_noise_toggle) {    gaussian_noise_uniform1 = (RandomFloat( (float) 1.0));    gaussian_noise_uniform2 = (RandomFloat( (float) 1.0));    gaussian_noise_temp =		  (float) sqrt(-2.0 * log((double)gaussian_noise_uniform1));    gauss = gaussian_noise_temp *      (float)cos((float)(2.0*3.14159*gaussian_noise_uniform2));  }  else {    gauss = gaussian_noise_temp *      (float)sin((float)(2.0*3.14159*gaussian_noise_uniform2));  }  gaussian_noise_toggle = ! gaussian_noise_toggle;  return mean + (sigma * gauss);}float ParkMillerRandomizer(void)/*;*/ /*funcdef - dgpc - ParkMillerRandomizer*/{  float retval;  retval = (float) (((float)(double) RAND()) / ((float)(double) DRAND_MAX));  return retval;}float RandomFloat( float f  )/*;*/  /*	 0 <=  RandomFloat() < f  */ /*funcdef - dgpc - RandomFloat*/{  float	retval;  retval = (f*((float) 1.0-ParkMillerRandomizer()));  return retval;}int RandomInt(   int i  )/*;*/    /* 0 <= RandomInt() < i   */ /*funcdef - dgpc - RandomInt*/{  int	retval;  if (i==0) return(0); retval = ((int) fabs(((double)i *  (double)RandomFloat((float) 1.0)))) % i;  return retval;}float gpRandomFloat( float f  )/*;*/  /*	 0 <=  RandomFloat() < f  */ /*funcdef - dgpc - RandomFloat*/{  float	retval;  retval = (f*((float) 1.0-ParkMillerRandomizer()));  return retval;}int gpRandomInt(   int i  )/*;*/    /* 0 <= RandomInt() < i   */ /*funcdef - dgpc - gpRandomInt*/{  int	retval;  if (i==0) return(0); retval = ((int) fabs(((double)i *  (double)gpRandomFloat((float) 1.0)))) % i;  return retval;}float FitParkMillerRandomizer(void)/*;*/ /*funcdef - dgpc - ParkMillerRandomizer*/{  float retval;  retval = (float) (((float)(double) FRAND()) / ((float)(double) FDRAND_MAX));  return retval;}float FitRandomFloat( float f  )/*;*/  /*	 0 <=  RandomFloat() < f  */ /*funcdef - dgpc - RandomFloat*/{  float	retval;  retval = (f*((float) 1.0-FitParkMillerRandomizer()));  return retval;}int FitRandomInt(   int i  )/*;*/    /* 0 <= RandomInt() < i   */ /*funcdef - dgpc - RandomInt*/{  int	retval;  if (i==0) return(0); retval = ((int) fabs(((double)i *  (double)FitRandomFloat((float) 1.0)))) % i;  return retval;}void CreateIndividual(Individual * ind)/*;*/ /*funcdef - dgpc - CreateIndividual*/{	int i,j;	int bnum;	int codep;        int bsize;			i=0;bnum=0;codep=0;               		for (j=0;j<NUM_RPBS;j++)	{		 bsize = GetBranchSize(bnum);		ind->rpbs[j].branchnum = bnum;		ind->rpbs[j].num_nodes  = bsize;		ind->rpbs[j].tree = &(ind->code[codep]);		ind->rpbs[j].ind  = ind;		bnum++;                codep +=bsize;	}	for (j=0;j<MAX_NUM_ADFS;j++)	{					 bsize = GetBranchSize(bnum);		ind->adfs[j].branchnum = bnum;		ind->adfs[j].num_nodes  = bsize;		ind->adfs[j].tree = &(ind->code[codep]);                ind->adfs[j].ind  = ind;		bnum++;                codep +=bsize;	}	i=i;}void CopyIndividual(Individual * ind1, Individual * ind2)/*;*/ /*funcdef - dgpc - CopyIndividual*/{	int i,j;		        CreateIndividual(ind2);        for (i=0;i<MAX_NUM_NODES_PER_DUDE;i++)        {            ind2->code[i].opcode = ind1->code[i].opcode;            ind2->code[i].jump   = ind1->code[i].jump;        }	for (i=0;i< NUM_RPBS; i++)	{		for (j=0;j<TOTAL_NUMBER_OF_FUNCTIONS;j++)			ind2->rpbs[i].function_vector[j] = ind1->rpbs[i].function_vector[j];	}	for (i=0;i< MAX_NUM_ADFS; i++)	{		for (j=0;j<TOTAL_NUMBER_OF_FUNCTIONS;j++)			ind2->adfs[i].function_vector[j] = ind1->adfs[i].function_vector[j];	}	ind2->s_fitness = ind1->s_fitness;	ind2->hits = ind1->hits;        ind2->beauty = ind1->beauty;	ind2->current_number_of_adfs = ind1->current_number_of_adfs;	for (i=0;i<MAX_NUM_ADFS;i++)		ind2->adf_arity[i] = ind1->adf_arity[i];       #if (USE_MULTI_TYPED_ADFS)        for (i=0;i<MAX_NUM_ADFS;i++)            ind2->adf_type[i] = ind1->adf_type[i];       #endif#if (DO_POOR_WHITE_TRASH_AUDIT)        for (i=0;i<NUM_OPS_TO_KEEP;i++)            ind2->cy_num_of_ops[i] = ind1->cy_num_of_ops[i];        for (i=0;i<NUM_OPS_TO_KEEP;i++)            ind2->op_list[i] = ind1->op_list[i];        for (i=0;i<NUM_OPS_TO_KEEP;i++)            ind2->fit_at_op[i] = ind1->fit_at_op[i];        ind2->num_ops_done = ind1->num_ops_done;#endif}/*-----------------------------------------------------------------------------*/		void CopyTree(Branch * br1, Branch * br2)/*;*/ /*copies br1 into br2*/ /*funcdef - dgpc - CopyTree*/{int i;	 for (i=0;i<br1->num_nodes;i++)	    {    br2->tree[i].opcode = br1->tree[i].opcode;    br2->tree[i].jump   = br1->tree[i].jump;    }}int ChooseRandomFunction(Population * pop,int kind,Branch *br) /*funcdef*/{/* kind == 0 means leaf node*//* kind == 1 means internal node*//* kind == 2 means any node */    int i,temp;    int sum;    sum=0;    for (i=0;i<TOTAL_NUMBER_OF_FUNCTIONS;i++)    {        if (kind == 0)        {            if (_function_arity(i) == 0)                sum+= (*pop).func_table[i].weight;        }        else if (kind == 1)        {            if (_function_arity(i) > 0)                sum+= (*pop).func_table[i].weight;        }        else                sum+= (*pop).func_table[i].weight;    }    temp = RandomInt(sum);    i=0;    sum=0;    while(i < TOTAL_NUMBER_OF_FUNCTIONS)    {        if (kind == 0)        {            if (_function_arity(i) == 0)                sum+= (*pop).func_table[i].weight;        }        else if (kind == 1)        {            if (_function_arity(i) > 0)                sum+= (*pop).func_table[i].weight;        }        else                sum+= (*pop).func_table[i].weight;        if (temp < sum)            return(i);        i++;    }	 gpi_SendError("Error in choose random function\n");	 return(-1);}int ChooseRandomCSSFunction(Population * pop,int kind,Branch *br,int * fvector) /*funcdef*/{/* kind == 0 means leaf node*//* kind == 1 means internal node*//* kind == 2 means any node */    int i,temp;    int sum;    sum=0;    for (i=0;i<TOTAL_NUMBER_OF_FUNCTIONS;i++)    {        if (kind == 0)        {            if (fvector[i] == 0)                sum+= (*pop).func_table[i].weight;        }        else if (kind == 1)        {            if (fvector[i] > 0)                sum+= (*pop).func_table[i].weight;        }        else if (fvector[i] > -1)                sum+= (*pop).func_table[i].weight;    }    temp = RandomInt(sum);    i=0;    sum=0;    while(i < TOTAL_NUMBER_OF_FUNCTIONS)    {        if (kind == 0)        {            if (fvector[i] == 0)                sum+= (*pop).func_table[i].weight;        }        else if (kind == 1)        {            if (fvector[i] > 0)                sum+= (*pop).func_table[i].weight;        }        else if (fvector[i] > -1)                sum+= (*pop).func_table[i].weight;        if (temp < sum)            return(i);        i++;    }	 gpi_SendError("Error in choose random css function\n");	 return(-1);}     		void init_macro(Branch *br)/*;*/ /*funcdef*/{(br->ind->index_ptr)++;}void skip_subtree(Branch *br)/*;*//*funcdef*/{(br->ind->index_ptr) = TraverseSubtree(br,(br->ind->index_ptr));(br->ind->index_ptr)++;}int GetFuncNumber(char * str,Population * pop){int i;    for (i=0;i<TOTAL_NUMBER_OF_FUNCTIONS;i++)    {        if (!strcmp(str,(*pop).func_table[i].print_name))            return(i);    }    sprintf(g_str,"Error!  No function matches %s\n",str);	 gpi_SendError(g_str);	 exit(1);    return(-1);}GTYPE EvalBranch(Branch *br,Population *pop) /*;*/ /*funcdef - gpkernel - EvalBranch*/{int temp;GTYPE temp2;temp = br->ind->index_ptr;br->ind->index_ptr  =0;temp2 = _eval_subtree(br,pop);br->ind->index_ptr  =temp;return(temp2);}/*----------------------------------------------------*/void CopyFVector(int * fvector_from, int * fvector_to){    int i;    for (i=0;i<TOTAL_NUMBER_OF_FUNCTIONS;i++)    {       fvector_to[i] = fvector_from[i];    }}Branch * GetRightBranch(Individual * dude, int bnum)/*;*/ /*funcdef - dgpc - GetRightBranch */{	if (bnum < NUM_RPBS)		return( &(dude->rpbs[bnum]) );	else		return( &(dude->adfs[bnum - NUM_RPBS]) );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品久久免费看蜜臀剧情介绍| 色欧美乱欧美15图片| 日韩一级高清毛片| 午夜私人影院久久久久| 91成人网在线| 亚洲精品乱码久久久久久久久| 成人短视频下载| 国产精品美女久久久久久久久久久| 国产一区二区三区四区在线观看| 精品国产一区二区三区久久久蜜月| 污片在线观看一区二区| 欧美日韩精品电影| 午夜视频一区在线观看| 51午夜精品国产| 丝袜诱惑亚洲看片| 91精品国产一区二区三区香蕉| 天天综合天天做天天综合| 3d动漫精品啪啪| 免费观看一级特黄欧美大片| 日韩一卡二卡三卡四卡| 激情五月婷婷综合| 久久久噜噜噜久久人人看 | 国产精品视频免费看| 国产传媒日韩欧美成人| 欧美国产精品中文字幕| 不卡视频一二三| 亚洲另类春色校园小说| 欧美日韩亚洲高清一区二区| 三级在线观看一区二区| 欧美大片免费久久精品三p| 国产在线精品一区二区夜色| 久久久久高清精品| 波多野结衣亚洲一区| 亚洲黄网站在线观看| 欧美性xxxxx极品少妇| 婷婷久久综合九色国产成人| 日韩一区二区不卡| 国产精品99久| 综合中文字幕亚洲| 欧美日韩国产美| 久久99精品国产麻豆婷婷| 国产亚洲精品超碰| 91免费观看在线| 亚洲成a人片综合在线| 日韩区在线观看| 粉嫩一区二区三区在线看| 亚洲精品自拍动漫在线| 在线电影欧美成精品| 国产综合久久久久久久久久久久 | 欧美大片一区二区三区| 国产不卡视频在线播放| 亚洲欧美日韩中文播放 | 日韩一区二区在线观看视频 | 99热精品国产| 亚洲成人免费观看| 精品国产乱码久久久久久浪潮| 大桥未久av一区二区三区中文| 一区二区在线观看不卡| 日韩精品中文字幕在线一区| 成人美女视频在线观看18| 亚洲一区二区三区四区在线免费观看| 捆绑调教美女网站视频一区| 成人免费视频视频在线观看免费| 亚洲天堂免费在线观看视频| 欧美日韩午夜精品| 国产一区二三区| 依依成人综合视频| 精品国产青草久久久久福利| 91在线精品秘密一区二区| 日韩1区2区3区| 国产精品久久久久一区二区三区共 | 午夜电影一区二区三区| 久久精品亚洲精品国产欧美kt∨| 91黄色小视频| 韩国在线一区二区| 亚洲综合一区在线| 久久精品在线观看| 欧美日韩亚洲另类| www.亚洲免费av| 裸体一区二区三区| 一区二区三区小说| 久久免费精品国产久精品久久久久| 在线视频一区二区免费| 国产精品99久久久久久有的能看| 亚洲成年人影院| 中文字幕视频一区| 精品国产乱码久久久久久免费| 欧美亚洲动漫制服丝袜| 成人亚洲一区二区一| 免费成人在线观看视频| 一区二区三区四区av| 国产视频一区在线观看| 日韩一区二区三区四区| 色视频成人在线观看免| 丁香五精品蜜臀久久久久99网站| 日本视频在线一区| 一区二区理论电影在线观看| 国产三区在线成人av| 日韩一区二区三区精品视频| 欧美亚洲一区三区| www.在线欧美| 国产成人免费xxxxxxxx| 蜜臀久久久久久久| 亚洲第一激情av| 亚洲欧美综合另类在线卡通| 久久精品在这里| 精品嫩草影院久久| 7777精品伊人久久久大香线蕉的| 色屁屁一区二区| av日韩在线网站| 国产成人av福利| 国内国产精品久久| 久久99久久久久| 日韩av在线发布| 午夜伦欧美伦电影理论片| 一区二区在线免费| 日韩美女视频一区| 国产精品网站导航| 国产亚洲va综合人人澡精品| 日韩欧美电影在线| 8x福利精品第一导航| 欧美日韩视频第一区| 91福利视频网站| 91成人在线观看喷潮| 91在线丨porny丨国产| 成人精品鲁一区一区二区| 国产激情91久久精品导航 | 国产乱人伦精品一区二区在线观看| 青青国产91久久久久久| 香港成人在线视频| 五月婷婷另类国产| 天堂一区二区在线| 爽爽淫人综合网网站| 偷拍自拍另类欧美| 五月天一区二区三区| 亚洲电影第三页| 偷拍一区二区三区四区| 首页亚洲欧美制服丝腿| 日韩和欧美一区二区| 日韩av电影天堂| 久久精品国产一区二区三区免费看| 毛片不卡一区二区| 国产原创一区二区| 国产盗摄一区二区三区| 成人一级黄色片| av日韩在线网站| 欧洲亚洲国产日韩| 欧美日韩一卡二卡三卡 | 欧美色男人天堂| 欧美精品亚洲一区二区在线播放| 欧美日韩一区 二区 三区 久久精品| 欧美日韩dvd在线观看| 91精品国产入口| www激情久久| 中文av一区二区| 亚洲男人的天堂一区二区| 亚洲一二三区不卡| 日韩二区三区在线观看| 九九九久久久精品| 成人黄色av电影| 91成人免费在线| 日韩一区二区视频| 国产女人18毛片水真多成人如厕 | 日韩精品色哟哟| 久久99久国产精品黄毛片色诱| 国产高清视频一区| 色综合天天视频在线观看| 欧洲一区二区三区免费视频| 欧美一区国产二区| 国产日产亚洲精品系列| 亚洲欧美日韩综合aⅴ视频| 图片区小说区国产精品视频| 激情综合色丁香一区二区| 波多野结衣91| 欧美日本高清视频在线观看| 欧美不卡激情三级在线观看| 中文字幕av一区二区三区免费看 | 奇米在线7777在线精品| 国产精品1024| 欧美视频自拍偷拍| 精品第一国产综合精品aⅴ| 中文字幕亚洲电影| 日韩专区一卡二卡| 国产成人午夜片在线观看高清观看| 色欲综合视频天天天| 欧美三级三级三级| 欧美日本国产一区| 久久亚洲精华国产精华液 | 欧美精品一区二区不卡 | 精品国产乱码久久久久久久| 国产精品不卡在线| 日韩中文字幕区一区有砖一区 | 在线观看精品一区| 精品久久人人做人人爰| 亚洲少妇30p| 精品一区二区影视| 91论坛在线播放| 26uuu亚洲| 亚洲成人午夜电影| 成人午夜在线免费|