三消自动跑关AI

前段时间为了提升游戏数据,保留存、拉付费。游戏设计的核心方面是难度及其对玩家体验的影响,度太简单,玩家无法充分投入,难度太难,玩家会感到沮丧,从而退出游戏。

        于是搞了一个三消自动跑关的AI,通过收集线上玩家数据,与AI的打关数据进行拟合,找出最合适薅羊毛点,以及保流失率的点,进行关卡调整,或者动态干预关卡难度。一下是我对于实现AI跑关做的一些调研,和拟合玩家数据提高游戏数据翻一些论文后做的一些记录。

启发式算法
  • 简单和快速:启发式算法通常比复杂的算法更简单,同时执行速度也更快。这是它们的一大优势。
  • 基于规则,无法模拟人类决策:启发式算法依赖于预定义的规则,无法完全模拟人类的复杂决策过程。这可能导致其无法处理一些非标准情况。
  • 难以维护和扩展:当新的需求出现时,启发式算法通常需要重新设计,这使得它们难以维护和扩展。每次有新特性加入时,都需要重新修改整个算法。

总之,启发式算法是一种简单快速但功能有限的解决方案。它们适用于一些简单的问题,但在处理复杂问题或需求变化时,可能就会暴露出其局限性。选择什么样的算法,需要根据具体情况权衡各种因素。

蒙特卡罗树搜索算法(Monte Carlo Tree Search, MCTS)
  • 较高的准确性:MCTS是一种树搜索算法,能够通过模拟未来多步操作来做出更准确的决策。这使得它在某些应用中表现较为出色,如下棋等。
  • 能够规划未来:MCTS可以规划和考虑未来的后续步骤,而不仅仅局限于当前状态。这使得它能做出更加前瞻性的决策。
  • 需要更多的模拟运算:要规划未来,MCTS需要进行大量的模拟计算。这使得它的计算开销相对较高,速度也会比一些其他算法慢。

综上所述,MCTS是一种相对准确的算法,能够考虑未来的动作序列。但它需要更多的计算资源,速度会比一些启发式算法慢。在实际应用中,需要权衡算法的准确性和响应速度,选择最合适的解决方案。

深度学习(Deep Learning)
  • 监督学习算法:深度学习通常采用监督学习的方式,需要有大量的训练数据(如棋局记录)作为样本。
  • 使用实际数据进行训练:深度学习模型是通过学习大量的历史数据(如玩家的棋局记录)来获得知识,而不是依赖于预先设计的规则。
  • 更高的准确性:相比于蒙特卡罗树搜索(MCTS)等方法,经过充分训练的深度学习模型通常能给出更加准确的决策。
  • 执行速度快:深度学习模型在进行推理时,速度可以与启发式算法媲美,甚至更快。这使其在需要快速响应的场景中很有优势。

总的来说,深度学习结合了监督学习的优势,能够在准确性和响应速度方面都有不错的表现。但它需要大量的训练数据,并且模型的训练和优化也需要耗费大量的计算资源。在实际应用中,需要根据具体需求权衡各种算法的特点,选择最合适的解决方案。

强化学习(Reinforcement Learning)算法
  • 自我学习:强化学习算法通过不断自我对弈和学习,逐步掌握如何玩好游戏,无需依赖于人类玩家的数据。
  • 可能超越人类水平:由于不受人类水平的限制,强化学习的机器人在某些复杂游戏中可能最终超越人类玩家的水平。这是一个潜在的问题。
  • 相对较低的准确性:与深度学习等监督学习方法相比,强化学习在初期可能会给出较低的准确性决策。但它可以提供一个估计,即机器人最终能达到的水平有多高。
  • 无需人类参考:强化学习不需要依赖于人类玩家的数据,这使得它在一些没有充足训练数据的场景下也能发挥作用。

总的来说,强化学习是一种独立学习的方法,可以在某些场景下取得很好的效果。但它在初期可能会less accurate,需要大量的自我训练才能达到理想的水平。在选择算法时,需要权衡准确性、训练成本等因

softmax 函数

好的,我明白您提到的"softmax"这个概念。

