UCT算法

一、建模

1. 玩家:

用1和2表示。

2. 状态集S:

合法棋局的集合,两个棋局相等当且仅当:
a)两个棋局盘面完全一致。
b)两个棋局的下一落子者相同。
状态集的元素用s表示。

3. 后继关系:

设s, s’∈S,(s’,s)在后继关系中,当且仅当s’经过某一步合法落子可以达到s,简称为s为s’的后继。

4. 完全博弈树T和映射m:

T = (V,E), m: V→S。T和S利用归纳定义构造:
a)构建v0,令m(v0)为S的初始状态,令v0∈V,令v0的父节点为空
b)设v∈V,对m(v)所有的后继s’,构建节点v’,令m(v’) = s’,令v’∈T,令v’的父节点为v。根据先手,可构造出两棵不同的完全博弈树T1和T2,分别对应玩家1先手和玩家2先手。
显然:
a)叶节点代表分出胜负或和的状态,一条从根节点到叶节点的路径代表一个合法的落子过程。
b)m不是单射,但m为满射。

5. 博弈树:

如果完全博弈树的某个子图T’也为一棵树,则称T’为博弈树。显然,完全博弈树为博弈树。

6. 主路径:

博弈树T’的一条从根节点到叶节点的路径P。P代表棋局的进程。

7. 终结点:

若v∈T,且m(V)已分出胜负或和,则称v为终结点。显然v为终结点等价于v为T中的叶节点。

8. 全拓展节点:

若v∈T’,并且v在T’中的所有子节点与v在T中的所有子节点一致,则称v为全拓展节点。

9. 拓展:

若v∈T’,并且v非全拓展节点,则向v加入子节点v’的过程称为拓展。对v经过若干次拓展,v会变成全拓展节点。

10. 节点参数:

根据完全博弈树的定义,每个节点都有参数m,m(v)返回的是节点对应的棋盘状态。
其他的参数有:
parent,记录节点的父亲。
childs,记录节点的孩子。
total,记录节点总的模拟次数。
win、lose,记录节点模拟中胜利次数、失败的次数


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部