作者lovewa (On my way)
看板comm_and_RF
標題Re: [問題] 用基因演算法演化不定長度的碼
時間Thu Jan 16 17:51:51 2014
※ 引述《mrporing (波利先生)》之銘言:
: 基因演算法中,通常我的一群染色體都是長度一樣的,不過現在我有碰到個問題是
: 我想演化可能不同長度的染色體,這個在基因演算法有方法實做嗎,謝謝。
: 我的問題描述是:
: 不用十進位跟二進位去互相轉換算fitness function,我基本上就是產生一組亂數
: 的二位元矩陣,裡面的長度可能不盡相同,如
: A=[0 1 1 0 ; 1 0 0 ; 1 1 ]
: 各有各的發生機率,每一列長度越短的發生機率越大,而且條件還有一個是自己不
: 能是其它碼的字首(跟霍夫曼編碼一樣)
: 當然我的A矩陣可能會很大,所以初始矩陣隨機產生的一定不會很好,就必須要透過
: 各種演化去達到我的目的。
我並不是這領域的專家,所以只是說說自己的想法,隨便看看就好
在不同長度的狀況下,做crossover確實有點奇怪。(mutation倒是還好)
不過如果你只是要"一種做法"而已,倒也不是做不到。
譬如,假設有兩個不同長度的碼字要交配,令碼字表示為A和B,且A的長度>B的長度
在這個情況下,你可以把A前面和B相同長度的部分作調換當作一種crossover的方法
我猜你最後的目的應該是希望能夠最小化碼字的平均碼長吧?
如果是的話,在整個演化的過程,你或許還需要一個機制來調整碼長的增減
譬如設定一個機率來做碼字的truncation或extension...
整個想起來,設計的空間很大...大到有點不知道怎麼掌控才好...=.="""
--
現代人普遍的現象:
「小學而大遺」、「捨本而逐末」、「以偏而概全」、「因噎而廢食」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.74.171
1F:推 mrporing:不同長度的交配我想過,我想就是會利用 1.172.124.233 01/17 00:45
2F:→ mrporing:均等交配來作演化,配合突變來保留最好的 1.172.124.233 01/17 00:47