看板 comm_and_RF 關於我們 聯絡資訊
※ 引述《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
mrporing:不同長度的交配我想過,我想就是會利用 1.172.124.233 01/17 00:45
mrporing:均等交配來作演化,配合突變來保留最好的 1.172.124.233 01/17 00:47