四国军旗人工智能探析提纲20070301

四国军旗人工智能探析提纲

2007.03.01 小面胡子

 

一.         一般棋类游戏的构成

a)         棋盘

b)        棋子

c)        规则定义

                         i.              开局布局

                       ii.              行棋行棋结果

                      iii.              游戏结果(胜负和)

                     iv.              轮换

d)        棋盘状态描述棋谱

二.         四国军旗游戏的构成

a)         棋盘

                         i.              棋盘坐标表示:以中心点为原点建立坐标表示

b)        棋子

4阵营 ABCD (A为本家,B为下家,C为对家,D为上家)

112222333231

不完全信息性(类似的还有暗棋、牌类)

棋子的表达: 以布局时的矩阵排列顺序作为id,再加上阵营区别

例: A11表示阵营为A11号棋子

 

A 00A 01A 02A 03A 04

A 05    A 06    A 07

08A 09   A 10A 11

A 12    A 13    A 14

A 15A 16A 17A 18A 19

A 20A 21A 22A 23A 24

c)        规则定义

                         i.              开局、布局

                       ii.              行棋、行棋结果

                      iii.              游戏结果(胜负和)

                     iv.              轮换

d)        棋盘状态描述、棋谱

                         i.              客观性棋谱,只能由系统产生

                       ii.              主观性棋谱,即该棋谱是针对某个玩家的认知角度保存信息的

三.         一般棋类游戏分析的基础体系

a)         行棋描述、行棋结果(行棋产生棋盘状态、棋子状态变化)

b)        当前棋盘状态下,符合规则的可行棋步骤

c)        针对棋子身份鉴别的逻辑分析

只有棋子具有不完全信息性,才能够进行这一步

d)        棋盘状态的估值判定

e)         博弈树

四.         四国军棋游戏分析的基础体系

a)         行棋描述、行棋结果(行棋产生棋盘状态、棋子状态变化)

                         i.              行棋描述:

阵营,棋子起始坐标,棋子目的坐标 (必须符合该棋子的移动规则)

  阵营,棋子id,棋子目的坐标 (必须符合该棋子的移动规则)

                       ii.              行棋结果:

1.         移动到该位置

2.         移动过程中,是兵特有的移动轨迹, 兵现

3.         如果目的坐标有敌方棋子,那么进行碰撞判断

a)         吃、相等、被吃 ( > = < )

b)        相等+旗现(分我方、敌方、双方旗现) [vs炸,炸vs司,司vs]

c)        被吃+我方旗现 [vs]

b)        当前棋盘状态下,符合规则的可行棋步骤

c)        针对棋子身份鉴别的逻辑分析

d)        棋盘状态的权值判定

e)         博弈树

五.         集合与棋牌之间的逻辑关系

a)         全集定义

                         i.              类型全集

                       ii.              棋子、牌全集

                      iii.              类型限量:具有某种类型元素属性的棋子、牌的个数(比如象棋里马2个、兵5个,牌类游戏里J4)

b)        同一律

c)        排它律

d)        可能性集合

六.         四国军棋的集合性分析

a)         棋子元素 棋子

棋子属性:

唯一标识  以布局时的矩阵排列顺序作为id,再加上阵营区别

类型      司军师旅团营连排兵炸雷旗 + 未知,类型决定棋子的行为

      

类型元素  司军师旅团营连排兵炸雷旗      

b)        全集定义

类型全集:司军师旅团营连排兵炸雷旗

棋子全集:一共25个棋子,构成棋子全集,4个阵营构成4个棋子全集。

c)        各种棋子集合

活子集合与死子集合、已确定身份棋子集合与未确定身份棋子集合

d)        类型可能性集合

类型全集下的某个棋子的可能性,即可能为哪些类型元素。当棋子的可能性集合

里面的元素,经过逻辑分析判定剔除了某些元素时,我们说可能性集合范围缩小了,当缩小到只有一个元素时,我们认为该棋子身份被确定

e)         棋子鉴别逻辑分析的实质

行棋主动方:行棋玩家的阵营

行棋主动子:行棋玩家动用的棋子。

行棋被动子:与行棋主动子发生碰撞的棋子

行棋被动方:行棋被动子的阵营

棋子鉴别逻辑分析的实质就是在游戏过程中,每当行棋时,将根据行棋结果对行棋主动方和被动方的棋子进行逻辑分析,缩小其棋子的可能性集合范围,随着棋局的进展逐步分析认识棋局里面的棋子的本质。

七.         四国军棋的棋子鉴别逻辑分析

a)         行棋主动子和被动子的碰撞

将根据行棋结果缩小双方各自的可能性集合范围,细节略。

b)        类型计数表:开局时,类型全集里面的每个类型元素设定其类型限量值,在游戏进行中,每当有一个棋子身份被确定,那么该棋子的确定类型对应的计数减1;当计数达到0,我们认为该类型被完全判定,说明此时所有身份未确定的棋子都不可能是该类型了,需要对它们的可能性集合进行该类型元素的剔除。

c)        食物链:游戏过程中,对局4人行棋发生碰撞所形成的棋子碰撞图,准确地说是一棵树。

例:游戏过程中发生下面的碰撞A3>B4A3>B6,A3>D2,B5>A3,B5<C2,D7>A11,C2=D7,A22=C21,C8>D1

则有下面的食物链:

C2 = D 7    A 22=C 21   C 8

|    |               |

B 5   A 11            D1

|

A3

|

B4-B6-D2

 

为了较好地表示相等碰撞,食物链改成下面的表达:

Root

|

Equal1------Equal2-------Equal3

|          |         |

C2 - D 7     A 22-C 21   C 8

|    |               |

B 5   A 11            D1

|

A3

|

B4-B6-D2

 

Root的子结点用来表达相等的情况,称为Equal结点Equal结点会有12个子结点,如果为2个,说明这两个棋子发生了相等碰撞,如果为1个,说明这是一个活子,并且和其他子发生了碰撞。然后再下一层以后的所有节点都是死子。从Equal层的下一层开始,每一个结点所形成的子树称为该棋子的食物链。

 

如图:我们称

A3

|

B4-B6-D2 A3棋子的食物链,以此类推

 

食物链将随着棋局进展不断变化。

d)        连锁判定:当两个棋子发生碰撞时,两个棋子的可能性集合范围缩小,那么这两个棋子各自的食物链上所有的棋子也将需要进行判定;同时如果发生了某个类型被完全判定,还需要对同阵营里面的身份未确定的棋子进行类型剔除。

八.         建立在棋子鉴别逻辑分析上的概率分析

其概率分析也是为了帮助认识棋子的本质。某个棋子的可能性集合里面有若干个类型元素,概率分析就是要分析出这几种类型元素所占的概率比例,其分析数据提供给人工智能模块作为分析依据。

九.         建立在符合规则、棋子鉴别逻辑分析上的四国军旗人工智能展望

十.         研究平台的构建设想

 
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页