Transcript Project #2
Project #2 NN-based Heuristics 參考 Project#1 之分組,每 1~2 組合併為新的一組。 作業內容延續15-puzzle的解題 自行蒐集已知最佳解步數的 Training data (Instances) 對於每個 Instance S, 取得 input: u1(S), u2(S) 與 output: t(S) 設計並訓練類神經網路 以訓練完成的類神經網路進行 Project#1 之解題 請說明你的硬體規格(CPU/RAM/OS) 對於六個題目,使用訓練好的類神經網路為啟發函數,紀錄其 (1)所需步數,(2)解題時間,(3)完成時所存放的節點數(OPEN/CLOSE/SUM) 書面報告格式: 題目說明、介紹所使用的NN架構及參數、實驗結果、結果討論、作業心得 須繳交Word(2003)檔案 助教賴弘文(5963) 作業 Demo 時間 6/8 7:00 p.m~9:00 p.m (逾期不候) 六個題目 0~14為數字方格,15為空格 各方塊 Ni 之目標位置為 自行蒐集已知最佳解步數的訓練資料 提示(一),擴充 Training Instances 設計一道題型,假設其最佳解為 20 steps. 即相當於獲得 20 個已知最佳解步數的 instances 提示(二),15-Puzzle 之平均解題步數 經研究導出,15-Puzzle 之平均解題步數為 40 steps 提示(三),15-Puzzle 題型 N 有解之條件必需 S(N) 為偶數 取得 input: u1(S), u2(S) 與 output: t(S) Input Features v1(S), v2(S), Output Values h*(S) 類神經網路正規化[0,1] u1(S) = v1(S)/52.83 u2(S) = v2(S)/31 t(S) = h*/50 • hNN(S) = a(S) * 50 設計並訓練類神經網路 Hidden Layer 1~2 層即可,例如 2-4-1 或 2-3-3-1 每個 Nero 皆使用 bias 較易收歛 亦即上層加一個 constant 1 的特別輸出值過來 使用 sigmoid 作為 squash function 亦可嚐試更改對應範圍並改用 tanh function 效果會更好 Learning Rate h = 0.01~0.2 這只是一般建議值 Training Data/ Test Data 可將 1/3 的已知資料作為 test data (其餘為 training data) 訓練完畢後,驗證訓練結果在兩組資料間的偏差 以訓練完成的類神經網路進行 Project#1 之解題 對每個 State 計算 u1(S) = v1(S)/52.83 u2(S) = v2(S)/31 使用類神經網路取得 a(S) hNN(S) = a(S) * 50 計算 evaluation function f(S) = g(S) + hNN(S) 不必取整數