博客观赏效果更佳

前言

会持续更新的呢,毕竟博弈论是个毒瘤啊。

其实不要以为博弈论很变态,它是很有趣的。能理解透的话,一点都不难。其实,博弈论的本质,就是教你van♂游戏啊!

从一个简单的问题(Nim)入手

有n堆石子,你每次珂以从某一堆中取出若干个石子。先后手轮流操作。如果某个人把石子取完了,那就赢了。换句话说,如果某个人没有石子取了,那就输了。
先手有必胜策略么?

我们遇到什么问题,也不要怕,暴力的面对它!消除AC的最好办法就是爆搜!加油,TLE!

最强的数据是 n < = 1 e 5 n<=1e5 n<=1e5,石子数 < = 1 e 18 <=1e18 <=1e18。而我们只需要两三行代码就能解决问题。爆搜都没有这么短。

我们考虑把每一堆石子的数量二进制拆分。(为什么是二进制?因为二进制只有 0 0 0和 1 1 1,没有系数,方便考虑)比如 7 7 7就变成 4 + 2 + 1 4+2+1 4+2+1。

我们把它变成一个 n n n行 l o g a loga loga列的矩阵。比如 a = 3 , 4 , 7 a={3,4,7} a=3,4,7,变成:

0 1 1
1 0 0
1 1 1

考虑先手必败的情况:每一列上的数和都是偶数时,必败。
(珂朵莉第一博弈定理)

证明:每一列和均为偶数时,先手必败

对于某个 a i a_i ai​,我们把它减去某个数,就相当于把 a i a_i ai​某一些位置上的0/1变成了1/0。
那么我们找一个最高位不低于 a i a_i ai​的 a j a_j aj​,把相同的位置上的0/1也变成1/0。
(由于每一列的和都是偶数,所以我们肯定能找到一个最高位不低于 a i a_i ai​的 a j a_j aj​)
这样一波操作,每一列的和肯定还都是偶数。先手能操作,后手就一定能操作。后手操作到最后一步,先手就没了。而且先手肯定赢不了。

证毕

所以除了这样以外,肯定是先手必胜。也能想象出必胜策略:把某一堆石子拿掉一些,让剩下的局面变成必败型,然后留给后手下。根据上面的“珂朵莉第一博弈定理”,后手必败,所以先手必胜。

组合游戏

都尼玛是定理。自己查资料,或者参考刘汝佳的《算法竞赛入门经典——训练指南》(小蓝书)。要电子稿的联系3348064478@qq.com,我会友情赞助的。

把别的游戏转化成Nim游戏

Nim游戏的精髓在于几个关键词:

  1. “减少”
  2. 没了就赢了

这里,减少打上了引号。因为减少,珂以是各种你想不到的形式,比如说把某个数变成它的一个因数,也是一种“减少”。(本质就是,把它分解质因数,然后减少了几个项的指数)。
当然,减少了什么变量,也是一个珂以转化的点。举几个刘汝佳书上的例子罢。

翻棋子游戏

有一个n行m列的01矩阵。每次珂以选一个为1的位置(x,y),把它和同一行/列上,且在严格左/上方位置的一个位置,同时翻转(异或1)。不能操作就输了。先手还是后手必胜。

解法

把一个为1的位置上的(x,y)看成两堆大小为x和y的石子。原因:同一行/列,就是告诉你只能改变x,y中的一个。严格左/上方告诉你必须要是减小。好的,到这一步就能理解为什么这样能转化成Nim了。

除法游戏

n行m列的矩阵,每一行有一些正整数。先后手轮流操作。每次选择同一行中,若干个元素,把这些数都变成它们的某个真因子(就是不等于自己,而且是自己的因数)。不能操作的输。

(PS:1没有真因子)

解法

把每一行的所有数的质因数的指数和相加。原因:真因子相当于减少某一项质因数的指数。同一行只是唬你的幌子。只要把同一行的加起来就珂以了。

博弈论(van♂游戏) 笔记相关推荐

  1. 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之约会游戏与古诺模型

    耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之约会游戏与古诺模型 目录 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之约会游戏与古诺模型 约会游戏 古诺双寡头模型 约会 ...

  2. 耶鲁大学 博弈论(Game Theory) 笔记1

    耶鲁大学 博弈论(Game Theory) 笔记1 博弈论主要研究策略形势即不完全竞争情况,策略形势被定义为行为影响结果,但结果不仅自身行为也取决于其他人的行为. 博弈论笔记1 summary 成绩游 ...

  3. 耶鲁大学 博弈论(Game Theory) 笔记4-足球比赛与商业合作之最佳对策

    耶鲁大学 博弈论(Game Theory) 笔记4-足球比赛与商业合作之最佳对策 文章目录 点球博弈 结论 最佳对策定义 参与者针对对手策略的定义 广义定义 合伙人博弈 外部性 点球博弈 其中U1(4 ...

  4. MOOC-浙江大学-博弈论基础-学习笔记(一)

    MOOC-浙江大学-博弈论基础-学习笔记(一) 老师:蒋文华 知人者智,自知者明: 胜人者力,自胜者强: 小胜者术,大胜者德. 第一讲 概论 1.何为博弈? 博-博览全局, 奕-对弈棋局, 谋定而动! ...

  5. 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票

    耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票 目录 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票 伯川德 ...

  6. C++小游戏笔记——射击小行星(附源码)

    C++小游戏笔记--射击小行星(附源码) 游戏展示图 一.飞船 1.飞船的绘制 2.飞船的角度 二.小行星 1.小行星的绘制 2."凹凸不平"效果的形成 3.小行星的分裂 三.子弹 ...

  7. 如何计算近似纳什均衡_《纳什均衡与博弈论》读书笔记

    这本书用比较浅显易懂的方式讲述了纳什均衡理论,及其在各个领域的应用. 说到纳什均衡,那么可以推荐看看电影<美丽心灵>,原型就是约翰·纳什,1994年诺贝尔经济学奖获得者(同年还有约翰·C· ...

  8. BZOJ 3729: Gty的游戏 [伪ETT 博弈论]【学习笔记】

    题意: 给定一棵有根树,每个节点有一些石子,每次可以将不多于k的石子移动到父节点 修改一个点的石子数,插入一个点,询问某棵子树是否先手必胜 显然是一个阶梯Nim 每次最多取k个,找规律或者观察式子易发 ...

  9. 牛客网-数据结构笔试题目(三)-博弈论圆圈游戏(Circle Game)(附源码)

    题意 从前有两个人,一个叫Utkarsh,另外一个叫Ashish. 这两个人在一个2D的棋盘上玩移动棋子的游戏,一开始从原点出发,Ashish先手.每次可以把棋子向上或者是向右移动k个单位的距离.两人 ...

最新文章

  1. leetcode--Two Sum(2)
  2. [学习笔记]信号与系统
  3. Gradle在IDEA中创建web项目
  4. 008. 限制上传文件的大小
  5. JAVA进阶开发之(String字符串的存储原理)
  6. CVPR 2020 顶会 AI学术检索工具
  7. linux里用户权限:~$,/$,~#,/#的区别与含义
  8. python编程入门与案例详解-Python程序设计案例课堂
  9. windows 问题排查
  10. 前端 angular 和 bootstrap 的安装步骤
  11. iconfont-阿里巴巴矢量图标库的使用
  12. 等价类划分法设计测试用例
  13. Canbus通信协议
  14. 《Visual Basic.Net 循序渐进》问题收集贴
  15. __builtin_函数
  16. 注册码破解神器--OllyDbg
  17. 【英译中】如何拍好沙滩照1——2014年7月23日
  18. 【STM32】按键抖动及消除
  19. 一文读懂直播卡顿优化那些事儿
  20. 除了 P 站,还有这些站 ~~

热门文章

  1. vue请求拦截 给所有的api接口的请求 params 带上一个存储的值及qs的安装
  2. 被微信绑架下的生活 还能刷出存在感吗
  3. 【MySQL】MySQL 存储引擎、索引、锁、集群
  4. Web3 | DID赛道之 Galxe(原 Project Galaxy)
  5. flip game java_LeetCode 293. Flip Game
  6. 李宏毅《机器学习》笔记:3.误差分析和梯度下降
  7. android 代码 lut,如何将颜色LUT应用于位图图像以获取android中的滤镜效果?
  8. 计算机应用基础网上作业2,华东理工 计算机应用基础(本)网上作业2
  9. chrome浏览器强制采用https加密链接
  10. OSPF 协议中的一个普通区域通过ASBR 注入192.168.0.0/24~192.168.3.0/24 共4 条路由,在ABR 中配置聚合为一条聚合路由192.168.0.0/22,此时ABR 会