lihongxun945/gobang

javascript gobang AI,JS五子棋AI,源码+教程,基于Alpha-Beta剪枝算法(不是神经网络)

解決的問題

本專案提供一個基於瀏覽器的五子棋(五子連珠)AI對手,讓使用者能在無需伺服器端後端的情況下,與能即時計算最佳走法的電腦對手對戰。

工作原理

與現代神經網路不同,此AI採用基於Minimax演算法的古典博弈論方法。它透過搜索可能的未來遊戲狀態至一定深度,來評估潛在走法。為提升效能與效率,實作了多項優化:

  • Alpha-Beta剪枝:減少搜尋樹中需評估的節點數量。
  • 迭代加深:逐步增加搜尋深度,以在時間限制內找到最佳走法。
  • Zobrist哈希:使用置換表快取先前評估過的局面。
  • 殺手走法排序:優先搜尋在其他分支中導致剪枝的走法。
  • PVS(主變化搜尋):進一步優化搜尋過程。

適用對象

  • 希望在瀏覽器中與AI對戰五子棋的休閒玩家。
  • 對實現古典遊戲AI、搜尋演算法與啟發式評估函數感興趣的開發者。

主要亮點

  • 純前端實作:AI完全在瀏覽器內的JavaScript中運行,初始頁面載入後即可離線使用。
  • 全面的測試套件:包含專用的AI評估工具,透過獨立程序測量Elo等級分、勝率與節點吞吐量。
  • 戰術問題集:內建戰術謎題庫,用於檢測AI走法選擇中的「漏洞」或錯誤。
  • 可自訂難度:可調整搜尋深度以改變AI的強度與處理時間。

相關

  • 專案
  • Dispatch
  • 專案
  • 專案
  • 專案