资源描述:
《苏拉卡尔塔棋博弈技术分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、苏拉卡尔塔棋博弈技术分析徐心和东北大学机器博弈研究室2009.5东北大学机器博弈研究室“苏拉卡尔塔”规则棋盘棋子1)横竖各6条边构成正方形棋盘,36个交叉点为棋位,各边由8段圆弧连接,通常用2种不同颜色表示。2)红黑双方各12枚棋子。初始状态:棋子在各方底线排成2排。玩法1)双方轮流走棋,每次走动一枚棋子;2)除了吃子之外,每枚棋子只能沿着垂直或对角方向走动一格,只能走向空位;3)吃对方子时必须经过至少一个完整的弧线。胜负:1.吃掉所有对方棋子一方获胜;2.进入循环,剩余棋子多的一方获胜。东北大学机器博弈研究室东北大学机器博弈研究室棋盘的数
2、字表示用6×6的方阵只能表示棋位,没有表示相互的关系东北大学机器博弈研究室棋子的数字表示兵种定义:黑子为-1,红字为1,无子为零。则初始局面为东北大学机器博弈研究室棋局表示东北大学机器博弈研究室着法表示走行(前进一步的不吃子着法):横向(左、右)竖向(上、下)斜向(四个方向)落址在棋盘内并为空位,才为有效的可行着法。可以采用预置表法实现着法生成吃子?这里关键是吃子!需要调整棋盘数据结构,因为没有表示出圆弧的连接关系。吃子可以定义为飞行,因为必须经过圆弧。东北大学机器博弈研究室飞行是有轨道的轨道有两种:绿轨,圆弧在外圈,可以称之为外轨,用字母
3、g表示。g=1,该棋位在外轨;蓝轨,圆弧在内圈,可以称之为内轨,用字母b表示。b=1,该棋位在内轨;东北大学机器博弈研究室棋位的轨道属性分析盘中的36个棋位:外轨棋位:(i,j,1,0),边中心处8个,盘中心处4个,共12个;内轨棋位:(i,j,0,1),近角处12个;双轨棋位:(i,j,1,1),内外轨相交处8个;轨外棋位:(i,j,0,0),四角处4个此时每个棋位便有了轨道属性(i,j,g,b)东北大学机器博弈研究室引进扩展棋盘(ExtendedBoard)描述圆弧的连接关系,可以引进扩展棋盘东北大学机器博弈研究室将棋盘坐标填入,即得:
4、东北大学机器博弈研究室飞行着法描述转入对应的圆弧变换后的棋位,继续飞行;转入对应的圆弧变换后的棋位,继续飞行;转入对应的圆弧变换后的棋位,继续飞行;转入对应的圆弧变换后的棋位,继续飞行;如果圆弧变换关系为(0,0),则为非法飞行;东北大学机器博弈研究室检查着法合理性如果飞行到达的有子棋位为本方棋子,则为非法飞行;如果飞行到达的有子棋位为对方棋子,则为吃子着法;如果在飞行轨道上没有可以吃掉的对方棋子,则不能飞行,只能走子。东北大学机器博弈研究室飞行着法生成判断是否在外轨或内轨上,如果不在,不考虑飞行;在,首先判断本轨线上是否有对方棋子,如果没
5、有,不必飞行;有,吃子标识置0,向上下左右四个方向一步步地走行;每走一步,判断有子无子?有子则止,改变飞行方向;无子则继续前行,到达边缘,延轨道改变前进方向,进入新的直线,吃子标识置1,并记载变向点;(有可能多次改变前进方向)每走一步,判断有子无子?有子,再判断是否是对方的子?是,则构成吃子,完成“提、动、落、吃”,着法完成;每走一步,判断有子无子?有子,再判断是否是对方的子?不是,则为非法着法。改变飞行方向。如果上下左右四个方向都搜索完成,则结束飞行着法生成。凡是可行的飞行着法都是吃子着法!记载提、落址和变向点。东北大学机器博弈研究室着法
6、格式象棋着法构成:提址,动子,落址,吃子本棋不分兵种,动子无意义,提址对应动子;如果是飞行着法,落址便对应被吃掉的子(吃子)走行着法:(提址,落址)飞行着法:(提址,变向点1,变向点2…,落址)着法格式可以统一到((提址,落址,吃子标识),(变向点集合)),令吃子标识用S表示。如果吃子标识S=1,则调出变向点集合,并且在落址处清除对方棋子。变向点的作用是供对战平台演示棋子飞行路线的。东北大学机器博弈研究室着法描述协议按右图编码给出:(提址落址S)(变向点…)变向点仅记录飞出点坐标记录棋谱是按回合排列,并有回合序号。为了简单起见,棋谱中也可以
7、省去变向点集合。东北大学机器博弈研究室棋谱举例东北大学机器博弈研究室一维数据结构方案0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35棋盘编码:-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,兵种编码:Board[36]=东北大学机器博弈研究室1,2,3,4,5,6,7,8,9,1
8、0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,13,14,15,16,17,18,19,20,21,22,23,24IDBoard[36]=Pieces[24]