首页 > 其他分享 >博弈论 & Nim 游戏

博弈论 & Nim 游戏

时间:2024-01-15 20:37:00浏览次数:26  
标签:博弈论 台阶 游戏 Nim 石子 玩家 偶数

公平组合游戏ICG :

1.有两名玩家参与

2.在游戏的任意时刻,玩家执行的合法行动与轮到那名玩家无关

3.不能行动的玩家判负

Nim 游戏 :

**给定 n 堆物品,第i堆物品有Ai个 ,两名玩家轮流行动,可以取走每堆任意多个(> 0) ,取走最后一件物品的玩家获胜,这种游戏称为NIM 游戏, **

定理 : NIM 先手必败 A1^ A2 ^A3 ^ …… ^An = 0

台阶 - Nim 游戏 :

有 n 级台阶的楼梯,每级台阶上都有若干个石子,两名玩家轮流操作,每次能将任意一阶台阶上的若干石子( > 0 )放到下一级台阶上,已经在地面上石子不能能拿,最后无法操作的人失败

分析: 将第i阶台阶的石子看成i堆 偶数阶石子 对最终结果没影响,换言之,你从偶数阶拿多少石子,我只要从奇数阶里拿出来相同个数放入偶数阶,就相当于没变化 。

		决定性因素在奇数阶,

奇数阶 异或 = 0 先手必败

标签:博弈论,台阶,游戏,Nim,石子,玩家,偶数
From: https://www.cnblogs.com/Elgina/p/17966229

相关文章

  • P1558 色板游戏
    原题链接题解1,种30棵树,每棵树代表每种颜色,树的每个节点代表这个颜色在对应区间上是否存在code#include<bits/stdc++.h>usingnamespacestd;intst[32][400005]={0};intlazy[32][400005]={0};voidpushdown(intwho,intnode){st[who][node*2]=lazy[who][node];......
  • 微信抖音小游戏《黄金矿工》案例详解
      微信小游戏,抖音小游戏,非常适合个人开发者创业,不用版号,门槛低,同时抖音小游戏的系统算法推荐,能让好的游戏脱颖而出, 你要做的就是把游戏做好就可以了。    这个系列的文章,配套了视频教程讲解与课程资源,课程源码。下面开始讲解黄金矿工的具体制作流程。  1:开发工具......
  • Nuxt3教程:添加Autoanimate 动画库
    前言AutoAnimate是一个零配置,插入式动画实用程序,可以为您的Web应用程序添加平滑过渡。您可以将其与React,Solid,Vue,Svelte或任何其他JavaScript应用程序一起使用。正文安装依赖#yarnyarnadd@formkit/auto-animate#npmnpminstall@formkit/auto-animate#pnpmpnpmadd......
  • 操作滚动条小结:scrollIntoView/animate等方法的来龙去脉
    操作滚动条可以通过锚点跳转,JS操作滚动条,与scrollIntoView等方法。对此,我来考古一下。锚点跳转滚动滚动条网页中的锚点跳转是HTML早期功能之一,锚点(anchor)跳转是1991年发布的HTML标准的一部分,这是超文本链接的基本特性。锚点跳转通过使用<a>标签的href属性来创建指向页面内部某......
  • 数字生成游戏
    数字生成游戏题目描述小明完成了这样一个数字生成游戏,对于一个不包含的数字来说,有以下种生成新的数的规则:将的任意两位对换生成新的数字,例如可以生成;将的任意一位删除生成新的数字,例如可以生成;在的相邻两位之间之间插入一个数字,需要满足。例如可以生成,但......
  • 使用 Python 和 Pygame 制作游戏:第六章到第八章
    第六章:贪吃虫原文:inventwithpython.com/pygame/chapter6.html译者:飞龙协议:CCBY-NC-SA4.0    如何玩贪吃虫贪吃虫是Nibbles的克隆。玩家开始控制一个不断在屏幕上移动的短蠕虫。玩家无法停止或减慢蠕虫,但他们可以控制它转向的方向。红苹果随机出现在屏幕上,玩家必......
  • 使用 Python 和 Pygame 制作游戏:第九章到第十章
    第九章:推星星原文:inventwithpython.com/pygame/chapter9.html译者:飞龙协议:CCBY-NC-SA4.0         如何玩推星星推星星是Sokoban或“箱子推动者”的克隆。玩家位于一个房间,里面有几颗星星。房间中的一些瓷砖精灵上有星星标记。玩家必须想办法将星星推到有星......
  • leetcode 跳跃游戏
    classSolution{public:boolcanJump(vector<int>&nums){intn=nums.size();intcurrent_length=nums[0];if(n==1)returntrue;if(current_length==0)returnfalse;for(inti=1;i<n;i......
  • AnimatedList 实现动态列表
    AnimatedList实现动画  AnimatedList和ListView的功能大体相似,不同的是,AnimatedList可以在列表中插入或删除节点时执行一个动画,在需要添加或删除列表项的场景中会提高用户体验。 AnimatedList是一个StatefulWidget,它对应的State类型为AnimatedListState,添加和删......
  • 【笔记-Manim】空间与变换
    【笔记-Manim】空间与变换所有常量都可以在constants.py中找到屏幕空间屏幕中心为原点(0,0,0),遵循右手坐标系,向右为x轴正方向,向上为y轴正方向,向前为z轴负方向,旋转时正方向为顺时针方向。相关常量名称描述FRAME_HEIGHT屏幕高度,默认为8FRAME_WIDTH屏幕宽度,默认为......