Algorithm 版 (精华区)
发信人: shs (花雨飘), 信区: Algorithm
标 题: 遗传算法(9)
发信站: 哈工大紫丁香 (Sat Sep 9 12:59:31 2000), 转信
//find_probab.c
#include "f:\coy\mywork\lunwen\gaopc\thesis.h"
void find_probability(p,tot,cart,prob)
int p,
tot,
cart;
IMATRIX prob;
{
int i,j,
mask,ans,v,
pow2,
arr_tot = 1,
t1,t2;
IVECTOR arr;
IMATRIX crossprod;
crossprod = imatrix(1,cart,1,tot);
pow2 = x_power_y(2,tot);
arr = ivector(1,tot+1);
t1 = tot-1;
t2 = tot;
for(j=0; j < pow2; j++)
{
v = j;
mask = 1;
mask <<= t1;
for(i=1; i<=t2; ++i)
{
ans = (((v & mask) == 0) ? '0' : '1');
arr[i] = ans - 48;
v <<= 1;
}
if(find_sum(arr,t2) == p)
{
for(i=1; i<=t2; ++i)
crossprod[arr_tot][i] = arr[i];
arr_tot++;
}
}
bi_deci(crossprod,prob,cart,tot);
free_imatrix(crossprod,1,cart,1,tot);
free_ivector(arr,1,tot+1);
}
int x_power_y(x,y)
int x,y;
{
int tot = 1,i;
for(i=0; i < y; i++)
tot = tot * x;
return(tot);
}
int find_sum(arr,tot)
int tot;
IVECTOR arr;
{
int i,sum = 0;
for(i=1; i<=tot; i++)
sum = sum + arr[i];
return(sum);
}
--
○/ V/\V \
\ㄨ/<○> ┃
○<><┃><//>
((<\\> ))
\○/ ┃/\
脖子扭扭,屁股扭扭,大家一起来跳舞
※ 修改:.shs 于 Sep 9 12:57:14 修改本文.[FROM: as.hit.edu.cn]
※ 来源:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 211.69.196.11]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: as.hit.edu.cn]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: shs.bbs@bbs.whnet.ed]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.344毫秒