qmutation.m

来自「一种带量子门的改进的遗传算法matlab源程序。」· M 代码 · 共 33 行

M
33
字号
function ret=Qmutation(pmutation,chrom,sizepop,lenchrom)

% quantum mutation  , Quantum Not Gate

for i=1:sizepop
    
    % select child at random
    pick=rand;
    while pick==0
        pick=rand;
    end
    index=ceil(pick*sizepop);
    
    % probability of mutation
    pick=rand;
    if pick>pmutation
      continue;
    end
    
    % mutation position
    pick=rand;
    while pick==0
         pick=rand;
    end
    
    % exchange α and β
    pos=ceil(pick*sum(lenchrom));
    v=chrom(2*index-1,pos);
    chrom(2*index-1,pos)=chrom(2*index,pos);
    chrom(2*index,pos)=v;
end
            
ret=chrom;

⌨️ 快捷键说明

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