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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? yichuan.txt

?? 遺傳算法的一個(gè)代碼
?? TXT
?? 第 1 頁 / 共 3 頁
字號(hào):
  #include<stdio.h>
  #include<stdlib.h>
  #include<graphics.h>
  #include<math.h>
  #include<time.h>
  #include<string.h>
  #include "graph.c"
  /* 宏定義 */
  #define TL1 20 /* 植物性食物限制時(shí)間 */
  #define TL2 5 /* 動(dòng)物性食物限制時(shí)間 */
  #define NEWFOODS 3 /* 植物性食物每代生成數(shù)目 */
  #define MUTATION 0.05 /* 變異概率 */
  #define G_LENGTH 32 /* 個(gè)體染色體長度 */
  #define MAX_POP 100 /* 個(gè)體總數(shù)的最大值 */
  #define MAX_FOOD 100 /* 食物總數(shù)的最大值 */
  #define MAX_WX 60 /* 虛擬環(huán)境的長度最大值 */
  #define MAX_WY 32 /* 虛擬環(huán)境的寬度最大值 */
  #define SX1 330 /* 虛擬環(huán)境圖左上角點(diǎn)x坐標(biāo) */
  #define SY1 40 /* 虛擬環(huán)境圖左上角點(diǎn)y坐標(biāo) */
  #define GX 360 /* 個(gè)體數(shù)進(jìn)化圖形窗口的左上角點(diǎn)X坐標(biāo) */
  #define GY 257 /* 個(gè)體數(shù)進(jìn)化圖形窗口的左上角點(diǎn)Y坐標(biāo) */
  #define GXR 250 /* 個(gè)體數(shù)進(jìn)化圖形窗口的長度 */
  #define GYR 100 /* 個(gè)體數(shù)進(jìn)化圖形窗口的寬度 */
  #define GSTEP 2 /* 個(gè)體數(shù)進(jìn)化圖形窗口的X方向步長 */
  #define R_LIFE 0.05 /* 初期產(chǎn)生生物數(shù)的環(huán)境比率 */
  #define R_FOOD 0.02 /* 初期產(chǎn)生食物數(shù)的環(huán)境比率 */
  #define SL_MIN 10 /* 個(gè)體壽命最小值 */
  /* 全局變量 */
  unsigned char gene[MAX_POP][G_LENGTH]; /* 遺傳基因 */
  unsigned char iflg[MAX_POP]; /* 個(gè)體死活狀態(tài)標(biāo)志變量 */
  unsigned char fflg[MAX_FOOD]; /* 食物有無狀態(tài)標(biāo)志變量 */
  unsigned char world[MAX_WX][MAX_WY]; /* 虛擬環(huán)境的數(shù)據(jù) */
  unsigned char /* 各中行為模式數(shù)據(jù) */
  life1[5][5]={{0,0,1,0,0},{0,1,0,1,0},{1,0,0,0,1},{0,1,0,1,0},{0,0,1,0,0}};
  unsigned char
  life2[5][5]={{1,1,1,1,1},{1,0,0,0,1},{1,0,0,0,1},{1,0,0,0,1},{1,1,1,1,1}};
  unsigned char
  food1[5][5]={{0,0,0,1,0},{0,0,1,1,0},{0,1,0,1,0},{0,0,1,1,0},{0,0,0,1,0}};
  unsigned char
  food2[5][5]={{0,0,0,1,0},{0,0,1,1,0},{0,1,1,1,0},{0,0,1,1,0},{0,0,0,1,0}};
  int pop_size; /* 個(gè)體總數(shù) */
  int iatr[MAX_POP][4]; /* 個(gè)體屬性 */
  /* iatr[][0] 個(gè)體當(dāng)前位置x坐標(biāo) */
  /* iatr[][1] 個(gè)體當(dāng)前位置y坐標(biāo) */
  /* iatr[][2] 內(nèi)部能量 */
  /* iatr[][3] 年齡屬性 */
  int food_size; /* 食物總數(shù) */
  int fatr[MAX_FOOD][4]; /* 食物屬性 */
  /* fatr[][0] 食物當(dāng)前位置x坐標(biāo) */
  /* fatr[][1] 食物當(dāng)前位置y坐標(biāo) */
  /* fatr[][2]=0 : 植物性 =1:動(dòng)物性 */
  /* fatr[][3] 新鮮程度 */
  int wx,wy; /* 虛擬環(huán)境的長寬度 */
  void uni_crossover(gene,g1,g2,g3,ratio1,g_length) /* 均勻交叉 */
  unsigned char *gene; /* 遺傳基因 */
  int g1,g2,g3; /* g1 g2 父?jìng)€(gè)體編號(hào) g3 子個(gè)體編號(hào) */
  double ratio1; /* 父?jìng)€(gè)體g1被選中的概率 */
  int g_length; /* 個(gè)體遺傳基因的位長 */
  {
  unsigned char *gene1; /* 父1遺傳基因的指針 */
  unsigned char *gene2; /* 父2遺傳基因的指針 */
  unsigned char *gene3; /* 子遺傳基因的指針 */
  double rnd,r1;
  int i;
  gene1=gene+g_length*g1;
  gene2=gene+g_length*g2;
  gene3=gene+g_length*g3;
  r1=(int)(10000.0*ratio1);
  for(i=0;i<g_length;i++)
  { rnd=random(10000);
  if(rnd<=r1) *(gene3+i)=*(gene1+i);
  else *(gene3+i)=*(gene2+i);
  }
  }
  void g_disp_unit(x,y,n) 
  /* 繪制虛擬環(huán)境的一個(gè)單元 */
  int x,y; /* x=0,1,2....,wx-1; y=0,1,2,....,wy-1 */
  int n; /* n=0: =1: 生物1 =2:生物2 =3:植物性食物 =4:障礙物 =5:動(dòng)物性食物 */
  {
  int gx,gy,i,j;
  unsigned char col;
  gx=SX1+5*x;gy=SY1+5*y;
  for(i=0;i<5;i++)
  for(j=0;j<5;j++)
  { switch(n)
  { case 0: col=0; break;
  case 1: col=life1[j] [ i]*2; break;
  case 2: col=life2[j] [ i]*4; break;
  case 3: col=food1[j] [ i]*6; break;
  case 4: col=7; break;
  case 5: col=food2[j] [ i]*11;
  }
  g_pset(gx+j,gy+i,col);
  }
  }
  void g_draw_world() /* 顯示虛擬環(huán)境畫面 */
  {
  int i,j;
  for(i=0;i<wy;i++)
  for(j=0;j<wx;j++)
  g_disp_unit(j,i,world[j] [ i]);
  }
  void g_draw_frame(x1,y1,x2,y2,c1,c2,c3,c4,text)
  int x1,y1,x2,y2,c1,c2,c3,c4;
  char *text;
  { int n,x3;
  g_rectangle(x1,y1,x2,y2,c1,1);
  g_rectangle(x1,y1,x2,y2,c2,0);
  g_rectangle(x1,y1,x2,y1+16,c3,1);
  g_rectangle(x1,y1,x2,y1+16,c2,0);
  n=strlen(text);
  x3=x1+((x2-x1-n*8)/2);
  disp_hz16(text,x3,y1,c4);
  }
  void g_init_frames() /* 初始化畫面 */
  {
  int i,j,cx,cy,x,y;
  char text[17];
  g_draw_frame(0,0,639,399,15,0,4,15,
  "基于遺傳算法的人工生命模擬");
  g_draw_frame(0,16,320,170,7,0,8,15,"設(shè)定參數(shù)");
  y=48;
  setcolor(9);
  disp_hz16("植物食物限制時(shí)間",16,y,15);
  sprintf(text,"%d",TL1);
  g_text(200,y+8,4,text);
  y=y+24;
  setcolor(9);
  disp_hz16("動(dòng)物食物限制時(shí)間",16,y,15);
  sprintf(text,"%d",TL2);
  g_text(200,y+8,4,text);
  y=y+24;
  setcolor(9);
  disp_hz16("植物食物每代生成個(gè)數(shù)",16,y,15);
  sprintf(text,"%d",NEWFOODS);
  g_text(200,y+8,4,text);
  y=y+24;
  setcolor(9);
  disp_hz16("變異概率",16,y,15);
  i=(int)(MUTATION*100.0);
  sprintf(text,"%d",i);
  g_text(152,y+8,4,text);
  g_draw_frame(0,170,320,399,7,0,8,15,"最佳基因型");
  x=16;y=194;
  setcolor(9);
  disp_hz16("SP:物種號(hào)........",x,y,15);y=y+16;
  disp_hz16("SL:壽命..........",x,y,15);y=y+16;
  disp_hz16("VF:視野..........",x,y,15);y=y+16;
  disp_hz16("TM:基本移動(dòng)模式..",x,y,15);y=y+16;
  disp_hz16("CM:移動(dòng)特點(diǎn)......",x,y,15);y=y+16;
  disp_hz16("LM:移動(dòng)能耗......",x,y,15);y=y+16;
  disp_hz16("CA:行動(dòng)特點(diǎn)......",x,y,15);y=y+16;
  disp_hz16("CR:善變性........",x,y,15);y=y+16;
  disp_hz16("SA:攻擊速度......",x,y,15);y=y+16;
  disp_hz16("DA:防御能力......",x,y,15);y=y+16;
  disp_hz16("LA:攻擊能耗......",x,y,15);y=y+16;
  disp_hz16("EF:食物吸取效率..",x,y,15);y=y+16;
  g_draw_frame(320,16,639,207,7,0,8,15,"虛擬世界");
  g_draw_frame(320,207,639,399,7,0,8,15,"世代個(gè)體數(shù)目變化");
  }
  void g_init_graph() 
  /* 個(gè)體數(shù)進(jìn)化圖初始化 */
  {
  g_rectangle(GX,GY,GX+GXR,GY+GYR,0,1);
  g_rectangle(GX,GY,GX+GXR,GY+GYR,6,0);
  setcolor(1);
  disp_hz16( "生物 1",GX+5,GY-18,15);
  g_line(GX+90,GY-10,GX+110,GY-10,1);
  setcolor(4);
  disp_hz16( "生物 2",GX+120,GY-18,15);
  g_line(GX+205,GY-10,GX+225,GY-10,4);
  setcolor(0);
  disp_hz16("世代數(shù)",GX+168,GY+GYR+10,15);
  g_text(GX-25,GY,0,"100");
  g_text(GX-14,GY+GYR,0,"0");
  }
  void g_plot_population(gen_num,n1,n2,n1old,n2old)
  int gen_num,n1,n2,n1old,n2old;
  {
  int x,y,gx,gy,x_old,y_old;
  char text[8];
  if(gen_num%10==0)
  {
  x=GX+(gen_num-1)*GSTEP;
  g_line(x,GY+1,x,GY+GYR-1,1);
  sprintf(text,"%d",gen_num);
  if(gen_num<100||gen_num%20==0)
  g_text(x-8,GY+GYR+5,15,text);
  }
  x_old=GX+(gen_num-1)*GSTEP;
  x=x_old+GSTEP;
  y_old=GY+GYR-n1old;
  y=GY+GYR-n1;
  g_line(x_old,y_old,x,y,1);
  y_old=GY+GYR-n2old;
  y=GY+GYR-n2;
  g_line(x_old,y_old,x,y,4);
  }
  void g_disp_genotype() /* 顯示最佳個(gè)體的遺傳基因型 */
  {
  int i,j,n0,n1,x,y;
  unsigned char g[G_LENGTH];
  unsigned char bits[12][2]=
  { {0,0},{1,4},{5,6},{7,8},{9,11},{12,12},{13,15},
  {16,18},{19,21},{22,24},{25,27},{28,31}};
  /* 畫面消除 */
  g_rectangle(200,187,319,398,7,1);
  if(pop_size!=0)
  {
  /* 獲取各遺傳因子 */
  for(i=0;i<G_LENGTH;i++)
  {
  n0=0;n1=0;
  for(j=0;jif(gene[j] [ i]==0) n0++;
  else n1++;
  if(n0>=n1) g [ i]=0; else g [ i]=1;
  }
  x=220;
  for(i=0;i<12;i++)
  {
  y=202+i*16;
  for(j=bits [ i][0];j<=bits [ i][1];j++)
  if(g[j]==0)
  g_text(x+(j-bits [ i][0])*16,y,4,"0");
  else
  g_text(x+(j-bits [ i][0])*16,y,4,"1");
  }
  }
  }
  void g_disp_char(x,y,x1,y1,x2,y2,v) 
  int x,y,x1,y1,x2,y2;
  unsigned char v;
  {
  char c[10];
  if(x>=x1&& x<=x2-8 && y>=y1 && y<=y2-10)
  {
  switch(v)
  {
  case 0: strcpy(c,"0");break;
  case 1: strcpy(c,"+");break;
  case 2: strcpy(c,"-");break;
  case 3: strcpy(c,"x");
  }
  g_text(x,y,15,c);
  }
  }
  void remove_life(n) /* 消除第n個(gè)個(gè)體 */
  int n;
  {
  iflg[n]=0;
  world[iatr[n][0]][iatr[n][1]]=0;
  g_disp_unit(iatr[n][0],iatr[n][1],0);
  if(food_size+1<=MAX_FOOD)
  {
  food_size++;
  fatr[food_size-1][0]=iatr[n][0];
  fatr[food_size-1][1]=iatr[n][1];
  fatr[food_size-1][2]=1;
  fatr[food_size-1][3]=0;
  fflg[food_size-1]=1;
  world[iatr[n][0]][iatr[n][1]]=5;
  g_disp_unit(iatr[n][0],iatr[n][1],5);
  }
  }
  void remove_food(n) /* 消除第n個(gè)食物 */
  int n;
  {
  fflg[n]=0;
  world[fatr[n][0]][fatr[n][1]]=0;
  g_disp_unit(fatr[n][0],fatr[n][1],0);
  }
  void make_lives_and_foods() /* 設(shè)置虛擬環(huán)境中生物與食物 */
  {
  int x,y,i,j;
  pop_size=0;
  food_size=0;
  for(y=0;y<wy;y++)
  for(x=0;x<wx;x++)
  {
  if(world[x][y]==1||world[x][y]==2)
  {
  if(pop_size+1<=MAX_POP)
  {
  pop_size++;
  /* 生成遺傳因子 */
  gene[pop_size-1][0]=world[x][y]-1;
  for(i=1;i<G_LENGTH;i++)
  gene[pop_size-1] [ i]=random(2);
  /* 設(shè)定屬性 */
  iatr[pop_size-1][0]=x;
  iatr[pop_size-1][1]=y;
  iatr[pop_size-1][2]=70+random(30);
  iatr[pop_size-1][3]=random(SL_MIN);
  }
  }
  if(world[x][y]==3||world[x][y]==5)
  {
  if(food_size+1<=MAX_FOOD)
  {
  food_size++;
  /* 設(shè)定屬性 */
  fatr[food_size-1][0]=x;
  fatr[food_size-1][1]=y;
  if(world[x][y]==3)
  fatr[food_size-1][2]=0;
  else
  fatr[food_size-1][2]=1;
  fatr[food_size-1][3]=random(TL1-1)+1;
  }
  }
  }
  }
  void find_empty(x,y) /* 尋找虛擬環(huán)境中的空處,返回坐標(biāo) */
  int *x,*y;
  {
  int ok;
  ok=0;
  while(ok==0)
  {
  *x=random(wx);*y=random(wy);
  if(world[*x][*y]==0) ok=1;
  }
  }
  void make_world() /* 隨機(jī)設(shè)定人工環(huán)境 */
  {
  int i,j,k,num,x,y;
  int ok,overlap;
  char choice[3];
  double size;
  wx=0;
  while(wx<10||wx>MAX_WX)
  {
  setcolor(15);
  disp_hz16("虛擬環(huán)境長度(10-60)",10,210,20);
  gscanf(300,210,4,0,3,"%s",choice);
  wx=atoi(choice);
  }
  wy=0;
  while(wy<10||wy>MAX_WY)
  {
  setcolor(15);
  disp_hz16("虛擬環(huán)境寬度(10-32)",10,240,20);
  gscanf(300,240,4,0,3,"%s",choice);
  wy=atoi(choice);
  }
  for(i=0;i<wy;i++)
  for(j=0;j<wx;j++)
  if(i==0||i==wy-1||j==0||j==wx-1)
  world[j] [ i]=4;
  else world[j] [ i]=0;
  /* 設(shè)定障礙物 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美zozo另类异族| 成人精品国产免费网站| 欧美精品乱人伦久久久久久| 亚洲国产精品久久久男人的天堂| 日本大香伊一区二区三区| 夜夜精品视频一区二区 | 国产乱子伦一区二区三区国色天香| 日韩精品专区在线影院重磅| 国产在线精品一区二区| 亚洲欧洲av在线| 欧美日韩aaaaa| 国产在线视频不卡二| **性色生活片久久毛片| 欧美日韩精品是欧美日韩精品| 免费在线观看精品| 欧美激情艳妇裸体舞| 91精品1区2区| 精品在线播放免费| 日本一二三不卡| 欧美午夜精品电影| 国产原创一区二区三区| 亚洲欧洲av另类| 欧美一区二区啪啪| 9i看片成人免费高清| 亚洲bt欧美bt精品777| 久久久久九九视频| 色素色在线综合| 国产一区二区在线影院| 亚洲黄色在线视频| 2024国产精品| 欧美亚洲一区三区| 国产91丝袜在线观看| 婷婷综合在线观看| 国产精品久久看| 日韩三级电影网址| 91成人国产精品| 国产精品一区二区黑丝| 日精品一区二区| 最新成人av在线| 久久久久97国产精华液好用吗| 欧美在线一区二区| 懂色av一区二区三区蜜臀| 日韩av成人高清| 国产寡妇亲子伦一区二区| 亚洲成人av福利| 日韩毛片精品高清免费| 久久精品综合网| 91麻豆精品久久久久蜜臀| 91丨porny丨在线| 国产成人在线免费| 精品一区二区三区免费视频| 香蕉久久一区二区不卡无毒影院| 中文字幕在线播放不卡一区| 国产午夜久久久久| 久久蜜桃av一区精品变态类天堂 | 欧美日韩成人综合在线一区二区 | 韩国视频一区二区| 午夜精品福利一区二区三区av| 中文字幕亚洲一区二区av在线 | 99国产精品久| 成人黄色小视频| 国产一区二区在线电影| 久久狠狠亚洲综合| 免费成人在线网站| 美女视频一区在线观看| 美腿丝袜在线亚洲一区| 首页综合国产亚洲丝袜| 图片区小说区区亚洲影院| 五月天亚洲婷婷| 午夜精品成人在线| 日韩经典中文字幕一区| 亚洲国产成人av| 婷婷国产v国产偷v亚洲高清| 亚洲va欧美va人人爽午夜| 五月天丁香久久| 日韩av中文字幕一区二区三区| 日韩一区精品字幕| 毛片基地黄久久久久久天堂| 理论电影国产精品| 国产精品一区久久久久| 国产jizzjizz一区二区| k8久久久一区二区三区| 色系网站成人免费| 欧美三级三级三级爽爽爽| 这里只有精品视频在线观看| 日韩欧美资源站| 久久久不卡影院| 成人免费视频在线观看| 一区二区成人在线观看| 五月婷婷综合激情| 久久精品国产久精国产| 国产精品77777竹菊影视小说| 成人免费av资源| 色先锋aa成人| 欧美一卡在线观看| 国产欧美精品一区二区色综合| 日韩一区在线看| 亚洲第一在线综合网站| 麻豆精品一二三| 成人一区二区在线观看| 在线影院国内精品| 欧美一区二区成人| 国产精品免费人成网站| 洋洋av久久久久久久一区| 秋霞影院一区二区| 成人涩涩免费视频| 欧美乱熟臀69xxxxxx| 久久久激情视频| 亚洲午夜一区二区三区| 国内精品久久久久影院一蜜桃| 日韩美一区二区三区| 国产女人水真多18毛片18精品视频 | 亚洲三级在线看| 性久久久久久久| 岛国精品一区二区| 欧美日韩高清一区二区不卡| 欧美成人在线直播| 亚洲黄色小视频| 国模大尺度一区二区三区| 91福利小视频| 国产人成亚洲第一网站在线播放| 亚洲一区二区三区视频在线播放| 国产一区二区三区免费看| 色美美综合视频| 久久综合色婷婷| 亚洲午夜av在线| 成a人片亚洲日本久久| 日韩一区二区三区观看| 亚洲柠檬福利资源导航| 韩国在线一区二区| 欧美一级高清片| 亚洲午夜电影在线观看| 成人av高清在线| 久久婷婷国产综合精品青草| 天堂成人免费av电影一区| 99国产精品久久久久| 国产清纯在线一区二区www| 日韩国产欧美视频| 欧美在线制服丝袜| 椎名由奈av一区二区三区| 国产一区二区在线观看免费| 欧美一卡2卡3卡4卡| 亚洲一区二区三区四区在线免费观看 | 91麻豆精品一区二区三区| 亚洲精品一区二区三区影院| 亚洲6080在线| 欧美在线视频不卡| 亚洲人成影院在线观看| 国产sm精品调教视频网站| 久久久精品国产免费观看同学| 美女视频黄久久| 日韩一级在线观看| 午夜精品久久久久久久99水蜜桃| 色噜噜久久综合| 亚洲精品免费在线观看| 不卡在线观看av| 中文字幕中文字幕一区二区| 国产jizzjizz一区二区| 国产三级久久久| 国产成人精品免费网站| 国产欧美日韩不卡| 成人综合在线观看| 国产精品短视频| 97久久久精品综合88久久| 国产精品久久久久久久第一福利| 粉嫩高潮美女一区二区三区| 欧美国产一区二区| 99精品国产一区二区三区不卡| 亚洲色欲色欲www| 99精品国产99久久久久久白柏| 综合久久一区二区三区| 色一情一伦一子一伦一区| 亚洲自拍偷拍欧美| 制服丝袜中文字幕亚洲| 美腿丝袜一区二区三区| 精品av久久707| 成人国产在线观看| 18涩涩午夜精品.www| 欧洲一区在线观看| 日韩成人免费电影| 久久久亚洲精品石原莉奈| 成人av高清在线| 一区二区高清在线| 欧美一区二区三区电影| 国产一区不卡视频| 亚洲国产成人私人影院tom| 久久久91精品国产一区二区三区| 国产成人在线视频网站| 亚洲人成在线播放网站岛国| 欧美另类一区二区三区| 国产一区二区不卡在线| 成人免费在线视频| 欧美伦理电影网| 国产69精品一区二区亚洲孕妇| 中文字幕一区二区三区不卡在线| 欧美色爱综合网| 国产精品资源网站| 亚洲综合精品自拍| 欧美成人综合网站| 91啪亚洲精品|