Alpha-Beta剪枝法是一種用於減少極小化極大算法(Minimax算法)搜尋樹節點數的搜尋算法。它主要用於對抗性搜尋,如井字棋、象棋、圍棋等遊戲。Alpha-Beta剪枝通過引入兩個新的變數——Alpha(當前節點能夠保證的最小值)和Beta(當前節點能夠保證的最大值),在搜尋過程中根據這兩個值來剪枝,即排除那些不可能對遊戲結果產生影響的分支,從而減少搜尋次數和深度,提高搜尋效率。
Alpha剪枝:當某極小結點的Beta值小於或等於其先輩的極大結點的Alpha值時,終止該極小結點之下的搜尋,並令其估值為Beta,這種剪枝稱為Alpha剪枝。
Beta剪枝:當某極大結點的Alpha值大於或等於其先輩的極小結點的Beta值時,終止該極大結點之下的搜尋,並令其估值為Alpha,這種剪枝稱為Beta剪枝。
Alpha-Beta剪枝算法的搜尋結果與極小極大法一致,但能顯著減少搜尋樹的節點數,從而提高搜尋效率。在實際套用中,如IBM的「深藍」棋棋程式就採用了這種算法來減少搜尋樹的節點數,從而在較短時間內找到一個足夠接近最優解的解。