zoukankan      html  css  js  c++  java
  • 博弈论

    参考资料:《算法竞赛进阶指南》

    SG函数:Steins;Gate函数。为0先手必败。反之先手必胜。

    mex运算:mex(S) = min

    有向图游戏:定义mex运算:

    SG(S) = mex(SG(son(S)))

    说人话就是所有后继状态的SG值的mex。

    公平组合游戏:多个独立游戏,每次选择一个游戏走一步。最后无路可走的人输。SG值为各个子游戏的异或和。


    参考资料:yyb

    Bash Game:

    n个石子,每个人只能取[1, m]个,不能取者输。此时SG(S) = n % (m + 1)

    Wythoff Game:

    两堆石子a,b,每个人可以在其中一堆或两堆取相同的任意个。不能取者输。

    令t = (1 + 50.5) / 2,若abs(a - b) * t == min(a, b)则先手败,否则先手胜。

    Nim Game:

    n个石子,每个人可以取任意个,不能取者输。此时SG(S) = n

    Moore's Nimk:(参考资料)

    n堆石子,每次从[1, k]个堆中分别取走若干个。不能取者输。

    yyb:

    还有一种说法:

    阶梯博弈:(参考资料)

    k个阶梯(地面为0号),每次选择一个阶梯,移动若干个石子到下一阶梯,不能移动者输。此时等价于只有奇数号阶梯上石子的普通Nim。

    以下内容参考贾志豪论文

    Anti-SG(反Steins;Gate是不是SERN啊)

    感觉慢慢证还是比较好理解,但是据说市面上只有一道题...弃疗了。

    Muti-SG:

    一次可以把一个子游戏拆分成若干个子游戏(???)直接暴力SG。

    Every-SG:

    每次要把所有未完的子游戏全部走一步。最后无路可走的人输。

    定义step(S)代表S局面你所期望的结束步数。你要让能赢的尽量玩的久,输的尽早结束。

    必胜当且仅当max(step)为奇数。

    翻硬币游戏:(参考资料)

    对于每个单独的正面朝上的局面SG值,直接手玩找规律。

    不平等博弈:去死吧。

    某博客某论文

  • 相关阅读:
    python基础-递归
    python基础-三元表达式/列表推导式/生成器表达式
    python基础-生成器
    python基础-迭代器
    python基础-函数
    python基础-文件操作
    Docker(六)安装Red5进行rtmp推流
    Docker(五)安装Fastdfs
    Docker(四)安装Redis
    Docker(三)安装Mysql
  • 原文地址:https://www.cnblogs.com/huyufeifei/p/10550718.html
Copyright © 2011-2022 走看看