从 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 级别可能不一致.
思考中. 未完待续 …
从 AI 级别到人类棋手级别相关推荐
- AI 技术与人类主体想象 ——基于人工直觉在线讨论的研究
来源: 人工智能哲学探索 作者:雅克布·约翰森(英国圣玛丽大学) 王鑫(辽宁大学) 一.引言:AI.神经形态硬件.人工直觉 AI 在媒体上的讨论越来越多,很多广为流行的专业网站上的相关探讨涵盖了 AI ...
- 探访2019世界人工智能大会:AI应让人类生活得更幸福
在展厅中,一座白色的"太空舱"的"舱内"的三块屏幕上分列着各种学习知识点.展示着人工智能自适应学习引擎.作者 徐明睿 中新网上海8月30日电 题:探访2019世 ...
- 使用人类棋手棋盘数据训练围棋机器人,实现数据预处理
知己知彼,百战不殆.我们要打造一个能胜过人类的机器人,就必须要让机器人掌握人类的围棋思维模式,因此我们就需要使用人类棋手留下的棋盘数据训练机器人,让它从数据中掌握人类围棋思维存在的模式和套路. 幸运的 ...
- AI无敌?人类的反击静悄悄。
前几年,alphago横扫围棋棋坛,人类棋手不得不接受现实. 那么,按照AI的进步速度,我们当时也提过火车站台的比喻,呼啸而过,望尘莫及.从此,人类棋手输给AI不再是新闻,而且随着相关论文的发布和国内 ...
- java查看对象锁级别_对象级别锁 vs 类级别锁(Java)
前言 对于多线程(并发)和Spring Boot这两块在同步进行学习中,在看到使用synchronized关键字使操作同步时,看到和C#中不一样的东西,所以这里呢,就深入学习了下,若有错误之处,还望指 ...
- 微软洪小文:AI将成为人类未来最好的左脑
演讲嘉宾 | 洪小文 整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 导读:2019 年 6 月 14 日,由清华大学五道口金融学院.清华大学国家金融研究院.清华大学研究生会联合 ...
- 当 AI 开始“入侵”人类
[编者按]当下,我们处在人工智能时代,每个人的生活开始离不开各种机器,从虚拟的语音助手到智能家居以及逐渐成熟的智能工业机器人,人工智能已然"入侵"到社会生活的很多领域.我不禁想,未 ...
- linux启动设置运行级别,Linux的运行级别和设置开机启动服务的方式
Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...
- Java应该是更高级别还是更低级别?
总览 Java 8带来了许多简化的功能,例如Lambda表达式, 类型注释和虚拟扩展 . 尽管此功能很重要:a)有价值,b)赶上较凉的语言,但是这些更丰富,更高级的功能是Java应当重点关注的领域. ...
最新文章
- 36.intellij idea 如何一键清除所有断点
- 广告等第三方应用嵌入到web页面方案 之 使用js片段
- TF之LSTM:基于tensorflow框架自定义LSTM算法实现股票历史(1990~2015数据集,6112预测后100+单变量最高)行情回归预测
- 频段表_VoLTE高低频段覆盖能力研究
- 天才王垠惊人言论炸翻网友:相对论是假说,爱因斯坦是民科!
- AMD 芯片被曝大量安全漏洞,Linux 之父怒评!
- 网吧电脑怎么学一级计算机,如何关掉网吧电脑上的防火墙系统-电脑自学网
- oracle查询锁表SQL
- 【Java】# Java对图片进行base64编解码
- 【深度学习】Fashion-MNIST数据集简介
- 杀戮空间2服务器协议,杀戮空间2 云服务器搭建
- 520快到了,给你对象写个怦然心动吧
- excel 分组计数
- 关于Linux服务器中文字体的安装
- python列表查找值_查找列表中某个值的位置(python)
- 如何成为技术大神(文末有抽奖)
- jforum无法发布帖子问题
- 剧本翻译之メンアットワーク!4 ~ハンター達よ永遠に~猎人们的永远(序章2)
- 纯html+css炫酷地球仪动画效果
- LocalResolver国际化语言转换
热门文章
- 图像分割后再将图片拼接在一起
- 驾考系统设计-java
- GX Works3 (二):FX5U的基于以太网MC协议的梯形图编程基础
- This dependency was not found: * common/stylus/index.styl in ./src/main.js To install it, you can ru
- 转‘ROS学习心得——安装篇——ROS安装’
- 5G网关如何赋能智慧油井监测?油井管理如何迈上新台阶
- 汽修汽配管理系统怎样的实用
- Animate cc怎么导出HTML,使用 Animate CC 导出图形和视频
- 牛客网_数量关系选择题
- GROW模型(转载)