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毫秒