八皇后问题c语言算法,用 遗传算法 解决八皇后问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

}

if((rand()/(double)RAND_MAX

Hybrid(ChildGene[i],ChildGene[i+1]);

}

for(i=0;i

for(a=0;a

ParentGene[i][a]=ChildGene[i][a];

}

}

void Mutate()

{

int i,pos1,pos2,temp;

if(rand()/(double)RAND_MAX

for(i=0;i

pos1=rand()%GENE_LENGTH;

pos2=rand()%GENE_LENGTH;

while(pos2==pos1)

pos2=rand()%GENE_LENGTH;

temp=ParentGene[i][pos1];

ParentGene[i][pos1]=ParentGene[i][pos2];

ParentGene[i][pos2]=temp;

}

}

}

int main()

{

struct time t,in;

long int z=1000000000;

int num=0;

double a;

gettime(&t);

printf("time:%2d:%2d:%2d.%2d\n",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);

printf("********************************************************************************\n");

printf("任意键を入れると:");

scanf("%d",&in);

printf("%d-queen    \n",GENE_LENGTH);

printf("********************************************************************************\n\n");

srand(time(NULL));

while(1){

Init();

while(z--){

GetFitness();

CreateNextGeneration();

Mutate();

if(5==GetFitness()){

printf("kaisu: %ld\n",1000000000-z);

num++;

printf("%d\n\n",num);

z=1000000000;

break;

}

}

if(num==50){

gettime(&t);

printf("time:%2d:%2d:%2d.%2d\n",t.ti_hour,t.ti_min,t.ti_sec,t.ti_hund);

break;

}

}

scanf("%d",&num);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值