(HDUACM)组合博弈入门报告.ppt

上传人:得****1 文档编号:75665835 上传时间:2023-03-04 格式:PPT 页数:38 大小:353KB
返回 下载 相关 举报
(HDUACM)组合博弈入门报告.ppt_第1页
第1页 / 共38页
(HDUACM)组合博弈入门报告.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《(HDUACM)组合博弈入门报告.ppt》由会员分享,可在线阅读,更多相关《(HDUACM)组合博弈入门报告.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、ACM程序设计程序设计杭州电子科技大学刘春英3/4/20231今天,今天,你你 了吗?了吗?AC3/4/20232每周一星每周一星(9 9):):Hugo3/4/20233第十讲第十讲组合博弈入门组合博弈入门(Simple Game Theory)3/4/20234导引游戏导引游戏(1)(1)玩家:玩家:2 2人;人;(2)(2)道具:道具:2323张扑克牌;张扑克牌;(3)(3)规则:规则:n游戏双方轮流取牌;游戏双方轮流取牌;n每人每次仅限于取每人每次仅限于取1 1张、张、2 2张或张或3 3张牌;张牌;n扑克牌取光,则游戏结束;扑克牌取光,则游戏结束;n最后取牌的一方为胜者。最后取牌的一

2、方为胜者。3/4/20235基本思路?基本思路?请陈述自己的观点请陈述自己的观点3/4/20236第一部分第一部分简单取子游戏简单取子游戏(组合游戏的一种)(组合游戏的一种)3/4/20237什么是组合游戏什么是组合游戏(1)有两个玩家;(2)游戏的操作状态是一个有限的集合(比如:限定大小的棋盘);(3)游戏双方轮流操作;(4)双方的每次操作必须符合游戏规定;(5)当一方不能将游戏继续进行的时候,游戏结束,同时,对方为获胜方;(6)无论如何操作,游戏总能在有限次操作后结束;3/4/20238概念概念:必败点和必胜点必败点和必胜点(P(P点点&N&N点点)n必败点必败点(P(P点点):前一个选手

3、(P Previous player)将取胜的位置称为必败点。n必胜点必胜点(N(N点点):下下一个选手(Next player)将取胜的位置称为必胜点。3/4/20239必败必败(必胜必胜)点属性点属性(1)(1)所有终结点是必败点(所有终结点是必败点(P P点);点);(2)(2)从任何必胜点(从任何必胜点(N N点)操作,至少有点)操作,至少有一种方法可以进入必败点(一种方法可以进入必败点(P P点);点);(3)(3)无论如何操作,无论如何操作,从必败点(从必败点(P P点)都点)都只能进入必胜点(只能进入必胜点(N N点)点).3/4/202310取子游戏算法实现取子游戏算法实现步步

4、骤骤1:1:将所有终结位置标记为必败点(将所有终结位置标记为必败点(P P点);点);步骤步骤2:2:将所有一步操作能进入必败点(将所有一步操作能进入必败点(P P点)的点)的位置标记为必胜点(位置标记为必胜点(N N点)点)步骤步骤3:3:如果从某个点开始的所有一步操作都只能如果从某个点开始的所有一步操作都只能进入必胜点(进入必胜点(N N点)点),则将该点标记为必败点,则将该点标记为必败点(P P点)点);步骤步骤4:4:如果在步骤如果在步骤3 3未能找到新的必败(未能找到新的必败(P P点),点),则算法终止;否则,返回到步骤则算法终止;否则,返回到步骤2 2。3/4/202311课内练

5、习课内练习:nSubtraction Games:subtraction set S=1,3,4x:01234567891011121314Pos:PNPNNNNPNPNNNNP3/4/202312实战练习实战练习nkikiskikis game game 3/4/202313第二部分第二部分NimNim游戏游戏3/4/202314NimNim游戏简介游戏简介(1)有两个玩家;(2)有三堆扑克牌(比如:可以分别是5,7,9张);(3)游戏双方轮流操作;(4)玩家的每次操作是选择其中某一堆牌,然后从中取走任意张;(5)最后一次取牌的一方为获胜方;3/4/2023153/4/202316初步分析初

6、步分析n(0,0,0)n(0,0,x)n(0,1,1)n(0,k,k)nP-position nP-position nP-position nN-position n(14,35,46)n?3/4/202317引入概念引入概念:NimNim-Sum-Sumn定义定义:假设假设(xm x0)2 和和(ym y0)2 的的nim-sum是是(zm z0)2,则我们表示成则我们表示成(xm x0)2 (ym y0)2=(zm z0)2,这里这里,zk=xk+yk(mod 2)(k=0m).3/4/202318定理一:定理一:对于对于nimnim游戏的某个位置游戏的某个位置(x(x1 1,x,x2

7、2,x,x3 3),),当当且仅当它各部分的且仅当它各部分的nimnim-sum-sum等于等于0 0时(即时(即x x1 1xx2 2xx3 3=0=0),则当前位于必败点。),则当前位于必败点。定理一也适用于更多堆的情况定理一也适用于更多堆的情况3/4/202319定理一的证明定理一的证明 3/4/202320思考(思考(1):):n有了定理一,如何判断某个游戏有了定理一,如何判断某个游戏的先手是输还是赢?的先手是输还是赢?3/4/202321思考(思考(2):):n对于必胜点,如何判断有几种可对于必胜点,如何判断有几种可行的操作方案?行的操作方案?3/4/202322实例分析实例分析(H

8、DOJ_1850)nBeing a Good Being a Good Boy in Spring Boy in Spring FestivalFestival 3/4/202323第三部分第三部分Graph Games&Graph Games&Sprague-Grundy Sprague-Grundy FunctionFunction3/4/202324What is the graph game?(1)Player I moves first,starting at x0.(2)Players alternate moves.(3)At position x,the player whos

9、e turn it is to move chooses a position y F(x).(4)The player who is confronted with a terminal position at his turn,and thus cannot move,loses.3/4/202325Example about graph game:0,0,01,0,00,0,10,1,05,7,92,0,03/4/202326The Sprague-Grundy Function.Definition:The Sprague-Grundy function of a graph,(X,F

10、),is a function,g,defined on X and taking non-negative integer values,such thatg(x)=minn 0:ng(y)for y F(x).(1)In words,g(x)the smallest non-negative integer not found among the Sprague-Grundy values of the followers of x.g(x)=mexg(y):y F(x).(2)3/4/202327Use ofthe Sprague-Grundy Function:P-positions:

11、Positions x for which g(x)=0 N-positions:Positions x for which g(x)0 3/4/202328Exercise:nWhat is the SG-value of the subtraction game with subtraction set S=1,2,3?x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14.g(x)0 1 2 3 0 1 2 3 0 1 2 3 0 1 2.3/4/202329Question:What can the S-G value describe?3/4/202330Part

12、4:Sums of Combinatorial Games3/4/202331What is so-called“Sums of Combinatorial Games”?3/4/202332Theorem 2.If gi is the Sprague-Grundy function of Gi,i=1,.,n,then G=G1+Gn has Sprague-Grundy function g(x1,.,xn)=g1(x1)gn(xn).3/4/202333Applications:Sums of three Subtraction Games.In the first game:m=3 a

13、nd the pile has 9 chips.In the second:m=5 and the pile has 10 chips.In the third:m=7 and the pile has 14c hips.g(9,10,14)=?3/4/202334附:参考源码(HDOJ-1536)n#include#include#includeusingnamespacestd;intk,a100,f10001;intmex(intp)inti,t;boolg101=0;for(i=0;ik;i+)t=p-ai;if(t0)break;if(ft=-1)ft=mex(t);gft=1;fo

14、r(i=0;i+)if(!gi)returni;nintmain()intn,i,m,t,s;while(scanf(%d,&k),k)for(i=0;ik;i+)scanf(%d,&ai);sort(a,a+k);memset(f,-1,sizeof(f);f0=0;scanf(%d,&n);while(n-)scanf(%d,&m);s=0;while(m-)scanf(%d,&t);if(ft=-1)ft=mex(t);s=sft;if(s=0)printf(L);elseprintf(W);printf(n);3/4/202335课后练习n201003ACM程序设计在线作业(程序设计在线作业(10)博弈入门博弈入门 3/4/202336记住记住:n学习是快学习是快乐的乐的3/4/202337Welcome to HDOJWelcome to HDOJThank Thank You You 3/4/202338

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