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

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

?? 新建 文本文檔.txt

?? 遺傳優化神經網絡軟件 需要在WIN98/95環境下能運行
?? TXT
字號:
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<math.h>
#include<time.h>
#include<string.h>
#include "graph.c"
#include "operator.c"
/* 宏定義 */
#define POP_SIZE 20
#define S_RATE 0.4
#define M_RATE 0.01
#define I_MAX 5
#define H_MAX 20
#define O_MAX 5
#define P_MAX 100
#define MAX_G_LENGTH 100
#define GX1 360
#define GY1 66
#define GX2 360
#define GY2 257
#define GXR 250
#define GYR 100
#define GSTEP 2
/* 全局變量 */
unsigned char gene[POP_SIZE][MAX_G_LENGTH]; /* 個體遺傳基因 */
unsigned char i_unit[I_MAX],h_unit[H_MAX],o_unit[O_MAX];
unsigned char p_i_unit[P_MAX][I_MAX];
unsigned char p_o_unit[P_MAX][O_MAX];
double fitness[POP_SIZE];
double max_fit,avg_fit;
int i_num,h_num,o_num,t_num;
int p_num;
int g_length;

long int calc_g_length()
{
int i;
long int num;
num=0;
for(i=1;i<=h_num;i++)
num=num+i_num+(i-1);
num=num+o_num*(i_num+h_num);
return(num);
}

void set_network()
{
int i,ok;
long int work;
char choice[2];
settextstyle(0,0,4);
gprintf(215,15,4,0,"GA-NN");
setcolor(9);
disp_hz24("遺傳優化神經網絡結構",170,50,25);
disp_hz16(" 同濟大學計算機系 王小平",150,100,20);
disp_hz16("=========確定網絡結點數==========",10,150,20);
ok=1;
while(ok==1)
{
setcolor(9);
disp_hz16("輸入結點數:",10,180,20);
gscanf(300,180,9,15,3,"%s",choice);
i_num=atoi(choice);
setcolor(9);
disp_hz16("隱結點數:",10,210,20);
gscanf(300,210,15,15,3,"%s",choice);
h_num=atoi(choice);
setcolor(9);
disp_hz16("輸出結點數:",10,240,20);
gscanf(300,240,15,0,4,"%s",choice);
o_num=atoi(choice);
t_num=i_num+h_num+o_num;
work=calc_g_length();
if(work>MAX_G_LENGTH)
disp_hz16("結點數太多,請重輸入。",10,250,20);
else
{
g_length=(int)work;
setcolor(9);
disp_hz16("ok? 1:no, 2:yes",10,270,20);
  gscanf(300,270,4,0,4,"%s",choice);
ok=atoi(choice);
}
}
}

void set_problem()
{
int i,j;
FILE *fopen(),*fpt;
if((fpt=fopen("\\ga\\sample","r"))==NULL) exit(-1);
else
{
fscanf(fpt,"%d",&p_num);
for(i=1;i<=p_num;i++)
{
   for(j=1;j<=i_num;j++)
fscanf(fpt,"%d",&p_i_unit[i-1][j-1]);
   for(j=1;j<=o_num;j++)
   fscanf(fpt,"%d",&p_o_unit[i-1][j-1]);
}
fclose(fpt);
}
}

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,15,8,15,"訓練樣本");
for(i=1;i<=p_num;i++)
{
y=48+(i-1)*16;
setcolor(9);
disp_hz16("No. :",20,y,15);
itoa(i,text,10);
g_text(48,y+8,4,text);
x=76;
for(j=1;j<=i_num;j++)
{
itoa(p_i_unit[i-1][j-1],text,3);
g_text(x,y+8,4,text);
x=x+8;
}
setcolor(4);
disp_hz16("===>",x,y,15);
x=x+30;
for(j=1;j<=o_num;j++)
{
itoa(p_o_unit[i-1][j-1],text,3);
g_text(x,y+8,4,text);
x=x+16;
}
}
g_draw_frame(0,170,320,399,7,15,8,15, "最大適應度個體對應的神經元連接矩陣");
g_draw_frame(320,16,639,207,7,15,8,15, "遺傳算法適應度曲線");
g_draw_frame(320,207,639,399,7,15,8,15, "隨機搜索法適應度曲線");
}

