999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

探討人工魚群算法的結構和原理

2009-04-29 00:00:00
電腦知識與技術 2009年36期

摘要:人工魚群算法是一種基于模擬魚群行為的優化算法。該文首先分析了人工魚群算法的定義、覓食以及追尾行為,其次剖析了最優解的獲取,并進一步探討了算法原理及其收斂性。

關鍵詞:人工魚群;算法最優解;收斂性

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)36-10235-03

The Structure and Principle of Artificial Fish-Swarm Algorithm

LI Bin

(Guangdong Institute of Science and Technology Guangdong, Zhuhai 519075, China)

Abstract: Artificial fish-swarm algorithm is a kind of fish behavior simulation-based optimization algorithm. This paper firstly has analyzed the definition of artificial fish-swarm algorithm, foraging, as well as rear-end behavior, followed by analysis of the optimal solution of the acquisition. Then the paper has explored the theory and convergence of the algorithm.

Key words: artificial fish; optimal solution of algorithm; convergence

人工魚群算法是一種基于動物行為的尋求全局最優的新思路,是行為主義人工智能的一個典型應用。算法利用了魚的覓食、聚群和追尾行為,從構造單條魚的簡單底層行為做起,通過魚群中各個體的局部尋優行為,最終在群體中使全局最優值突現出來。該算法具有良好的克服局部極值、取得全局極值的能力,并且算法的實現無需目標函數的梯度值等特性,故其對搜索空間具有一定的自適應能力。本文就是針對人工魚群算法,研究其結構及原理。

1 人工魚群算法的結構剖析

魚類的活動中,覓食行為和追尾行為等相關行為與尋優命題的解決有著較密切的關系,如何利用簡便有效的方式來構造并實現這些行為將是人工魚群算法實施的主要問題。

1.1 基本定義

人工魚個體的狀態可表示為向量X=(x1,x2…,xn),其中 Xi(i=1,…,n)為欲尋優的變量;人工魚當前所在位置的食物濃度表示為Y=f(x),其中Y為目標函數值;人工魚個體之間的距離表示為dij=‖Xi-Xj‖ ;Visual表示人工魚的感知距離;step表示人工魚移動的最大步長;δ表示擁擠度因子[1]。

1.2 覓食行為

人工魚的覓食行為的基本流程如圖1所示。

人工魚在當前位置Xj 的鄰域中遍歷每一個鄰居,找到其中食物濃度最高(在進行極大值尋優時為最高,進行極小值尋優時為最低,在本節中以極大值尋優為例)的鄰居,并判斷該鄰居是否在禁忌表中,如果不在禁忌表中,則將該網格點插入禁忌表,人工魚移動到該網格點,并將該點的食物濃度與公告板信息進行比較,如果優于公告板,則更新公告板狀態;如果Xi在禁忌表中,則判斷是否滿足藐視準則,如果不滿足藐視準則,則重新初始化當前的人工魚,以便在更廣闊的范圍內進行尋優,相當于在同樣的存儲空間中增加了進行尋優的人工魚個數。

1.3 追尾行為

設人工魚當前位置為Xj ,在其視野范圍內尋找目標函數值最優的伙伴xi ,如果該伙伴所處的位置具有較高的食物濃度,且不太擁擠,則人工魚從當前位置向該伙伴移動,否則執行覓食行為[2]。

1.4 最優解的獲取

基本魚群算法獲取的僅僅是系統的滿意解域,無法獲取精確或較精確的最優解。通過基于網格劃分策略的引入,可以有效的解決最優解的獲取問題。由于在改進算法中使用了禁忌搜索算法,在尋優的過程中減少了大量無用的計算,提高了尋優的速度,強制不滿足藐視準則的人工魚進行初始化,能夠在系統的解空間上進行更加全面的搜索,同時充分利用了魚群的公告板信息,在搜索過程中,如果公告板信息維持一定的次數沒有更新,則可認為公告板的信息存在于系統的滿意解域中。如果公告板歷史最優解xi 相鄰的兩個對稱網格點xi 和xi-1 到xj 的坡度相等,則xi 即為系統的精確最優解;如果坡度不相等,則令:

即以其鄰居確定的變量向量取值范圍重新進行網格劃分,直到max(gridLengthi)<(i=1,2,…,n),這樣就可以獲取系統的精確或較精確的最優解。

2 人工魚群算法的原理描述

2.1 算法思想

鑒于以上描述的人工魚行為,每個人工魚探索它當前所處的環境狀況和伙伴的狀況,其實伙伴的狀況相對于其自身應該也是歸屬于環境的狀況,從而選擇一種行為,最終,人工魚集結在幾個局部極直的周圍。根據所要解決的問題性質,對人工魚當前所處的環境進行評價,從而選擇一種行為。人工魚首先模擬執行聚群、追尾行為,然后評價行動后的值,選擇其中最大者來實際執行,缺省行為方式為覓食行為。人工魚群算法的算法思想描述如下:

Stepl:若所要解決的問題的搜索域比較大,則“縮小”搜索域,然后在搜索域內隨機產生N個人工魚個體,若所要解決的問題的搜索域不大,則直接在搜索域內隨機的產生N個人工魚個體,組成初始群體;

Step2:分別計算各人工魚狀態的食物濃度,選擇最大食物濃度的人工魚個體狀態記錄到公告板內;

Step3:各人工魚分別模擬改進聚群行為和追尾行為,缺省行為為覓食行為,然后選擇最優的行為作為實際執行行為,并與公告板記錄進行比較,若優于公告板記錄,則以自身替換公告板記錄;

Step4:判斷是否滿足終止條件,若滿足,則輸出公告板記錄,算法終止;若不滿足,則執行Step3。

2.2 仿真實例

本文研究的仿真函數如下:

該函數有無窮多個極值點,但只有一個(0,0)為全局最小點,函數值為0。該函數的特點是在其最小值點附近存在一個圈谷,其取值為0.009716,從而,在優化中非常容易陷入局部極值陷阱,一般優化方法對此函數很難奏效。因此,該函數已成為測試進化算法效能的一個標準函數,很多研究中被采用。

本文分別采用人工魚群算法對該函數進行優化,對結果進行比較。取不同的隨機初始群體對函數進行3O次優化,在給定世代內,若群體中的最優個體的函數值達到給定的閾值,認為算法成功收斂。其中算法中的參數取最大迭代次數為200,閾值為0.001,算法中的參數N=100,Trynumber=30,δ=0.618,對于人工魚群算法取最優參數Visual=10,Step=0.8,計算結果如表1。

然后再用人工魚群算法對函數進行3O次優化,每次優化均迭代100次,得到3O個最優函數值的平均值及其與函數實際最優值之間的平均誤差和標準差,結果見表2。

下面給出的部分程序算法描述所示。通常,由AFiulot來初始化AF為隨機分布在變量域內;算法的終止條件可以根據實際情況設定,如通常的方法是判斷連續多次所得值的均方差小于預期的誤差。

……

// 第一步:

M=length(LB);//決策變量的個數

X=zeros(M,N); //蟻群位置初始化

for i=1:M

x=unifrnd(LB(i),UB(i),1,N);

X(i,:)=x;

end

//輸出變量初始化

//細胞結構,每一個元素是M×N矩陣,記錄每一代的個體

ALLX=cell(K,1); //K×N矩陣,記錄每一代評價函數值

ALLY=zeros(K,N); //細胞結構,每一個元素是M×1向量,記錄每一代的最優個體

BESTX=cell(K,1); //K×1矩陣,記錄每一代的最優個體的評價函數值

BESTY=zeros(K,1);

k=1;//迭代計數器初始化

// 第二步:迭代過程

while k<=K

NewX=zeros(M,N); NewY=zeros(1,N);

for n=1:N

x=X(:,n);

Xnb=AFneighbour(n,X,V);

NN=size(Xnb,2);

if NN==0

xx=AFprey(x,V,L,LB,UB);

elseif NN>=3

xx=AFswarm(x,Xnb,N,Delta,V,L,LB,UB);

else

xx=AFprey(x,V,L,LB,UB);

end

NewX(:,n)=xx;

end

for n=1:N

NewY(n)=FIT(NewX(:,n));

end

X=NewX; Y=NewY; ALLX{k}=X; ALLY(k,:)=Y; minY=min(Y); pos=find(Y==minY);

BESTX{k}=X(:,pos(1)); BESTY(k)=minY; disp(k); k=k+1;

end

……//繪圖

2.3 算法收斂性

對于一種算法,其收斂性往往是人們所首要關心的問題。在人工魚群算法中,人工魚的覓食行為奠定了算法收斂的基礎,聚群行為增強了算法收斂的穩定性和全局性,追尾行為則增強了算法收斂的快速性和全局性,其行為評價也對算法收斂的速度和穩定性提供了保障。總的來說,算法中對各參數的取值范圍還是很寬容的,并且對算法的初值也基本無要求。算法中,使人工魚逃逸局部極值實現全局尋優的因素主要有以下幾點:

1) 覓食行為中抑number的次數較少時,為人工魚提供了隨機游動的機會,從而能跳出局部極值的鄰域。

2) 隨機步長的采用,使得在前往局部極值的途中,有可能轉而游向全局極值,當然,其相反的一面也會發生的,就是在去往全局極值的途中,可能轉而游向局部極值,這對一個個體當然不好判定他的禍福,但對于一個群體來說,好的一面往往會具有更大的機率。

3) 擁擠度因子的引入限制了聚群的規模,只有較優的地方才能聚集更多的人工魚,使得人工魚能夠更廣泛的尋優。

4) 聚群行為能夠促使少數陷于局部極值的人工魚向多數趨向全局極值的人工魚方向聚集,從而逃離局部極值;令追尾行為加快了人工魚向更優狀態的游動,同時也能促使陷于局部極值的人工魚向趨向全局極值的更優人工魚方向的追隨而逃離局部極值域。

3 小結

總之,人工魚群算法是一種新型的思路,從具體的實施算法到總體的設計理念,都不同于傳統的設計和解決方法,但同時它又能與傳統方法相融合,因此,從具體的數學問題到更高層次的管理調度等問題,具有良好的應用前景。

參考文獻:

[1] 曲良東,何登旭.基于單純形法的雙群人工魚群算法[J],計算機應用,2008(8).

[2] 胡孟杰.TSP問題的人工魚群解決方案[J].中國科技信息,2009(11).

主站蜘蛛池模板: 91精品国产一区自在线拍| 久久毛片基地| 九九九久久国产精品| 日韩欧美国产成人| 日韩视频免费| 亚洲国产精品成人久久综合影院| 成人在线第一页| 国模沟沟一区二区三区| 99视频只有精品| 91九色国产在线| 91青青视频| 亚洲第一页在线观看| 成人国产免费| 亚洲国产日韩一区| 午夜视频www| 久久亚洲美女精品国产精品| 精品少妇人妻无码久久| 亚洲日韩久久综合中文字幕| 97亚洲色综久久精品| 亚洲91精品视频| 四虎精品黑人视频| 色AV色 综合网站| 亚洲男人天堂网址| 国产成人精品高清不卡在线| 曰AV在线无码| 成人午夜视频在线| AV在线天堂进入| 国产成本人片免费a∨短片| 国产精品亚欧美一区二区| 久久国产高清视频| 久久精品人人做人人爽| 欧洲成人免费视频| 亚洲无线国产观看| 狂欢视频在线观看不卡| a级毛片免费网站| 中文一区二区视频| 男人天堂亚洲天堂| 伊人久久福利中文字幕| 依依成人精品无v国产| 最新痴汉在线无码AV| 国产玖玖玖精品视频| 精品综合久久久久久97| jijzzizz老师出水喷水喷出| 欧美激情伊人| 精品一区二区久久久久网站| 日本www在线视频| 超清无码一区二区三区| 国产AV无码专区亚洲A∨毛片| 99免费在线观看视频| 99精品在线视频观看| 国产午夜在线观看视频| 精品1区2区3区| 亚洲成年人网| 免费大黄网站在线观看| 色窝窝免费一区二区三区| 精品国产亚洲人成在线| 超清无码熟妇人妻AV在线绿巨人| 99无码中文字幕视频| 在线播放91| 国产日韩久久久久无码精品| 亚洲视频a| 久久青草免费91线频观看不卡| 国产丰满大乳无码免费播放| 精品丝袜美腿国产一区| 99久视频| 色天天综合久久久久综合片| 欧美亚洲另类在线观看| 国产成人无码AV在线播放动漫| 国产一级毛片网站| 国产精品大尺度尺度视频| 国产精品第5页| 婷婷亚洲综合五月天在线| 在线中文字幕日韩| 91毛片网| 国产成人亚洲无吗淙合青草| 亚洲第一区在线| 台湾AV国片精品女同性| 国产成人综合在线观看| 久久久久亚洲AV成人网站软件| 情侣午夜国产在线一区无码| 亚洲天堂免费| 国产精品观看视频免费完整版|