布穀鳥演算法挖礦
發布時間: 2021-07-18 17:17:14
① 布穀鳥演算法發現概率為什麼取0.25
如果是猜某一個的密碼那是100萬分之一。
如果是你猜一個密碼,這個密碼是不是這100萬賬戶的一個,概率是1-(0.^)
② 有人用MATLAB研究布穀鳥搜索演算法嗎
這個簡單,寫成目標函數,初始化參數粒子,利用粒子群優化即可。
③ 求大神解惑 布穀鳥演算法中fobj函數中的公式什麼意思
目標:求x在[0,1]之內的函數y=(x-0.5)^2+1最小值
(1)初始化x的位置,隨機生成4個x坐標,x1=0.4,x2=0.6,x3=0.8,x4=0.3 ——> X=[0.4, 0.6 ,0.8, 0.3]
(2)求出y1~y4,把x1~x4帶入函數,求得Y=[1,31, 1.46, 1.69, 1.265],並選取當前最小值ymin= y4=1.265
(3)開始定出一個y的最大值為Y_global=INF(無窮大),然後與ymin比較,把Y中最小的位置和值保留,例如Y_global=INF>ymin=1.265,所以令Y_global=1.265
(4)記錄Y_global的位置,(0.3,1.265)。
(5)按概率0.25,隨機地把X中的值過塞子,選出被發現的蛋。例如第二個蛋被發現x2=0.6,那麼他就要隨機地變換位子,生成一個隨機數,例如0.02,然後把x2=x2+0.02=0.62,之後求出y2=1.4794。那麼X就變為了X=[0.4, 0.62 ,0.8, 0.3],Y=[1,31, 1.4794, 1.69, 1.265]。
(6)進行萊維飛行,這名字聽起來挺高大上,說白了,就是把X的位置給隨機地改變了。怎麼變?有一個公式x=x+alpha*L。
熱點內容