第6-5课:五子棋游戏的相关算法
五子棋的復(fù)雜程度要超過之前介紹的奧賽羅棋,它不僅規(guī)則多,概念也多,比如“沖二”、“沖三”、“活二”、“三三禁手”、“四四禁手”等,對這些模型的判斷其算法非常重要,如果不能正確判斷這些型,估值函數(shù)就無法實現(xiàn)。這一課我們將介紹一些五子棋游戲的算法,當(dāng)然,也包括棋盤的數(shù)據(jù)模型設(shè)計。
棋盤模型
五子棋(Five In a Row,F(xiàn)IR)流行非常廣泛,在不同的國家有不同的名稱,標(biāo)準(zhǔn)的五子棋棋盤是 15 × 15 大小,用數(shù)字 1 ~ 15 標(biāo)識棋盤的行,用字母 A ~ O 標(biāo)識棋盤的列,棋子和圍棋一樣有黑白兩種顏色,一般可以用圍棋的棋盤玩五子棋。下棋的雙方輪流在 15 × 15 條線的交叉點上落子,先在橫、豎和斜線方向上形成五子連線的一方獲勝。
上一課介紹奧賽羅棋游戲的棋盤數(shù)據(jù)模型時,使用了 Warren Smith 棋盤狀態(tài)模型,現(xiàn)在五子棋游戲也繼續(xù)使用這個模型,五子棋游戲的棋盤和奧賽羅棋游戲的棋盤有很大的差異,需要對 Warren Smith 的模型做適當(dāng)?shù)男薷摹?biāo)準(zhǔn)的五子棋游戲是 15 × 15 的棋盤,但是我們演示 AI 算法的程序使用 9 × 9 的小棋盤,一方面是為了便于展示算法的實現(xiàn)效果,另一方面是加快計算機“象棋”的速度,畢竟棋盤減小了,需要的計算量會呈幾何級數(shù)減少。9 × 9 的小棋盤用 Warren Smith 模型表示,需要一個長度為 111 的一維數(shù)組表示黑白棋的棋盤與棋子狀態(tài),其中 81 個是棋盤上的位置,30 個是標(biāo)志位或哨兵位。111 個數(shù)組元素中前 10 個和后 11 個是標(biāo)志位,中間每間隔 9 個 x 位置插入一個標(biāo)志位 d,這個模型各個位置的邏輯結(jié)構(gòu)如下面的陣列所示:<
總結(jié)
以上是生活随笔為你收集整理的第6-5课:五子棋游戏的相关算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ARM(IMX6U)裸机按键输入实验(B
- 下一篇: SharePoint 2013:解决添加