用「数学期望」判断麻雀打得对不对

什么是数学期望,大家应该大学都学过,如果没有学过,我也就简单做了介绍。

 

譬如让你投硬币100次,每次都会有正面或反面两种可能性各一半,正面给你100元,反面要罚你80元,那么每次的数学期望是多少呢?

这里的数学期望=(正面概率*正面收益)+(反面概率*反面收益),

也就是(0.5*100)+(0.5*(-80))=10元。

通过单次数学期望,我们可以知道100次的数学期望是赚1000元。

 

接下来回到主题,用「数学期望」判断麻雀打得对不对。

假设我们子家东1局5巡目拿到了这样的一手牌,没有人附露,悬赏牌也没有,

我们要怎么样计算数学期望呢?

其实,任何一局,都只有以下可能:自己和了、自己放铳、别家自摸、横移动、流局。

期望=(和了率*点数)+(放铳率*点数)+(别家自摸率*点数)+(横移动率*点数)+(流局率*点数)

立直:

(0.68*3700)+(0.07*-6600)+(0.08*-2900)+(0.04*-1000)+(0.13*1000)=1912

默听:

(0.85*1100)+(0.04*-5600)+(0.05*-1900)+(0.06*0)+(0.00*2000)=616

有人会说平和nomi默听为什么和了的点数平均是1100呢?

因为有意外情况,比如可能有海底、河底、枪杠,还有收获了追立的人的立直棒,还有有人帮你杠出来了新宝牌。

所以综上所述,这样的情况先制立直的数学期望高1300,遥遥领先默听。

 

但如果时间变化了,不再是5巡目,而是更往后,会有什么用的影响呢?

平和nomi:

5巡目,立直数学期望1900,默听数学期望600。相差1300。

8巡目,立直数学期望1100,默听数学期望200。相差900。

12巡目,立直数学期望300,默听数学期望-300。相差600。

可以看出越往后,平和moni立直和默听的期望值在缩小,但是立直仍然高于默听。

 

正所谓:平和dora一,不立是傻逼。

平和dora一打点只有2000,平自摸dora一也只有2700。

立直可以确定3900的打点,并且有一発和里宝,那么就会有54%概率到7700或更高。

默听打点数学期望2200,立直打点数学期望6300。

接下来,我们再来看这种情况的数学期望。

平和dora一:

5巡目,立直数学期望3600,默听数学期望1600。相差2000。

8巡目,立直数学期望2600,默听数学期望1000。相差1600。

12巡目,立直数学期望1400,默听数学期望400。相差1000。

可以看出立直对于平和dora一的提升非常大。

 

再接下来,我们看平和dora二,或者(断幺、一杯)这些3翻的平和的两面牌。

大多数人计算应该只是打点:

默听打点是3900,自摸5200。

立直打点是7700,自摸8000。

这里主要是3900变7700实在太诱人了,但是和牌率下降放铳率上升的损失能弥补多少呢?

默听打点数学期望4300,立直打点数学期望9100。

5巡目,立直数学期望5500,默听数学期望3400。相差2100。

8巡目,立直数学期望4200,默听数学期望2600。相差1600。

12巡目,立直数学期望2600,默听数学期望1600。相差1000。

这里也可以看出,平和3翻牌和平和dora一立直的提升是几乎一样大,应该立直。

 

既然3900变7700,这种翻倍收益巨大,那么5200变8000的小翻倍需要立直吗?

这也是非常纠结的一点,因为很多雀士主张:5200应该知足了,立直的话很可能就和不了了。也没办法应对后续情况来防守了。

接下来我们来看5200(常见于断幺dora二)的两面听牌,数学期望是怎么样的:

5巡目,立直数学期望5600,默听数学期望4800。相差800。

8巡目,立直数学期望4300,默听数学期望3800。相差500。

12巡目,立直数学期望2600,默听数学期望2500。相差100。

果然,这里立直的数学期望提升较小,但起码不是负值,说明立直还存在理论上的正确性。

 

今天就先记录到这里,以上主要是两面听的数据,单骑听、边张听、嵌张听、双碰听则数据会难看很多。

发表在 樊轶群的麻雀技术 | 一条评论

Ukulele谱《下雨的时候特别想你》陈壹千

发表在 樊轶群Ukulele谱 | 标签为 | 一条评论

1千万次测试左桥情况分布

发表在 Roux技术, 樊轶群的魔方技术 | 一条评论

2021.12.10杂谈-巴塞罗那巴萨是怎么被梅西弄垮了

巴萨两回合被拜仁踢了6:0,要去踢欧联了!
刚听到这个消息的朋友还问我巴萨不是夏天还买了一堆人么。

其实不难发现,巴萨的悲剧是早就注定的,并不是由于梅西走了才悲剧。

 

