即時嘗試實現我的negamax alpha beta算法的時間限制,但我似乎無法弄清楚。我試圖實現的是:開始計算移動,如果計算沒有在5秒內完成,則返回此時的最佳移動。功能的C++時間限制
我該怎麼做? 它甚至可能與negamax?
的negamax僞代碼:
01 function negamax(node, depth, α, β, color)
02 if depth = 0 or node is a terminal node
03 return color * the heuristic value of node
04 childNodes := GenerateMoves(node)
05 childNodes := OrderMoves(childNodes)
06 bestValue := −∞
07 foreach child in childNodes
08 v := −negamax(child, depth − 1, −β, −α, −color)
09 bestValue := max(bestValue, v)
10 α := max(α, v)
11 if α ≥ β
12 break
13 return bestValue
如果需要的話我可以加我的C++實現的negamax算法
只需檢查循環中經過的時間。 –
@ KarolyHorvath好的,但是我怎樣才能確保我在5秒後返回當前最佳值? – FrankK
「最佳價值」是什麼意思? –