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

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

?? 1.txt

?? 人工免疫系統
?? TXT
字號:
%這是免疫算法。這個算法幾乎與遺傳算法一樣,只是多用了一個免疫函數
%免疫算法是遺傳算法的變體,它不用雜交,而是采用注入疫苗的方法。
%疫苗是優秀染色體中的一段基因,把疫苗接種到其它染色體中

%注意:標準遺傳算法的一個重要概念是,染色體是可能解的2進制順序號,由這個序號在可能解的集合(解空間)中找到可能解
%這是免疫算法的主程序,它需要調用的函數如下。
%接種疫苗函數:
%function inoculateChromosome=immunity(chromosomeGroup,bacterinChromosome,parameter)
%parameter:1,隨機制取染色體接種。2,每個染色體都接種。3,每個染色體都接種,但接種的位置是隨機的
%這個函數實現對染色體的疫苗接種
%由染色體(可能解的2進制)順序號找到可能解:
%x=chromosome_x(fatherChromosomeGroup,oneDimensionSet,solutionSum);
%把解代入非線性方程組計算誤差函數:functionError=nonLinearSumError1(x);
%判定程是否得解函數:[solution,isTrue]=isSolution(x,funtionError,solutionSumError);
%選擇最優染色體函數:
%[bestChromosome,leastFunctionError]=best_worstChromosome(fatherChromosomeGroup,functionError);
%誤差比較函數:從兩個染色體中,選出誤差較小的染色體
%[holdBestChromosome,holdLeastFunctionError]...
% =compareBestChromosome(holdBestChromosome,holdLeastFunctionError,...
% bestChromosome,leastFuntionError)
%為染色體定義概率函數,好的染色體概率高,壞染色體概率低
%p=chromosomeProbability(functionError);
%按概率選擇染色體函數:
%slecteChromosomeGroup=selecteChromome(fatherChromosomeGroup,p);
%父代染色體雜交產生子代染色體函數
%sonChrmosomeGroup=crossChromosome(slecteChromosomeGroup,2);
%防止染色體超出解空間的函數
%chromosomeGroup=checkSequence(chromosomeGroup,solutionSum)
%變異函數
%fatherChromosomeGroup=varianceCh(sonChromosomeGroup,0.8,solutionN);
%通過實驗有如下結果:
%1。染色體應當多一些
%2。通過概率選擇染色體,在迭代早期會有效選出優秀的染色體,使解的誤差迅速降低,
%但隨著迭代的進行,概率選擇也會導致某種染色體在基因池中迅速增加,使染色體趨同,
%這就減少了物種的多樣性,反而難以逼近解
%3。不用概率選擇,僅采用染色體雜交,采用保留優秀染色體,也可以得到解
%4。單純免疫效果不好,雜交+免疫效果比較好

%%%%%%%%%%%%%%%%%%%%%%%%程序開始運行

clear,clc;%清理內存,清屏
circleN=200;%迭代次數
format long

%%%%%%%%%%%%%%%構造可能解的空間,確定染色體的個數、長度
solutionSum=4;leftBoundary=-10;rightBoundary=10;
distance=1;chromosomeSum=500;solutionSumError=0.1;
%solutionSum:非線性方程組的元數(待解變量的個數);leftBoundary:可能解的左邊界;
%rightBoundary:可能解的右邊界;distance:可能解的間隔,也是解的精度
%chromosomeSum:染色體的個數;solveSumError:解的誤差
oneDimensionSet=leftBoundary:distance:rightBoundary;
%oneDimensionSet:可能解在一個數軸(維)上的集合
oneDimensionSetN=size(oneDimensionSet,2);%返回oneDimensionSet中的元素個數
solutionN=oneDimensionSetN^solutionSum;%解空間(解集合)中可能解的總數
binSolutionN=dec2bin(solutionN);%把可能解的總數轉換成二進制數
chromosomeLength=size(binSolutionN,2);%由解空間中可能解的總數(二進制數)計算染色體的長度

