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

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

?? scs.cpp

?? (其中已經包含5個源碼)所附源程序C或C++代碼文件及其可執行文件 Scs.cpp 基本分類算法源程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
 rep<<" 多路復用器輸出 = "<<environrec->output<<endl;
 rep<<" 分類器輸出     = "<<environrec->classifieroutput<<endl;
}

int randomchar(double pgeneral)
{
  if(flip((float)pgeneral))
   return(wildcard);
  else if(flip(0.5))
    return(1);
  else
    return(0);
}

void readcondition(int *c,float pgeneral,int nposition)
{
 char ch;
 int j;
    for(j=0;j<=nposition-1;j++)
  {
   cfile>>ch;
   switch(ch)
   {
   case '0':
         c[nposition-1-j]=0;
		 break;
   case '1':
         c[nposition-1-j]=1;
		 break;
   case '#':
         c[nposition-1-j]=wildcard;
		 break;
   case 'R':
         c[nposition-1-j]=randomchar(pgeneral);
		 break;
      }
   	}
 }

void readclassifier(struct classtype *Class,float pgeneral,int nposition)
{
   char ch;
   readcondition(Class->c,pgeneral,nposition);
   cfile>>ch;
   cfile>>Class->a;
   cfile>>Class->strength;
   Class->bid=0.0; Class->ebid=0.0; Class->matchflag=0;
}

int counterspecificity(int *c, int nposition)
{
  int j;
  int temp;
  temp=0;
  j=0;
  while(j<=nposition-1)
  {
   if(c[j]!=wildcard)  temp=temp+1;
   j++;
  }
  return(temp);
}

void initclassifiers(struct poptype *population)
{
    int j;
    cfile>>population->pgeneral;
    cfile>>population->cbid;
    cfile>>population->bidsigma;
    cfile>>population->bidtax;
    cfile>>population->lifetax;
    cfile>>population->bid1;
    cfile>>population->bid2;
    cfile>>population->ebid1;
    cfile>>population->ebid2;
  for(j=0;j<=population->nclassifier-1; j++)
   {
    readclassifier(&population->classifier[j],population->pgeneral,population->nposition);
    population->classifier[j].specificity=counterspecificity(population->classifier[j].c,population->nposition);
   }
 }

void initrepclassifiers(struct poptype *population)
{
 skip(1);
 rep<<"         分類器表參數:                    "<<endl;
 rep<<"------------------------------------------"<<endl;
 rep<<" 分類器數目                 = "<< population->nclassifier<<endl;
 rep<<" 分類器前件碼長             = "<< population->nposition<<endl;
 rep<<" 投標系數                   = "<< population->cbid<<endl;
 rep<<" 有效投標中隨機噪聲的均方差 = "<< population->bidsigma<<endl;
 rep<<" 投標稅                     = "<< population->bidtax<<endl;
 rep<<" 存活稅                     = "<< population->lifetax<<endl;
 rep<<" 隨機概率                   = "<< population->pgeneral<<endl;
 rep<<" 投標確定性基數             = "<< population->bid1<<endl;
 rep<<" 投標確定性倍率             = "<< population->bid2<<endl;
 rep<<" 有效投標確定性基數         = "<< population->ebid1<<endl;
 rep<<" 有效投標確定性倍率         = "<< population->ebid2<<endl;
}

void  writecondition(int *c,int nposition)
{
int j;
for(j=0;j<=nposition-1; j++)
  {
	 switch(c[nposition-1-j])
	{
	case 1:
	   rep<<"1";
	   break;
	case 0:
	   rep<<"0";
	   break;
	case wildcard:
	   rep<<"#";
	   break;
    }     
   }
 }

void writeclassifier(struct classtype *Class,int number,int nposition)
{
 rep<<setw(4)<<number<<"  ";
 rep<<setiosflags(ios::fixed);
 rep<<setprecision(4)<<Class->strength<<"   ";
 rep<<setprecision(3)<<Class->bid;
 rep<<setw(12)<<Class->ebid;
 if(Class->matchflag)
 rep<<"    X   ";
 else
 rep<<"        ";
 writecondition(Class->c,nposition);
 rep<<"["<<setw(3)<<Class->a<<"]"<<endl;
}

