蝴蝶優化演算法

2021-10-19 13:34:08 字數 1368 閱讀 8606

參考文獻

群智慧型演算法學習筆記

筆記內容和****可能會不斷改動

如有不當之處,歡迎指正

為了理解boa中的香味是如何計算的,首先需要理解,像氣味、聲音、光、溫度等這樣的模態是如何計算的。感知、處理這些模態需要知道三個重要的術語:感覺模態c、刺激強度i和冪指數a。在感覺模態中,感覺意味著測量能量的形式並以類似方式對其進行處理,而模態是指感測器使用的原始輸入。不同的形態可以是氣味,聲音,光線,溫度,在boa中,模態是香味i是物理刺激的大小。在boa中,i與蝴蝶/解決方案的適應度相關。這意味著,當乙隻蝴蝶散發出更多的香味時,周圍的其他蝴蝶可以感知到並被吸引。冪是強度增加的指數。引數a允許正規表示式、線性響應和響應壓縮。響應擴充套件是當i增加時,香味(f)比i增長更快。響應壓縮是當i增加時,f比i增長慢。線性響應是當i增加時,f成比例地增加。經實驗證明,有時隨著刺激的增強,昆蟲對刺激變化的敏感性變得越來越低。因此在boa中,為了估計i的大小,使用了響應壓縮。

蝴蝶的自然現象基於兩個重要問題:i的變化和f的表示。簡單地說,蝴蝶的i與編碼後的目標函式相關聯。但是,f是相對的,即應該由其他蝴蝶來感知。史蒂文斯冪定律中,為了將氣味與其他形式區別開來,使用了c。現在,當i較少的蝴蝶向i較多的蝴蝶移動時,f比i增加得更快。因此,我們應該允許f隨冪指數引數a實現的吸收程度而變化。在boa中,香味被表示為刺激物的物理強度的函式,如下所示:

其中f為香味的大小,即其他蝴蝶感知到的香味強度,c 為感官模態,在[0,1]之間取值;i 為刺激強度;a 為冪指數,在[0,1]之間取值。在乙個極端情況下,a=1,意味著乙隻特定蝴蝶發出的香氣量被其他蝴蝶以同樣的能力感知到,這相當於說香味是在理想化的環境中傳播的,在這個區域的任何地方都可以感覺到乙隻散發著香味的蝴蝶。因此,可以很容易地達到單個(通常是全域性的)最優值。另一方面,如果a=0,這意味著任何乙隻蝴蝶散發出的香味都不會被其他蝴蝶感覺到。所以,引數a控制演算法的行為。另乙個重要引數是c,它也是決定boa演算法收斂速度和效能的關鍵引數。理論上c∈[0,∞],但實際上是由待優化系統的特性決定的。a和c的取值對演算法的收斂速度有重要影響。在最大化問題中,強度可以與目標函式成正比。

t和xk

t是解空間中的第j個蝴蝶和第k個蝴蝶。

蝴蝶尋找食物、交配夥伴可以在區域性和全域性範圍內發生。考慮到地理上的接近和各種其他因素,如雨、風等,在整個交配夥伴或蝴蝶的覓食活動中,尋找食物可能佔很大比例。因此,在boa中使用切換概率p來在普通全域性搜尋和密集區域性搜尋之間切換。

在未達到停止標準之前,一直進行迭代。迭代結束的標準可以有多個,如使用的最大cpu時間、達到的最大迭代次數、沒有改進的最大迭代次數、達到錯誤率的特定值或任何其他適當的標準。當迭代階段結束時,演算法輸出具有最佳適應度的最優解。

蝴蝶的啟示

一天,乙隻繭上裂開了乙個小口,有乙個人正好看到這一幕,他一直在觀察著,蝴蝶艱難地將身體從那個小口中一點點地掙扎出來,幾個小時過去了 接下來,蝴蝶似乎沒有任何進展。看樣子它似乎已經竭盡全力,不能再前進一步了 這個人實在看得心疼,決定幫助一下蝴蝶 他拿來一把剪刀,小心翼翼地將繭破開。蝴蝶很容易地掙脫出來...

flash手繪蝴蝶

1b 1 先畫翅膀,用鋼筆就可以。慢慢調一下吧.2 複製 翻轉。調整一下位置。3 畫身體部分,一樣是簡單的線條 畫的時候最好新建一層,因為以後要做動畫的 4 填充顏色。還是簡單的不規則圖形,邊框色為黑色,2個畫素。填充色三或四種,桔黃色調就可以了。邊框粗細和顏色根據自己的圖形大小掌握。5 下面的翅膀...

Qt 飛舞的蝴蝶

mainwindow.h ifndef butterfly h define butterfly h include include class butterfly public qobject public qgraphicsitem endif butterfly h end end end e...