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

📄 qgate2.asv

📁 一种带量子门的改进的遗传算法matlab源程序。
💻 ASV
字号:
function ret=Qgate2(individuals,best,sizepop,lenchrom)
% 根据自编量子门调整策略编写 
%  quantum gate


global delta

for i=1:sizepop
    for j=1:sum(lenchrom)
        A=individuals.chrom(2*i-1,j);   % α
        B=individuals.chrom(2*i,j);     % β
        x=individuals.binary(i,j); 
        b=best.binary(j);
        if ((x==0)&(b==0))||((x==1)&(b==1))
            deltae=0;
            s=0;
        elseif (x==0)&(b==1)&(individuals.fitness(i)<best.fitness)
            deltae=0.01*pi;
            if A*B>0   
                s=1;
            elseif A*B<0
                s=-1;
            elseif A==0
                s=0;
            elseif B==0
                s=sign(randn);
            end
        elseif (x==0)&(b==1)&(individuals.fitness(i)>=best.fitness)
            deltae=0.005*pi;
            if A*B>0   
                s=-1;
            elseif A*B<0
                s=1;
            elseif A==0
                s=sign(randn);
            elseif B==0
                s=0;
            end 
        elseif (x==1)&(b==0)&(individuals.fitness(i)<best.fitness)
            deltae=0.01*pi;
            if A*B>0   
                s=-1;
            elseif A*B<0
                s=1;
            elseif A==0
                s=sign(randn);
            elseif B==0
                s=0;
            end 
        elseif (x==1)&(b==0)&(individuals.fitness(i)>=best.fitness)
            deltae=0.005*pi;
            if A*B>0   
                s=1;
            elseif A*B<0
                s=-1;
            elseif A==0
                s=0;
            elseif B==0
                s=sign(randn);
            end    
        end
        e=s*deltae;
        u=[cos(e) -sin(e);sin(e) cos(e)];
        y=u*[A B]';
        chrom(2*i-1,j)=y(1);
        chrom(2*i,j)=y(2);
    end
end
ret=chrom;    
                            

⌨️ 快捷键说明

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