首页 > 其他分享 >博弈论入门

博弈论入门

时间:2023-07-08 18:44:29浏览次数:41  
标签:博弈论 入门 先手 必败 石子 必胜 异或 任意

博弈论入门

  • 必败情况为P,必胜情况为N,我们要得出N一定有方法能转换到P,P任意操作都会到N

1.巴什博弈

  • 两个顶尖聪明的人在玩游戏,有一堆n个石子,每次每个人能取\([1,m]\)个石子,不能拿的人输,请问先手与后手谁必败?

  • 1~m个石子,先手必胜

  • 反推m+1个石子只能到1~m,所以必败

  • 反推m+2~2*m+1一定能到m+1,所以必胜

  • 综上所述,当石子数为m+1的倍数时必败,否则必胜

2.尼姆博弈

  • 两个顶尖聪明的人在玩游戏,有n堆石子,第\(i\)堆有\(a_i\)个,每人每次能从一堆石子中取任意多个石子但不能不取,不能拿的人输,请问先手与后手谁必胜?

  • 最后所有数都为0,所以异或和为0

  • 反推一步,将一个数改变,那么异或和一定不为0

  • 也就是说先手的人保持自己的异或和为0就能获得最后的胜利,如果本来就是0就输

  • 那么一定有保持自己异或和为0的取法吗?

  • 假设异或和为x,那么一定有一个数在这个位上为1,让它和x异或,它一定会变小,因为x最高位变成了0,无论后面是多少都会变小。

  • 结论:异或和为0后手赢,反之先手赢

nimk游戏

  • 如果将游戏改成每人每次可以从\([1,d]\)堆中各取任意多个石子呢?

  • 每个二进制上为1的个数%(1 + d) = 0为必败情况

  • 以下为反推过程

  • 全0为P

  • 对于P状态,每次操作\([1,d]\)个数,对于操作的最高位来说也就是减少\([1,d]\)次,无法变回%(1 + d) = 0

  • 因此P任意操作都会到N得证

  • 对于N状态,从高位处理到低位,如果高位有从1到0的,那么下面的位无论取0还是1都无所谓

  • 对于最大位,取多余的1

  • 对于下面的位,假设有n个高位从1到0,也就是说有n个可以任意换0或换1,有a个1和b个0,那么它的贡献就可以为\([-a,b]\),如果n到了d,这个范围就包括了\([1,d]\)

  • 如果n没到d,那就可以取外面的1,照样可以让这个范围覆盖\([1,d]\),并且将这个范围扩大

  • 因此N有方法到P得证

  • 综上所述每个二进制上为1的个数%(1 + d) = 0为必败情况,否则必胜

3.威佐夫博弈

  • 两个顶尖聪明的人在玩游戏,有2堆石子,每人每次可以拿走任意一堆中任意数量的石子或在两堆石子中拿走相同数量的石子,不能拿的人输,请问先手与后手谁必胜?
  • 结论:\((⌊\frac{1+\sqrt5}2|y-x|⌋,⌊\frac{3+\sqrt5}2|y-x|⌋)\)必败,否则必胜,利用Betty定理不会,再说

扩展威佐夫博弈

  • 要求取的数的绝对值之差\(|x-y|<d\),或者只取一个
  • 结论:\((⌊\frac{2-d+\sqrt{d^2+4}}2k⌋,⌊\frac{2+d+\sqrt{d^2+4}}2k⌋)\),\(y=x+dk\)必败背结论呗

4.斐波那契博弈

  • 两个顶尖聪明的人在玩游戏,有一堆石子,先手第一次可以拿任意多个但不能全拿走也不能不拿,之后每个人最少拿一个,最多拿前一个人两倍那么多个,谁取到最后一个谁就能获胜,请问先手后手谁必胜?

  • 结论:为斐波那契数时必败,否则必败

  • 数学归纳法证明:斐波那契数列时,先手必败

  • 当n等于2时显然先手必败

  • 假设\(n=f[i](i <= k)\)的先手必败,现证明\(n=f[k+1]=f[k]+f[k-1]\)是否先手必败

  • 因为\(f[k+1]-f[k-1]=f[k]=f[k-1]+f[k-2]<f[k-1]*2\)所以先手不能取大于\(f[k-1]\)的数

  • 那么根据\(n=f[k-1]\)时先手必败,将会是后手取完\(f[k-1]\)所以问题就转换为\(n=f[k]\)时先手必败

  • 再证明:不是斐波那契数列时,先手必胜

  • 首先根据齐肯多夫定理:任何整数可以分解成若干个不连续的斐波那契数之和,可以将n分解成a+b+c+...

  • 取最小的斐波那契数a,因为不连续,所以b>2*a,这就转换为面对斐波那契数b先手必败,直到把所有的数取完

