制定規則
假設有100個國家,每個國家有乙個獨特的編號,例如1號國家,2號國家…100號國家這樣。每個國家有個cost function: c1,
c2..
...c
100c_1, c_2 .....c_
c1,c2
...
..c1
00。100個國家中,有10個帝國,90個殖民地。
初始化帝國對於求rastrigin 函式全域性最優問題,就是求乙個二維座標座標下, x 和 y的值。
同化簡單說就是殖民地向領主(帝國)靠近。同化完成過後,重新比對某個帝國的cost function 與其 擁有的殖民地的 cost function,如果某個帝國的cost function 比 被殖民的某個國家還大(最小化優化問題),則兩級反轉,帝國變殖民地,殖民地變帝國。
競爭靠的是實力。帝國演算法競爭步驟需要計算乙個帝國的綜合勢力:帝國自己的勢力與全部殖民地的勢力的總和。
競爭的物件就是最弱帝國的最弱殖民地。
t .c
nt.c_n
t.cn
是乙個帝國的全部總價值,f(i
mpn)
f(imp_n)
f(impn
)是乙個帝國的cost function值。ζ
\zeta
ζ是自定義引數,相對於殖民地勢力的權重。f(c
oli)
f(col_i)
f(coli
)是i號殖民地的cost function 值。
step 4. 帝國滅亡
當乙個帝國沒有了殖民地,這個帝國就會滅亡。
Linux 併發與競爭詳解
多個任務 中斷都能訪問的資源叫共享資源,在驅動開發中注意對共享資源的保護,防止共享資源的併發訪問造成混亂。1 什麼是併發?答 併發就是多個 使用者 同時訪問同乙個共享資源,併發訪問帶來的問題就是競爭。2 什麼是競爭?答 linux 是多工作業系統,肯定存在多個任務共同操作同一段記憶體或裝置,這些任務...
RSA演算法詳解與舉例
一 基礎 rsa演算法非常簡單,概述如下 找兩素數p和q 取n p q 取t p 1 q 1 取任何乙個數e,要求滿足e 取d e t 1 這樣最終得到三個數 n d e 設訊息為數m m 設c m d n就得到了加密後的訊息c 設m c e n則 m m,從而完成對c的解密。注 表示次方,上面兩式...
冒泡演算法詳解及與插入演算法區別
氣泡排序 從字面上理解,就好像水裡的氣泡,大的慢慢冒出來,小的沉下去。而氣泡排序的核心思想就是通過迴圈陣列,將陣列邏輯上分為已排序和未排序陣列,然後遍歷迴圈未排序陣列,將未排序陣列中最大或者最小的加入到已排序陣列中,直至未排序陣列為空。最後得到乙個有序陣列。下面看一組陣列演示 int a 從大到小排...