原文:新手立體四子棋AI教程(3)——極值搜索與Alpha-Beta剪枝

上一篇我們講了評估函數,這一篇我們來講講立體四子棋的搜索函數。 一 極值搜索 極值搜索是game playing領域里非常經典的算法,它使用深度優先搜索 因為限制最大層數,所以也可以稱為迭代加深搜索 來遍歷未來n步的走子情況。在每層模擬中都會選擇對自己最優的位置,通過最大化自己的利益 也就是上一篇提到的評估算法 來取勝。 剪枝也是類似的思想,只不過效率更高,因為它刪減了一些不需要遍歷的結點。 下圖 ...

2018-03-28 13:10 0 1795 推薦指數:

查看詳情

alpha-beta剪枝搜索

•一種基於剪枝( α-βcut-off)的深度優先搜索(depth-first search)。 •將走棋方定為MAX方,因為它選擇着法時總是對其節點的評估值取極大值,即選擇對自己最為有利的着法; •將應對方定為MIN方,因為它走棋時需要對其節點的評估值取極小值,即選擇 ...

Sat Mar 22 03:20:00 CST 2014 1 14192
新手立體AI教程(4)——啟發式搜索與主程序

通過前面幾篇文章的學習,我們的四程序已經有了框架、搜索幾大部分,但是還有着不少問題,我們的程序只能迭代很有限的步驟,導致棋力低下,在這一篇我們將通過啟發式搜索極大的優化搜索效率。 一、原因 我們之前的產生走位置的函數很簡單,即找到棋盤上的空余位置。它的不合理性體現在兩方面 ...

Wed Mar 28 21:37:00 CST 2018 0 1117
新手立體AI教程(1)——基礎掃盲

一、引言 最近身邊好幾個朋友開始玩立體,激起了我的好奇心。那么首先來說什么是【立體】,規則又是如何呢? 上圖即為立體,規則類似於五子棋連在一起,但是四更加多樣、豐富。不僅可以在平面內橫豎斜四連在一起,還可以在不同平面內四斜着連在一起、同一根柱子上四連在一起 ...

Fri Mar 23 21:12:00 CST 2018 3 4703
新手立體AI教程(2)——價值評估函數

上一篇我們完成了整個程序的基礎框架,那么在講到真正的搜索算法前,我們先來看看五子棋如何評估當前局勢,以及如何計算某個位置的價值。 一、五子棋 在五子棋中,包括成五,活三,活二等定勢,下圖為山東師范大學董紅安在2005年的碩士畢業論文中使用的的評分表,可以供我們來參考 ...

Sat Mar 24 02:26:00 CST 2018 0 1173
極小極大搜索 的個人理解(alpha-beta剪枝

極小極大搜索的算法過程: 參考文檔:http://www.xqbase.com/computer/search_minimax.htm (經典)   主要思想比較簡單,但說清楚也不大容易。其核心思想是通過對於以后的狀態進行預見式的暴搜,對可能的狀態進行分析。理論上,如果能夠搜索到最終狀態 ...

Sun Nov 16 09:12:00 CST 2014 0 5621
alpha-beta剪枝算法

參考鏈接-機器之心 人機博弈是人工智能的重要分支,人們在這一領域探索的過程中產生了大量的研究成果,而極小化極大算法(minimax)是其中最基礎的算法,它由Shannon在1950年正式提出。Alpha-beta剪枝的本質就是一種基於極小化極大算法的改進方法。 在人機博弈中,雙方回合制地進行 ...

Sat Oct 23 20:23:00 CST 2021 0 992
Alpha-Beta剪枝算法

最近做了一個中國象棋項目,其中用到了Alpha-Beta剪枝算法,在此做個記錄。 Alpha-Beta剪枝算法是一種傳統的搜索算法, 它在博弈算法中有着非常廣泛的運用,它大大減少了相同搜索深度下的計算量。 Alpha-Beta剪枝算法是由最大值和最小值算法得來的,該算法是一個0總和算法,即一方 ...

Tue May 05 04:36:00 CST 2015 0 4757
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM