设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2002|回复: 9
打印 上一主题 下一主题

[随意闲聊] P1 石头剪刀布友谊循环赛

[复制链接]

Lv3.寻梦者

唯一的信徒

梦石
0
星屑
1665
在线时间
1357 小时
注册时间
2013-1-29
帖子
1637
跳转到指定楼层
1
发表于 2018-3-20 12:55:48 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 LBQ 于 2018-3-20 13:01 编辑

石头剪刀布(petra, charta, axicia)是著名的博弈论游戏。

与之前我们的简单的囚徒困境不一样,石头剪刀布每一个回合都有三种选择可以做,大大增加的游戏的复杂度。

于是因为游戏实在太复杂了,所以不懂的可以自己去百科或者读相关教科书。下面我们只给出简单的介绍,


总之我们进行循环赛,每场战斗持续 50 回合,每回合每个选手可以做出如下选择:

1. 剪刀
2. 石头
3. 布

现在我们定义一下“克”这个关系,我们定义 剪刀 克 布,布 克 石头,石头 克 剪刀

我们定义“被克”,如果 A 克 B,那么 B 就被 A 克。

那么每回合,每个选手会做出一个决策,那么出现如下情况,选手 X vs 选手 Y 的情况:

1. X 的选择 克 Y 的选择 -> X 得 1 分,Y 得 0 分
2. X 的选择 被 Y 的选择克 -> X 得 0 分,Y 得 1 分
3. 其他情况 -> 双方都得 0 分

最后循环赛打下来,得分高的胜利。

提交的策略

跟上次囚徒困境相似,你知道对方之前和自己之前所做出的所有决策(以及结果)(以及当前回合数),那么你接下来要回答的就是“我现在要做什么?”

不过这次有特殊禁令,禁止随机,任何伪随机数生成,或者可以被怀疑成拿对方决策试图当种子(虽然不知道可行度多少)开随机算法的都不能被提交。

那么比如说上次的复读机策略这次也可以提交:

第一回合永远出石头,
之后回合永远重复对方上回合选择


或者也可以

第一回合永远出石头,
之后永远重复上回合对方决策所克的(上回合对方出剪刀,我这回合出布等等)


当然也许实际胜利复杂会比上面两种策略更加复杂

为了鼓励各位研究人类心理,这次会有 4 位主办方提供的“仿人类策略”,会根据真实人类的决策设计,来鼓励各位的策略来击败人类。

也是底下回帖,QQ,私信之类的都可以提交,下周二之前公布模拟结果。

各位请清晰指明策略,也可以提交伪代码,也可以直接写 OCaml 函数。

如果要提交 OCaml 函数,我们假设我们提前定义了:
OCAML 代码复制
  1. type rs = R | P | S
  2. (* R 石头,P 布,S 剪刀)
  3.  


请提交类型如下的函数:

OCAML 代码复制
  1. type strategy = (rs list) -> (rs list) -> rs
  2. (* 第一个参数是自己之前所有决策,第二个是对方所有决策,list 的序号 0 代表第一回合做出的决策,也就说 list 的最后一个元素是上回合做出的决策 *)

(然后可以假设 OCaml batteries 库有安装)
『我只是一个正在潜心修炼的渣乐师罢了』
Dear Time\(^o^)/~


假如上面的图片挂了的话麻烦各位去发个帖 @ 一下 orzFly 让他修复 deartime
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-22 21:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表