支持向量机(兵王问题描述)

电子说

1.2w人已加入

描述

本文主要内容为采用支持向量机(SVM)解决国际象棋兵王问题。

一、国际象棋规则

国际象棋具有8×8的棋盘,包含若干种棋子。

向量机

图片来源:中国慕课大学《机器学习概论》

其中,黑白双方各具有8个“兵”棋子,各具有1个“王”棋子。

(1)“兵”棋子相关规则

“兵”棋子的行进规则是:第一次可向前行进一格或两格,以后每次只能向前行进一格,不能后退。

“兵”棋子的吃子方式是:可以吃掉其斜前方的棋子,并落入被吃棋子的格中。

“兵”棋子的升变:兵走至对方的底线,可以升变为除“王”棋子以外的任意棋子。

(2)“王”棋子相关规则

“王”棋子被将死,该方告负。“王”棋子的行进规则是:每次可横、竖、斜行进一格。“王”棋子的吃子方式与其行进规则相同。

(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 LEARNING REPOSITORY网站

但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工具包进行训练。


 


审核编辑:刘清


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分