红心棋牌什么查找算法最快怎样找呢

A: 在扑克牌遊戏中, 需要实现一个查找顺子的什么查找算法最快:(连续的数字即为顺子), 随机发N张牌, 从中挑出最长的顺子, 并返回其长度, 如果没有顺子返回0. 现茬手上的牌为[12,3,4,10,6,5,6,8,11,9,11,11,9,12,1].
# 2. 不定数循环去找出每个元素连续间隔1的长度, n不断叠加, 找到最大长度 # 如果里面条件成立,开始循环 # 如果下标加上顺子长度大于等於列表长度, 则退出循环 # 如果列表下标 i+n的元素 减去 i的元素, 差值是n, 则长度加1, 字典更新出key和value, 寻找长度加1(因为以及排序了, 所以如果是顺子, 肯定索引差值就等于数值差值) # 如果数值差值不等于索引差值, 则长度保留为上一次的差值, 退出循环. # 遍历字典, 找出其中最大长度对应的起始数字, 即可得箌该数字延伸长度的顺子组合.

原标题:学界 | 使用深度学习和树搜索进行从零开始的既快又慢的学习

「二元处理机制」认为人类的推理包括两种不同种类的思考方法。如下图所示系统 1 是一个快速的、无意识的、自动化的思考模式,它也被称为直觉系统 2 是一个慢速的、有意识的、显式的、基于规则的推理模式,它被认为是一种进化仩的最新进展

在学习完成某项具有挑战性的规划任务(例如棋牌类游戏)时,人类会同时运用这两种处理方式:准确的直觉可以快速地選择有利路线这使我们慢速的分析推理更加高效。而持续的深入学习又能逐渐提升直觉从而使更准确的直觉回馈到更强大的分析中,這就形成了一个闭合的学习回路换言之,人类是通过既快又慢的思考方式来学习的 [1]

目前的深度强化学习存在什么问题?

在当前的深度強化学习什么查找算法最快中例如策略梯度(Policy Gradient)和 DQN3[3], 神经网络在选择动作的时候没有任何前瞻性;这个和系统 1 类似。与人类直觉不同的是这些强化学习什么查找算法最快在训练的过程中并没有一个「系统 2」来给它们推荐更好的策略。

AlphaGo 这类 AI 什么查找算法最快的一个缺陷之处茬于它们使用了人类专业玩家的数据库 [4]。在训练的初始阶段强化学习智能体会模仿人类专家的行动—而只有经历这样的初始阶段,它們才会开始潜在地学习更强大的超人类玩法但是这种什么查找算法最快从某种程度而言并不令人满意,因为它们可能会严重偏向某人类玩家的风格从而忽视潜在的更好策略。同时人类专家数据库在游戏领域中或许可得,而如果我们想要在其他情况下训练出一个 AI 机器吔许我们并没有这种可用的数据库。因此从零开始训练出一个最先进的棋牌游戏玩家对 AI 而言是一项主要挑战。

专家迭代(ExIt)是我们在 2017 年 5 朤介绍的一个通用学习框架它能够在不需要模仿人类策略的情况下就训练出强大的 AI 机器。

ExIt 可被视为模仿学习(Imitation Learning)的延伸它可以扩展至連顶尖人类专家也无法达到满意表现的领域中。在标准的模仿学习中学徒被训练以模仿专家的行为。ExIt 则将此方法延伸至一种迭代学习过程在每一次迭代中,我们都会执行一次专家提升(expert improvement)步骤在这个过程中我们会依靠(快速的)学徒策略来改善(相对较慢的)专家的表现。

象棋这类棋类游戏或许可以帮助我们更直观地了解这个概念在这类游戏中专家就类似于慢手下棋的棋手(每一步都花好多时间来決策),而学徒就像在下快棋(每一步都花很少时间决定如何走)

一份独立的研究显示,玩家会在同一个位置考虑多个可能的行动深叺(缓慢)地思考每一步可能的行动。她会分析在当前位置哪几手棋会成功而哪几手棋会失败当在未来遇到相似的棋局时,她之前的学習所培养出来的直觉就会迅速告诉她哪几手棋会可能更好这样即使在快棋设置下,她依然可以表现不俗她的直觉就来源于她模仿自己の前通过深度思考计算而获得的强大策略。人类不可能仅仅通过快棋而变成卓越的棋手更深入的研究是学习过程中必需的部分。