5.阶梯博弈

  • 两个绝顶聪明的人在玩游戏,有n堆石子,每次每人可以取走第i堆(i>1)任意数量的石子并将它们放到第i−1堆,或者直接取走第一堆的任意数量石子,不能操作的人输,请问先手能否必胜?

  • 转换为奇数位的尼姆博弈

  • 从偶数位下放到奇数位,下一个人可以再将这些多的下放到下一个偶数位直到丢掉,所以对于后手来说,丢偶数位没有用

  • 如果只丢奇数位,就变成了n/2堆石头,尼姆博弈

标签:博弈论,入门,先手,必败,石子,必胜,异或,任意
From: https://www.cnblogs.com/xxcdsg/p/17537647.html

相关文章

  • 博弈论之SG函数 学习笔记
    在许多地方曾经行过这样一个小游戏,摆出三堆硬币。分别包含3枚、5枚、7枚。两人轮流行动每次可以任选一堆,从中取走任意多枚硬币,可把一堆取完,但不能不取。取走最后一枚硬币者获得胜利。这类游戏可以推广为更加一般的形式:给定\(n\)堆物品,第\(i\)堆物品有\(A_i\)个。两名玩......
  • java入门概念个人理解之package与import浅析
    java入门概念个人理解之package与import浅析由于近来学习java,遇到了一些在c++上没有的概念,将它记http://录下,以自己复习使用,如有不理解妥之处,望大家批评指导。资料均由网上经过自己整合理解而来,如有侵权请通知我将起删除即可。我就以package与import开始吧。package的作用其实就是......
  • iOS开发入门 2 -基础篇:iOS 当中的集合类型
    今天继续昨天的内容,上一篇讲述了OC当中的基本数据类型,这次要讲的是OC当中的集合数据类型,NSArray(数组)NSDictionary(字典)NSSet(集合)这三种集合数据类型。一、NSArray和NSMutableArray1、NSArrayNSArray是一个集合数据类型,存储的对象必须为OC当中的对象类型(单数组中的数据类型不不......
  • iOS 开发入门 3-基础: iOS 视图控件 UIView
    相信大家通过前两篇文章已经大致了解了OC当中的数据组成部分,今天正式开始咱们iOS开发最主要的一个环节视图控件的使用.在正式开始讲解UIView之前我们需要先了解下什么是视图控件.其实视图控件的概念很好理解,比如说我们在打开某一应用的时候在手机上所看到的所有界面组成元素都是......
  • Go语言基础-Go语言基础语法入门
    第01天上午01课程内容1初识GO语言2开发环境搭建3第一个程序(程序结构)4基本组成元素:标识符、运算符、分隔符5变量、作用域6常量、7数据类型:布尔型整数浮点数字符串指针8流程控制:ifswitchforbreakcontinue9作业:①打印乘法口诀②猜数字 001初识......
  • Go语言基础-Go语言基础语法入门
    第01天Go语言基础语法入门1初识GO语言简介Go是一门开放源码的编程语言,可容易构建,简单、可靠和高效的软件历史Go语言是由谷歌的开发工程师(罗伯特·格瑞史莫、罗勃·派克、肯·汤普逊等)于2007年开始设计,利用20%的自由时间开发的实验项目,并于2009年以BSD-style授......
  • 开源许可证保姆级入门手册
    开源许可证是个相当庞杂的范畴,仅OSI(OpenSourceInitiative,开放源代码促进会)批准的许可证就有80多种;此外,还有数百种在开源生态中流传的其他许可证。虽然有些开源许可证相对简洁明了,适合只想简单发布开源项目的人使用;但还有一些许可证非常冗长复杂,甚至需要专业的法务团队介入......
  • SignalR 入门
    SignalR介绍SignalR是一个开源的实时通信库,用于构建实时、双向的应用程序。它提供了简化实时通信的功能,允许服务器主动向客户端推送数据,实现实时更新和即时通知的功能。SignalR具有高度集成性、跨平台支持和可扩展性,适用于实时聊天、在线游戏、监控系统等各种应用场景。Signa......
  • python爬虫scrapy入门教程
    背景:python实现网页爬虫,可以使用scrapy,首先,需要安装python的运行环境,我们这里使用anaconda集成环境。安装好以后,打开AnacondaNavigator,打开CMD.exePrompt,在命令行窗口运行:pipinstallscrapy,运行完,没有报错,意味着scrapy就安装好了,然后,在当前文件夹下新建一个文件,名为:myspider.p......
  • 用hexo搭配gittee搭建个人博客:从入门到放弃
    本地环境是WSL(Debian)+vscode,仓库在gittee上hexo个人页面搭建参考:Linux云服务器下Hexo部署及使用主题地址:Hexo-Theme-freemind.bithackgittee操作参考:在Gitee搭建属于自己的博客过程比较顺利,直到在申请开通gitteepages时需要上传身份证双面照和手持身份证双面照,我放弃了。......