void reportclassifiers(struct poptype *population)
{
 int j;
 skip(1);
 rep<<"  編號    權值   投標  有效投標    匹配    分類器  "<<endl;
 rep<<"-----------------------------------------------------"<<endl;
  for(j=0;j<=population->nclassifier-1; j++)
   writeclassifier(&population->classifier[j],j,population->nposition);
}

int match(int *c,int *m, int nposition)
{
  int matchtemp,np;
  np=nposition-1;
  matchtemp=1;
  while(matchtemp && (np>=0))
  {
   matchtemp=(c[np]==wildcard)||(c[np]==m[np]);
   np=np-1;
  }
return(matchtemp);
}

void matchclassifiers(struct poptype *population,int *emess,struct classlist *matchlist)
{
  int j;
  matchlist->nactive=0;
  for(j=0;j<=population->nclassifier-1; j++)
  {
     population->classifier[j].matchflag=match(population->classifier[j].c,emess,population->nposition);
     if(population->classifier[j].matchflag)
     {
     matchlist->clist[matchlist->nactive]=j;
	 matchlist->nactive=matchlist->nactive+1;
	  }
   }
 }

void initaoc(struct crecord *clearingrec)
{
    char ch;
    cfile>>ch;
    clearingrec->bucketbrigadeflag=(ch=='y')||(ch=='Y') ;
    clearingrec->winner=0; clearingrec->oldwinner=0;
}

void initrepaoc(struct crecord *clearingrec)
{
 skip(1);
 rep<<"      信任分配參數: "<<endl;
 rep<<"-----------------------------"<<endl;
 rep<<" 桶隊列標志變量  =";
 if(clearingrec->bucketbrigadeflag)
 rep<<"1"<<endl;
 else
 rep<<"0"<<endl;
}

int auction(struct poptype *population,struct classlist *matchlist,int oldwinner)
{
int j,k,winner;
float bidfmaximum;
bidfmaximum=0.0;
winner=oldwinner;
if(matchlist->nactive>=0)
 {
   for(j=0;j<=matchlist->nactive-1;j++)
   {
     k=matchlist->clist[j];
     population->classifier[k].bid=population->cbid*(population->bid1+
         population->bid2*population->classifier[k].specificity)*population->classifier[k].strength;
     population->classifier[k].ebid=population->cbid*(population->ebid1+
              population->ebid2*population->classifier[k].specificity)*population->classifier[k].strength+noise(0,population->bidsigma);
     if(population->classifier[k].ebid>bidfmaximum)
         {
          winner=k;
	      bidfmaximum=population->classifier[k].ebid;
         }
    }
 }
 return(winner);
}

void clearinghouse(struct poptype *population,struct crecord *clearingrec)
{
 float payment;
 payment=population->classifier[clearingrec->winner].bid;
 population->classifier[clearingrec->winner].strength=population->classifier[clearingrec->winner].strength-payment;
 if(clearingrec->bucketbrigadeflag)
  population->classifier[clearingrec->oldwinner].strength=population->classifier[clearingrec->oldwinner].strength+payment;
}

void taxcollector(struct poptype *population)
{
  int j;
  float bidtaxswitch;
  if((population->lifetax!=0.0)||(population->bidtax!=0.0))
   {
       for(j=0;j<=population->nclassifier-1; j++)
       {
        if(population->classifier[j].matchflag)
          bidtaxswitch=1.0;
        else
          bidtaxswitch=0.0;
        population->classifier[j].strength=population->classifier[j].strength-
                         population->lifetax*population->classifier[j].strength-
                         population->bidtax*bidtaxswitch*population->classifier[j].strength;
       }
   }
}

void reportaoc(struct crecord *clearingrec)
{
 skip(1);
 rep<<" 新勝者 ["<<clearingrec->winner<<"]  舊勝者 ["<<clearingrec->oldwinner<<"] "<<endl;
}