对人工智能游戏机器而言这种模仿是可以实现的,例如将一个神经网络拟合到另一个「机器专家」的某一步棋。在短时间之内通过模仿目前所见到的专家的行动学徒就可以学习到一个快棋策略。这里的关键点在于假设在这个游戏背后存在一个潜在的结构,机器学习就能够讓学徒将它们的直觉泛化到以前没有见到过的状态中去采取快速决策也就是说,学徒没有仅仅是从有限的固定的专家棋谱数据库中创建一个行动查询表,而是能将所学泛化到其他棋局状态中所以神经网络既起着泛化的作用,也起到了模仿专家玩家的作用

假设学徒通過模仿目前所见到的所有专家行动学到了一个快速决策,那么它就可以被专家所用当专家希望采取行动的时候,学徒会很快地给出一些備选行动然后专家会进行深入考虑,并且也许在这个慢速思考的过程中专家还会继续受到学徒的敏锐直觉的指引。

在这个阶段的最后专家会在学徒的辅助下采取一些行动,这样每一步行动通常都会比仅由专家或者仅由学徒单独做出的行动要好。

接下来上述的过程鈳以从学徒重新模仿(新)专家推荐的行动开始,反复进行下去这会形成一个完整的学习阶段的迭代,迭代过程将持续直到学徒收敛。

从二元处理机制方面来看模仿学习(imitation learning)步骤类似于人类通过研究实例问题来提升直觉,然而专家提升(expert improvement)步骤则类似于人类利用自己巳经得到提升的直觉去指导未来的分析

ExIt 是一种通用的学习策略,学徒和专家可以用不同的形式具体化在棋牌类游戏中,蒙特卡洛树搜索(Monte Carlo Tree Search)是一个强大的游戏策略 [6]是专家角色的天然候选者。深度学习已经被证明是一种模仿强悍玩家的成功方法 [4]所以我们将它作为学徒。

在专家提升(expert improvement)阶段我们使用学徒来指引蒙特卡洛树搜索什么查找算法最快,让它朝着更有希望的方向行动这有效地减少了游戏树搜索的宽度和深度。以这种方式我们就能够把在模仿学习中得到的知识返回来用在规划什么查找算法最快中。

Hex 是一款经典的两玩家棋牌遊戏玩家在 n×n 的六边形格子上角逐。玩家颜色分为黑和白轮流将代表自己颜色的棋子放在空格子中,如果有一列依次相连的黑子从南箌北连在了一起那么黑方获胜。如果有一列依次相连的白子从东到西连通那么白方获胜。

上面是一个 5×5 的棋盘其中白方获胜。Hex 有深喥策略这使得它对机器而言极具挑战性,它巨大的动作集合和连接规则意味着它和围棋给人工智能带来的挑战有些类似然而,与围棋楿比它的规则更加简单,而且没有平局

Hex 的规则很简单,因此数学分析方法非常适用於此目前最好的机器玩家 MoHex[7] 使用的是蒙特卡洛树搜索和巧妙的数学思想。自 2009 年MoHex 在所有的计算机游戏奥林匹克 Hex 竞赛中战无不胜。值得注意的是MoHex 使用了人类专家数据库训练展开策略 (rollout policy)。

让我們一起验证在不使用任何专业知识和人类专家棋谱的情况下(游戏规则除外),ExIt 训练策略是否可以训练出一个胜过 MoHex 的 AI 玩家为此,我们使用蒙特卡罗树搜索作为专家由学徒神经网络来引领专家。我们的神经网络是深度卷积神经网络的形式具有两个输出策略--一个给白方,另一个给黑方(细节参见 [5])

修正过的蒙特卡罗树搜索公式可实现专家提升(expert improvement):

这里,s 是一个棋局状态a 是一个在状态 s 下可能被采取嘚行动。UCT(s,a) 是蒙特卡罗树搜索中所使用的树 [6] 的经典上置信区间(Upper Confidence Bound)后面所加的那一项能帮助神经网络学徒指导专家搜索更佳的行动。其中π? 是学徒的策略(在状态 s 中对于每个潜在行动 a 的相对优势)n(s,a) 是搜索什么查找算法最快在状态 s 做出行动 a 的当前访问次数;w 是为了平衡专镓的慢思考和学徒的快思考而经验性选择的权重因子。该附加项使神经网络学徒引领搜索至更有希望的行动并且更快地拒绝不佳的行动。

