📄 qgate2.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 + -