alpha beta剪枝搜尋

2021-10-09 18:26:39 字數 892 閱讀 8532

•一種基於剪枝( α-βcut-off)的深度優先搜尋(depth-first search)。

•將走棋方定為max方,因為它選擇著法時總是對其子節點的評估值取極大值,即選擇對自己最為有利的著法;

•將應對方定為min方,因為它走棋時需要對其子節點的評估值取極小值,即選擇對走棋方最為不利的、最有鉗制作用的著法。

•在對博弈樹採取深度優先的搜尋策略時,從左路分枝的葉節點倒推得到某一層max節點的值,可表示到此為止得以「落實」的著法最佳值,記為α。

•顯然此值可作為max方著法指標的下界。

•此類剪枝稱為α剪枝。

•同理,由左路分枝的葉節點倒推得到某一層min節點的值,可表示到此為止對方著法的鉗制值,記為β。

•顯然此β值可作為max方無法實現著法指標的上界。

•此類剪枝稱為β剪枝。

•α-β剪枝是根據極大-極小搜尋規則的進行的,雖然它沒有遍歷某些子樹的大量節點,但它仍不失為窮盡搜尋的本性。

•α-β剪枝原理中得知:

α值可作為max方可實現著法指標的下界

β值可作為max方無法實現著法指標的上界

於是由α和β可以形成乙個max方候選著法的視窗

也便出現了各種各樣的α-β視窗搜尋演算法。

AlphaBeta剪枝演算法

關於alphabeta剪枝的文章太多,這個方法是所有其它搜尋方法的基礎,得多花些時間認真地理解。先把基本概念再回顧一遍 節點 在中國象棋中就是乙個棋盤的當前局面board,當然該輪到誰走棋也是確定的。這裡的圓形節點表示終止節點,在中國象棋裡就是一方被將死的情況 或者到達了搜尋的最大深度 後續不會再有...

Alpha beta剪枝演算法例項分析

看本章之前,請先參看前一篇文章 minimax演算法及例項分析 由於minimax演算法有乙個很大的問題就是計算複雜性。由於所需搜尋的節點數隨最大深度呈指數膨脹,而演算法的效果往往和深度相關,因此這極大限制了演算法的效果。alpha beta剪枝是對minimax的補充和改進。採用alpha bet...

Alpha beta剪枝演算法例項分析

原帖 看本章之前,請先參看前一篇文章 minimax演算法及例項分析 由於minimax演算法有乙個很大的問題就是計算複雜性。由於所需搜尋的節點數隨最大深度呈指數膨脹,而演算法的效果往往和深度相關,因此這極大限制了演算法的效果。alpha beta剪枝是對minimax的補充和改進。採用alpha ...