A Survey of Monte Carlo Tree Search Method 笔记以及中文翻译概要

摘要:MCTS蒙特卡罗树搜索(Monte Carlo Tree Search)结合了精确的树搜索和随机采样的搜索方法,其在围棋和很多领域取得了瞩目的成就。本文对近五年的与其相关的文章做了总结,包括起源、变种、提高其性能的方法、应用领域做了介绍。

1 简介

MCTS是一个通过在决定空间内随机采样建立搜索树,从而得出最佳决策的方法,在AI领域已有广泛应用。
自其被提出的五年时间以来,其在围棋领域的应有鼓舞着人们。通过对其算法的不断改进人们已经了解到了其优点与缺点。
特点:
1.他需要不断地进行统计,需要更好的计算能力支撑。
2.他不需要特定领域的知识,而只需要直到规则,就可以在很困难的领域取得成功,但很多其他的方法都是需要特定领域的知识的。
作者调研了近五年的论文,可以提供一个对MCTS的初期印象

1.1 概述

MCTS的过程:
①寻找需要开采的节点,这里就涉及到了exploration(探测没采样的节点)和exploitation(开发已知的优秀节点)的平衡。
②在找到的节点上进行模拟,并更新存储的数据,包括对该节点该行动的奖励值更新和对该节点之前的历史节点的奖励值更新。
③在第二点中究竟应该怎样对第一点中找到的节点进行模拟呢?最简单的办法就是使其随机的选取一个行动,当然也有复杂一些的办法。
MCTS的最大的好处:
不需要对中间过程进行判断,也就是即使很有很有效的评估函数来评估游戏过程的得分,只要知道游戏规则,能在最终的节点判断出输赢即可,这可以有效的避免局部最优的影响。

1.2 重要性

MCTS在数字游戏和信息不完整的游戏中均取得了不少成就,在围棋上的成就最大。因为人类围棋选手与原有的电脑伪智能的差距太大了,而2012年之前的MCTS缩小了这个差距。然而其只能在9*9的棋盘上取得佳绩,像是19*19这样的正规棋盘上还没有出现超越,因为正规棋盘的搜索树分支太大,树的深度太深,导致计算量极大,而目前有没有完美的判断中间节点是否优秀的评估函数。
即使是这样,MCTS也已经成为了AI的很重要的研究方法和工具,只要引入一点点专业领域的知识,就可以极大地降级计算量,虽然在降低计算量的同时也引入了人为的知识可能不够准确的后果,但是整体来看还是可以接受的。同时人们也希望他可以和其他的算法进行杂交,并且作者相信他会成为主流工具。

1.3 目标

本文通过介绍算法本身、变种、性能提升、应用等知识,想要告诉读者MCTS很强!了解已有的MCTS应用,并且可以以这篇文章为索引将已有的算法结合到新的问题上使用。

1.4 文章结构

第一部分 概要
第二部分 介绍了一些专业术语和概念
第三部分 MCTS算法的具体细节
第四部分 MCTS的变种,从其基本方法引申出了很多其他方法
第五部分 提升其构造树能力的方法
第六部分 提升其模拟和记录数据能力的方法
第七部分 介绍其在游戏中和其他领域上的应用
第八部分 对MCTS如今状态、优缺点进行分析,对未来进行展望
第九部分 总结和致谢

本文丧心病狂的引用了240个参考文献,均为近五年来对MCTS的研究,在上面的每一部分里只是简要的对提到的内容进行介绍,如果有精力可以读一下参考文献。

在文章的最后有两个表分别是MCTS在游戏领域应用的各种方法及其优势,和在非游戏领域的对应表格。


2 背景

通过对决策理论、博弈论、蒙特卡罗和基于绑匪的方法的介绍,对MCTS的发展进行讲解。主要介绍了在博弈论中的应用。

2.1 决策理论

决策理论结合了概率论和效用理论,在不缺的情况下提供决策。涉及到了运筹学和马尔科夫链决策程序。

2.1.1 马尔科夫决策程序(Markov Decision Processes)MDPs

对全部可观察的环境中的决策问题进行建模,具体如下

  • S:状态集合,S0为初始状态
  • A:行动集合
  • T(s,a,s’):在状态s的情况下,选取动作a到达状态s’的概率分布
  • R(s):奖励函数
    建模实际上就是形成一个状态动作对的概率分布,得出在状态s时采取动作a的概率。
    而政策(在后文中指的是树的政策)则是想要找到最大收益的动作。
2.1.2 部分可观测的马尔科夫决策程序

其比正常的MDPs多了一个条件

  • O(s,o):状态s下,环境因素o可以被观测的概率
    无论是以上那种决策程序,最优决策都是确定的而不是按照概率分布的。

2.2 博弈论

博弈论涉及到了多智能体之间的交互。
每一次游戏都从初态开始运行,直到某个终态结束。每一个玩家在状态转换函数的引导下进行动作选择,同时评估函数要对每一次动作进行奖励赋值。例如最终胜利则+1,失败-1,平局0分等。
也可能会存在无法分出胜负的情况,每个玩家都在和对方的博弈中采取了最优的行动,但是同时无法取得胜利,这成为纳什均衡。他的计算量很大,通常无法解决。

2.2.1 组合游戏

组合游戏的五点要求

  • 奖励和为0:最终状态胜利和失败的总奖励状态和为0(单独有正有负,总体上为0)
  • 信息可见:不存在隐藏信息
  • 无可变影响:没有按照一定概率决定游戏发展方向的因素
  • 动作按顺序:像下棋这样你一步我一步的,不存在同时启动等问题
  • 动作离散

像是象棋,围棋都属于组合游戏。多人的可结盟游戏也不属于组合游戏。组合游戏可以用来做AI的练习。

2.2.2 真是世界的AI

真实世界所获得的奖励通常会延时到达,决策理论如下
Minimax(极小极大算法):将对手多获得的最大奖励极小化,他假设对手总是能做出最好的决策,而总是在被动的应对对手的决策,例如伪AI五子棋中电脑总是不停的堵你的两个或三个连在一起的棋子一样。但是由于该算法并没有寻找自己能够获得的最大收益,所以往往不是自己活得最大收益的行动。同时还采用了α-β启发式算法进行剪枝。

2.3 蒙特卡罗方法

蒙特卡罗方法来自于统计物理,在游戏领域有很多应用。
这里写图片描述
Q:在状态太s下选择a动作的平均得分
N(s,a):状态s下选择a动作的次数
求和项:在状态太s下选择a动作的总得分
最基本的蒙特卡罗可能会被困在局部最优,这就需要与后面所介绍的UCT算法结合,跳出局部最优。
即便如此,最基本的蒙特卡罗也可以根据历史的奖励值选取相对较好的行动。

你可能感兴趣的:(论文阅读,人工智能,MCTS,MCTS,人工智能算法,AI)