zoukankan      html  css  js  c++  java
  • Every-SG 博弈论 mark定义和结论

    http://blog.sina.com.cn/s/blog_51cea4040100h3l9.html

    这种类型,可以想成这样,有N组游戏,有N个穿红色衣服的人代表先手,有N个穿蓝色衣服的人代表后手,这个时候,编号相同的人和游戏分到一组游戏,既第i号穿红色衣服人和第i号穿蓝色衣服的人做第i个游戏。游戏开始后,首先所有穿红衣服的人先操作,然后所有穿蓝色衣服的人再操作,这样轮流下去。直到最后还没游戏完的一组,这组如果是红色衣服的人胜利,那么该游戏先手必胜,如果是蓝色衣服的人胜利,就是先手必败。

    很明显,Every-SG不仅仅像其他SG那样仅仅跟SG值有关,还与一个游戏的时间长度有关。

    如果先手想赢,那么,在做先手必胜的单一游戏时,他肯定是想把战线尽量拉长。在做先手必败的单一游戏时,他肯定是想把游戏尽快结束。

     于是我们开一个Step数组。

    表示对于先手必胜的单一游戏而言,它最少走好多步胜利。对于先手必败的单一游戏而言,它最多走好多步。

    这样,我们只需要看最后所有单一游戏最大的step那组的SG是0还是非0就可以断定是否先手必胜了。

        很容易得出:

        (u是v的子状态)

        step[v] = 0;                 (v为终止状态)

        step[v] = max{step[u]} + 1;  (sg[v]>0,sg[u]=0)

        step[v] = min{step[u]} + 1;  (sg[v]==0)

  • 相关阅读:
    golang的slice作为函数参数传值的坑
    编程语言学习网站
    Ubuntu 下 kdevelop下 怎么向主函数传递参数
    kdevelop使用笔记
    深度学习资料
    微信跳一跳辅助外挂的开发
    octomap的简介
    视觉slam十四讲开源库安装教程
    linux下pip安装pygame
    opencv学习笔记霍夫变换——直线检测
  • 原文地址:https://www.cnblogs.com/137shoebills/p/8328295.html
Copyright © 2011-2022 走看看