除了+60%就是-50%,你玩不玩?
本帖最后由 陈尚涵 于 2024-1-17 19:10 编辑本主题讲到简单的概率,做的不是很好,见谅{:10_254:}
-----------------------------------------------------------------------------------------------------------------------------------------------------
有一个游戏,你给他钱,每一次你的钱要么+60%(50%概率),要么-50%(50%概率),那你玩不玩?{:10_256:}
一眼看,60%>50%,那这不是稳赚不亏?呵呵,理想很美好,现实很苦感,真的是这样吗?用c++模拟一下不就知道了?{:10_279:}
好好好,咱们就给他1w,玩个100次,进行100次这样的测试,接下来花两分半写一下代码:{:10_254:}
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
int main(){
cout << fixed;
srand(time(0));
for (int times = 1; times <= 100; times++){
double money = 10000;
for (int days = 1; days <= 100; days++){
int randnum = rand() % 100 + 1;
if (randnum <= 50){
money *= (1 + 0.6);
}
if (randnum > 50 && randnum <= 100){
money *= (1 - 0.5);
}
}
cout << times << ":" << money << endl;
}
return 0;
}
OKK,来看结果(忽略11-89):
1:1.461502
2:14.965777
3:153.249554
4:1.461502
5:0.456719
6:1.461502
7:0.000425
8:4.676805
9:1569.275434
10:0.000004
90:0.000042
91:0.013938
92:47.890486
93:1569.275434
94:1.461502
95:0.013938
96:0.456719
97:0.142725
98:0.013938
99:0.044601
100:153.249554
不是吧?怎么都是个位数啊?最大的也没回本?{:10_277:}
怎么样,是不是非常的反直觉?为啥啊?{:10_257:}
那不妨来用数学计算一下,玩一次的话,那么期望得到的收益应该是
(1+0.6)^0.5(1-0.5)^0.5-1
解释一下,玩一次的话,就有0.5次+60%,另外0.5次-50%
其中增加和减少都是基于本金,也就是1,所以要基于1做加法
对于次数来说,概率重合需要乘算,相同的乘算自然是指数
最后-1是要与本金计算收益
好好好,这么算完之后,嗯?{:10_277:}
结果大约为:-10.557%
??也就是说,我玩一次,那么我期望收益-10.557%?额,怪不得上面都是个位数{:10_250:}
可是我们刚才是100次,emm有道理,那100次就有50次+60%,另外50次50%
类似地,x次有x/2次+60%,另外x/2次-50%
哦,这不就成一个函数了?x为玩的次数,y为期望收益,得到这个式子
y=(1+0.6)^0.5x(1-0.5)^0.5x-1
来,用desmos画个图
显然,在有意义的区间(0,+∞)中,函数单调递减,那么来算一下x=100的函数值
结果大约为:-99.998%
好吧,这样看来,上面四位数的结果是真的幸运啊,这真的亏麻了{:10_266:}
哎,那我得再加多少才可以达到平衡啊?考虑单次的话,咱们就设x为要加的量,y就是期望收益,函数搞起来
y=(1+0.6+x)^0.5(1-0.5)^0.5-1
嗯,也没有那么复杂,来,画个图
哦,零点在0.4的位置上
emm,那就是0.6+0.4=1
也就是+100%和-50%达成了平衡?{:10_282:}
虽说这是期望收益的结果,但是大家有没有发现,其实1*(1+100%)*(1-50%)=1,刚好又回来了{:10_257:}
欸,非常的神奇啊,这个和相反数很像啊,只不过是基于增益的
由于这个东西是乘算,所以基数不一样了,相反数不能抵消了{:10_266:}
那我想办法找到1*(1+x)*(1-50%)=1不就好了,这不就可以抵消了吗?{:10_256:}
这就意味着,一亏一赚,抵消了!那么假如三亏两赚,就和亏了一次一样!神奇!{:10_279:}
这是不是和加法很像了就?原来是10,赢就+1,输就-1,一赢一输抵消了!
重复的加法变成乘法,重复的乘法(增益)变成指数,这不就升维了吗!{:10_256:}
好好好,回到开头的问题,玩不玩?为啥?不玩,因为增益是比加算要高一个维度,所以说相反数在增益这就没有比较价值了,希望你能有所收获{:10_256:}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@zhangjinxuan @liuhongrun2022 @高山 @学习编程中的Ben @sfqxx
赢了应该 +100% 才行 {:10_304:} 小甲鱼的二师兄 发表于 2024-1-17 01:49
赢了应该 +100% 才行
没错,从期望和消除两方面都是这个结果 嗯嗯 为了鱼币来回复 陈尚涵 发表于 2024-1-17 10:43
没错,从期望和消除两方面都是这个结果
内容很赞,期待多更新~
尹玄睿 发表于 2024-1-17 17:43
为了鱼币来回复
{:5_102:} 为了知识多少也得顶一下~ 加减100就玩了{:10_256:} {:5_106:} 输了资产减少一半。。。赢了才增加0.6,太黑了 QQQAAAXXX 发表于 2024-1-25 03:39
大佬,完全看不懂
需要简单的概率论和数学基础 {:5_109:} 赌博都是这个套路{:10_256:} 除了过程都看懂了 厉害 zhic{:10_266:} 我的天 育碧!
已评分 好
页:
[1]
2