发表于 2017-12-6 11:43:02 | 2017-12-8 10:36编辑 | 显示全部楼层 发帖际遇
未经作者同意,禁止转载本篇谜题
严格来说这不是一道题目,而是一个让大家都参与进来对战的平台,目的是寻找一种“最优解”

昨晚忙中偷闲,翻阅了一本有关博弈论的书籍,上边有说到一个利用计算机的仿真实验。我觉得相当有趣,于是动手自己也写了一个博弈对战的模型仿真程序。
今天我已经自行对战了几次,发现贪心的贼往往会栽在细心的警察手里,这也很符合真实情况。
我觉得挺有意思的,想和大家一起分享。

附图如下:


下面先介绍数学模型
这是一个城市,城市里有一个小偷和一个警察。
小偷每晚行窃的地点只能是Bank或者Shop其中一个
警察每天晚上守护的地点也只能是Bank或者Shop其中一个
小偷行窃没有警察的地方视为成功,否则视为警察成功。
小偷偷到多少价值东西,警察需要付出相应价值的东西给店家来作为自己防盗不利的惩罚;
小偷被抓到要给警察付5w的现金保释自己。
小偷在Bank可以成功可以偷到2w;在Shop成功只有1w;

具体博弈模型如下表

警察\小偷BankShop
Bank +5\-5-1\+1
Shop-2\+2 +5\-5
收益的单位是万
关于模型介绍完毕了,接下来就是大家怎么参与来玩。

大家参与游戏的方式就是 提出博弈策略。
该策略可以是警察也可以是小偷;可以基于对手的历史选择;可以基于自己之前赚了多少w;
大家可以用文字的方式提出来,我来用编程实现,来进行对战。
根据结果看看能否得到一些结论;
(比如某策略是另一个策略的克星;)
(又比如找到某策略,在对手策略不断变化的情况下,能够保持自己的领先地位,以不变应万变)
拿我自己编写的几个策略为例子

策略:greedy_thief
//如果上一次Police选择Shop那么这次选择Bank
//如果上次Police选择Bank,则有30%的概率选择Bank

策略:careful_police
//对已经出现的Thief情况进行分析,按照Thief出现的概率来决定Police出现的概率


策略:timid_thief
//始终避开上次Police的选择

大家也可以提出策略,来指定和我设计的策略进行对战
目前库存策略:
Thief:
greedy_thief(shalamixi)
smart_thief(shalamixi)
timid_thief(shalamixi)
careful_thief(shalamixi)
5l(Rubp)
2l①(猴子)
2l②(猴子)

8l(易空烨)
14l(c.c)
17l(Amummy)
19l①(小虎)
19l②(小虎)

20l(涅羽)
23l(涅羽)

27l(茶7)

police:
careful_police(shalamixi)
stupid_police(shalamixi)
smart_police(shalamixi)
5l(Rubp)

大家可以指定和哪个策略进行对战,也可以和学院里的其他人提出的策略进行对战(当然,如果你提出的是警察策略,那么只能选择和小偷策略对战)
大家同样可以指定和该策略对战多少天?(当然,天数过少较难看出统计学规律,天数太多lz电脑带不动,推荐1000天)

我可以用贴内回复等形式告知电脑模拟的对战结果,甚至可以给出一个记录着每一天的情况的txt文件。
我如果有想法,也会自己更新自己的策略库。

如果还是不懂怎么玩,我举个例子:
回帖:
①小偷策略,以1:2=Bank:Shop的比例进行偷窃。和随机police策略对战1000天。
回帖:
②警察策略,始终选择上次小偷的选择。和ls的策略进行500天对战。

我将会用代码把该策略写出来,然后和指定的策略对战指定天数,并告知结果。

如果还是不懂怎么玩,就回帖告知,我来解答。


另外,过于复杂的数学表达式,(比如正态分布等,最好避免)


希望大家多多支持,一起来寻找一种“最优解”来应对该博弈模型
等大家提出的策略到一定数目了,大家可以一起讨论看看究竟什么样的策略才是“最好”呢?
如果大家感兴趣,下次我们可以试着玩玩别的博弈模型。(囚徒困境、三个火枪手等等)
本帖子中包含更多图片或附件资源

您需要 登录 才可以下载或查看,没有帐号?加入学院

