今天是歡樂(--崩潰--)滿堂日
Happy Wednesday...
昨天講解完 mcga 後
今天就要來講解另一個genalg
剛剛打一半就不見了 崩潰 rrrrr
R Documetation : https://www.rdocumentation.org/packages/genalg
rbga跟前兩天的介紹的有幾個特別的地方monitorFunc可以透過這個函數來監看每一個函數優化的結果plot.rbga可以用來繪製基因演算法的各世代的結果summary.rbga可以來總覽詳細的結果
R based genetic algorithm for binary and floating point chromosomes.
由此可知genalg可以用在二元或是浮點數的染色體計算
今天先講解binary的部分
R Documetation : https://www.rdocumentation.org/packages/genalg/versions/0.2.0/topics/rbga.bin
rbga.bin(size=10,
suggestions=NULL,
popSize=200,
iters=100,
mutationChance=NA,
elitism=NA,
zeroToOneRatio=10,
monitorFunc=NULL,
evalFunc=NULL,
showSettings=FALSE,
verbose=FALSE)
size:一個染色體的基因數量suggestions:建議染色體列表popSize:群體iters:迭代的數量,世代mutationChance:突變機率elitism:菁英政略保留的數量zeroToOneRatiomonitorFunc:監控每一代計算過後的結果evalFunc:計算染色體的適應函數showSettings:顯示相關參數設定,預設值為defaultverbose:顯示詳細設定,預設值為default
這邊會先用官網的範例示範一次
今天所使用的程式碼都來自R Documetation
第一次使用的時候要先安裝套件
install.packages("genalg")
library(genalg)
evaluate <- function(string=c()) {
returnVal = 1 / sum(string);
returnVal
}
plot(rbga.results)
這邊的設定都先跟官網一樣
rbga.results = rbga.bin(size=10, mutationChance=0.01, zeroToOneRatio=0.5,
evalFunc=evaluate)
plot(rbga.results)

不知道這樣的講法大家能不能更加認識
我想就這樣一步一步帶大家瞭解基因演算法的奧妙(誤)
今天的程式碼也會放到Github上
相關資料來源:
R Documetation : https://www.rdocumentation.org/packages/genalg