softmax是一种广泛应用于机器学习和深度学习中的激活函数。它的数学表达式如下:

其中:

  • K是类别的总数
  • z_i是第i个类别的原始输入值
  • softmax(z_i)是第i个类别的softmax输出值
  • softmax函数的作用是将一组K个实数值转换成K个概率值,使得这些概率值之和为1。这样可以将原始输入值解释为概率分布。
  • softmax函数广泛应用于多分类模型中,如logistic回归、神经网络等。它可以将模型的输出解释为各个类别的概率分布,从而帮助我们做出预测和决策。

总的来说,softmax是一种重要的激活函数,在机器学习和深度学习领域有着广泛的应用。它可以将原始输入转换成概率分布的形式,为模型的输出提供了直观和可解释的表示。

ReLU 函数

ReLU(Rectified Linear Unit)是一种广泛使用的激活函数,定义如下:

其特点如下:

  • 单调递增,有助于模型收敛。
  • 计算简单,效率高。
  • 能够有效地解决梯度消失的问题,在深度神经网络中表现出色。
  • 稀疏性强,在输入为负值时输出为0,有利于模型压缩。

ReLU函数简单但有效,在计算机视觉、自然语言处理等多个领域的深度学习模型中广泛应用。它是当前最流行的激活函数之一。

统计学相关

方差(Variance)

假设我们有一组数据如下:

{2, 4, 6, 8, 10}这组数据的平均值是:


\mu = \frac{2+4+6+8+10}{5}= 6

那么这组数据的方差计算如下:

首先计算每个数据点与平均值的差值:
{-4, -2, 0, 2, 4}

然后将这些差值平方:
{16, 4, 0, 4, 16}

最后求这些平方值的平均值:
Var(X) = \frac{16+4+0+4+16}{5}=8

所以这组数据的方差是8。

从这个例子可以看出:

方差反映了数据点离其平均值的偏离程度。
数据点越接近平均值,方差就越小,反之方差越大。
方差的单位是原始数据单位的平方。
方差是统计分析中非常重要的度量指标,它可以用来描述数据的离散程度,评估模型的拟合优度,量化测量误差等。

Θ(Theta)符号

在数学和计算机科学中,Θ(Theta)符号用于表示算法或函数的渐近复杂度。

Θ(g(n))表示一个函数 f(n) 的复杂度与 g(n) 是同阶的,即存在正常数 c1 和 c2,使得当 n 足够大时:

c1 ⋅g(n)≤f(n)≤c2 ⋅g(n)

这意味着,函数 f(n) 的增长率介于常数倍 c1 和 c2 之间,与 g(n) 的增长率是相同的。

Θ记号描述了一个函数的上界和下界,它给出了该函数的精确渐近行为。相比之下,O记号只给出了函数的渐近上界,而Ω记号只给出了函数的渐近下界。

Θ记号常用于分析算法的时间复杂度和空间复杂度,以确定算法的效率。它是计算机科学中一个非常重要的概念。

负二项分布

负二项分布是一种离散概率分布,用于描述在独立的重复试验中,直到出现第 r 次失败所需要的成功次数。它有两个参数:

  1. 成功概率 p:每次试验成功的概率。
  2. 失败次数 r:需要观测到的失败次数。

负二项分布的概率质量函数为:

其中:

  • X 表示成功次数
  • x 表示实际观测到的成功次数
  • r 表示所需的失败次数
举个例子

假设某公司的产品质量检查过程如下:

  • 每个产品有 5% 的概率存在缺陷(p=0.95)
  • 公司要求在连续抽查 3 个产品(r=3)之前发现第一个缺陷产品

那么根据负二项分布公式,我们可以计算出:

在抽查前 3 个产品时,刚好发现第一个缺陷产品的概率为:

P(X=3)=\binom{3+3-1}{3}*0.95^{3}*(1-0.95)^{3}=0.2149

也就是说,在连续抽查 3 个产品之前发现第一个缺陷产品的概率是 21.49%。

这个例子说明了负二项分布如何用来描述在重复试验中,直到出现第 r 次失败所需要的成功次数的概率分布。这对于监控和管控产品质量非常有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值