7
| 发表于 2017-12-6 13:45:08 | 显示全部楼层
警察优势看起来相当巨大。另外smart_thief是啥策略咋没说

我来瞎提俩小偷策略好了:

1. 第一回合Bank,从第二回合开始选择与上一回合警察相反的位置。
2. 随机50%概率去某处
和随机police策略对战1000天。
登录帐号可查看完整回帖内容
| 发表于 2017-12-6 14:03:48 | 发自安卓客户端 | 显示全部楼层
smart_thief果断选这个
登录帐号可查看完整回帖内容
| 发表于 2017-12-6 14:13:32 | 发自安卓客户端 | 显示全部楼层
所以我应该选个smart_police()和小虎对战么?另外道理我都懂,但是他们说程序员女装好看
登录帐号可查看完整回帖内容
| 发表于 2017-12-6 15:26:54 | 发自安卓客户端 | 显示全部楼层
粗略的算了算
警察:
警察以(6/13,7/13)的概率巡查Bank和Shop。
小偷的话,
我觉得小偷以(7/13,6/13)的概率去偷东西会更好。

怎么打出画一个横线的话?
登录帐号可查看完整回帖内容
| 楼主| 发表于 2017-12-6 15:45:46 | 2017-12-6 15:59编辑 | 显示全部楼层
发一波对战结果

(小虎)smart_thief和(折沐)smart_police的对战结果

int Thief_Tactics(void)
{
        return smart_thief();
};


int Police_Tactics(void)
{
        return smart_police();
};

Game : 10000
Police_Choice : 1
Thief_Choice : 0
Police_Get : -1
Thief_Get : 1
(以上是顺便复制的第10000盘情况)
(以下是10000的总结)
Police_score(警察得分) : 15685        (单位是万)
Thief_score(小偷得分) : -15685        (单位是万)
Police_win_num (警察胜场): 4459        (场)
Thief_win_num(小偷胜场) : 5541        (场)

Police_Bank_num : 6702        (次)
Police_Shop_num : 3298        (次)
Thief_Bank_num : 3299        (次)
Thief_Shop_num : 6701        (次)
Police_win_rate(警察胜率) : 44.59%
Thief_win_rate (小偷胜率): 55.41%

小偷多赢了5个百分点
然而 这两种方案对你们来说都是黑箱吧 @c.c  @侦探小虎队
要自己提出的策略才有意思啊
登录帐号可查看完整回帖内容
| 发表于 2017-12-6 16:05:17 | 来自小霸王手机 | 显示全部楼层
在博弈游戏中 无视掉博弈这一点的对手有的时候会很可怕 因为完全无法预测 那么如果是完全无视博弈 每次以50%的概率偷窃一家建筑的小偷和检查一家建筑的警察 对上各个策略会发生什么?
登录帐号可查看完整回帖内容
| 发表于 2017-12-6 16:19:50 | 发自安卓客户端 | 显示全部楼层
小偷:如果没被抓就留在原地偷,一旦被抓就50%几率随机地点。
登录帐号可查看完整回帖内容
| 楼主| 发表于 2017-12-6 16:24:24 | 显示全部楼层
猴子第一个策略thief对战Rubp_police的结果
1000盘

int Thief_Tactics(void)
{
        return Monkey_first_thief();
};

int Police_Tactics(void)
{
        return Rubp_police();
};


Police_score : 1648
Thief_score : -1648
Police_win_num : 487
Thief_win_num : 513

Police_Bank_num : 483
Police_Shop_num : 517
Thief_Bank_num : 518
Thief_Shop_num : 482
Police_win_rate : 48.70%
Thief_win_rate : 51.30%
登录帐号可查看完整回帖内容
| 楼主| 发表于 2017-12-6 16:30:43 | 显示全部楼层 发帖际遇
猴子第二个策略thief对战careful_police的结果

Police_score : 17230
Thief_score : -17230
Police_win_num : 4946
Thief_win_num : 5054

Police_Bank_num : 5139
Police_Shop_num : 4861
Thief_Bank_num : 4977
Thief_Shop_num : 5023
Police_win_rate : 49.46%
Thief_win_rate : 50.54%


负分达到了-17230,这也算稍微有点多了。我还是觉得careful_police对纯概率流小偷有一定优势(瞎猜的)
返回版块
1234
尚未登录
您需要登录后才可以回帖 登录 | 加入学院