void g_init_graphs()
{
g_rectangle(GX1,GY1,GX1+GXR,GY1+GYR,0,1);
g_rectangle(GX1,GY1,GX1+GXR,GY1+GYR,6,0);
setcolor(1);
disp_hz16("最大適應度",GX1+5,GY1-18,15);
g_line(GX1+90,GY1-10,GX1+110,GY1-10,1);
setcolor(4);
disp_hz16("平均適應度",GX1+120,GY1-18,15);
g_line(GX1+205,GY1-10,GX1+225,GY1-10,4);
setcolor(15);
disp_hz16("世代數",GX1+168,GY1+GYR+10,15);
g_text(GX1-20,GY1,15,"1.0");
g_text(GX1-20,GY1+GYR,15,"0.0");

g_rectangle(GX2,GY2,GX2+GXR,GY2+GYR,0,1);
g_rectangle(GX2,GY2,GX2+GXR,GY2+GYR,6,0);
setcolor(1);
disp_hz16( "最大適應度",GX2+5,GY2-18,15);
g_line(GX2+90,GY2-10,GX2+110,GY2-10,1);
setcolor(4);
disp_hz16("平均適應度",GX2+120,GY2-18,15);
g_line(GX2+205,GY2-10,GX2+225,GY2-10,4);
setcolor(15);
disp_hz16("世代數",GX2+168,GY2+GYR+10,15);
g_text(GX2-20,GY2,15,"1.0");
g_text(GX2-20,GY2+GYR,15,"0.0");
}

void swap_fit(n1,n2)
int n1,n2;
{
unsigned char c;
double f;
int i;
for(i=0;i<g_length;i++)
{
c=gene[n1][i];

gene[n1][i]=gene[n2][i];
gene[n2][i]=c;
}
f=fitness[n1];
fitness[n1]=fitness[n2];
fitness[n2]=f;
}

void sort_fitness(p_size)
int p_size;
{
int i,j;
for(i=0;i<p_size-1;i++)
for(j=i+1;j<p_size;j++)
if(fitness[j]>fitness[i]) swap_fit(j,i);
max_fit=fitness[0];
avg_fit=0;
for(i=0;i<p_size;i++)
avg_fit=avg_fit+fitness[i]/(double)p_size;
}

void make_offspring(g1,g2,g3,ratio)
int g1,g2,g3;
double ratio;
{
int i,rnd;
uni_crossover(gene,g1,g2,g3,ratio,g_length);
for(i=0;i<g_length;i++)
{
rnd=random(100);
if(rnd<=32) gene[g3][i]=0;
  else if (rnd<=65) gene[g3][i]=1;
  else gene[g3][i]=2;
}
}

void ga_reproduction()
{
int i,n,p1,p2;
n=(int)(POP_SIZE*S_RATE);
for(i=0;i<n;i++)
{
p1=random(n);
p2=random(n);
while(p2==p1) p2=random(n);
make_offspring(p1,p2,POP_SIZE-i-1,0.5);
}
}

void g_disp_fitness(n,gen_num,mfold,afold,mf,af) 
int n,gen_num;
double mfold,afold,mf,af;
{
int x,y,gx,gy,x_old,y_old;
char text[8];
if(n==1) {gx=GX1;gy=GY1;}
else {gx=GX2;gy=GY2;}
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+7,15,text);
}
x_old=(int)(gx+(gen_num-1)*GSTEP);
x=x_old+(int)GSTEP;
y_old=(int)gy+GYR-mfold*GYR;
y=(int)gy+GYR-mf*GYR;
g_line(x_old,y_old,x,y,1);
y_old=gy+GYR-(int)(afold*GYR);
y=gy+GYR-(int)(af*GYR);
g_line(x_old,y_old,x,y,4);
}

