当前位置: 首页>编程笔记>正文

光線追跡matlab編程,matlab智能算法之螢火蟲算法

光線追跡matlab編程,matlab智能算法之螢火蟲算法

智能算法之螢火蟲算法

    • 1.起源
    • 2.螢火蟲發光求偶
      • 2.1 雌雄螢火蟲
      • 2.2 求偶過程
    • 3.原理
      • 3.1 閃光強度
      • 3.2 吸引力
      • 3.3 螢火蟲移動
    • 4.具體流程

1.起源

螢火蟲群優化算法是2005年由 KrishnanandKrishnanandKrishnanandGhoseGhoseGhose 在研究改進蟻群算法求連續型最優化問題時提出的,并且成功將其用于機器人群體協作。算法的起源是來自螢火蟲在夜晚發出光亮進行求偶,雄性螢火蟲發光越亮,越能吸引雌性螢火蟲。

2.螢火蟲發光求偶

2.1 雌雄螢火蟲

一般的雌螢火蟲由于翅膀接近于退化,而且因為雌螢火蟲要產卵,腹部體積會比雄螢火蟲大,所以它們一般都只能趴在一個地方發出求偶的信號,等待別的雄螢火蟲來和它交配;而雄蟲為了有更大的發光亮度吸引雌螢火蟲,且在黑夜中找到雌螢火蟲,所以發光器有兩排光,復眼也比較發達。如果雌螢火蟲的回復得到了雄螢火蟲的答復,那它們就會以同樣的方式進行聯系,直到兩者在一起。雄螢火蟲越亮,對雌螢火蟲的吸引力越強。

2.2 求偶過程

光線追跡matlab編程。一到繁殖季節的時候,雌雄螢火蟲都能通過發光來尋找自己的配偶。在尋找配偶的時候,雌雄雙方都會發出一閃一閃的亮光作為信號。具體為:在一定范圍內,雄螢火蟲在夜色里一邊飛行,一邊發出有節奏的閃光信號,然后趴在原地的雌螢火蟲根據雄螢火蟲發光亮度的強弱進行擇偶,通常都是選擇對發光亮度最強的,也就是看起來最亮的雄螢火蟲做出發光回應。

3.原理

根據螢火蟲的求偶方式,可以發現求偶的關鍵有:閃光強度吸引力。而且標準螢火蟲優化算法遵循三個理想化規則:
1、螢火蟲不分雌雄,假設都為中性;
2、螢火蟲的吸引力和自身的閃光強度成正比,所以閃光亮度弱的螢火蟲,都會被更亮的螢火蟲吸引;
3、螢火蟲的閃光強度受到適應度函數景觀的影響。

3.1 閃光強度

螢火蟲的閃光強度與適應度函數是成正比的;每個螢火蟲都可以看成是問題的一個解,則可以得到 I(r)∝f(x)I(r) \propto f(x)I(r)f(x),其中 f(x)f(x)f(x) 則為 xxx 的目標函數,也就是這里的適應度, I(r)I(r)I(r) 是間隔距離為 rrr 的閃光強度,具體公式如下:I(r)=I0e?γrij2I(r)=I_0e^{-\gamma r^2_{ij}}I(r)=I0?e?γrij2? 其中,I0I_0I0? 為光源處的亮度,γ\gammaγ 為光強吸收系數,rijr_{ij}rij? 表示螢火蟲 iii 和螢火蟲 jjj 之間的歐式距離:rij=∑k=1n(xik?xjk)2r_{ij}=\sqrt {\sum_{k=1}^n(x_{ik}-x_{jk})^2}rij?=k=1n?(xik??xjk?)2? xikx_{ik}xik? 表示螢火蟲 iii 在維度 kkk 上的值。

3.2 吸引力

螢火蟲的吸引力和距離、光強有關,所以函數在這里設計如下單調遞減函數:β(r)=β0e?γrijm,m≥1\beta(r)=\beta_0e^{-\gamma r_{ij}^m}, \quad m \geq 1β(r)=β0?e?γrijm?,m1 其中,β0\beta_0β0? 表示兩螢火蟲距離為 000 時的吸引力,也就是最大吸引力;mmm222,當距離 rrr 變大時,吸引力則變小,反之則變大;對于規模為 Γ\GammaΓ 的螢火蟲群,γ\gammaγ 的初值可以為:γ=1Γm\gamma = \frac{1}{\Gamma^m}γ=Γm1?γ=0\gamma=0γ=0 時, β(r)=β0\beta(r)=\beta_0β(r)=β0?,也就是此時種群十分密集,吸引力達到最大;當 γ\gammaγ 趨于 ∞\infty 時,β(r)=0\beta(r)=0β(r)=0,此時相當于螢火蟲在迷霧發光,其它螢火蟲看不見,吸引力幾乎為 000,所以 γ∈[0.1,10]\gamma \in[0.1,10]γ[0.1,10]

3.3 螢火蟲移動

