选修了人工智能课程,老师布置了调研任务:Grundy,开始看了一些资料并没有看懂. 后来找到了一篇文,写的很棒,里面有好多博弈相关的问题与分析,分享出来给大家: http://endless.logdown.com/posts/2014/05/05/find-out-the-winning-strategies-of-the-game-nim-and-grundy-number-notes 这个服务器可能是外国的?打开的很慢,不要认为自己的网炸了...哈哈哈 下面就贴一点自己为了做海报(Grun…
游戏简介 Chomp是一个双人游戏,有m x n块曲奇饼排成一个矩形格状,称作棋盘. ----两个玩家轮流自选一块还剩下的曲奇饼,而且还要把它右边和下边所有的曲奇饼都取走(如果存在) ----先吃到左上角(1,1)那块曲奇饼的玩家为失败 如图所示 ------红方选择(3,3)--->------蓝方选择(1,4)----> ----红方选择(1,2)--->-----蓝方选择(2,1)--> ------------>红方玩家只能选左上角那一块,失败 分析 首先介绍一个重要…
题意: 给1*n的格子,轮流在上面叉叉,最先画得3个连续叉叉的赢.问先手必胜还是必败. 分析: 求状态的grundy值(也就是sg值),详细怎么求详见代码.为什么这么求要自己想的,仅仅可意会(别人都说去看game theory,呵呵). 代码: //poj 3537 //sep9 #include <iostream> #include <set> using namespace std; int grundy[2048]; int h[2048]; int get_grundy(…
/** 题目:A Simple Nim 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5795 题意:给定n堆石子,每堆有若干石子,两个人轮流操作,每次操作可以选择任意一堆取走任意个石子(不可以为空) 或者选择一堆,把它分成三堆,每堆不为空.求先手必胜,还是后手必胜. 思路: 组合游戏Nim: 计算出每一堆的sg值,然后取异或.异或和>0那么先手,否则后手. 对于每一堆的sg值求解方法: 设:sg(x)表示x个石子的sg值.sg(x) = mex{sg…
Grundy值 当前状态的Grundy值就是除任意一步所能转移到的状态的Grundy值以外的最小非负整数, 以硬币问题一为例,可写成: int init_grundy() { sg[] = ; ;i <= x;i++) //递推求前x个SG值 { set<int>st; ;j < k;j++) if(a[j] <= i) st.insert(sg[i - a[j]]); ; while(st.count(g)) g++; sg[i] = g; } } Grundy值有什么用呢…
首先介绍一个重要定理——策梅洛定理(Zermelo) 策梅洛定理,表明在二人参与的游戏/博弈中,如果满足: --------游戏的步骤数有限 --------信息完备(二人都了解游戏规则,了解游戏曾经所发生过的信息) --------不会产生平局 --------确定性(游戏中不会加入随机因素) 则先行一方有必胜策略,或者后行一方有必胜策略. Chomp!游戏 问题:有一个n*m的棋盘,每次可以取走一个方格并拿掉它右边和上边的所有方格.拿到左下角的格子(1,1)者输,那么谁会赢呢? 先给结论:除…
链接:https://ac.nowcoder.com/acm/problem/21797来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 有一个二维棋盘,棋盘有r行c列,棋盘中的每一个位置有如下四种情况 'E': 表示出口,可能有多个 'T': 只有一个,表示起点 '#': 表示障碍 '.': 表示空地 牛牛和牛妹在这样一个棋盘上玩游戏,他们有一张写有整数k的卡片,一开始放置在起…
[题目1] Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct. 判断是否存在重复数字 [思路] 1.想复杂了,用了HashSet/…
目录 1. 问题 2. 方法 3. 实验设计 3.1. 解决词典内部(一组已知)任务的能力 3.2. 解决新任务(少量标记数据)的能力 4. 讨论和启发 论文:Taskonomy: Disentangling Task Transfer Learning Zamir, Amir R., et al. "Taskonomy: Disentangling task transfer learning." Proceedings of the IEEE Conference on Compu…
this来判断<script language="javascript"> function t(obj) { alert(obj.value); } </script> <?php for($i =0;$i<=5;$i++) {?> <input name="r" type="radio" value="<?php echo $i; ?>" onclick=&quo…