记录一次由打扑克牌测试国内各家大模型的经历

记录一件事情,感觉挺有意义的,也很有趣。

昨天打扑克牌,由于这把扑克牌少了一张10,就找了一张其它扑克牌里的10补上了,后来又找到了这张10,就又放进来了,但补的10也没去掉,因此共有五张10。三个人打牌,把牌分完,这次居然出现了五张10全到一个人手里的情况,于是想就算一下这个出现的概率是多少。

为了简化问题,还是把牌设置为标准情况:方块、梅花、红桃、黑桃各13张,还有两张王,共54张牌,三人一起玩,每人18张牌,求任意一个人拿到四张K的概率(计算任意一个人同时集齐四张相同的任意数字的牌其实没啥区别)。

心里很清楚,这就是一个高中学过的排列组合问题,但一时竟然不知道如何下手去求解。

最初的想法是四张相同的牌发给三个人,不管发放顺序是什么,总之共有12种分法,其中4/0/0共三种、3/1/0共有六种、2/2/0共有三种,因此四张牌落到同一个人手里的概率是3/(3+6+3)=0.25。但这明显不符合直觉,因为这个概率太大了。

后来就想着写个程序仿真一下,应该叫蒙特卡罗法吧,随机模拟发牌,多发几次,看看概率是多少。写了一个数组,用1到13表示从1到K,用-1和-2表示大王和小王,模拟发一千万次牌,Matlab程序如下:

clear;clc;close all;
puke = [1:13,1:13,1:13,1:13,-1,-2];

max_iter = 10000000;
is_ok = 0;
for ii=1:max_iter
    i_perm = randperm(54);
    puke_perm = puke(i_perm);
    for person=1:3
        bias = (person-1)*18;
        person_i = puke_perm(1+bias:18+bias);
        person_s = sort(person_i,'ascend');
        first4 = person_s(15:18);
        first4_sum = sum(first4==13);
        is_ok = is_ok + (first4_sum==4);
    end
end
disp([num2str(is_ok),'/',num2str(max_iter)])

程序运行结果是有一定的随机性的,但大概得到的概率是0.029左右,为什么呢?

于是想到问了一下大模型。

一是问了手机端的讯飞星火大模型,得到的结果是错的。

二是问了手机端的豆包,得到的结果也是错的。

三是问了PC端百度主页的deepseek-R1最新版、联网搜索(https://chat.baidu.com/)然后就一直在思索,直接不出结果。

四是问了PC端的deepseek官网(未勾选深度思考(R1)和联网搜索),得到了结果为20/689,约为0.029;勾选深度思考(R1)和联网搜索后也可以得到一样的结果。

五是问了PC端百度主页的deepseek-V3最新版、联网搜索,可以得到正确结果;切换为文心4.5也可以得到正确结果。

六是问了PC端讯飞星火(勾选了深度推理(X1)和联网搜索),也得到了正确结果。

七是问了PC端纳米AI搜索,使用默认设置:深度思考(DeepSeek-R1-联网满血版 671B),未得到正确结果。

八是问了PC端通义大模型,试了三次,分别勾选了不同的配置(深度思考、分析研究等,具体记不清了),只有一次得到了正确结果。

这个问题其实现在看来也很简单,概率为:

P = 3*C(50, 14)/C(54, 18)

其中,C(54, 18)为从54张牌中随机取18张牌的所有可能情况数目,而C(50, 14)表示固定四张牌(比如四张K)之后,再从剩余50张牌中随机取14张牌的所有可能情况数目,因为不限定哪个人拿到四张K,因此要乘以3。把排列组合公式带进去,这个概率就是3*18*17*16*15/54/53/52/51,化简后就是20/689。

其实有些出错的大模型,它们的结果只差那么一点点,有些看起来分析过程是对的,但在计算时出错了,有的是没有乘以3,也可能是我的问题有歧义。

这次有个收获是deepseek官网和各家部署的deepseek在性能上还是有些许差异的~

最后,我还想说的是,可以基于概率论去计算一下,打扑克牌时,其实每次发完牌后,这种分发结果出现的概率都是很小的,从概率上来讲都可以认为是小概率事件。一般认为,小概率事件是不可能发生的,但实际上小概率事件每时每刻都在发生着,因此生活的每个时刻都是独一无二的,无数的机缘才有了“现在”,所以珍惜每一天、每一刻吧,它们基本都是不可能再复现的:

Yesterday is history, tomorrow is a mystery, but today is a gift.

加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值