-
Notifications
You must be signed in to change notification settings - Fork 0
Description
(先選擇train_optimization分支,再開始寫程式)
目標:訓練一個神經網路,輸入外殼,輸出強度高的內部結構。
作法:
在資料夾train中,寫一個train_optimization.py。
透過類似alphago 的作法,在train_optimization.py,寫一個強化學習。神經網路的輸入是一個三維矩陣boundary,輸出是一個三維矩陣points和鍵結機率probability。
boundary: 是一個三維矩陣,代表外殼,有材料的部分是1,其他空的地方是0。
points:是三維矩陣, 代表內部的一些點,有點的位置是1,無點的位置是0。
probability :是一個介於0~100的正實數。
透過調用create_structure()可以從boundary,points和probability建構出一個結構structure。將兩個結構structure1和structure2輸入win()可以得出哪一個結構較好。
假設下面的程式已寫好,並放在同一個資料夾,程式分別放在structure_test.py和battle_test.py裡:
structure_test.py:
有一個函式create_structure(boundary,points,probability)會輸出一個三維矩陣structure。
def create_structure(boundary,points,probability):
return structure
battle_test.py:
有一個函式win (structure1, structure2),輸出兩個值,score1, score2,如果structure1比structure2強則輸出1, 0,反之則輸出0, 1。
def win (structure1, structure2):
return score1, score2