%%%%%%%%%%%%%%%%程序初始化
%隨機生成初始可能解的順序號,+1是為了防止出現0順序號
solutionSequence=fix(rand(chromosomeSum,1)*solutionN)+1;
for i=1:chromosomeSum%防止解的順序號超出解的個數
if solutionSequence(i)>solutionN;
solutionSequence(i)=solutionN;
end
end
%染色體是解集合中的序號,它對應一個可能解
%把解的十進制序號轉成二進制序號
fatherChromosomeGroup=dec2bin(solutionSequence,chromosomeLength);
holdLeastFunctionError=Inf;%可能解的最小誤差的初值
holdBestChromosome=0;%對應最小誤差的染色體的初值

%%%%%%%%%%%%%%%%%%開始計算
compute=1;
circle=0;
while compute%開始迭代求解
%%%%%%%%%%%%%1:由可能解的序號尋找解本身(關鍵步驟)
x=chromosome_x(fatherChromosomeGroup,oneDimensionSet,solutionSum);
%%%%%%%%%%%%%2:把解代入非線性方程計算誤差
functionError=nonLinearSumError1(x);%把解代入方程計算誤差
[solution,minError,isTrue]=isSolution(x,functionError,solutionSumError);
%isSolution函數根據誤差functionError判定方程是否已經解開,isTrue=1,方程得解。solution是方程的解
if isTrue==1
'方程得解'
solution
minError
return%結束程序
end
%%%%%%%%%%%%%3:選擇最好解對應的最優染色體
[bestChromosome,leastFunctionError]=best_worstChromosome(fatherChromosomeGroup,functionError);
%%%%%%%%%%%%%4:保留每次迭代產生的最好的染色體
%本次最好解與上次最好解進行比較,如果上次最好解優于本次最好解,保留上次最好解;
%反之,保留本次最好解。保留的最好染色體放在holdBestChromosome中
[holdBestChromosome,holdLeastFunctionError]...
=compareBestChromosome(holdBestChromosome,holdLeastFunctionError,...
bestChromosome,leastFunctionError);
circle=circle+1
%minError
%solution
holdLeastFunctionError
if circle>circleN
return
end
%%%%%%%%%%%%%%5:把保留的最好的染色體holdBestChromosome加入到染色體群中
order=round(rand(1)*chromosomeSum);
if order==0
order=1;
end
fatherChromosomeGroup(order,:)=holdBestChromosome;
functionError(order)=holdLeastFunctionError;

%%%%%%%%%%%%%%%6:為每一條染色體(即可能解的序號)定義一個概率(關鍵步驟)
%%%%%%%%%%%%%%%好的染色體概率高,壞的概率低。依據誤差functionError計算概率
[p,trueP]=chromosomeProbability(functionError);
if trueP =='Fail'
'可能解嚴重不適應方程,請重新開始'
return%結束程序
end
%%%%%%%%%%%%%%%7:按照概率篩選染色體(關鍵步驟)
%fa=bin2dec(fatherChromosomeGroup)%顯示父染色體
%從父染體中選擇優秀染色體
%selecteChromosomeGroup=selecteChromosome(fatherChromosomeGroup,p);
%%%%%%%%%%%%%%%8:染色體雜交(關鍵步驟)
%sle=bin2dec(selecteChromosomeGroup)%顯示選擇出來的解的序號(染色體)
%用概率篩選出的染色體selecteChromosomeGroup進行雜交,產生子代染色體
%sonChromosomeGroup=crossChromosome(selecteChromosomeGroup,2);
%不用概率篩選出的染色體selecteChromosomeGroup進行雜交,而直接用上一代(父代)的
sonChromosomeGroup=crossChromosome(fatherChromosomeGroup,2);
%sonChromosomeGroup=immunity(fatherChromosomeGroup,holdBestChromosome,3);
%把疫苗接種到其它染色體中
sonChromosomeGroup=immunity(sonChromosomeGroup,holdBestChromosome,3);
%cro=bin2dec(sonChromosomeGroup)%顯示雜交后的子代染色體
sonChromosomeGroup=checkSequence(sonChromosomeGroup,solutionN);%檢查雜交后的染色體是否越界
%%%%%%%%%%%%%%%9:變異
%不雜交直接變異
%fatherChromosomeGroup=varianceCh(fatherChromosomeGroup,0.1,solutionN);
%雜交后變異
fatherChromosomeGroup=varianceCh(sonChromosomeGroup,0.5,solutionN);
fatherChromosomeGroup=checkSequence(fatherChromosomeGroup,solutionN);%檢查變異后的染色體是否越界
end

 

