⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qacross.asv

📁 一种带量子门的改进的遗传算法matlab源程序。
💻 ASV
字号:
function ret=Qcross(pcross,individuals.chrom,sizepop,lenchrom)


 for i=1:sizepop 
     
      % select two children at random
       pick=rand(1,2);
       index=ceil(pick.*sizepop);
       while prod(pick)==0 | index(1)==index(2)
           pick=rand(1,2);
          index=ceil(pick.*sizepop);
       end
       
       % probability of crossover
       pick=rand;
       if pick>pcross
          continue;   % go to next "for" loop 
       end
       
       % random position of crossover
        pick=rand;
        while pick==0
            pick=rand;
        end
         pos=ceil(pick.*sum(lenchrom));
         
         % exchang tail 
         for j=pos:sum(lenchrom)
             tail1=chrom(2*index(1)-1,j);
             tail2=chrom(2*index(1),j);
             chrom(2*index(1)-1,j)=chrom(2*index(2)-1,j);
             chrom(2*index(1),j)=chrom(2*index(2),j);
             chrom(2*index(2)-1,j)=tail1;
             chrom(2*index(2),j)=tail2;
         end
         
  end
  ret=chrom;
          
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -