卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

off the grid翻譯 off 規(guī)則集什么意思?

off 規(guī)則集什么意思?直接關(guān)閉backgrid規(guī)則。這規(guī)則是就是為了好看點(diǎn),沒(méi)甚用處。matlab guide 怎么去除坐標(biāo)軸?在發(fā)出命令窗口中輸入gridoff命令,也可以在圖片的菜單中,再點(diǎn)Ed

off 規(guī)則集什么意思?

直接關(guān)閉backgrid規(guī)則。這規(guī)則是就是為了好看點(diǎn),沒(méi)甚用處。

matlab guide 怎么去除坐標(biāo)軸?

在發(fā)出命令窗口中輸入gridoff命令,也可以在圖片的菜單中,再點(diǎn)Edit,選擇figureproperties...,鼠標(biāo)鼠標(biāo)右鍵點(diǎn)擊菜單欄下面的小箭頭,再點(diǎn)擊圖的坐標(biāo),是可以直接出現(xiàn)坐標(biāo)選項(xiàng),在grid后面,也可以參照要求選擇哪一維的網(wǎng)格,在內(nèi)圖框。

遍歷法和蟻群算法編程MATLAB誰(shuí)更簡(jiǎn)單?

蟻群算法是模擬蟻群外出覓食行為的一種優(yōu)化算法。在整個(gè)外出覓食過(guò)程中螞蟻到處傳播信息素,螞蟻按照感應(yīng)能力到的信息素多少,來(lái)確定所要中,選擇的下一個(gè)柵格。

在初始階段,的原因地面上沒(méi)有信息素,因此蟻群的行走路徑是洗技能的,螞蟻在慢慢行走的過(guò)程中會(huì)不斷地釋放出信息素,標(biāo)注自己穿行的路徑。緊接著時(shí)間的推移,有若干只螞蟻找不到了食物,此時(shí)便未知若干條從洞穴到食物的路徑。的原因螞蟻的行為軌跡是必掉分布的位置的,因此在單位時(shí)間內(nèi),短路徑上的螞蟻數(shù)量比長(zhǎng)路徑上的螞蟻密度要大,短路徑留下的信息素濃度也越高。這為后面的螞蟻們提供給了使力的方向指引,越來(lái)越多的螞蟻集中到最晚的路徑上去。這對(duì)單個(gè)螞蟻來(lái)說(shuō),它并沒(méi)有要尋找風(fēng)最短路徑,僅僅據(jù)概率中,選擇;相對(duì)于整個(gè)蟻群系統(tǒng)來(lái)說(shuō),它們卻達(dá)到了尋找到最優(yōu)路徑的客觀上的效果。

假設(shè)蟻群中螞蟻的總數(shù)為M,各螞蟻在柵格環(huán)境下天翼,但是依據(jù)狀態(tài)轉(zhuǎn)移到規(guī)則選擇下一個(gè)線框,假設(shè)在此時(shí)此刻t時(shí),螞蟻k坐落刪格i,那你螞蟻k選擇類(lèi)型下兩個(gè)刪格j的概率為:

(1)式中:V來(lái)表示螞蟻K可以不中,選擇下一個(gè)柵格的集合;Alpha為信息素濃度啟發(fā)因子,Alpha越大,表明螞蟻K越趨于于選擇類(lèi)型多數(shù)螞蟻向前走的路徑;Beta意思是只希望啟發(fā)因子,反映了能見(jiàn)度信息對(duì)螞蟻你選擇下一步位置所起作用的大小,Beta值越大,并且螞蟻K越方向變化于中,選擇相隔目標(biāo)點(diǎn)近的柵格,越傾向于往能見(jiàn)度程。來(lái)表示t時(shí)刻路徑(i,j)上的信息素濃度;意思是t時(shí)刻路徑(i,j)上的啟發(fā)信息,其定義法為:

蟻群算法的核心部分只是相對(duì)而言模擬真實(shí)了蟻群的轉(zhuǎn)移概率你選擇行為,通過(guò)可以使用信息素和啟發(fā)式函數(shù)值接受全部轉(zhuǎn)移概率算出。其中螞蟻狀態(tài)需要轉(zhuǎn)移過(guò)程中以節(jié)點(diǎn)到目標(biāo)點(diǎn)之間的距離的倒數(shù)作為啟發(fā)信息,則影響障礙物的作好規(guī)避。因此在復(fù)雜的路徑規(guī)劃環(huán)境下,蟻群算法在一個(gè)龐大的空間中去搜索,在優(yōu)化系統(tǒng)初期路徑上的信息素濃度較小,正向反饋信息不很明顯尤其是必掉解才能產(chǎn)生的過(guò)程中的“盲目的相信搜索”再產(chǎn)生大量的局部交叉路徑,會(huì)降低蟻群算法的運(yùn)行效率,且很容易陷入瘋狂局部最優(yōu),搜索通過(guò)到是有程度后,太容易又出現(xiàn)遲緩現(xiàn)象,所有個(gè)體發(fā)現(xiàn)到的解徹底一致,不能不能接受盡快搜索,則影響突然發(fā)現(xiàn)更合適的解。

matlab仿真

繪制方格圖舉例:

G[0000000000

0000000000

0001000000

0011000100

0001001000

0000000000

0100110000

0101000000

0000100000

0000000000

]

MMsize(G,1)

figure(3)

axis([0,MM,0,MM])

ofi1:MM

forj1:MM

ifG(i,j)1

x1j-1y1MM-i

x2jy2MM-i

x3jy3MM-i1

x4j-1y4MM-i1

fill([x1,x2,x3,x4],[y1,y2,y3,y4],[0.3,0.3,0.3])

hold on

ignore

x1j-1y1MM-i

x2jy2MM-i

x3jy3MM-i1

x4j-1y4MM-i1

fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1])

hold on

end

end

end

完整代碼和注釋::

DG2D(G)%把柵格地圖轉(zhuǎn)為鄰接矩陣

Nsize(D,1)%N來(lái)表示問(wèn)題的規(guī)模(象素個(gè)數(shù))直接返回矩陣D行數(shù)

MMsize(G,1)%返回G的行數(shù)

a1%小方格象素的邊長(zhǎng)

Exa*(mod(E,MM)-0.5)%暫時(shí)終止點(diǎn)橫坐標(biāo)a乘以變量E對(duì)MM(行)取余(能得到列)后減0.5即所處列

ifEx-0.5

ExMM-0.5

end

Eya*(MM0.5-ceil(E/MM))%E/MM結(jié)果取整終止點(diǎn)縱坐標(biāo)

Etazeros(1,N)%啟發(fā)式信息,取為至目標(biāo)點(diǎn)的直線距離的倒數(shù)初始信息素矩陣

%下面構(gòu)造啟發(fā)式信息矩陣

fori1:N

ixa*(mod(i,MM)-0.5)%a乘以變量i對(duì)MM取余后減0.5列

ifix-0.5

ixMM-0.5

end

iya*(MM0.5-ceil(i/MM))il將結(jié)果朝正無(wú)窮方向取整

ifi~E%i是否等于零E

Eta(1,i)((ix-Ex)^2(iy-Ey)^2)^(0.5)%與終點(diǎn)的直線距離的倒數(shù),得到啟發(fā)信息

exists

Eta(1,i)0.01

end

end

ROUTEScell(K,M)%用細(xì)胞結(jié)構(gòu)存儲(chǔ)文件每一代的每一只螞蟻的爬動(dòng)路線螞蟻個(gè)數(shù)*迭代次數(shù)矩陣,每個(gè)元素是一個(gè)結(jié)構(gòu)

PLzeros(K,M)%用矩陣存儲(chǔ)每一代的每一只螞蟻的爬行路線長(zhǎng)度

%%-----------起動(dòng)K輪螞蟻覓食活動(dòng),每輪派出M只螞蟻--------------------

tic

fork1:K

%disp(k)

anym1:M

%%不過(guò)在此之前:狀態(tài)初始化

WS%當(dāng)前節(jié)點(diǎn)初始化設(shè)置為起始點(diǎn)

PathS%匍匐爬行路線初始化

PLkm0%匍匐爬行路線長(zhǎng)度初始化設(shè)置

TABUkmones(1,N)%生成禁忌列表,所有節(jié)點(diǎn)均未前行,所以才都置為1

TABUkm(S)0%早就在初始點(diǎn)了,但要先排除

DDD%鄰接矩陣重新初始化

%%第二步:下一步怎么辦也可以前往的節(jié)點(diǎn)DWDD(W,:)%把矩陣DD的第W行所有列變量定義給DW

%DW1find(DWltinf)

%forj1:length(DW1)

%ifTABUkm(DW1(j))0

%end

%endLJDfind(DWltinf)%可選節(jié)點(diǎn)集即回這個(gè)可以走的節(jié)點(diǎn)坐標(biāo)lt矩陣編號(hào)gt

Len_LJDlength(LJD)%數(shù)器可選節(jié)點(diǎn)的個(gè)數(shù)

%%尋找食物停止條件:螞蟻未碰到食物或者陷入瘋狂死胡同

whileW~EampampLen_LJDgt1

%%第二步:轉(zhuǎn)輪賭法選擇下一步怎末走

PPzeros(1,Len_LJD)%遍歷數(shù)組可選節(jié)點(diǎn)

fori1:Len_LJD

%PP(i)(Tau(W,LJD(i))^Alpha)*((1/(DD(W,LJD(i))Eta(1,LJD(i))))^Beta)

PP(i)(Tau(W,LJD(i))^Alpha)*((1/Eta(1,LJD(i)))^Beta)%w行i個(gè)節(jié)點(diǎn)

end

PPPP/(len(PP))%建立概率廣泛分布把各個(gè)路徑的概率統(tǒng)一到和為1;

Pcumcumsum(PP)%PP累計(jì)值

Selectfind(Pcumgtrand)%產(chǎn)生輸入0~1之間的隨機(jī)數(shù),輪盤(pán)賭算法,最好不要以免被卷入局部最優(yōu)解

to_visitLJD(Select(1))%接下來(lái)也將一同前往的節(jié)點(diǎn)

%%第四步:狀態(tài)更新和資料記錄

Path[Path,to_visit]%路線節(jié)點(diǎn)增強(qiáng)

PLkmPLkmDD(W,want_visit)%路徑長(zhǎng)度提升,留下記錄大賽期間迭代適宜路線長(zhǎng)度,每只螞蟻也有自己走出的長(zhǎng)度留下記錄在向量中。

Wto_visit%螞蟻移到下一個(gè)節(jié)點(diǎn)

%N:所有點(diǎn)

for kk1:Nif TABUkm(kk)0%禁忌列表

DD(W,vv)inf%在此次循環(huán)中設(shè)置中為不可達(dá)

DD(kk,W)inf

end

endTABUkm(W)0%已不能訪問(wèn)過(guò)的節(jié)點(diǎn)從禁忌表中刪掉

DWDD(W,:)

LJDfind(DWltinf)%可選節(jié)點(diǎn)集

Len_LJDlength(LJD)%可選節(jié)點(diǎn)的個(gè)數(shù)

end

%%第五步:記好每一代每一只螞蟻的覓食路線和路線長(zhǎng)度

ROUTES{k,m}Path%第k次迭代第m只螞蟻的路線

ifPath(end)E

PL(k,m)PLkm%可到達(dá)目標(biāo)點(diǎn)的路線長(zhǎng)度

else

PL(k,m)inf%剛剛進(jìn)入死胡同

end

end

%%第六步:更新信息素

Delta_Tauzeros(N,N)%更新量系統(tǒng)初始化

whilem1:M%M只螞蟻

ifPL(k,m)ltinf%成功可以到達(dá)目標(biāo)點(diǎn)的螞蟻路線長(zhǎng)度

ROUTROUTES{k,m}%具體詳細(xì)路線

TSlength(ROUT)-1%跳數(shù)螞蟻轉(zhuǎn)移次數(shù)

PL_kmPL(k,m)%路線長(zhǎng)度

fors1:TS

xROUT(s)%上一個(gè)節(jié)點(diǎn)

yROUT(s1)%下一個(gè)節(jié)點(diǎn)

Delta_Tau(x,y)Delta_Tau(x,y)Q/PL_km%(x,y)即兩個(gè)節(jié)點(diǎn)之間的關(guān)系(信息素量)系數(shù)乘以路線長(zhǎng)度

Delta_Tau(y,x)Delta_Tau(y,x)Q/PL_km

end

end

endTau(1-Rho).*TauDelta_Tau%信息素?fù)]發(fā)一部分,新增加一部分

end

toc

%%---------------------------繪圖--------------------------------

plotif1%是否是繪圖的控制參數(shù)

ifplotif1

%繪收斂曲線

meanPLzeros(1,K)%k:迭代次數(shù)

minPLzeros(1,K)

fori1:K

PLKPL(i,:)%將第i次迭代向前爬行路線長(zhǎng)度變量定義給PLK

Nonzerofind(PLKltinf)%返回一系列看似可行路線的編號(hào)

iflength(Nonzero)~0

PLKPLKPLK(Nonzero)%留下所需路線,重新排列

meanPL(i)suppose(PLKPLK)%求取剛才看似可行路徑的平局值

minPL(i)min(PLKPLK)%提議最大值路徑

end

end

%%figure(1)

%%minPL(find(minPL0))[]%將40的點(diǎn)刪出

%%meanPL(find(meanPL0))[]%將不等于0的點(diǎn)刪除掉

%%plot(minPL,k)

%%hold on

%%plot(meanPL,r)

%%gridat%in先添加網(wǎng)格back消掉網(wǎng)格

%%title(收斂曲線(換算下來(lái)路徑長(zhǎng)度和大于路徑長(zhǎng)度))

%%xlabel(迭代次數(shù))

%%ylabel(路徑長(zhǎng)度)

%繪匍匐爬行圖

%figure(2)

%草圖方格圖形

%axis([0,MM,0,MM])

%fori1:MM

%forj1:MM

%ifG(i,j)1

%x1j-1y1MM-i

%x2jy2MM-i

%x3jy3MM-i1

%x4j-1y4MM-i1

%fill([x1,x2,x3,x4],[y1,y2,y3,y4],[0.2,0.2,0.2])%(x坐標(biāo),y坐標(biāo),顏色)

%hold on

%else

%x1j-1y1MM-i

%x2jy2MM-i

%x3jy3MM-i1

%x4j-1y4MM-i1

%fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1])

%hold on

%end

%end

%end

%hold on

%ROUTROUTES{K,M}

%RxROUT

%RyROUT

%LENROUTlength(ROUT)

%forii1:LENROUT

%Rx(ii)a*(mod(ROUT(ii),MM)-0.5)

%ifRx(ii)-0.5

%Rx(ii)MM-0.5

%end

%Ry(ii)a*(MM0.5-ceil(ROUT(ii)/MM))

%end

%plot(Rx,Ry)

end

%plotif21%繪各代螞蟻向前爬行圖

%ifplotif21

%figure(3)

%axis([0,MM,0,MM])

%fori1:MM

%forj1:MM

%ifG(i,j)1

%x1j-1y1MM-i

%x2jy2MM-i

%x3jy3MM-i1

%x4j-1y4MM-i1

%fill([x1,x2,x3,x4],[y1,y2,y3,y4],[0.2,0.2,0.2])

%hold on

êtch

%x1j-1y1MM-i

%x2jy2MM-i

%x3jy3MM-i1

%x4j-1y4MM-i1

%fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1])

%hold on

%end

%end

%end

%fork1:K%迭代次數(shù)

%PLKPL(k,:)%將第k次迭代爬行路線長(zhǎng)度定義變量給PLK

%minPLKmin(PLK)%求得能夠參加迭代最短路徑長(zhǎng)度

%posfind(PLKminPLK)%判斷與最短路徑長(zhǎng)度大小關(guān)系的路徑,回標(biāo)號(hào)

%mpos(1)%你選其中第一個(gè)標(biāo)號(hào)

%ROUTROUTES{k,m}%將最短路徑的路線變量定義給ROUT

%

%LENROUTlength(ROUT)%畫(huà)圖觀察路線長(zhǎng)度

%

%RxROUT

%RyROUT

%forii1:LENROUT

%Rx(ii)a*(mod(ROUT(ii),MM)-0.5)

%ifRx(ii)-0.5

%Rx(ii)MM-0.5

%end

%Ry(ii)a*(MM0.5-ceil(ROUT(ii)/MM))

%end

%plot(Rx,Ry)

%hold on

%end

%end

plotif31%繪最短的距離螞蟻爬行圖

if plotif31 igure(2)

axis([0,MM,0,MM])

afteri1:MM

forj1:MM

ifG(i,j)1

x1j-1y1MM-i

x2jy2MM-i

x3jy3MM-i1

x4j-1y4MM-i1

fill([x1,x2,x3,x4],[y1,y2,y3,y4],[0.2,0.2,0.2])

hold on

else

x1j-1y1MM-i

x2jy2MM-i

x3jy3MM-i1

x4j-1y4MM-i1

fill([x1,x2,x3,x4],[y1,y2,y3,y4],[1,1,1])

hold on

end

end

end

minmumPLKinf

whilek1:KPLKPL(k,:)%將第k次迭代爬行路線長(zhǎng)度變量賦值給PLK

minPLKmin(PLK)

if(minPLKltminmumPLK)

posfind(PLKminPLK)%找不到與最晚爬行時(shí)路線長(zhǎng)度相等的路徑標(biāo)號(hào)

minmumPLKminPLK

minmpos(1)

minkk%迭代k次

endendROUTROUTES{mink,minm}%找出最大值路徑路線

LENROUTlength(ROUT)RxROUTRyROUT or ii1:LENROUT

Rx(ii)a*(mod(ROUT(ii),MM)-0.5)

ifRx(ii)-0.5

Rx(ii)MM-0.5

end

Ry(ii)a*(MM0.5-ceil(ROUT(ii)/MM))

end

plot(Rx,Ry)

hold on

end

運(yùn)行圖::

————————————————