要说巴萨最辉煌的时代,那必然2015年,前场MSN,中场哈白布的时代。
随后矛盾爆发在2017年,巴萨客场0:4惨败给巴黎,主场6:1逆转。逆转中最大的功臣就是内马尔,但是梅西缺抢走了所有的功劳,刷走了存在感。
这也是内马尔离开巴萨的原因,他在队内做出的任何贡献都会被梅西的梅毒们抢走。
离开后,梅毒就对内马尔进行了各种攻击,说内马尔是因为工资,为了钱去了巴黎。说内马尔应该叫马钞。
一个为了俱乐部做出巨大贡献的球员竟然被那个队球迷这样辱骂,也就巴萨的梅毒能干出这样无耻的事儿。

说到薪水,C罗当时18年皇马欧冠三连了离开皇马时最高只有2200万,弗洛伦蒂诺不愿意履行加薪到3000万的承诺,C罗就选择离开。
内马尔在巴萨17年之前是只有600万,梅西当时2300万。后来离开前刚刚涨到了2500万,他一离开梅西涨到了6000万。
内马尔走后,苏亚雷斯的年薪也到是2500万,伊涅斯塔3400万,加起来也快赶上梅西了。
可以看出尽管内马尔离开了,给巴萨留了2个多亿,但工资方面梅西利用在俱乐部粉丝梅毒们的支持,贪婪的全吃了。
可以说梅西不顾一切强行要求各种加薪,各种忠诚费,签字费是巴萨崩溃的关键。

左边路的空缺,该如何填补,之前都靠内马尔,现在人没了,但空有两个多亿。
无奈巴萨只好13500万买来登贝莱,结果登贝莱各种伤病,也就比皇马的阿扎尔好了一丁点。
过了半个赛季,又是13500万买来库蒂尼奥,但库是左边前卫,并不是左边锋,在巴萨踢不出杀伤来,只好租借给拜仁。

梅西各种闹要加薪,让巴萨也非常烦恼,于是干脆从马竞12000万买来了格列兹曼。
这就是告诉梅西,你不踢,他就来踢。他也是左脚右边锋。
梅西终于松口了,说可以继续在巴萨踢,要求加强中场。于是巴萨8600万买来了弗朗基德容。

 

其实这几年梅西在巴萨踢得很烂。
17年客场0-3输给了尤文,主场也只能0-0踢平。
18年主场4-1大胜罗马,客场被0-3逆转。
19年主场3-0大胜利物浦,客场被0-4大逆转。
20年新冠只踢一场,但巴萨2-8输给了拜仁,看比分很多人还以为是两场。

年年欧冠不是耻辱大败,就是耻辱大逆转。
梅西脸也挂不住,不断说要走要走,但自己知道自己其实是体系球员。
为了面子,梅西就恼羞成怒,一直索要涨工资。
这样梅西就可以解释俱乐部给自己加钱了,自己有价值,自己忠诚,所以不走。

接下来2020疫情爆发了,巴萨本来每年付给这帮大爷薪水就亏不少,梅西还恼羞成怒要提涨工资。
巴萨可连苏亚雷斯的工资都发不出了,虽然苏亚雷斯降薪到1400万,但还是太高了。
梅西把俱乐部逼上了绝境,俱乐部也不敢公开表示放弃梅西。
巴萨只能装模作样花钱去帮他引援找帮手,实际上早就放弃梅西了,就等最后告诉大家西甲规定的财务标准达不到了。

梅西最后一年其实也知道了俱乐部经验困难了,毕竟苏亚雷斯都卖了。所以也愿意降工资了,但是为时已晚。
所以有了梅西最后哭着离开巴萨的场景。
说他前几年真想走,因为忠诚,没走。今年真想留,但是俱乐部告诉他,让他走。

逼都让梅西给装完了。
说白了,你梅西如果不拿工资,就呆在巴萨回报俱乐部,俱乐部肯定没这财务困难。

 

这几年巴萨花的钱真的很冤枉。
前锋:
13500万买登贝莱,整天受伤。
13500万买库蒂尼奥,不适合战术体系,踢不出来,只好租借给拜仁。
12000万买格列兹曼,和梅西位置冲突了,踢不出来,只好租借给马竞。
自己青训高薪续约的法蒂,踢得还可以,但大伤了。
中场:
8600万买的弗朗基德容,踢得还可以。
2000万买的佩德里,踢得还可以,但又受伤了。
后卫:
3600万买的塞梅多,觉得一般,3200万卖了。
3600万买的朗格莱,就是个大坑逼。

在此之前,后卫市场上最高价格是:
4600万曼联2002年买费迪南德。
4800万巴黎2014年买大卫路易斯。

反观其他球队,越来越重视后卫后防。
18年年初,利物浦8500万买来范戴克。直接是将好后卫的价格翻倍了。
19年拜仁8000万买卢卡斯。是拜仁历史花的最高转会费。
19年尤文8600万买德里赫特。刷新纪录。
19年曼联8700万买马奎尔。时隔一个月再刷纪录。
20年曼城6800万买迪亚斯。

