• 对抗博弈决策方法


    对抗博弈主要包括零和正规式与扩展式博弈、Stackelberg博弈以及零和微分博弈这三种模型,本文就这三种对抗博弈模型以及其流行算法进行介绍。

    1.零和正规式与扩展式博弈

    零和博弈是指博弈中各方的利益完全相反,一方获利即意味着另一方的损失,总收益为零。正规式博弈是指博弈参与者的策略和利益在事先确定,博弈过程可以用一个博弈树或矩阵来表示。扩展式博弈则是在正规式基础上考虑时间因素,每个参与者按照轮次依次选择策略,博弈树会随着每一步的选择而扩展。扩展式博弈能够更好地描述现实中复杂的博弈情况,包括动态策略、不完全信息等。

    主流算法:

    对于零和正规式博弈,至今已有大量算法,例如,后悔匹配 (RM)、RM+、fictitious play、 (online) double oracle等。其中,最流行的算法是基于后悔学习的,通常称为no-regret (或次线性) 学习算法,依赖于外部遗憾、内在遗憾、交换遗憾及基于纳什均衡的遗憾等概念。基于此,两个主流算法是optimistic FTRL和optimistic mirror descent。

    针对零和不完美信息扩展式博弈,流行方法均基于反事实遗憾最小化 (CFR)。至今,许多更优性能的CFR变体被相继提出,包括CFR+、DCFR、LCFR、ECFR、AutoCFR等。同时涌现大量AI算法,例如,PSRO、deep CFR、single deep CFR、UDEF、PoG、NAC等。

    2.Stackelberg博弈

    Stackelberg博弈是一种博弈论中的领导者-追随者模型,其中一个参与者被称为领导者,而其他参与者被称为追随者。在Stackelberg博弈中,领导者能够先行选择策略,而追随者在观察到领导者的选择后,再做出自己的决策。

    具体而言,领导者首先考虑追随者的反应,并基于对追随者行为的预期做出最优决策。而追随者则在领导者的策略选择之后,通过最优反应来做出决策,以使自己的收益最大化。

    Stackelberg博弈通常涉及不对称的信息和能力,领导者有更完整的信息或更强的能力来预测和影响追随者的行为。这使得领导者在博弈中具有一定的优势,并能够通过选择最优策略来控制和影响整个博弈过程。

    主流算法:

    针对Stackelberg博弈,普遍的解决办法是把问题转化成双层线性规划或者混合整数线性规划问题,然后流行的解决算法包括multiple LP方法、benders decomposition、cut and branch等。对于连续Stackelberg博弈,常用算法是梯度上升下降法,许多算法都可以看作这个算法的变体。

    3.零和微分博弈

    零和微分博弈是一种针对连续变量的零和博弈模型。在这种博弈中,参与者的策略是一组连续可变的变量,而每个参与者的收益函数是这些变量的函数。

    在零和微分博弈中,每个参与者的目标是最大化自己的收益,而其他参与者的目标则是最小化其收益,因此博弈的总收益为零。参与者根据对其他参与者行为的预测和评估,选择自己的策略以达到最优收益。

    主流算法:

    对于零和微分博弈,使用粘性解方法是一种常用且有效的方法。在这种方法中,关键的理论基础是Hamilton-Jacobi-Isaacs方程

    Hamilton-Jacobi-Isaacs方程是一个非线性偏微分方程,描述了零和微分博弈的值函数。通过求解这个方程,可以得到每个参与者的最优策略和相应的值函数。

    粘性解方法将Hamilton-Jacobi-Isaacs方程转化为一个求解附加粘性条件的偏微分方程问题。这个附加条件通常取决于实际问题的约束条件,并用于界定最优策略的行为。通过数值方法或近似求解,可以得到该方程的解,即值函数。

  • 相关阅读:
    Vscode远程调试
    113.(leaflet篇)leaflet根据距离截取线段
    [python-flask笔记4]路由说明和指定请求方式
    java面试题背不下来怎么办?java面试题总结
    C++中tuple数据结构使用
    python代码是如何执行的?
    【java学习—八】==操作符与equals方法(2)
    Transformer:开源机器学习项目,上千种预训练模型 | 开源日报 No.66
    空指针异常处理
    Linux虚拟网络设备之tun/tap和veth设备的特点
  • 原文地址:https://blog.csdn.net/m0_64087341/article/details/132817254