接種疫苗函數,這是和遺傳算法唯一不同的函數,可以用它代替染色體的交叉操作。

%chromosomeGroup:染色體組
%bachterinChromosome:疫苗染色體,即最好的染色體。從這個染色體上取疫苗
%parameter:接種疫苗的參數,即用什么方法接種
%inoculateChromosome:接種疫苗后的染色體
function inoculateChromosome=immunity(chromosomeGroup,bacterinChromosome,parameter)
[chromosomeGroupSum,chromosomeLength]=size(chromosomeGroup);
[row,bacterinChromosomeLength]=size(bacterinChromosome);
%chromosomeGroupSum:染色體的條數;chromosomeLength:染色體的長度
switch parameter
case 1%隨機選擇染色體進行接種
for i=1:chromosomeGroupSum
%%%%%%%%%%%%從疫苗染色體上定位疫苗
headDot=fix(rand(1)*bacterinChromosomeLength);
%疫苗在染色體上左邊的點位
if headDot==0%防止出現0點位
headDot=1;
end
tailDot=fix(rand(1)*bacterinChromosomeLength);
%疫苗在染色體上右邊的點位
if tailDot==0%防止出現0點位
tailDot=1;
end
if tailDot>headDot%防止右邊的點位大于左邊的點位
dot=headDot;
headDot=tailDot;
tailDot=dot;
end
%%%%%%%%%%%%%接種
randChromosomeSequence=round(rand(1)*chromosomeGroupSum);
%隨機產生1條染色體的序號,對這條染色體進行接種
if randChromosomeSequence==0%防止產生0序號
randChromosomeSequence=1;
end
inoculateChromosome(i,:)...%先把輸入染色體傳給輸出
=chromosomeGroup(randChromosomeSequence,:);
%執行免疫,即從疫苗染色體上取出一段基因做疫苗,再注入到其它染色體中
inoculateChromosome(i,headDot:tailDot)...
=bacterinChromosome(1,headDot:tailDot);
end
case 2 %所有染色體挨個接種
for i=1:chromosomeGroupSum
%%%%%%%%%%%%從疫苗染色體上定位疫苗
headDot=fix(rand(1)*bacterinChromosomeLength);
%疫苗在染色體上左邊的點位
if headDot==0%防止出現0點位
headDot=1;
end
tailDot=fix(rand(1)*bacterinChromosomeLength);
%疫苗在染色體上右邊的點位
if tailDot==0%防止出現0點位
tailDot=1;
end
if tailDot>headDot%防止右邊的點位大于左邊的點位
dot=headDot;
headDot=tailDot;
tailDot=dot;
end
%%%%%%%%%%%%%接種
inoculateChromosome(i,:)=chromosomeGroup(i,:);%先把輸入染色體傳給輸出
%執行免疫,即從疫苗染色體上取出一段基因做疫苗,再注入到其它染色體中
inoculateChromosome(i,headDot:tailDot)...
=bacterinChromosome(1,headDot:tailDot);
end
case 3 %接種位置是隨機的
for i=1:chromosomeGroupSum
%%%%%%%%%%%%從疫苗染色體上定位疫苗
headDot=fix(rand(1)*bacterinChromosomeLength);
%疫苗在染色體上左邊的點位
if headDot==0%防止出現0點位
headDot=1;
end
tailDot=fix(rand(1)*bacterinChromosomeLength);
%疫苗在染色體上右邊的點位
if tailDot==0%防止出現0點位
tailDot=1;
end
if tailDot>headDot%防止右邊的點位大于左邊的點位
dot=headDot;
headDot=tailDot;
tailDot=dot;
end
%%%%%%%%%%%%%在染色體上隨機定位接種位置
inoculateDot=fix(rand(1)*chromosomeLength);%隨機選擇染色體的接種點位
if inoculateDot==0
inoculateDot=1;
inoculateChromosome(i,:)=chromosomeGroup(i,:);
inoculateChromosome(i,inoculateDot:tailDot-headDot+1)...
=bacterinChromosome(1,headDot:tailDot);
elseif inoculateDot<=headDot
inoculateChromosome(i,:)=chromosomeGroup(i,:);
inoculateChromosome(i,inoculateDot:inoculateDot+tailDot-headDot)...
=bacterinChromosome(1,headDot:tailDot);
elseif (chromosomeLength-inoculateDot)>=(tailDot-headDot)
inoculateChromosome(i,:)=chromosomeGroup(i,:);
inoculateChromosome(i,inoculateDot:inoculateDot+tailDot-headDot)...
=bacterinChromosome(1,headDot:tailDot);
else
inoculateChromosome(i,:)=chromosomeGroup(i,:);
inoculateChromosome(i,headDot:tailDot)...
=bacterinChromosome(1,headDot:tailDot);
end
end
end
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人18免费观看| 欧美日韩久久久一区| 日本亚洲欧美天堂免费| 午夜精品免费在线| 亚洲成在人线在线播放| 亚洲成人动漫av| 蜜桃视频免费观看一区| 蜜桃精品视频在线| 免费久久99精品国产| 久草中文综合在线| 国产精品91一区二区| 成人黄色大片在线观看| 色综合色狠狠天天综合色| 在线观看欧美精品| 制服丝袜日韩国产| 91精品国产欧美日韩| 51精品秘密在线观看| 欧美一区2区视频在线观看| 日韩精品中文字幕一区| 国产亚洲精品久| 一区二区三区四区在线播放| 三级一区在线视频先锋| 国产精品综合网| 在线视频亚洲一区| 日韩视频一区二区在线观看| 精品久久久久久久久久久久久久久 | 99久久精品国产观看| 91福利国产成人精品照片| 欧美日韩国产中文| 国产日韩欧美高清| 国产精品福利电影一区二区三区四区| 亚洲精品自拍动漫在线| 男女激情视频一区| 91丨porny丨国产入口| 欧美成人一区二区三区片免费| 国产精品无码永久免费888| 亚洲一区二区欧美激情| 国产精品一色哟哟哟| 欧美另类变人与禽xxxxx| 国产精品久久久久影视| 免费高清成人在线| 91搞黄在线观看| 国产欧美一区二区精品秋霞影院| 亚洲综合激情另类小说区| 蜜桃一区二区三区在线| 日本韩国精品在线| 亚洲精品在线三区| 最新欧美精品一区二区三区| 免费观看在线综合色| av电影在线观看完整版一区二区| 色香蕉久久蜜桃| 欧美国产日本韩| 久久69国产一区二区蜜臀| 欧美精品高清视频| 一片黄亚洲嫩模| 色国产综合视频| 亚洲视频在线一区| 成人午夜精品在线| 国产欧美日韩综合精品一区二区| 久久av资源网| 精品国产青草久久久久福利| 秋霞午夜鲁丝一区二区老狼| 欧美视频在线观看一区二区| 樱桃视频在线观看一区| 日本精品视频一区二区| 亚洲乱码中文字幕| 色综合久久综合网欧美综合网 | 免费看欧美女人艹b| 欧美日韩国产大片| 亚洲成人tv网| 欧美久久一二区| 全部av―极品视觉盛宴亚洲| 欧美另类一区二区三区| 水蜜桃久久夜色精品一区的特点| 99久久精品免费精品国产| 国产视频亚洲色图| 国产aⅴ精品一区二区三区色成熟| 欧亚洲嫩模精品一区三区| 亚洲国产cao| 欧美一区三区四区| 久久99精品国产.久久久久久| 日韩欧美国产电影| 国产老妇另类xxxxx| 久久久无码精品亚洲日韩按摩| 激情欧美日韩一区二区| wwwwxxxxx欧美| 成人免费看片app下载| 国产精品国产三级国产aⅴ中文| 久久精品国产精品亚洲综合| 国产亚洲精品aa| 99国产精品久| 日韩激情中文字幕| 久久网站最新地址| 日本高清不卡在线观看| 日韩黄色免费电影| 国产亚洲欧美色| 日本韩国欧美在线| 秋霞成人午夜伦在线观看| 久久―日本道色综合久久| 不卡视频一二三四| 亚洲chinese男男1069| 国产喂奶挤奶一区二区三区| 一本大道av伊人久久综合| 日本不卡视频一二三区| 国产精品视频线看| 日韩三区在线观看| 91影院在线观看| 国内精品嫩模私拍在线| 亚洲免费在线视频| 久久综合99re88久久爱| 91成人在线免费观看| 国产剧情一区二区三区| 一区二区三区精品视频在线| 久久日一线二线三线suv| 在线观看91视频| 国产成人精品一区二区三区四区| 亚洲国产日韩一级| 国产精品三级av| 精品嫩草影院久久| 欧美性受xxxx| 91美女片黄在线观看| 国产一区二区女| 日韩国产一二三区| 一区二区三区四区av| 中文字幕国产一区| 日韩欧美成人一区| 欧美久久久久免费| 日本高清不卡在线观看| caoporm超碰国产精品| 看片网站欧美日韩| 日本三级亚洲精品| 亚洲一区二区av电影| 亚洲三级久久久| 国产精品对白交换视频 | av在线不卡免费看| 久久99久久精品欧美| 爽好多水快深点欧美视频| 一区二区在线观看av| 亚洲欧美国产77777| 国产精品久久夜| 国产精品久久毛片a| 欧美—级在线免费片| 久久久久久久久岛国免费| 欧美成人女星排名| 欧美大片一区二区| 欧美第一区第二区| 久久综合色一综合色88| 精品国产在天天线2019| 欧美成人video| 欧美精品一区二区久久婷婷| 久久亚洲春色中文字幕久久久| 日韩欧美一卡二卡| 精品国产人成亚洲区| 久久色在线视频| 欧美国产日韩在线观看| 国产精品久久久久aaaa| 中文字幕一区在线观看| 亚洲欧美怡红院| 一区二区三区精品在线| 视频一区二区三区在线| 蜜桃在线一区二区三区| 国产精品伊人色| 色综合天天综合色综合av| 色综合天天视频在线观看| 91黄色激情网站| 91精品久久久久久久91蜜桃| 欧美不卡视频一区| 日本一区二区三区高清不卡 | 看国产成人h片视频| 国产专区欧美精品| av一区二区三区在线| 欧美色国产精品| 精品国产自在久精品国产| 国产精品毛片大码女人| 亚洲最色的网站| 韩国成人福利片在线播放| 成人午夜在线视频| 欧美肥大bbwbbw高潮| 久久精品一二三| 亚洲va国产天堂va久久en| 精品一区二区三区在线播放| 99久久久精品| 精品福利视频一区二区三区| 自拍av一区二区三区| 老司机免费视频一区二区三区| 成人免费视频网站在线观看| 欧美精品第一页| 国产精品视频线看| 日韩va亚洲va欧美va久久| 成人性生交大片免费看中文网站| 欧美性色综合网| 欧美激情综合在线| 日本亚洲欧美天堂免费| 91免费视频观看| 国产喷白浆一区二区三区| 午夜成人免费视频| 色综合久久久久久久| 久久久不卡影院| 免费成人深夜小野草| 色www精品视频在线观看|