螢火蟲 iii 被螢火蟲 jjj 吸引后,會發生移動,移動公式為:xi(t+1)=xi(t)+β(r)(xj(t)?xi(t))+s?ix_i(t+1)=x_i(t)+\beta(r)(x_j(t)-x_i(t))+s \epsilon_ixi?(t+1)=xi?(t)+β(r)(xj?(t)?xi?(t))+s?i? 公式分為三部分:螢火蟲 iii 在第 ttt 次的位置項 xi(t)x_i(t)xi?(t),吸引力項 β(r)(xj(t)?xi(t))\beta(r)(x_j(t)-x_i(t))β(r)(xj?(t)?xi?(t)),移動步長項 s?is \epsilon_is?i?;其中 sss 為螢火蟲的移動步長,?i\epsilon_i?i? 為服從正態分布的隨機數向量,通常取值范圍為 [?0.5,0.5][-0.5,0.5][?0.5,0.5]。在實際中,通常取 β0=1,s=0.2\beta_0=1,s=0.2β0?=1,s=0.2

4.具體流程

matlab優化算法 100例、(1)(1)1初始化:初始化螢火蟲優化算法參數 γ,s\gamma,sγ,s,生成初代種群,計算種群每個個體的適應度 f(x)f(x)f(x)
(2)(2)2移動:計算每只螢火蟲相對其它螢火蟲的閃光強度 I(r)I(r)I(r),然后亮度小的螢火蟲向著亮度大螢火蟲的方向移動,得到新的位置 x′x'x,移動完后計算新的個體適應度 f(x′)f(x')f(x)
(3)(3)3終止:判斷是否達到算法的終止條件,若沒有達到,則繼續進行步驟(2)(2)2,直至終止。

https://www.nshth.com/bcbj/211008.html
>

相关文章:

  • 光線追跡matlab編程
  • matlab優化算法 100例
  • 螢火蟲算法應用場景
  • matlab算法有哪些
  • 魚群算法和蟻群算法
  • matlab隨機森林預測算法
  • 智能算法優化pcnnMatlab
  • 螢火蟲發光仿生
  • 2019北京智源大會,智源 - 看山杯 專家發現算法大賽 2019 知乎
  • 電腦id和ip是一個嗎,【運維心得】網絡ID與網絡IP的區別你知道嗎?
  • Deep Learning for Matching in Search and Recommendation 搜索與推薦中的深度學習匹配(1 引言)
  • woocommerce好用嗎,woocommerce 分類到菜單_我如何為每個WooCommerce產品類別創建不同的菜單?
  • wordpress底部菜單插件,sysbios掛鉤函數使用_使用動作掛鉤自定義WordPress主題
  • 醫學影像成像原理,醫學成像模式~~~
  • 學生請假系統app,基于微信小程序的學生請假系統開發
  • 上課睡覺,學生上課睡覺班主任怎么處理_學生上課睡覺,你能正確處理嗎?
  • 對計算機老師的課堂教學評價,計算機課學生評價用語,關于學生上課的評語及評課用語
  • 為什很多學生上課睡覺,學生上課睡覺班主任怎么處理_學生上課睡覺怎么辦
  • win10小盾牌怎么去掉,windows10軟件圖標去除小盾牌
  • matlab常用命令,matlab基礎之變量,matlab基礎知識(4):特殊變量
  • 應用程序右下角有個盾牌,Win7文件右下角盾牌標志去除方法---UAC阻止程序運行
  • 對ui設計的理解和認識,我對于UI設計這個領域的理解
  • 視頻直播間有哪些,直播平臺必備-百度音視頻直播 LSS
  • obs可以推流到哪些直播平臺,新版RTMP推流協議視頻直播點播平臺EasyDSS在進行視頻直播/錄像回看時如何創建視頻錄像計劃?
  • 歐美國家需要輸入法嗎,Mac刪除默認美國輸入法
  • iphone12忘記鎖屏密碼怎么解鎖,APPLE
  • 簡體字比繁體字的好處,雜談對抽象事物的審美——繁體字與簡體字,孰美?
  • 互聯網醫美是什么,醫美互聯網公司:新氧
  • 英語陳述句疑問句祈使句感嘆句,Wh問句,疑問句,祈使句,感嘆句,10
  • 反卷積原理,超越 ConvNeXt、RepLKNet | 看 51×51 卷積核如何破萬卷!
  • 三星最新概念機,三星提出XFormer | 超越MobileViT、DeiT、MobileNet等模型
  • 統計學屬于哪個大類,第四章 專業統計(上)-統計實務
  • json模塊,模塊講解——time,datetime,json,os,requests
  • 微信復制別人的話中間有虛線,微信小程序——繪制折線圖
  • 流固耦合作用,2018結構、流體、熱分析、多物理場耦合、電磁仿真計算特點與硬件配置方案分析
  • 流固耦合作用,結構、流體、熱分析、多物理場耦合、電磁仿真硬件配置推薦2018
  • 倉庫主管崗位職責,LeetCode:Database 115.倉庫經理
  • ios如何卸載軟件,ios13測試版怎么卸載軟件,蘋果手機升ios13.2后怎么刪除app ios13.2卸載軟件應用方法...