1 / 23

Solving TSP & NPQ with Hopfield-Tank Network

Solving TSP & NPQ with Hopfield-Tank Network. 2014/8/19. Hopfield-Tank Network(HTN). 步驟流程: 為問題設計狀態變數 (State variables) 與 狀態函數 ( State function) 設計限制函數 (Constraints) 與目標函數 (Cost function) 建構組合最佳化的能量函數 (Optimal energy function) 根據能量函數 (Energy function) 推導出連結權重值 (Weights) 與偏權值 (Bias)

robbin
Download Presentation

Solving TSP & NPQ with Hopfield-Tank Network

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Solving TSP & NPQwithHopfield-Tank Network 2014/8/19

  2. Hopfield-TankNetwork(HTN) • 步驟流程: • 為問題設計狀態變數(State variables)與狀態函數(State function) • 設計限制函數(Constraints)與目標函數(Cost function) • 建構組合最佳化的能量函數(Optimalenergy function) • 根據能量函數(Energy function)推導出連結權重值(Weights)與偏權值(Bias) • 建立狀態初始值(Initial State),初始值會成為下一次狀態的輸入 • 不斷迭代更新狀態變數,直到網路收斂時就是此次最佳化結果

  3. HTN網路動態更新 • 更新網路的動態方程式如下: • 更新方式分為 • 非平行式(Asynchronous):狀態值逐一更新,更新後的狀態值會影響到下一次其他狀態值的更新。 • 平行式(Synchronous):狀態值一起更新,不立即更新,不會影響到其他狀態值更新還是由前一次狀態來決定。 • 目前使用HTN是以非平行式(Asynchronous)的方式。

  4. HTN設計 • HTN對於初始狀態與參數設計相當敏感… • 初始值的決定 • 是以最陡坡降法(steepestdescent)的概念去搜尋最佳狀態值,很容易卡在區域最佳解(local minimum) • 計算權重值參數的調整 • 可能會出現滿足限制條件,但設計結果不佳 • 或是滿足設計結果卻限制條件不合

  5. Travelling Salesman Problem(TSP) • 問題敘述: • 一旅行推銷員要到N個城市做生意,找出一條從某城市出發,連貫這些城市,又回到原出發城市的最短路徑。 • 狀態要求: • 限制條件: • 每一個城市只去一次。 • 每一次只去一個城市。 • N 個城市都要到。 • 目標條件: • 最短路徑。

  6. HTN example:TSP-1 • State function

  7. HTN example:TSP-2 • Energy function • E

  8. HTN example:TSP-3 • Dynamic Network =1 , if =, if =0 , if

  9. TSP實作 • 實驗流程 • 初始化Weights、Bias • 初始化State function • 計算Energy function • Loop: • 更新State function • 計算Energy function • 檢查是否達到能量收斂(converge) • 獲得最佳解(Optimal solution)

  10. TSP實作-參數調整-1 • A=B=C=D=100

  11. TSP實作-參數調整-2 • A=B=C=100, D=0

  12. TSP實作-參數調整-2

  13. TSP實作改進 • 如同之前所說: • 參數調整可能會出現滿足限制條件,但設計結果不佳(掉入local minimum) • 在確定滿足限制條件之下,在穩態之後,加入雜訊(Noise,隨機更改部分狀態值),重新找尋最小值。 • 結果:穩態後還是有機會再往下掉,平均數值有些許的改善。

  14. N-Queens Problem(NPQ) • 問題敘述: • 以西洋棋為基礎,在N×N的西洋棋盤上,放置N個皇后,使得任何一個皇后都無法直接吃掉其他的皇后。 • 狀態要求: • 限制條件: • 直排或橫列不可以有其他皇后。 • 皇后所在對角線不可有其他皇后 • 棋盤上須放置N個皇后

  15. HTN example:NQP-1 • State function • = 1, 有皇后 • = 0, 沒有皇后

  16. HTN example:NQP-2

  17. HTN example:NQP-3

  18. HTN example:NQP-4

  19. NQP實作 • 實驗流程 • 初始化State function(all 0, all 1, all random) • 計算Energy function • Loop: • 隨機更新neuron( i, j ),重複5*N2 • 計算Energy function • 檢查是否達到能量收斂(converge) • 獲得最佳解(Optimal solution) • (參數:A=B=C=100)

  20. NQP實作結果 • Initial State: • All {0}

  21. NQP實作結果 • Initial State: • All {1}

  22. NQP實作結果 • Initial State: • All random

  23. Reference • “Solving the N-Queens Problem with a binary Hopfield-type network.Synchronousand asynchronous model”Published in Biological Cybernetics 72(5), 439-446, (1995)

More Related