zoukankan      html  css  js  c++  java
  • 博弈论进阶之Multi-SG

    Multi-Nim

    从最简单的Nim模型开始

    它的定义是这样的

    (n)堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿)或把一堆数量不少于(2)石子分为两堆不为空的石子,没法拿的人失败。问谁会胜利

    博弈分析

    这个问题的本质还是Nim游戏,可以利用SG定理来解释

    通过观察不难不发现,操作一与普通的Nim游戏等价

    操作二实际上是将一个游戏分解为两个游戏,根据SG定理,我们可以通过异或运算把两个游戏连接到一起,作为一个后继状态

    煮个栗子

    SG(3)的后继状态有({ (0),(1),(2),(1,2) })他们的SG值分别为({ 0,1,2,3 }),因此(SG(3)=mex{ 0,1,2,3 }=4)

    另外这种游戏还有一个非常神奇的性质

    [SGleft( x ight) =egin{cases}x-1left( xmod4=0 ight) \ xleft( xmod4=1 lor 2 ight) \ x+1left( xmod4=3 ight) end{cases} ]

    然后把这个结论背过就好啦233

    Multi-SG

    根据上面的游戏,我们定义Multi-SG游戏

    • Multi-SG 游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继可以为多个单一游戏
    • Multi-SG其他规则与SG游戏相同。

    注意在这里要分清楚后继多个单一游戏

    对于一个状态来说,不同的划分方法会产生多个不同的后继,而在一个后继中可能含有多个独立的游戏

    一个后继状态的SG值即为后继状态中独立游戏的异或和

    该状态的SG值即为后继状态的SG值中未出现过的最小值

    例题

    难度跨度好大啊QWQ。。

    直接放题解吧

    HDU 3032

    POJ 2311

    BZOJ 2940

    BZOJ 1188

    洛谷 3235

  • 相关阅读:
    linux之dup和dup2函数解析
    UNIX标准及实现
    UNIX基础知识
    HTML5学习笔记----html5与传统html区别
    c#设计模式-简单工厂
    c#设计模式-工厂模式
    MVC模式与三层架构的区别
    C# params传递多个参数
    SFC20 功能例子 注解
    工业以太网:十个核心基础概念
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/8469862.html
Copyright © 2011-2022 走看看