皇马之前后卫一直有拉莫斯、瓦拉内组合,但未雨绸缪,也花了5000万巨款买了彩票米利唐。
现在拉莫斯去了巴黎,瓦拉内4000万卖给了曼联。米利唐也挑起了大梁,越踢越好。

 

巴萨现在前场配合不起来,右边锋格列兹曼由于付不出工资,借出去了,伤病多。
中场也只是中规中矩。
后卫线皮克和朗格莱两个坑逼漏勺。阿拉巴和阿尔维斯两个边路老汉整天伤病。
真是已经干啥啥不行了。

 

造成巴萨崩溃的其实不只是贪婪的梅西,还有伊涅斯塔、苏亚雷斯的高薪。
但主要又是梅西导致的。

为什么内马尔会走?
因为梅西抢功劳,抢薪资空间。

为什么花冤枉钱买登贝莱?
因为内马尔走了。

为什么花冤枉钱买库蒂尼奥?买了工资又给不起了,只能租借出去?
因为登贝莱伤病多。因为梅西工资太高,其余球员也要高薪。

为什么花冤枉钱买格列兹曼?买了给梅西打替补,工资也给不起了,只能租借出去?
因为梅西一直闹不是个办法,就买了格列兹曼给他打替补。

发表在 樊轶群杂谈 | 留下评论

每日leetcode第0092天 0999. Available Captures for Rook

九月底了,做一道简单的模拟题告别九月。

就用了简单的矩阵来完成放置棋子和判断阻挡。

人生如棋,棋如人生。

还去学了一些英语:

king国王

queen皇后

rook战车

bishop主教

knight骑士

pawn禁卫军

发表在 每日LeetCode | 标签为 , | 留下评论

每日leetcode第0091天 1423. Maximum Points You Can Obtain from Cards

这是一道特别好玩的滑动窗口题目。

读懂题目后,我们就要开始组建一个完整窗口。

将最后k个和最前面k个拼接一起就得到了。

首先使用assign方法来赋值后面一段。再用insert方法来插入前面一段。

接下来滑一遍得到最佳答案。

发表在 每日LeetCode | 标签为 , | 留下评论

每日leetcode第0090天 0632. Smallest Range Covering Elements from K Lists

每日力扣终于来到了第90天。

今天挑战的题目叫“Smallest Range Covering Elements from K Lists”,中文名竟然就叫“最小区间”,这翻译简直太偷懒了。

这虽然是一道困难题,却没有特别困难的点,而是一些列技巧的组合运用。

这道题用到了结构体排序、双指针滑动窗口、哈希表计数。

我们先进行排序,排序所有的数字,但问题是会丢失该数所在的组号,因此我们需要使用结构体。

每个组的数字至少用一个,那么我们滑动窗口的条件很简单就有了。

当每组中有的组的数量在窗口中不足1,我们就向右扩大窗口。

当所有组的数量都大于等于1,我们就向右缩小窗口。

那么怎么来计数呢,可以使用数组,也可以使用哈希表。

 

做这道题的时候,要注意不能犯两个错误。

缩小窗口应该也是向右,所以left应该去++。不要错误写成–。

还有滑动窗口都从下标0开始的话,那么下标0的数据应该提前放入哈希表。

发表在 每日LeetCode | 标签为 , | 留下评论

每日leetcode第0089天 0934. Shortest Bridge

最短的桥,这是一道练习双搜的好题目。

思路也不复杂,先进行深度优先搜索,将第一个岛的1全部改成2。并将每一块土地放到队列中。

接下来我们将队列中的每一块土地往外开始宽度优秀搜索,搜到1就知道需要多长的桥了。

真是一道考验基本功的好题目。

发表在 每日LeetCode | 标签为 , | 留下评论

每日leetcode第0088天 0342. Power of Four

这道题目是2的幂的一个进阶版。

首先我们知道所有4的幂一定是2的幂,所以2的幂需要满足的条件,4的幂也必须要满足。

也就是说整个数中只存在一个位有1。

接下来我们还需要去寻找一个更严苛的条件。

比如1,那么二进制是1

4的二进制是100

16的二进制是10000

64的二进制是1000000

不难发现1后面的0都是偶数个,我们也可以认为1出现的位置都是从右往左的第奇数位。

我们可以制作一个二进制数0b10101010101010101010101010101010去和n按位与,

若为0则代表这个1所在的位的确在奇数位,不然则在偶数位。

发表在 每日LeetCode | 标签为 , | 留下评论

每日leetcode第0087天 0326. Power of Three

首先还是要先判断是否为正整数。

接下来我们要考虑3是一个素数,所有它的次幂一定都是若干的3连乘。

我们需要先找到int范围内最大的3的次幂数也就是1162261467,

我们所有的3的次幂数都会被1162261467整除。其余的数都会存在余数。

发表在 每日LeetCode | 标签为 , | 留下评论