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

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

?? efile.h

?? 智能微粒群學習算法
?? H
?? 第 1 頁 / 共 2 頁
字號:
      _delparticles.push_back(_i);      erase.push_back(true);    }    else erase.push_back(false);  }  if(_delparticles.size()>0)  updateClusters(_delparticles);   vector<bool>::iterator _iterator=erase.begin();   vector<Particle>::iterator _iterator2=solutions.begin();   int _delindicator(0);   for(_iterator=erase.begin(); _iterator != erase.end();++_iterator,_delindicator) {     if(*_iterator==true){       solutions.erase(_iterator2);       nsolutions--;     }     else       _iterator2++;   }  if(_flag==true){    if(nsolutions>=maxsolutions+maxsolutions/10){      update();      add(_particle);      return _flag;    }    else{      if(_whichcluster!=-1)add2Cluster(_whichcluster);      solutions.push_back(_particle);      nsolutions++;    }  }  if(nsolutions<=maxsolutions-maxsolutions/10){    hasentered=false;    firsttime=true;  }  //  update();  return _flag;}void EFILE::add2Cluster(int _whichcluster){  if(hasclusteredfirsttime==false)return;  //  cout<<_whichcluster<<nsolutionsbyswarm[_whichcluster]<<endl;  proximitymatrixindex[_whichcluster][nsolutionsbyswarm[_whichcluster]]=nsolutions;  proximitymatrixindex[_whichcluster][nsolutionsbyswarm[_whichcluster]+1]=-1;  nsolutionsbyswarm[_whichcluster]++;}int EFILE::deleteFromCluster(int _whichsolution){  int _i;  int _j;  int _k;  for(_j=0;_j<nclusters;_j++)    for(_i=0;_i<nsolutionsbyswarm[_j];_i++)      if(proximitymatrixindex[_j][_i]==_whichsolution){	for(_k=_i;_k<nsolutionsbyswarm[_j];_k++){	  proximitymatrixindex[_j][_k]=proximitymatrixindex[_j][_k+1];	}	proximitymatrixindex[_j][_k]=-1;	nsolutionsbyswarm[_j]--;	return 1;      }  return -1;}int EFILE::substractFromTo(int _from, int _to, int _quantity){  int _i;  int _j;  for(_j=0;_j<nclusters;_j++){    for(_i=0;_i<nsolutionsbyswarm[_j];_i++){      if(proximitymatrixindex[_j][_i]>_from&&proximitymatrixindex[_j][_i]<_to){	proximitymatrixindex[_j][_i]-=_quantity;      }    }  }  return -1;}int EFILE::updateClusters(vector<int> &_whichparticles){  int _counter(0);  if(hasclusteredfirsttime==false)return -1;    _whichparticles.push_back(nsolutions);    while(_whichparticles.size()>_counter+1){      int _from(_whichparticles[_counter]);      int _to(_whichparticles[_counter+1]);       deleteFromCluster(_from);       substractFromTo(_from,_to,_counter+1);      _counter++;    }    return 1;}  bool EFILE::addAll(Particle &_particle){  bool _flag=true;  vector<bool> erase;  //  vector<EPSs>::iterator _iterator;  for(int _i(0);_i<allnsolutions;_i++){    int _tmp;    _tmp=domine(allsolutions[_i].fx,_particle.fx);    if(_tmp==1||_tmp==0) _flag=false;    if(_tmp==-1){      erase.push_back(true);    }    else erase.push_back(false);  }   vector<bool>::iterator _iterator=erase.begin();   vector<Particle>::iterator _iterator2=allsolutions.begin();   for(_iterator=erase.begin(); _iterator != erase.end();++_iterator) {     if(*_iterator==true){       allsolutions.erase(_iterator2);       allnsolutions--;     }     else       _iterator2++;   }  if(_flag==true){    if(allnsolutions>maxsolutions*3)return _flag;      allsolutions.push_back(_particle);      allnsolutions++;  }  return _flag;}bool EFILE::reAdd(){  bool _flag=true;  vector<bool> erase;  vector<int> _delparticles;  erase.resize(nsolutions);  //  vector<EPSs>::iterator _iterator;  for(int _i(0);_i<nsolutions;_i++){    erase[_i]=false;    for(int _j(0);_j<nsolutions;_j++){      int _tmp;      if(_i==_j)continue;      _tmp=domine2(solutions[_i].fx,solutions[_j].fx);      if(_tmp==1||_tmp==0) _flag=false;            if(_tmp==-1){      _delparticles.push_back(_i);	erase[_i]=true;      }    }  }  //  if(_delparticles.size()>0)  // updateClusters(_delparticles);   vector<bool>::iterator _iterator=erase.begin();   vector<Particle>::iterator _iterator2=solutions.begin();   for(_iterator=erase.begin(); _iterator != erase.end();++_iterator) {     if(*_iterator==true){       solutions.erase(_iterator2);       nsolutions--;     }     else       _iterator2++;   }  return _flag;}int EFILE::falseReAdd(){  int _howmany(0);  vector<bool> erase;  erase.resize(nsolutions);  //  vector<EPSs>::iterator _iterator;  for(int _i(0);_i<nsolutions;_i++){    erase[_i]=false;    for(int _j(0);_j<nsolutions;_j++){      int _tmp;      if(_i==_j)continue;      _tmp=domine2(solutions[_i].fx,solutions[_j].fx);      if(_tmp==-1)	erase[_i]=true;    }  }   vector<bool>::iterator _iterator=erase.begin();   vector<Particle>::iterator _iterator2=solutions.begin();   for(_iterator=erase.begin(); _iterator != erase.end();++_iterator) {     if(*_iterator==true){       _howmany++;     }     else       _iterator2++;   }  return _howmany;}int EFILE::domine2(vector<double> &_a,vector<double>&_b){  vector<double> _box(nobjectives),_box2(nobjectives),_box3(nobjectives);  bool _flag=true;  //calculate the box of both particles  for (int _i = 0; _i < nobjectives; _i++){    _box[_i] = (int) floor ((fabs(tlb[_i]-_a[_i]) / EPS[_i]));    _box2[_i] = (int)floor ((fabs(tlb[_i]-_b[_i]) / EPS[_i]));    //    //_box[_i] = (int) floor ((_a[_i] / EPS[_i]));    //_box2[_i] = (int)floor ((_b[_i] / EPS[_i]));    //_box3[_i] = (_box[_i]<_box2[_i])?_box[_i]*EPS[_i]:_box2[_i]*EPS[_i];//    _box3[_i] = (int)_box[_i]*EPS[_i];    //if they are in the same box    if(_box[_i]!=_box2[_i])_flag=false;  }  if(_flag==true){//check for dominance    int anterior = 0, mejor;    for(int _i=0;_i<nobjectives;_i++){      if(_a[_i] <_b[_i])	mejor = 1;      else if(_b[_i]<_a[_i])mejor = -1;      else mejor = 0;      if(mejor!=anterior&&anterior!=0&&mejor!=0){	if(euclideanDistance(_a,_box3)<euclideanDistance(_b,_box3))	  return 1;	else return -1;	}      if(mejor!=0) anterior = mejor;    }    //      if(anterior==1) return true;    //else return false;    return(anterior);  }  int anterior = 0, mejor;  for(int _i=0;_i<nobjectives;_i++){    if(_box[_i] <_box2[_i])	mejor = 1;    else if(_box2[_i]<_box[_i])mejor = -1;    else mejor = 0;    if(mejor!=anterior&&anterior!=0&&mejor!=0)return 11;    if(mejor!=0) anterior = mejor;  }  return(anterior);}void EFILE::normalizeDistances2(){  for(int _j(0);_j<nsolutions;_j++){    for(int _i(0);_i<nobjectives;_i++)      {	if(solutions[_j].fx[_i] < tlb[_i]) tlb[_i]=solutions[_j].fx[_i];	if(solutions[_j].fx[_i] > tub[_i]) tub[_i]=solutions[_j].fx[_i];      }  }  double min;  int _index;  int _ncurrentsolutions=nsolutions;  int _a1(0);  int _a2(0);  while(_ncurrentsolutions>maxsolutions+maxsolutions/20||_ncurrentsolutions<maxsolutions-maxsolutions/10){    _ncurrentsolutions=nsolutions-falseReAdd();    if(_ncurrentsolutions<maxsolutions-maxsolutions/10){      for(int _i(0);_i<nobjectives;_i++){	EPS[_i]/=1.2;      }	if(_a1==2&&_a2==1) break;	_a2=_a1;	_a1=1;    }    else if(_ncurrentsolutions>maxsolutions+maxsolutions/20){      for(int _i(0);_i<nobjectives;_i++){	EPS[_i]*=1.2;      }	if(_a1==1&&_a2==2) break;	_a2=_a1;	_a1=2;    }  }  reAdd();}void EFILE::normalizeDistances1(){  for(int _j(0);_j<nsolutions;_j++){    for(int _i(0);_i<nobjectives;_i++)      {	if(solutions[_j].fx[_i] < tlb[_i]) tlb[_i]=solutions[_j].fx[_i];	if(solutions[_j].fx[_i] > tub[_i]) tub[_i]=solutions[_j].fx[_i];      }  }  for(int _i(0);_i<nobjectives;_i++){    EPS[_i]=(double)(tub[_i]-tlb[_i])/nsolutions;  }  double min;  int _index;  int _a1(0),_a2(0);  int _ncurrentsolutions=nsolutions;  while(_ncurrentsolutions>maxsolutions+maxsolutions/20||_ncurrentsolutions<maxsolutions-maxsolutions/10){    _ncurrentsolutions=nsolutions-falseReAdd();    if(_ncurrentsolutions<maxsolutions-maxsolutions/10){      for(int _i(0);_i<nobjectives;_i++){	EPS[_i]/=1.2;      }	if(_a1==2&&_a2==1) break;	_a2=_a1;	_a1=1;    }    else if(_ncurrentsolutions>maxsolutions+maxsolutions/20){      for(int _i(0);_i<nobjectives;_i++){	EPS[_i]*=1.2;      }	if(_a1==1&&_a2==2) break;	_a2=_a1;	_a1=2;    }  }  reAdd();}void EFILE::deleteExcedent(){  for(int _j(0);_j<nsolutions;_j++){    for(int _i(0);_i<nobjectives;_i++)      {	if(solutions[_j].fx[_i] < tlb[_i]) tlb[_i]=solutions[_j].fx[_i];	if(solutions[_j].fx[_i] > tub[_i]) tub[_i]=solutions[_j].fx[_i];      }  }  vector<double> distances;  vector<int> _indexes;  vector<double> distances2;  vector<int> _indexes2;  while(nsolutions>maxsolutions){        _indexes.resize(nsolutions);    distances.resize(nsolutions);    _indexes2.resize(nsolutions);    distances2.resize(nsolutions);    for(int _j(0);_j<nsolutions;_j++){      distances[_j]=10.0*pow(10.0,10.0);      for(int _k(0);_k<nsolutions;_k++){	if(_j==_k)continue;	double _sum(0);	for(int _i(0);_i<nobjectives;_i++)	  {	    _sum+=pow(solutions[_j].fx[_i]-solutions[_k].fx[_i],2.0);	  }	double _tot=sqrt(_sum);	if(_tot<distances[_j]){	  distances2[_j]=distances[_j];	  distances[_j]=_tot;	  _indexes2[_j]=_indexes[_j];	  _indexes[_j]=_k;	}      }    }      double min;  int _index;  min=10.0*pow(10.0,10.0);  for(int _j(0);_j<nsolutions;_j++){    if(distances[_j]+distances2[_j]<min){      min=distances[_j]+distances2[_j];      _index=_j;    }  }   vector<Particle>::iterator _iterator2=solutions.begin();   _iterator2+=_index;   solutions.erase(_iterator2);   nsolutions--;  }}void EFILE::finalSolutions(){  for(int _i(0);_i<allnsolutions;_i++){    add(allsolutions[_i]);  }  //cout<<"deleteExcedent"<<endl;  deleteExcedent();}double EFILE::euclideanDistance(vector<double> &_v1, vector<double> & _v2){  double s(0);  vector<double>::iterator _iterator1=_v1.begin();  vector<double>::iterator _iterator2=_v2.begin();  for(_iterator1=_v1.begin(); _iterator1 != _v1.end();++_iterator1) {    s+= pow(*_iterator2-*_iterator1,2.0);  }  return sqrt(s);    }int EFILE::nSolutions(){  return nsolutions;}int EFILE::selectRandomSolution(int _whichcluster){    return (int) rnd(0,nsolutions);}int EFILE::selectClusteredRandomSolution(int _whichcluster){  if(_whichcluster>nclusters) _whichcluster=(int) rnd(0,nclusters);//ojo hay que verificar  if(nsolutionsbyswarm[_whichcluster]==0){    return(int) rnd(0,nsolutions);  }  int _tmp=(int )rnd(0,nsolutionsbyswarm[_whichcluster]);  return proximitymatrixindex[_whichcluster][_tmp];}int EFILE::nClusteredSolutions(int _whichcluster){  return nsolutionsbyswarm[_whichcluster];}int EFILE::selectClusteredSolution(int _whichcluster,int _whichsolution){  return proximitymatrixindex[_whichcluster][_whichsolution];}double EFILE::rnd(double _min,double _max){  return((double)(_min + ((double)(_max-_min)*rand()/(double)(RAND_MAX+_min))));}void EFILE::output(){  finalSolutions();  printSolutions();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产又黄又大久久| 日本精品视频一区二区| 成人国产一区二区三区精品| 色88888久久久久久影院野外| 69精品人人人人| 国产精品二三区| 国产专区欧美精品| 欧美日韩激情一区二区| 综合中文字幕亚洲| 国产ts人妖一区二区| 日韩一区二区三区av| 亚洲国产欧美另类丝袜| 99视频超级精品| 国产区在线观看成人精品| 麻豆精品在线观看| 91精品久久久久久蜜臀| 亚洲免费在线观看视频| 高清在线不卡av| 久久久综合精品| 紧缚捆绑精品一区二区| 欧美一级一区二区| 午夜电影一区二区三区| 欧美三级资源在线| 亚洲一区在线观看免费观看电影高清| 成人97人人超碰人人99| 中文字幕免费观看一区| 高清在线观看日韩| 国产精品视频麻豆| 91一区二区在线观看| 中文字幕在线观看一区二区| 国产精品中文有码| 国产亲近乱来精品视频| 国产乱码精品一区二区三区av| 日韩欧美一区二区视频| 精品在线亚洲视频| 久久人人爽人人爽| 成人一区二区三区中文字幕| 亚洲国产高清在线| 波多野结衣在线一区| 中文字幕亚洲视频| 色视频成人在线观看免| 亚洲综合在线视频| 91麻豆精品国产91久久久资源速度 | 欧美一二三区在线| 麻豆精品一二三| 久久伊人蜜桃av一区二区| 国产精品一区二区久久不卡| 中文字幕精品一区二区三区精品 | 91视频免费看| 亚洲不卡一区二区三区| 91精品国产91久久综合桃花| 美女免费视频一区二区| 久久九九久久九九| 91小视频在线观看| 三级一区在线视频先锋| 精品国内二区三区| 99久久久免费精品国产一区二区| 亚洲精品乱码久久久久久黑人| 欧美日本在线一区| 精品在线观看视频| 亚洲另类在线视频| 欧美v亚洲v综合ⅴ国产v| 99久免费精品视频在线观看| 视频在线在亚洲| 国产清纯白嫩初高生在线观看91 | 777xxx欧美| 国产999精品久久久久久绿帽| 一区二区三区四区五区视频在线观看| 欧美探花视频资源| 国产一区二区三区免费观看| 亚洲欧美日韩中文字幕一区二区三区 | 爽好久久久欧美精品| 欧美极品美女视频| 欧美日韩小视频| 国产精品夜夜嗨| 午夜一区二区三区视频| 中文字幕国产一区| 日韩一区二区在线免费观看| 97精品电影院| 国产在线精品不卡| 亚洲va韩国va欧美va精品| 国产日韩精品视频一区| 欧美大片在线观看一区二区| 91国偷自产一区二区三区观看 | 欧美在线观看18| 国产精品自拍av| 日本va欧美va精品发布| 亚洲精品自拍动漫在线| 久久免费精品国产久精品久久久久| 日本道精品一区二区三区| 国产精品 日产精品 欧美精品| 五月婷婷激情综合| 亚洲免费三区一区二区| 国产亚洲欧美日韩日本| 日韩一区二区三区电影在线观看| 色婷婷精品久久二区二区蜜臂av| 国产毛片精品一区| 免费av网站大全久久| 亚洲第一在线综合网站| 亚洲激情校园春色| 亚洲卡通动漫在线| 亚洲男人天堂av网| 国产精品不卡一区| 亚洲欧美在线aaa| 国产精品国产自产拍高清av| 国产亚洲一二三区| 久久久久久久久久久黄色| 精品剧情v国产在线观看在线| 欧美精品成人一区二区三区四区| 欧美色视频一区| 精品视频色一区| 欧美高清一级片在线| 欧美日韩精品免费| 日韩一区二区在线观看视频播放| 51精品国自产在线| 欧美一级久久久| 亚洲精品一区二区三区蜜桃下载 | jvid福利写真一区二区三区| 成人美女视频在线观看18| 不卡视频在线看| 99久久99久久精品免费观看 | 国产精品一区二区三区网站| 韩国视频一区二区| 国产一区二区三区四| 国产成人亚洲精品狼色在线| 丁香婷婷综合网| 色综合天天综合| 欧美日韩成人高清| 精品剧情v国产在线观看在线| 久久夜色精品一区| 亚洲欧美日韩人成在线播放| 亚洲综合色区另类av| 亚洲国产成人av| 毛片基地黄久久久久久天堂| 国产成人av影院| 91久久奴性调教| 日韩一区二区影院| 中文字幕免费不卡| 亚洲va韩国va欧美va| 国内一区二区在线| 色综合中文字幕国产 | 蜜桃一区二区三区在线观看| 国产精品夜夜嗨| 91高清视频在线| 亚洲精品一区二区三区精华液 | 国产免费成人在线视频| 亚洲精品一二三区| 麻豆91精品视频| 99久久夜色精品国产网站| 欧美日韩不卡视频| 2023国产精华国产精品| 曰韩精品一区二区| 久久99精品久久久久婷婷| 99久精品国产| 精品国产一区二区三区av性色| 国产精品国产三级国产有无不卡 | 国产三级欧美三级| 亚洲一区国产视频| 国产成人亚洲综合a∨婷婷| 欧美日产在线观看| 亚洲欧洲日韩女同| 精彩视频一区二区三区| 在线免费不卡电影| 国产免费成人在线视频| 奇米一区二区三区av| 91婷婷韩国欧美一区二区| 精品女同一区二区| 亚洲国产成人精品视频| 99热在这里有精品免费| 久久影音资源网| 麻豆成人91精品二区三区| 欧美午夜视频网站| 中文字幕日韩一区二区| 国产99久久久久久免费看农村| 91精品国产免费久久综合| 一个色综合av| 91亚洲午夜精品久久久久久| 久久久久久一级片| 久久99九九99精品| 7777精品久久久大香线蕉 | 亚洲欧美日韩中文字幕一区二区三区 | 国产网站一区二区三区| 麻豆一区二区99久久久久| 欧美精品亚洲二区| 亚洲一区二区三区在线播放| 99精品视频一区二区三区| 国产欧美久久久精品影院| 国产麻豆精品95视频| 欧美大白屁股肥臀xxxxxx| 日韩综合小视频| 欧美欧美欧美欧美| 香蕉av福利精品导航| 欧美日韩一区国产| 亚洲国产人成综合网站| 欧美日韩久久一区| 亚洲成a人v欧美综合天堂| 欧美日韩国产精选| 香蕉影视欧美成人| 欧美成人综合网站| 黑人巨大精品欧美黑白配亚洲|