void calc_fitness(p_size)
int p_size;
{
int i,j,k,m,counter,sum;
int gnum,correct,weight;
double d1,d2;
for(i=0;i<p_size;i++)
{
counter=0;
for(j=0;j<p_num;j++)
{
for(k=0;k<i_num;k++)
i_unit[k]=p_i_unit[j][k];
for(k=0;k<h_num;k++)
h_unit[k]=0;
gnum=0;
for(k=0;k<h_num;k++)
{
sum=0;
for(m=0;m<i_num;m++)
{
weight=gene[i][gnum];
if(weight==2) weight=-1;
sum=sum+weight*i_unit[m];
gnum++;
}
if(k>0)
{
for(m=0;m<k;m++)
{
weight=gene[i][gnum];
if(weight==2) weight=-1;
sum=sum+weight*h_unit[m];
gnum++;
}
}
if(sum>0) h_unit[k]=1;
else h_unit[k]=0;
}
for(k=0;k<o_num;k++)
o_unit[k]=0;
for(k=0;k<o_num;k++)
{
sum=0;
for(m=0;m<i_num;m++)
{
weight=gene[i][gnum];
if(weight==2) weight=-1;
sum=sum+weight*i_unit[m];
gnum++;
}
for(m=0;m<h_num;m++)
{
weight=gene[i][gnum];
if(weight==2) weight=-1;
sum=sum+weight*h_unit[m];
gnum++;
}
if(sum>0) o_unit[k]=1;
else o_unit[k]=0;
}
correct=1;
for(k=0;k<o_num;k++)
if(o_unit[k]!=p_o_unit[j][k]) correct=0;
counter=correct+counter;
}
d1=(double)p_num;
d2=(double)counter;
fitness[i]=d2/d1;
}
}

void g_disp_char(x,y,x1,y1,x2,y2,v) /* 圖形中(x,y)點對應的v值的數字表示 */
int x,y,x1,y1,x2,y2;
unsigned char v;
{
char c[10];
if(x>=x1&& x<=x2-10 && y>=y1 && y<=y2-10)
{
switch(v)
{
  case 0: strcpy(c,"0\0");break;
  case 1: strcpy(c,"+\0");break;
  case 2: strcpy(c,"-\0");break;
  case 3: strcpy(c,"x\0");
}
g_text(x,y,4,c);
}
}

void g_disp_best_indv()
{
int x1,y1,x2,y2,x,y;
int i,j,n,g_num;
x1=40;y1=190;x2=304;y2=384;
g_rectangle(x1,y1,x2,y2,7,1);
y=y1+16;g_num=0;
for(i=0;i<t_num;i++)
{
x=x1;
for(j=0;j<t_num;j++)
{
if((i>=i_num && i<i_num+h_num && j<i) ||
(i>=i_num+h_num && j<i_num+h_num))
{ g_disp_char(x,y,x1,y1,x2,y2,gene[0][g_num]);
g_num++;
}
else g_disp_char(x,y,x1,y1,x2,y2,3);
   x=x+10;
}
y=y+10;

}
}

void make_random_gene(p_size)
{
int i,j,rnd;
for(i=0;i<p_size;i++)
for(j=0;j<g_length;j++)
{
rnd=random(100);
if(rnd<=32) gene[i][j]=0;
else if(rnd<=65) gene[i][j]=1;
else gene[i][j]=2;
}
}

void ga_search()
{
int gen_num;
double mfold,afold;
make_random_gene(POP_SIZE);
calc_fitness(POP_SIZE);
sort_fitness(POP_SIZE);
g_disp_best_indv();
mfold=max_fit;afold=avg_fit;
ga_reproduction();
for(gen_num=1;gen_num<=120;gen_num++)
{
calc_fitness(POP_SIZE);
sort_fitness(POP_SIZE);
g_disp_best_indv();
g_disp_fitness(1,gen_num,mfold,afold,max_fit,avg_fit);
mfold=max_fit;afold=avg_fit;
ga_reproduction();
}
}