void aoc(struct poptype *population,struct classlist *matchlist,struct crecord *clearingrec)
{
   clearingrec->winner=auction(population,matchlist,clearingrec->oldwinner);
   taxcollector(population);
   clearinghouse(population,clearingrec);
}

void initreinforcement(struct rrecord *reinforcementrec)
{
 rfile>>reinforcementrec->reward;
 reinforcementrec->rewardcount=0.0;
 reinforcementrec->rewardcount50=0.0;
 reinforcementrec->totalcount=0.0;
 reinforcementrec->count50=0.0;
 reinforcementrec->proportionreward=0.0;
 reinforcementrec->proportionreward50=0.0;
 reinforcementrec->lastwinner=0;
}

void initrepreinforcement(struct rrecord *reinforcementrec)
{
 skip(1);
 rep<<"       增強參數: "<<endl;
 rep<<"--------------------------"<<endl;
 rep<<" 增強得分 ="<<reinforcementrec->reward<<endl;
}

int criterion(struct rrecord *rrec,struct erecord *environrec)
{
   int tempflag;
   tempflag=(environrec->output==environrec->classifieroutput);
   rrec->totalcount=rrec->totalcount+1;
   rrec->count50=rrec->count50+1;
   if(tempflag)
   {
    rrec->rewardcount=rrec->rewardcount+1;
    rrec->rewardcount50=rrec->rewardcount50+1;
   }
   rrec->proportionreward=rrec->rewardcount/rrec->totalcount;
   if((int)ceil(rrec->count50-50.0)==0)
    {
    rrec->proportionreward50=(float)(rrec->rewardcount50/50.0);
    rrec->rewardcount50=0.0; rrec->count50=0.0;
    }
   return(tempflag);
}

void payreward(struct poptype *population,struct rrecord *rrec,struct crecord *clearingrec)
{
  population->classifier[clearingrec->winner].strength=
           population->classifier[clearingrec->winner].strength+rrec->reward;
  rrec->lastwinner=clearingrec->winner;
}

void reportreinforcement(struct rrecord *reinforcementrec)
{
 skip(1);
 rep<<"          增強報告:"<<endl;
 rep<<"---------------------------------------"<<endl;
 rep<<" 正確比例(from start) ="<<reinforcementrec->proportionreward<<endl;
 rep<<" 正確比例(last fifty) ="<<reinforcementrec->proportionreward50<<endl;
 rep<<" 最終獲勝分類器號     ="<<reinforcementrec->lastwinner<<endl;
}

void reinforcement(struct rrecord *reinforcementrec,struct poptype *population,
             struct crecord *clearingrec,struct erecord *environrec)
{
 if(criterion(reinforcementrec,environrec))
  payreward(population,reinforcementrec,clearingrec);
}

void advance(struct crecord *clearingrec)
{
 clearingrec->oldwinner=clearingrec->winner;
}

void initga(struct grecord *garec,struct poptype *population)
{
    gfile>>garec->populationselect;
    gfile>>garec->pmutation;
    gfile>>garec->pcrossover;
    gfile>>garec->crowdingfactor;
    gfile>>garec->crowdingsubpop;
    garec->nselect=(int)(garec->populationselect*population->nclassifier*0.5);
    garec->nmutation=0; garec->ncrossover=0;
}

void initrepga(struct grecord *garec)
{
 skip(1);
 rep<<"          遺傳算法參數: "<<endl;
 rep<<"---------------------------------------"<<endl;
 rep<<" 選擇分類器比例 ="<<garec->populationselect<<endl;
 rep<<" 選擇分類器數目 ="<<garec->nselect<<endl;
 rep<<" 變異概率         ="<<garec->pmutation<<endl;
 rep<<" 交叉概率         ="<<garec->pcrossover<<endl;
 rep<<" 排擠因子       ="<<garec->crowdingfactor<<endl;
 rep<<" 排擠子種群     ="<<garec->crowdingsubpop<<endl;
}

