关于Matlab仿真 Emperor牌奴隶方获胜概率

来源:互联网 发布:java软件开发流程 编辑:程序博客网 时间:2024/06/05 08:33

一个古老的游戏,Emperor牌游戏,也叫E牌游戏

游戏规则很简单:
1、分成2组牌,A:1皇帝,4市民,B:1奴隶,4市民。
2、皇帝凌驾市民,
3、市民欺负奴隶,
4、奴隶逆袭皇帝,
5、奴隶先出牌,
6、皇帝思考和观察奴奴隶时间不能超过2分钟,
7、皇帝或者奴隶牌出现,就算结束。

仿真代码如下:

p=1;k=2;n=3;k_p=[k p p p p];n_p=[n p p p p];iT=100;k_s=zeros(1,iT);n_s=zeros(1,iT);for i=1:iTk_p_r= k_p(randperm(5));n_p_r= n_p(randperm(5));for j=1:5if(k_p_r(j)-n_p_r(j)==1)k_s(i)=1;break;elseif(n_p_r(j)-k_p_r(j)==1)n_s(i)=1;break;elseif(k_p_r(j)-n_p_r(j)==-2)k_s(i)=1;break;endendendY=zeros(1,iT);X=iT;for i=1:iTY(i)=sum(n_s(1:i))/i;endfigure;plot(1:iT,Y);out_p=sum(n_s)/iT


变量解释:

n_p和k_p:初始化的奴隶和国王卡牌

iT:实验次数

k_s和n_s:国王和奴隶分别在哪次实验获胜

k_p_r和n_p_r:随机打乱后的卡牌


仿真结果:



其中,横轴代表次数,纵轴代表奴隶方获胜概率。

原创粉丝点击