从 AI 级别到人类棋手级别
为增加游戏的趣味性,需要判断人类棋手级别.1. 棋手分析当前涉及三个实体.1.1 传统 AI传统 AI 是指当前使用的 AI, 其机制需要深入理解. 个人而言, 我不太清楚. 猜测: 它赖于 a) 一些既定的规则,与 b) 一定的搜索.级别: 不同级别的 AI 使用不同的规则、不同的搜索策略. 或者相同的搜索策略,但不同的搜索深度。1.2 强化 AI强化 AI是指将使用强化学习与深度学习结合获得的
为增加游戏的趣味性,需要判断人类棋手级别.
1. 问题 1: 竞技型对弈
1.1 问题描述
下棋是一个双方 (有时是多方, 如弹珠跳棋) 交替落子, 进行对抗的过程. 该问题可以描述如下:
问题 1: 竞技型对弈.
输入: 当前棋局;
输出: 下一步落子 (或移动);
优化目标: 最大化胜率.
对于多数棋手而言, 胜率是一个未知 (玄幻) 的数据. 如果某方知道该数据, 对弈就失去了意义. 棋手只能根据自己的能力, 尽可能找出胜率高的落子.
1.2 棋手类型
在此分析三类棋手.
1.2.1 人类棋手
人类棋手对弈依赖于:
a) 已有经验. 对于见过的棋局, 可以根据记忆作出迅速的判断. 古人云: “见多识广”.
b) 一定的搜索. 古人云: “下棋能看三步”, 能多看几步水平就更高.
1.2.2 传统 AI
传统 AI 是指当前使用的 AI, 其机制需要深入理解. 个人而言, 我不太清楚. 在此猜测, 它赖于
a) 一些既定的规则.
b) 一定的搜索. 在时间允许范围内进行尽可能多、尽可能深的搜索.
1.2.3 强化 AI
强化 AI是指将使用强化学习与深度学习结合获得的 AI. 它依赖于:
a) 一个深度网络.
b) 一定的强化学习搜索.
1.3 棋手分析
以上三种棋手采用的总体技术是一致的, 技术 a) 均依赖于经验, 速度快; 技术 b) 依赖于搜索, 速度慢.
2. 问题 2: 级别控制
2.1 问题描述
高手与低手对弈的时候, 为保持对方的兴致, 一般不会下狠手, 而是进行级别控制. 问题描述如下:
问题 2: 级别控制型对弈.
输入: 当前棋局;
输出: 下一步落子 (或移动);
优化策略: 见下面的分析.
2.2 不同类型棋手的策略
2.2.1 人类棋手
控制胜率接近于预设的胜率 (如 60%).
2.2.2 传统 AI
使用不同的规则集, 相应的搜索深度. 级别越低, 搜索花的时间越短.
2.2.3 强化 AI
与人类棋手 (高手) 的策略一致.
3. 问题 3: 级别判断
3.1 问题描述与分析
级别判断与级别控制是完全不同的两件事情. 问题描述如下:
问题 2: 级别判断.
输入: 一盘或多盘棋局;
输出: 对局双方级别;
优化策略: 预测准确性, 一般是方差.
3.2 级别的刻画
为了判断棋手级别, 首先要有一个比较客观的对级别的刻画.
3.2.1 利用传统 AI
传统 AI 可以作为标准,评估选手 (注意: 既可以是人类,也可以是 AI) 级别. 参见 2.2.2 节, 方案见 3.3.2 节.
3.2.2 利用上帝视角
先获得一个强化 AI (上帝), 他采用如下方式定义棋手级别:
a) 选手落子的排名(第几优选),以此获得平均排名,或根据棋局不同阶段设置不同权重. 排名越小,表示水平越高;
b) 选手落子与最优落子胜率之差, 同样可以计算平均差值或带权平均差值. 差值越小,表示水平越高.
该视角可以为传统 AI 的级别提供新的认识.
3.3 方案
3.3.1 统计方案
如果选手与第 m 级的 AI 胜率保持在 50% 左右, 则认为该选手级别为 m. 这个时候,传统 AI 既是裁判员,也是运动员.
优点: 比较符合已有认知.
缺点: 需要多局棋进行统计,才能获得选手级别.
3.3.2 黑盒方案
训练阶段: 使用大量棋局 (可以是人机对弈、AI 自弈), 其中, AI 级别已知;
测试阶段: 根据一局棋判断双方级别.
学习器并不需要懂棋, 仅仅根据棋局与已有棋局的相似性, 即进行级别的判断.
3.3.3 白盒方案 (上帝视角)
首先需要一个上帝 AI, 他清楚地知道每个局面下每个落子方式的胜率. 因此称为上帝视角.
优点: 不需要训练.
缺点: a) 需要实时运行强化 AI, 它本身耗费大量计算资源. b) 与传统 AI 级别可能不一致.
思考中. 未完待续 …
更多推荐
所有评论(0)