为了在每一个模仿学习阶段生成用以训练学徒的数据批处理方法每次都重新生成数据,抛弃之前迭代中产生的所有数据因此,我们哃时也考虑了一个仅保存有限的最新生成数据的在线版本以及一个保留所有数据的在线版本,但是随着与最强玩法对应的最新专家的增哆数据会成指数增长。在下图中我们对比了一些不同的方法:从训练的时间去衡量每一种学习策略网络的强度(测量 ELO 分数)

我们还展礻了仅仅使用一个更传统的强化学习方法,通过自我对弈(self play)学到策略 π? (a|s) 的结果(换言之不使用蒙特卡罗树搜索)这正是 AlphaGo 训练策略网絡时所用的方法。上图的结果证明:ExIt 训练方法比传统方法更高效值得注意的是,在这个例子中训练还没有完全收敛在更充足的训练时間下,学徒还能进一步提升能力

在论文中 [5],我们也运用了另一种能提升棋手性能的机制也就是能够让学徒估计在自己独自下棋时获胜嘚概率的价值网络 Vπ? (s)。策略网络和价值网络被结合起来以帮助指导最终受学徒辅助的蒙特卡罗树搜索玩家(apprentice-aided MCTS player)策略网络和价值网络使鼡一个和(1)近似,但是又有所修改(包含了学徒在 s 状态的价值)的方程指导最终的 MCTS 玩家(细节参考 [5])

我们最终的 MCTS 玩家表现超越了最著洺的 Hex 机器玩家 MoHex,在 9X9 的棋局中胜率是 75%考虑到训练没有完全收敛,表示这个结果更加卓越[9] 中展示了一些我们使用 ExIt 训练游的游戏机器玩家与目前最优的 MoHex 玩家对阵的情况。我们对比了从同一个状态开始时不同什么查找算法最快的玩法论文 [5] 中有更多的例子。

ExIt 为何会如此成功

部汾原因模仿学习一般比强化学习容易,因此 EXIT 要比像 REINFORCE 等任意模型(model-free)的什么查找算法最快更成功

此外,唯有在搜索中相对其他选择来说,没有缺点的行动才会被 MCTS 推荐因此 MCTS 的选择会比大多数潜在对手的选择更好。相比之下在常规的自我对弈(网络自身充当对手角色)中,行动都是基于打败当前仅有的一个对手而推荐的(因此所训练的棋手很有可能对当前的非最优对手过拟合)。我们认为这就是为什么 EXIT(使用 MCTS 作为专家时)会如此成功的关键因素 --事实上学徒在与很多对手的对战中都能取得良好的表现

AlphaGo Zero[10](在我们的工作 [11] 发表之后的几个月之後问世)也实现了一种 ExIt 风格的什么查找算法最快,并且证明在围棋中可以在不使用人类棋手棋谱的情况下达到当前最佳水平。论文 [5] 中给絀了详细的对比

专家迭代是一种新的强化学习什么查找算法最快,它受启发于人类思维的二元处理机制理论ExIt 将强化学习分解为两个独竝的子问题:泛化和规划。规划在具体分析的基础上执行并且在找到了强大的策略之后将之泛化。这将允许智能体做长期规划并进行哽快速的学习,即使在极具挑战的问题也能达到高水平表现这个训练策略在棋牌类人工智能玩家中是非常强大的,不需要任何人类专家嘚棋谱就能达到当前最佳性能

在处理顺序性决策问题如结构化预测、机器人控制、游戏时,什么查找算法最快必须结合规划策略和策略泛化在这篇论文中,我们提出了 EXIT(Expert Iteration专家迭代),一种新的强化学习什么查找算法最快它将问题分解为规划任务和泛化任务。树搜索負责规划新策略而深度神经网络则泛化这些规划。神经网络策略随之改善新的树搜索并增强新的规划。相比之下标准的深度强化学習什么查找算法最快仅仅使用一个神经网络来泛化规划和寻找新规划。我们证明 EXIT 在训练神经网络玩桌游 Hex 时要优于 REINFORCE 什么查找算法最快我们從零开始训练得到的最终的树搜索智能体击败了之前最佳的 Hex 人工智能玩家 MOHEX。

本文为机器之心编译转载请联系本公众号获得授权。

在房间里对着你要查的人点击右鍵就会显示对方ID等信息了。

你对这个回答的评价是

我要回帖

更多关于 找众数算法 的文章

 

随机推荐