2012年5月17日 星期四

改善內插法導入超啟發概念

看了快半小時 終於翻到 想要的函式

randperm 亂數生成函式

randi , rand  , linesace

一直在想怎麼找出一個限定數值內又具備亂數的元素容器工具

想到之前寫相交公式的時候用到的數值生成函式

在加上亂數分佈,要如何生出想要的函式

好險有找到,省下自己寫副程式的時間


這次 內插法,我想到直接用 GA 可以改善內插法的後續問題

內插法目前,開始使用亂數排序當DEMO

我先挑起 10~20組解  , 在設定一個門檻值 可能85~90%的解

當我的基因池,開始做交配的動作

可能 門檻值跟基因池的設定可以縮短找解空間的時間複雜度

可是在門檻值的部份比較麻煩,寫好之後

第一次跑居然跑到準確率88.95%,比TABU 禁忌表還好

我都爽了一下,在之後開始就沒有到88%過了囧

好像是以前在玩天堂甩骰子一樣,每按一下F5 就在丟能力值

有時候可以骰到寫牛,骰到 力牛,或是精智法或是少見的力體法

那種跑結果的FU有點爽,沒想到寫演算法可以有這種FU

真是不錯,當設門檻值後,這部份可能要花時間跑 找符合值的基因序列

所以要等集滿基因池的序列組,才開始進行交配進化 . . . . .

門檻值越高,相對基因序列的染色體相對猜中最佳解的機會就越高

在進行交配機率相對當然提高,門檻值 基因池 跟 基因演算法的

突變率、交配方式都有一定的關係,不過這應該是可以預期寫得出來的

所以樂觀其成。

大致上 想到的方法是 while 去跑 門檻直的基因序列挑選

當達到預設的基因池序列數量,就開始跑 交配 演算法

到時候要讀懂 基因演算法的精神 ,希望下禮拜可以寫出來 。


     84%

    89.9%

   90%

雖然是90% 但是跟最佳解的相似度 並不高......
不是個什麼好現象,所以要是相似度不高的基因序列被放到基因池裡面
訓練交配的話,不是什麼好下場,要跑到最佳解 . . . .
真的有得等,所以基因池裡的基因序列真的很重要
要是相似度高的,樂觀其成!! 要是相似度低的真的是有得等了 . . . . . .
要砍掉重練,所以基因的配對世代次數很重要,不能虛耗太多時間複雜度在這個上面



  90.26%

   90.8%




    92.5%  大約骰第20次左右,目前最好的結果,破90!

凌晨 3:19

   骰出   93%   QQ


PS: 從以上圖形中發現,有可能正確率到90% 可是跟最佳解的染色體組合差很多

          要是真的遇到這種狀況,就算找了10組20組跑出來的解要交配出最佳解

          我看也很難 . . . . . . . . .

         有可能這種情況交配後的結果會落入 

         僵局 !!!    . . . 永遠都找不到最佳解

         可能的方式,就是把基因池裡面的序列放棄重新來過 !!
           
         重新找 基因染色體的序列組,再重做一次 !!


剛剛在跑圖形的時候,突然有個靈感,在基因池的篩選過程中

我的相交公式嚴格說起來也可以當作是門檻值在用

不過效益很像不大  .. . . . . .. . . . . . . 當 有相交現象產生時

必定不是最佳解組合可以考慮拋棄, 但是很多組合都也不是最佳解

真的是要孰輕孰重阿 . .. .  基因的特點要放在 相似度 也就是Fitness

這點倒是說得很傳神!! 相似度 像或不像!  在TSP圖形上真的特別明顯

要是不像的下去跑,怎麼跑都不像。﹍。

要是像的下去跑,怎麼跑都像 . . . . O﹍O

當 正確率高的狀況下,就可以考慮放進基因池 

先決條件是,準確率高的基因染色體序列 相似度要高才有用

不然準確率高,染色體序列相似度不高也沒用

所以要想出很多機制去挑選染色體序列的基因組,不然放進基因池也是做白工

PS: 我在觀察低於80%以下的圖形很多幾乎都有愛心問題

         很多線段都有相交到!!理論上完美的內插法不應該出現相交問題       
         
         要透過 深度雙向連結上的重新改善下手,要從連結串列的深度逆向追蹤下手才行














寫了一個迴圈跑100結果準備 觀測
最後懶得跑 只到37次就停了,沒想到跑出兩次超過95%以上的結果


第32次 96.95
第34次 99.03




BUG !! 設迴圈下去跑,居然題庫沒有全部載入

糗 . . . .. . . . .  MATLAB 是哪招  . . . .






http://www.more.ms.unimelb.edu.au/students/operationsresearch/lecturenotes/620362_Heuristics.pdf

沒有留言:

張貼留言