The Art of Drafting: A Team-Oriented Hero Recommendation System for Multiplayer Online Battle Arena

The Art of Drafting: A Team-Oriented Hero Recommendation System for Multiplayer Online Battle Arena Games

纯MCTS方法,阵容选定后,胜率用模型预测,然后反向传播
https://github.com/czxttkl/DraftArtist
没有训练,只有推理

方法

问题定义

DOTA2 Radiant(天辉)和Dire_(夜魇)
以天辉为例(先手选人)

n = 2 n=2 n=2玩家数量
S ⊂ Z N S \subset \mathbb{Z}^N SZN游戏状态, s ∈ S s \in S sS是一个 N N N维向量,表示一个游戏状态; N N N是总英雄数量
s i = { 1 , Radiant − 1 , Dire 0 , otherwise s_{i} = \begin{cases} 1, & \text{Radiant} \\ -1, & \text{Dire} \\ 0, &\text{otherwise} \end{cases} si= 1,1,0,RadiantDireotherwise
S T S_{T} ST终态集合,bp结束
ρ : S → { Radiant , Dire } \rho: S\to \left\{ \text{Radiant}, \text{Dire}\right\} ρ:S{Radiant,Dire}轮到哪一队选英雄
A A A选人动作集合
f : S × A → S f:S \times A \to S f:S×AS转移函数
R : S → R 2 R:S \to \mathbb{R}^2 R:SR2奖励, R 1 ( s ) = − R 2 ( s ) = w ( s ) R^1 \left( s \right)= -R^2\left( s \right)=w \left( s \right) R1(s)=R2(s)=w(s),其中 w ( s ) w \left( s \right) w(s)表示Radient胜率

MCTS

Monte Carlo Tree Search(MCTS)
在这里插入图片描述

Upper Confidence Bound applied to trees(UCT)
Upper Confidence Bound(UCB)
UCT = MCTS + UCB

选择
从根节点往下搜索,直到终态或者可扩展节点
若一个节点全扩展完了,那么下一个节点用UCB来选择
π U C B ( s ) = arg ⁡ max ⁡ a { w ˉ + c log ⁡ n ( s ) n ( s , a ) } \pi_{UCB} \left( s \right) = \arg\max\limits_{a} \left\{ \bar{w} + c\sqrt{ \frac{\log n \left( s \right) }{n \left( s,a \right) } } \right\} πUCB(s)=argamax{wˉ+cn(s,a)logn(s) }

其中 s s s是当前状态, a a a是动作, w ˉ \bar{w} wˉ是平均回报(平均胜率), n ( s ) n \left( s \right) n(s)是总访问次数, c c c是平衡常数
子节点访问次数越少,公式后半部分越大,让节点有机会被访问到

扩展
随机选择一个未访问过的动作,进入下一个节点

模拟
通过随机动作到终态

反向传播
更新访问过的节点的胜率和访问次数

胜率预测

s i = { 1 , Radiant − 1 , Dire Ξ , ban 0 , otherwise s_{i} = \begin{cases} 1, & \text{Radiant} \\ -1, & \text{Dire} \\ \Xi, &\text{ban}\\ 0, &\text{otherwise} \end{cases} si= 1,1,Ξ,0,RadiantDirebanotherwise

12个特殊字符 Ξ \Xi Ξ(?)
对于奖励函数 R ( s ) R\left( s \right) R(s),输入的 s s s可以将ban的英雄设置为 0 0 0

模型为mlp classifer,隐藏层数为1,维度为120
(111->120->2)

评估

数据集

dota2 2016.02.11-2016.03.02
5百万场“Ranked All Pick”对局,包含阵容和平均段位(正常,高,非常高)
为了降低段位的影响,选择了正常段位
最后有3056596场,111个英雄

胜率预测训练

对比方法:
梯度提升树(GBDT)
逻辑回归(LR):对
majority class(MC):直接预测天辉赢,因为有53.75%的对局天辉赢
在这里插入图片描述

模拟

对局1000局,轮流先手
第一个英雄:每个英雄被选择的概率和在数据集中被选的概率有关

在这里插入图片描述

UCT n , c \text{UCT}_{n,c} UCTn,c n n n是迭代, c c c是常数

Association Rules (AR):设定一些规则,比如这个英雄选了的情况下选另一个英雄counter
Highest Win Rate (HWR):选胜率最高
Random (RD):随机

全英雄模式
同一行的迭代次数是一样的,因此调 c c c作用不大
在这里插入图片描述

全英雄模式
UCT比非UCT胜率高
基本趋势是随着迭代,胜率越来越高
在这里插入图片描述

在这里插入图片描述

Captain Mode
在这里插入图片描述

在ban环节,UCT将输出的英雄ban了
c开始有影响,所以图中的c是实验中最好的
UCT比非UCT好
在这里插入图片描述

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nightmare004

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值