void random_search()
{
int p_size,gen_num;
double mfold,afold;
p_size=(int)(POP_SIZE*S_RATE);
make_random_gene(p_size);
calc_fitness(p_size);
sort_fitness(p_size);
/* g_disp_best_indv();*/
mfold=max_fit;afold=avg_fit;
for(gen_num=1;gen_num<=120;gen_num++)
{
make_random_gene(p_size);
calc_fitness(p_size);
sort_fitness(p_size);
/* g_disp_best_indv();*/
g_disp_fitness(2,gen_num,mfold,afold,max_fit,avg_fit);
mfold=max_fit;afold=avg_fit;
}
}

main()
{
randomize();
/* 圖形界面初始化 */
g_init();
init_mouse(0,6,1);
setcolor(5);
mouse_on(0);
set_network();
set_problem();
g_init_frames();
g_init_graphs();
ga_search();
random_search();
setcolor(5);
disp_hz16("回車鍵結束",10,430,20);
getch();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色哦色哦哦色天天综合| 亚洲一区欧美一区| 国产原创一区二区三区| 欧美成人r级一区二区三区| 久久精品国产亚洲一区二区三区| 欧美日韩1区2区| 蜜桃久久精品一区二区| 欧美mv日韩mv亚洲| 国产酒店精品激情| 中文字幕av免费专区久久| 国产成a人亚洲| 亚洲人成电影网站色mp4| 91福利国产成人精品照片| 亚洲综合久久久| 欧美一区二区三区啪啪| 韩国女主播一区| 国产精品久久久久影视| 91搞黄在线观看| 亚洲国产成人高清精品| 精品乱人伦小说| 成人av手机在线观看| 亚洲一卡二卡三卡四卡无卡久久| 欧美一区二区私人影院日本| 国产精品一区专区| 一区二区三区中文在线| 91精品国产综合久久婷婷香蕉| 国产在线精品不卡| 一区二区三区色| 亚洲精品一区二区三区在线观看 | 亚洲精品在线观看视频| 波多野结衣亚洲| 香蕉av福利精品导航| 2024国产精品视频| 色婷婷精品大在线视频| 捆绑紧缚一区二区三区视频| 中文字幕人成不卡一区| 91精品国模一区二区三区| 成人免费视频caoporn| 一区二区三区国产精华| 精品对白一区国产伦| 91亚洲大成网污www| 日韩黄色片在线观看| 国产日韩欧美电影| 欧美人妇做爰xxxⅹ性高电影| 国产成人99久久亚洲综合精品| 亚洲国产精品久久人人爱| 日本一区二区视频在线| 日韩欧美色综合网站| 日本福利一区二区| 成人国产精品免费观看动漫| 免费成人性网站| 亚洲午夜激情av| 欧美高清在线一区| 精品伦理精品一区| 欧美一级精品大片| 欧美最新大片在线看 | 国产欧美一区二区精品秋霞影院| 欧美三级资源在线| 91美女视频网站| 福利视频网站一区二区三区| 久久综合综合久久综合| 亚洲成人免费影院| 亚洲欧美韩国综合色| 国产精品久久久久久久第一福利| 精品成a人在线观看| 精品国产免费视频| 在线综合+亚洲+欧美中文字幕| 99国产精品国产精品毛片| 国产精品888| 国产精品一区2区| 国产中文一区二区三区| 麻豆精品一区二区| 蜜臀av一区二区| 青青草原综合久久大伊人精品优势| 亚洲一区二区三区四区在线| 亚洲欧美一区二区久久| 中文字幕综合网| 亚洲欧洲精品成人久久奇米网| 国产人伦精品一区二区| 久久精品男人的天堂| 久久夜色精品国产噜噜av| 久久青草欧美一区二区三区| 久久精品亚洲乱码伦伦中文| 国产校园另类小说区| 国产日韩欧美一区二区三区乱码 | 日本欧美肥老太交大片| 日韩精品久久理论片| 美女尤物国产一区| 韩国中文字幕2020精品| 国产成人免费网站| jiyouzz国产精品久久| 欧美一级久久久久久久大片| 久久久精品国产免大香伊| 日韩欧美高清一区| 欧美久久一区二区| 在线综合+亚洲+欧美中文字幕| 日韩欧美久久一区| 国产精品网曝门| 亚洲天堂网中文字| 亚洲成人手机在线| 国产一级精品在线| 成人高清视频在线| 欧美午夜精品一区| 精品精品欲导航| 中文字幕久久午夜不卡| 亚洲综合色成人| 精品在线观看免费| 91一区一区三区| 欧美日韩精品一区二区天天拍小说 | 亚洲成人av资源| 精品中文字幕一区二区| 成人av在线网| 日本韩国欧美一区| 日韩女同互慰一区二区| 中文字幕免费一区| 亚洲va国产va欧美va观看| 国产综合色精品一区二区三区| 成人自拍视频在线| 在线观看www91| 久久久久高清精品| 一区二区三区色| 国产乱人伦偷精品视频不卡| 在线观看视频一区二区欧美日韩| 日韩久久久久久| 亚洲欧美日韩国产一区二区三区| 日本不卡一区二区三区高清视频| 大桥未久av一区二区三区中文| 欧美日韩卡一卡二| 中文字幕一区二区在线播放| 免费成人在线观看| 欧美性一二三区| 国产精品拍天天在线| 美国十次综合导航| 精品视频全国免费看| 中文字幕一区二区三区蜜月| 六月婷婷色综合| 欧美日韩在线播放三区| 亚洲欧美国产三级| 成人一二三区视频| 欧美tickling网站挠脚心| 亚洲五月六月丁香激情| 成人免费av资源| 2014亚洲片线观看视频免费| 婷婷激情综合网| 在线亚洲免费视频| 中文字幕一区二区在线播放| 国产精品自拍网站| 精品人伦一区二区色婷婷| 午夜欧美2019年伦理| 欧美性受xxxx| 亚洲欧洲美洲综合色网| 国产99精品国产| 久久久www免费人成精品| 日日噜噜夜夜狠狠视频欧美人| 在线亚洲一区二区| 国产精品久久久久久久浪潮网站| 国模少妇一区二区三区| 日韩视频一区二区在线观看| 性做久久久久久免费观看欧美| 91精彩视频在线观看| 亚洲人成亚洲人成在线观看图片| 成人一级黄色片| 国产精品卡一卡二卡三| 成人免费精品视频| 国产精品久久久久毛片软件| www.成人在线| 中文字幕视频一区| 91丝袜国产在线播放| 成人免费在线视频| 91丨porny丨最新| 亚洲精品午夜久久久| 色94色欧美sute亚洲线路一ni| 国产精品国产三级国产aⅴ原创| 国产成人精品在线看| 成人免费一区二区三区视频 | 欧美一级黄色录像| 日韩电影在线一区| 日韩精品一区二区三区老鸭窝| 蜜桃一区二区三区在线观看| 欧美一区二区三区不卡| 国内久久婷婷综合| 国产欧美日韩一区二区三区在线观看 | 久久99精品国产91久久来源| 精品国产一区二区三区av性色 | 成人精品视频一区| 亚洲色欲色欲www| 欧美羞羞免费网站| 美女网站色91| 国产欧美日韩在线视频| 在线观看网站黄不卡| 久久精品二区亚洲w码| 国产欧美精品一区| 91论坛在线播放| 日韩高清不卡在线| 国产欧美一区视频| 欧美色图一区二区三区| 麻豆一区二区在线| 中文字幕一区二区三区色视频| 欧美日韩一级片在线观看| 久久精品免费看|