int select(struct poptype *population)
{
double random;
float partsum;
int j;
partsum=0.0; j=-1;
random=rand()/32767.*population->sumstrength;
do
   {
   j++;
   partsum=partsum+population->classifier[j].strength;
    } while((partsum<random) &&(j<population->nclassifier));
 return(j);
}

int mutation(int positionvalue,float pmutation,long &nmutation )
{
int tempmutation;
if(flip(pmutation))
 {
   tempmutation=(int)fmod( (double)(positionvalue+rnd(1,2)+1), 3.0)-1;
   nmutation=nmutation+1;
 }
else
   tempmutation=positionvalue;
return( tempmutation);
}

int bmutation(int positionvalue,float pmutation,long &nmutation )
{
int tempmutation;
if(flip(pmutation))
 {
   tempmutation=(int)fmod( (double)(positionvalue+1), 2.0);
    nmutation=nmutation+1;
 }
else
   tempmutation=positionvalue;
return( tempmutation);
}

void crossover(struct classtype *parent1,struct classtype *parent2,struct classtype *child1,struct classtype *child2,
       float pcrossover,float pmutation,int &sitecross,int nposition,long &ncrossover,long &nmutation)
{
float inheritance;
int j;
if(flip(pcrossover))
{
  sitecross=rnd(0,nposition-2);
  ncrossover=ncrossover+1;
}
else
  sitecross=nposition;
 child1->a=bmutation(parent1->a,pmutation,nmutation);
 child2->a=bmutation(parent2->a,pmutation,nmutation);
j=sitecross;
while(j<=nposition-1) 
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
18成人在线观看| 中文字幕乱码亚洲精品一区| 国产一区二区福利视频| 亚洲男同性恋视频| 日韩欧美第一区| 91麻豆蜜桃一区二区三区| 久久国产乱子精品免费女| 亚洲一区二区三区国产| 中文字幕av资源一区| 欧美一区二区三区人| 91国偷自产一区二区三区成为亚洲经典 | 免费成人在线播放| 亚洲人123区| 国产日本欧美一区二区| 欧美一二三四在线| 欧美三级电影在线看| aa级大片欧美| 粉嫩蜜臀av国产精品网站| 久久成人免费网站| 日韩精品一二区| 亚洲自拍偷拍网站| 1024国产精品| 国产精品天美传媒| 久久久综合九色合综国产精品| 欧美男人的天堂一二区| 日本高清无吗v一区| www.99精品| 成人动漫一区二区三区| 国产精选一区二区三区| 精品亚洲国内自在自线福利| 日本美女一区二区三区| 三级影片在线观看欧美日韩一区二区 | 日韩三级视频中文字幕| 欧美三级视频在线| 91黄色激情网站| 在线观看91精品国产入口| 91麻豆国产精品久久| 91麻豆国产福利在线观看| 91在线免费播放| 一本大道综合伊人精品热热| 91网上在线视频| 色香色香欲天天天影视综合网| 欧美一区二区视频观看视频 | 波多野结衣中文一区| 不卡的电影网站| 99久久精品费精品国产一区二区 | 欧美一区二区在线免费观看| 欧美高清视频在线高清观看mv色露露十八 | 偷拍一区二区三区| 香蕉加勒比综合久久| 日韩国产欧美在线视频| 日韩电影免费在线观看网站| 麻豆freexxxx性91精品| 狠狠色2019综合网| 成人激情文学综合网| 99久久精品国产毛片| 欧美亚洲国产怡红院影院| 欧美精品一卡两卡| 精品国产伦一区二区三区观看方式| 精品国产乱码久久久久久1区2区 | 欧美xxxxx裸体时装秀| 久久五月婷婷丁香社区| 日本一区二区成人| 亚洲免费观看在线视频| 水蜜桃久久夜色精品一区的特点| 美女被吸乳得到大胸91| 国产高清一区日本| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲高清三级视频| 另类人妖一区二区av| 成人黄色a**站在线观看| 一本大道久久a久久精二百| 欧美精品一二三四| 久久精品视频一区| 一区二区欧美视频| 美日韩一级片在线观看| 成人美女视频在线观看| 欧美日韩在线播放一区| 精品欧美一区二区久久| 中文字幕一区二区三区视频| 午夜免费久久看| 成人永久免费视频| 欧美精品日韩一本| 国产三级精品视频| 午夜亚洲国产au精品一区二区| 国产美女娇喘av呻吟久久| 91传媒视频在线播放| 精品国产伦一区二区三区观看体验 | 91色porny蝌蚪| 日韩欧美国产不卡| 一区二区三区中文字幕| 国产一区二区三区蝌蚪| 欧美三级视频在线观看| 日本一区二区三区在线观看| 亚洲超碰精品一区二区| 丁香六月久久综合狠狠色| 欧美理论电影在线| 亚洲色图.com| 国产综合久久久久久鬼色| 欧美日韩国产成人在线免费| 中文字幕成人网| 久久精品国产999大香线蕉| 欧洲另类一二三四区| 国产婷婷色一区二区三区 | 免费av网站大全久久| 99久久婷婷国产综合精品电影| 一区二区三区在线免费视频| 另类人妖一区二区av| 精品视频一区三区九区| 《视频一区视频二区| 国产成人aaa| 精品国产精品一区二区夜夜嗨| 亚洲国产欧美日韩另类综合 | 91色在线porny| 欧美国产一区二区在线观看| 麻豆精品精品国产自在97香蕉| 欧美影视一区在线| 亚洲欧美色图小说| av在线不卡电影| 国产精品入口麻豆原神| 国产乱码字幕精品高清av| 日韩欧美国产综合| 日韩国产欧美在线视频| 欧美日韩成人综合天天影院| 一区二区在线观看免费视频播放| 国产91富婆露脸刺激对白| 久久综合国产精品| 麻豆国产精品777777在线| 欧美一区中文字幕| 日韩中文字幕一区二区三区| 欧美日韩1234| 午夜免费久久看| 欧美高清hd18日本| 日本欧美一区二区三区乱码| 欧美日韩免费观看一区三区| 一个色综合网站| 日本黄色一区二区| 亚洲影院在线观看| 欧美性高清videossexo| 亚洲一区二区三区免费视频| 欧美天天综合网| 亚洲18色成人| 91精品国产乱| 久久国产尿小便嘘嘘尿| 久久品道一品道久久精品| 国产一区二区毛片| 日本一区二区三区在线不卡 | 99re视频精品| 亚洲免费观看高清在线观看| 一本大道久久a久久精品综合 | 国产91综合一区在线观看| 亚洲国产精品精华液2区45| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲欧美一区二区三区孕妇| 欧洲av在线精品| 日韩综合在线视频| 精品国产一区二区三区av性色 | 欧美无砖砖区免费| 午夜伊人狠狠久久| 久久久亚洲高清| 91香蕉视频在线| 午夜激情一区二区三区| 日韩免费福利电影在线观看| 国产精品18久久久久久vr| 亚洲天堂a在线| 欧美日韩成人一区二区| 国产一区 二区 三区一级| 国产精品福利一区二区| xfplay精品久久| 91小视频免费观看| 日韩影院免费视频| 国产午夜精品久久久久久久| 色丁香久综合在线久综合在线观看| 三级成人在线视频| 国产丝袜在线精品| 欧美三级三级三级爽爽爽| 国内精品国产三级国产a久久| 亚洲人成人一区二区在线观看| 欧美精品日韩精品| www.久久精品| 乱中年女人伦av一区二区| 亚洲天堂网中文字| 日韩欧美第一区| 色呦呦一区二区三区| 国产中文一区二区三区| 亚洲精品福利视频网站| 精品日韩在线观看| 日本道精品一区二区三区| 国产一区免费电影| 亚洲1区2区3区4区| 亚洲特级片在线| 精品对白一区国产伦| 欧美日韩国产免费| 波多野结衣亚洲| 久久电影国产免费久久电影| 亚洲综合免费观看高清在线观看| 久久久国产精品麻豆| 欧美一区二区免费| 一本大道av一区二区在线播放| 久久99国产精品久久99|