前言:
本科階段的博弈比賽用的比較基礎的算法是極大極小值算法以及Alpha-Beta算法,找了很多資料寫得很模糊,要麼就是語言不通用講起來十分奇怪。
找了很久收藏了幾個有意思的算法。
極大極小值算法:
http://web.cs.ucla.edu/~rosen/161/notes/alphabeta.html
直接上文獻
Alpha-Beta算法
直接上文獻
僞代碼
<code class="language-cpp">AlphaBeta(node, alpha, beta)
1: if node.depth = 0 then
2: return EvaluateNegaMax(node)
3: for i ← 1 to node.branch.length
4: new_node ← Traverse(node, node.branch[i])
5: value ← -AlphaBeta(new_node, -beta, -alpha)
6: if value ≥ beta then
7: return beta
8: if value > alpha then
9: alpha ← value
10: return alpha
</code>