本文主要內容為采用支持向量機(SVM)解決國際象棋兵王問題。
一、國際象棋規則
國際象棋具有8×8的棋盤,包含若干種棋子。
圖片來源:中國慕課大學《機器學習概論》
其中,黑白雙方各具有8個“兵”棋子,各具有1個“王”棋子。
(1)“兵”棋子相關規則
“兵”棋子的行進規則是:第一次可向前行進一格或兩格,以后每次只能向前行進一格,不能后退。
“兵”棋子的吃子方式是:可以吃掉其斜前方的棋子,并落入被吃棋子的格中。
“兵”棋子的升變:兵走至對方的底線,可以升變為除“王”棋子以外的任意棋子。
(2)“王”棋子相關規則
“王”棋子被將死,該方告負?!巴酢逼遄拥男羞M規則是:每次可橫、豎、斜行進一格?!巴酢逼遄拥某宰臃绞脚c其行進規則相同。
(3)逼和
逼和是指一方行棋后未將軍,另一方無子可動的局面。如圖一所示,輪至黑方走棋,若黑方的王移動則被白方吃掉,因此黑方處于無子可動的局面,且白方未將軍,因此,此時為逼和局面。
圖一,圖片來源:中國慕課大學《機器學習概論》
二、兵王問題的描述
若在國際象棋的殘局中,黑方剩一個王,白方剩一個兵和一個王。則該殘局的最終勝負結果包含兩種可能:
(1)白方將死黑方,白方獲勝。
(2)和棋。
當兵王問題的三個棋子在棋盤的位置確定后,該殘局在沒有失誤走法情況下的最終勝負結果被確定。經過專業培訓的人員,根據三個棋子在棋盤中的位置,可以準確判斷該殘局在沒有失誤走法情況下勝負結果是哪一種。
圖片來源:中國慕課大學《機器學習概論》
三、支持向量機處理兵(車)王問題
(1)已標注的訓練數據
在UCI MACHINE LEARNING數據集中,兵(車)王問題的數據可以被下載。兵(車)王問題數據的文件名為krkopt .data。
krkopt .data文件的問題:在UCI MACHINE LEARNING數據集中點擊Chess(King-Rook vs. King),再點擊Data Folder,可找到krkopt .data鏈接,將下載的krkopt .data通過記事本打開后可找到課程中例舉的數據。
圖片來源:UCI MACHINE LEARNINGREPOSITORY網站
但Rook的中文翻譯是國際象棋棋子“城堡(車)”,不是棋子“兵”,且若按課程所講訓練數據的含義,則a,1,c,1,d,1,draw(其中a,1代表黑王的位置,c,1代表白王的位置,d,1代表白兵的位置,draw代表此時為和棋)在兵王問題中不是正確的訓練數據。
綜上,課程可能誤將車王問題的訓練數據當成兵王問題的訓練數據,但這不影響有關支持向量機的學習。
圖片來源:根據中國慕課大學《機器學習概論》資料制作
(2)支持向量機處理兵(車)王問題
將兵(車)王問題的和棋標簽記為draw,并設定此時yi=+1,將其他情況設定yi=-1。兵(車)王問題數據集的總樣本數量為28056個,其中正樣本(yi=+1)的數量為2796,負樣本(yi=-1)數量為25260個。
數據集確定后,可通過LIBSVM工具包進行訓練。
審核編輯:劉清
-
向量機
+關注
關注
0文章
166瀏覽量
20743 -
SVM
+關注
關注
0文章
154瀏覽量
32223 -
機器學習
+關注
關注
66文章
8176瀏覽量
131002
原文標題:機器學習相關介紹(15)——支持向量機(兵王問題描述)
文章出處:【微信號:行業學習與研究,微信公眾號:行業學習與研究】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論