首页 > 其他分享 >博弈论

博弈论

时间:2024-09-10 23:24:12浏览次数:9  
标签:Case 石子 ll 博弈论 拿走 Game 博奕

ICG博弈

所讨论的博弈问题满足以下条件:

  •     玩家只有两个人,轮流做出决策。
  •     游戏的状态集有限,保证游戏在有限步后结束,这样必然会产生不能操作者,其输。
  •     对任何一种局面,胜负只决定于局面本身,而与轮到哪位选手无关。

经典的三种玩法

一、巴什博奕(Bash Game)

二、尼姆博奕(Nimm Game)

三、威佐夫博奕(Wythoff Game)

(一)巴什博弈

1堆n个石子每次最多取m个、至少取1个

Case 1:如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。

Case 2:n=(m+1)*r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后者拿走k(1≤k≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。

Case 3:n=r*(m+1),先手拿走k(1≤k≤m)个,那么后手再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,则后手胜,先手必败。

总之,要保持给对手留下(m+1)的倍数,就能最后获胜。

例题:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者胜。(等价于从一堆100个石子中取石子,最后取完的胜)

有一堆k个的石头,每人轮流拿1,2,..L个石头,数据范围是3 <= K <= 100 000 000 ,2 <= L < K。输入k的值,要求输出最小的L,使得后者胜。

 

首先想让后手胜,就必须把(1+L)的局面留给先手。这题没问我们谁会赢,问的是后手要赢的最小L值为多少。那我们就找到能被k整除的最小大于2的因数,之后减1输出就是答案了

红色的部分基于case3的公式,k代表n,r是倍数关系,m是要找的l。

k=r*(l+1)→r=k/(l+1)

r代表倍数关系,只要从小到大找到(n%(i+1)==0)


//#include<bits/stdc++.h>
#include<iostream>
using namespace std;
typedef long long ll;
const int N=100005;
ll n;//石子数量
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>n;
    ll i;
    for(i=2;i<n;i++)//依次找最小的因子
    {
        if(n%(i+1)==0)
        {
            cout<<i<<endl;
            break;
        }
    }
    if(i==n) cout<<0<<endl;//找不到的情况下输出0
    return 0;
}

 

标签:Case,石子,ll,博弈论,拿走,Game,博奕
From: https://www.cnblogs.com/zzy001/p/18407240

相关文章

  • 博弈论 Nim游戏
        本文参考链接:https://www.geeksforgeeks.org/combinatorial-game-theory-set-2-game-nim/给定许多堆,其中每堆包含一些数量的石头。在每一回合中,玩家只能选择一堆并从该堆中移除任意数量的石子(至少一个)。无法移动的玩家被视为输掉游戏(即,拿走最后一颗石头的玩家获胜   ......
  • 博弈论简述 第二章 完全信息动态博弈 自用整理中
    持续更新中博弈论简述系列主要参考本校授课老师的PPT,相当于把老师的PPT简单过了一遍,加上自己的理解,但是个人觉得PPT内容系统结构不太行,后面有时间再慢慢调整。没有什么技术性的内容,主要是简述。后面准备开一个系列,认真研读一下一些技术性的内容。一、完美信息动态博弈1、......
  • 博弈论简述 第一章 完全信息静态博弈 自用整理中
    持续更新中博弈论简述系列主要参考本校授课老师的PPT,相当于把老师的PPT简单过了一遍,加上自己的理解,但是个人觉得PPT内容系统结构不太行,后面有时间再慢慢调整。没有什么技术性的内容,主要是简述。后面准备开一个系列,认真研读一下一些技术性的内容。一、博弈的标准式和纳什均......
  • 博弈论算法总结
    正在完善!何为博弈论博弈论,是经济学的一个分支,主要研究具有竞争或对抗性质的对象,在一定规则下产生的各种行为。博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。先来看一道小学就接触过的思维题你和好基友在玩一个取石子游戏。面前有30颗石子,每次只能取一颗......
  • 博弈论基础
    前置知识mex⁡\operatorname{mex}mex:没有出现过的最小自然数,如mex......
  • 博弈论基础
    前置知识\(\operatorname{mex}\):没有出现过的最小自然数,如\(\operatorname{mex}\{0,2,3\}=1\)。\(\oplus\):按位异或。前言博弈类问题大致分为,公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)、反常游戏。只需要关注公平组合游戏\(\texttt{(ICG)}\),反常游戏是公平组合游......
  • 博弈论入门
    博弈论入门博弈论主要研究的是:在一个游戏中,进行游戏的多位玩家的策略。公平组合游戏定义:游戏有两个人参加,轮流参加决策,双方均知道游戏的完整信息;任意一名玩家在某一状态可以做出的决策集合只与当前状态有关,与游戏者无关;游戏中某一状态不可能多次抵达,游戏以玩家无法行动为......
  • Twenty Lectures on Algorithmic Game Theory 算法博弈论二十讲 Lecture 5 Revenue-Ma
    TwentyLecturesonAlgorithmicGameTheory算法博弈论二十讲Lecture5Revenue-MaximizingAuctions(上)Lecture5Revenue-MaximizingAuctions第2至第4讲聚焦于设计能够最大化社会福利的机制,无论是精确还是近似。这类机制的收益产生仅仅是副作用,是激励代理人如实......
  • 博弈论学习笔记
    博弈论学习笔记一.公平组合游戏(ImpartialGame)公平组合游戏满足以下性质:决策公平(双方操作的集合是一样的)无隐藏信息(双方均知道游戏的所有信息)无随机部分无平局有固定的结论是,若双方都绝顶聪明,对于固定的状态\(G\),能判断其是必胜还是必败态。二.巴什博弈(BushGame)只有......
  • Twenty Lectures on Algorithmic Game Theory 算法博弈论二十讲 Lecture 2 Mechanism
    TwentyLecturesonAlgorithmicGameTheory算法博弈论二十讲Lecture2MechanismDesignBasics过去的15年里,计算机科学与经济学之间进行了活跃的互动,催生了算法博弈论这一新兴领域。许多现代计算机科学中的核心问题,从大规模网络中的资源分配到在线广告,都涉及多个自......