1
twor2 2020-07-15 10:47:28 +08:00 1
请搜索 app 作业帮
|
2
binux 2020-07-15 10:57:36 +08:00 9
概率是 0,60 天后冰箱 2 里最少有 30 瓶。
|
3
Raven316 2020-07-15 10:58:11 +08:00
31/61 吗
|
4
Isight 2020-07-15 11:01:30 +08:00
概率主要看冰箱 1 和 2 的位置还有主人的懒惰程度
|
5
dolphintwo 2020-07-15 11:04:35 +08:00
31/61 +1,不要想复杂
|
6
imdong 2020-07-15 11:12:49 +08:00
打算写代码实现,发现无法解决这个问题。
因为如果真随机,冰箱的饮料会变成负数。 所以,必然会出现,某个冰箱先拿空,然后要不要换个冰箱拿的情况。 |
7
FlyPuff 2020-07-15 11:13:00 +08:00
请问 60 天后此人体重增加多少~
|
8
chairuosen 2020-07-15 11:14:07 +08:00
感觉这个问题并不简单。先不要想 30,31 。问题基本等于抛 60 次硬币,正反各 30 次的概率。
这个问题知乎有问 https://www.zhihu.com/question/362403666/answer/956630635 |
9
duwan 2020-07-15 11:14:33 +08:00 1
用代码模拟了一下 0.55 左右
|
10
Vegetable 2020-07-15 11:18:06 +08:00 1
61 瓶可乐,拿走 60 瓶。剩下的可能是任意一瓶,每一瓶剩下的概率都是 1/61,剩在 2 的概率是 1*31/61
|
11
Vegetable 2020-07-15 11:19:17 +08:00 1
箱子里有红色球 30 个,蓝色球 31 个,随机从其中拿出 60 个,剩下的球是蓝色的概率是多少?
|
12
Raven316 2020-07-15 11:21:47 +08:00 1
@chairuosen 不完全一样,一个冰箱拿空以后就必须拿另一个了
|
14
imdong 2020-07-15 11:24:06 +08:00 1
不用算了,这是 “脑筋急转弯”,2 楼正解
这是 60 天内 随机 拿走一瓶。 不是 60 天内 每天随机 拿走一瓶。 所以冰箱 2 最少还有 30 瓶。 所以概率 0 。 |
18
lang1pal 2020-07-15 11:31:23 +08:00
反过来想就是 60 天内把冰箱 1 拿空的概率是多少
|
19
across 2020-07-15 11:31:51 +08:00 1
是 50%吧。61 瓶排列组合,最后一个属于 2 号的比例····
|
20
imdong 2020-07-15 11:32:58 +08:00 1
经过代码测试,一千万次,剩余一瓶次数:5512370,第二次:5513145 。 55.12%,接下来,只需要找到一个合适的概念范围即可。 我支持 |
21
LemonButSweet 2020-07-15 11:33:38 +08:00
不应该是二分之一吗....选冰箱的问题?
|
22
across 2020-07-15 11:34:16 +08:00
哦,错了,61 瓶排列组合,最后一个属于 2 号的比例是 31/61
|
24
shiyidi 2020-07-15 11:39:18 +08:00
应该是 1/2,前 59 次不影响结果,最后一次可能为 2:0 、1:1 、0:2,结果为 0+1/3*1/2*1/3
|
25
Banxiaozhuan 2020-07-15 11:40:09 +08:00
(0.5) ^ 30
|
26
Vegetable 2020-07-15 11:42:12 +08:00 1
关于程序模拟 0.55 的问题,0.55 对应的是随机选择一个冰箱,1 个冰箱 1 瓶,一个冰箱 2 瓶时,选择他们的可能性相等。而 31/61 考虑的不是冰箱,而是直接拿可乐。
|
27
chairuosen 2020-07-15 11:45:07 +08:00 1
@WinG #23 你如果用 20L 的算法,就是冰箱取空后不换成取另一个冰箱的可乐。则就是我 8L 说的问题
|
28
jinhan13789991 2020-07-15 11:45:29 +08:00
是 1/2 啊,要么 “冰箱 2 刚好剩下 1 瓶” 要么 “冰箱 2 刚好剩下不是 1 瓶”
/dog |
29
nuk 2020-07-15 11:51:44 +08:00
这个很好计算啊
按照 11 楼的题目来计算 概率就是 C(30,60)/C(30,61) 实际上就是 31/61 |
30
hahastudio 2020-07-15 11:55:58 +08:00 3
我是这么想的:既然其中一个冰箱拿空了就必然会去拿另一个冰箱,那就是怎么这 61 瓶可乐按什么顺序拿的问题
全排列 61! 固定第二个冰箱里的某一瓶最后拿,其余 60 瓶的排列 60! 第二个冰箱有 31 瓶 那就是 60! * 31 / 61! = 31/61 |
31
hahastudio 2020-07-15 11:58:05 +08:00 1
这样的话,好像等价的问题更好理解:
61 瓶可乐,30 瓶普通的,31 瓶无糖的,随机拿 60 瓶,最后一瓶是无糖的概率 31/61 |
32
hicdn 2020-07-15 12:00:25 +08:00
等价转换,箱子里有 30 各红球,31 个白球,每次取一个球。求取 60 次后,箱子里剩一个白球的概率。
|
33
wxd92 2020-07-15 12:03:01 +08:00 via iPhone
我来
C(30,31)C(30,30)/C(60,61) 总事件 从 61 个瓶取 60 个 该事件 冰箱 1 30 个全取,冰箱 2 31 个中取 30 个 |
35
nmdx 2020-07-15 12:08:27 +08:00 via Android 1
相当于一次性拿 60 瓶,最后剩 1 瓶,那么这 1 瓶是 2 号冰箱的概率就是 31/61 了
也可以换个角度,一开始先随机拿出来一瓶,后面 60 天随便怎么拿,保证第一瓶是 2 号冰箱的就行,概率为 31/61 个人意见,仅供参考 |
36
SakuraSa 2020-07-15 12:22:03 +08:00 6
A 冰箱有 a 瓶,B 冰箱有 b 屏,在 A 、B 冰箱中有可乐的冰箱中等概率取一瓶,最后 B 冰箱剩余 1 瓶的概率。
解: 设目标概率函数为: P(a, b) 由题目理解可得: 1. 当 a>0, b>0 时: P(a, b) = 0.5 * P(a - 1, b) + 0.5 * P(a, b - 1) 2. 当 a=0 或 b=0 时: P(a, 0) = 0 P(0, b) = 1 题目可由动态规划得: ```python import functools.lru_cache @lru_cache def p(a, b): if a and b: return 0.5 * p(a - 1, b) + 0.5 * p(a, b - 1) else: return 1 if b else 0 ``` 时间复杂度 O(a*b) 空间复杂度 O(a*b) 本机运行结果: ``` >> timeit p(30, 31) 0.5512890865042848 578 µs ± 11.4 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) ``` 另外:31/61 = 0.5081967213114754 |
38
gtchan13579 2020-07-15 12:27:17 +08:00
最终只有两种结果,要么冰箱 1 剩一瓶,要么冰箱 2 剩一瓶,所以答案 1/2.模拟的是什么鬼,这么简单还需要模拟吗。
|
39
WinG OP @gtchan13579 二分一是最典型的错误答案
|
40
cigarzh 2020-07-15 12:30:09 +08:00 2
|
41
chairuosen 2020-07-15 12:30:52 +08:00
@gtchan13579 #38 你去面试,要么过要么挂,那么你过的概率就是 50%了?
|
42
cigarzh 2020-07-15 12:32:08 +08:00 4
|
43
kop1989 2020-07-15 12:34:48 +08:00
如果一个冰箱拿空就拿另外一个的话:
答案是 30 天 a,30 天 b 的概率+31 天 a,29 天 b 的概率 + ... + 60 天 a 的概率之和。 不知道这算不算暴力法。 |
44
301 2020-07-15 12:38:50 +08:00 via Android
@across #19 赞同 1/2,相当于 30 个 A 和 31 个 B 排序,最后一个是 B 的概率,为 1/2
|
45
LZSZ 2020-07-15 12:40:21 +08:00
你们大小月都不算的吗
|
46
301 2020-07-15 12:41:09 +08:00 via Android
等等,计算有误,确实是 31/61
|
47
shuaizi 2020-07-15 12:45:34 +08:00
31/61,
因为随机拿,每一瓶被剩下的概率都是 1/61, 剩下的一瓶在第二个冰箱里有 31 种可能 |
48
Xs0ul 2020-07-15 12:46:52 +08:00 4
等价的问题是,扔 60 次硬币,正面小于等于 30 次的概率,是二项分布的累加和
具体结果楼上已经用 wolfram alpha 算出来了 |
49
cigarzh 2020-07-15 12:50:33 +08:00 3
解释:
每天起床抛一枚理想硬币,记录下结果但不去拿可乐(正面冰 1,反面冰 2 ) 到第 60 天晚上按照结果一一拿取可乐。 则,只要反面的记录小于等于 30 次,明天的最后一瓶必在冰 2 中 |
50
chris31326 2020-07-15 12:51:39 +08:00
0
60 天内只拿了 1 瓶 |
51
Xs0ul 2020-07-15 12:54:19 +08:00 1
验证很简单,把数字改小就好了,改成冰箱 1 有 1 瓶,冰箱 2 有 2 瓶,拿两天
按照 31/61 的做法,结果应该是 1/3 实际直接暴力解,概率是第一天拿抽冰箱 1 有 1/2,第一天抽到冰箱 2 并且第二天抽到冰箱 1 是 1/4,合计 3/4 而 3/4 就是 n=2,p=0.5 的二项分布的累加和 |
53
jklzhu 2020-07-15 12:57:30 +08:00 via iPhone
二分之一,只需要考虑最后两个瓶
|
54
sixg0d 2020-07-15 13:05:19 +08:00 4
31/61 是错的。
转换成摸双色球是不等价的。随机事件都被改了:(在不考虑为空的情况下)原题概率分别为 0.5,而双色球概率是按球数分配。 转换成排列组合的序列时,的确最后剩下编号 2 的序列占 b/(a+b),但问题在于每个序列并不是等概率的,问题出在一个冰箱为空后之后以概率 1 为摸另一冰箱,造成序列的权重不一样。一个简单的反例考虑 n 个编号 1,1 个编号 2 ;要想剩下编号 2,只能一直以 0.5 的概率选编号 1,最后的概率是 0.5^n 而不是 1/(n+1) 36 楼 @SakuraSa 提供的递推式是正确的解法(之一)。 |
55
dilu 2020-07-15 13:17:32 +08:00
我的理解是一天就拿一瓶 拿空一个冰箱之前,不能从另外一个冰箱拿
那第一次拿就决定了最后一瓶出现在哪个冰箱 如果说随机的话,拿第一瓶的概率就是 1/2 怎么就能搞得这么复杂了 |
56
dilu 2020-07-15 13:21:47 +08:00
@chairuosen #41 你去面试,要么过要么挂,那么你过的概率就是 50%了?
但是有前提条件,两个人来面试,你必须录取一个人,针对某个人被录用的概率就是 1/2 lz 的题目里面说了 必须要拿一瓶的 |
57
gtchan13579 2020-07-15 13:47:00 +08:00
@WinG
我觉得这个问题如果站在上帝视角,那么答案就是你认为的 0.55 以及那种算法,但对于拿可乐的人来说一切条件对于他来说一共有多少瓶可乐,每个冰箱有几瓶,他都不关心, 他只关心今天我要从哪个冰箱拿一瓶,以及万一拿空了那我就从另一个冰箱拿了,所以后面 30 瓶可乐他压根不去考虑选择哪个冰箱。所以就是 30/60=1/2,这是从另一种角度来解释为什么是 1/2. @chairuosen |
58
gtchan13579 2020-07-15 13:54:22 +08:00
@gtchan13579 修正一下 57 楼的的说法。
我觉得这个问题如果站在上帝视角,那么答案就是 0.55 以及那种算法,但对于拿可乐的人来说一切条件对于他来说一共有多少瓶可乐,每个冰箱有几瓶,他都不关心或者不知道, 他只关心今天我要从哪个冰箱拿一瓶,以及万一拿空了那我就从另一个冰箱拿了,所以感觉拿可乐=价于选冰箱了,拿光一个冰箱的可乐之后,冰箱 2 最终剩不剩可乐就是必然事件了,所以我站 1/2. |
59
oaix 2020-07-15 14:33:02 +08:00 1
另一种等效的表达 Sum(0.5^(n+30)*combination(29+n, n), {n, 0, 30})
https://www.wolframalpha.com/input/?i=Sum%280.5%5E%28n%2B30%29*combination%2829%2Bn%2C+n%29%2C+%7Bn%2C+0%2C+30%7D%29 |
60
Raven316 2020-07-15 15:52:20 +08:00
题目都没表达清楚啊:到底是随便从 2 个冰箱里拿可乐,还是先等概率选冰箱再拿可乐,说不清楚题意,答案怎么可能正确
|
61
talen666 2020-07-15 15:53:05 +08:00
如果改成一个冰箱里有 30 瓶可乐,31 瓶雪碧,最后剩下雪碧的概率是 31/61 吧
|
62
mcfog 2020-07-15 16:15:33 +08:00 via Android
绝大多数有争议的概率题其实都是语文问题
|
63
a4854857 2020-07-15 16:40:39 +08:00
诶.这帮人天天做噩梦说梦回高考
结果毕业了一问高中概率题答的比谁都积极 |
64
xuewuchen 2020-07-15 16:48:53 +08:00
嗨,这不是人说了算吗?剩最后三瓶的时候,就看我心情想剩几瓶了
|
65
Alexhex 2020-07-15 16:56:49 +08:00
同意,题目有歧义。36 楼的解法是有问题的,单看某一天,从 2 号冰箱取可乐的概率到底是 1/2 还是 31/61,是完全不一样的。“60 天内随机在 1 、2 中拿走 1 瓶”怎么看都是 1/2 的理解。
如果是 1/2,假设 B 冰箱里只有 30 瓶,问 60 天取空 B 冰箱的概率是多少,和 60 天后剩一瓶的概率没有差别。 |
66
wyz123723 2020-07-15 17:18:31 +08:00
出这题目的语文不及格,如果按照题意, 确实是 0
|
67
BlackwithBrown 2020-07-15 17:21:44 +08:00
其实题目的意思是 60 天内 30 天拿 1 的概率吧,计算机算为 0.55 左右
|
68
YUCOAT 2020-07-15 17:26:51 +08:00
我觉得答案还是 31/61
我觉得楼主的问题与下面这个问题是等价的: 所有可乐瓶的身上都标记一下自己属于哪个冰箱,然后把这 61 瓶可乐放一起,随机取走 60 瓶,然后检查最后一瓶可乐的瓶身,瓶可乐属于冰箱 2 的概率是多少。 |
69
wyz123723 2020-07-15 17:30:00 +08:00
一个冰箱拿空再拿另一个冰箱什么意思?如果我随机到第一个冰箱那我之后只能拿第一个冰箱的?那概率不是 30/61 吗
|
70
YUCOAT 2020-07-15 17:37:26 +08:00
或者我们换一个思路,一共 61 瓶可乐,其中的 60 瓶都会被取走,我们把最后没有被取走的那一瓶称为“幸运儿”。
现在题目相当于在问“幸运儿”是属于冰箱 2 的概率。 假设是随机取,那么这 61 瓶可乐,每瓶能成为幸运儿的概率必然是一样的。 既然如此,那么幸运儿的概率属于冰箱 2 的概率就是 31/61 |
71
yiran0 2020-07-15 17:42:22 +08:00
|
72
Meltdown 2020-07-15 19:35:15 +08:00 via Android
题目有歧义吧,选的时候是每瓶等概率还是每个冰箱有概率没说清楚
|
73
ruokw 2020-07-15 20:20:03 +08:00 via Android
这里面有点问题,比方说 36 楼的 1/2 系数的概率,意味着某一冰箱空之前还需要选择冰箱,为啥当一个空了之后就不需要选择冰箱。对于 31/61 的应该是说明对冰箱不做选择,即 60 天每次一定选一个出来,不管从那个。最简单是说 a 有 1 个 b 有 2 个。现在算算概率。我自己还是觉得 31/61 的最靠谱。
|
74
oshio 2020-07-15 22:00:55 +08:00 2
@YUCOAT 不等价的。楼主的问题里面,哪怕 1 号冰箱只剩一下 1 瓶,2 号还有 31 瓶,下一次取到 1 号冰箱可乐的概率依然是 1/2,而不是 1/32 。
|
75
plko345 2020-07-16 00:21:21 +08:00
额, 最近 ronnie 也在他频道里讲了这个题
|
76
Harry1993 2020-07-16 00:54:57 +08:00
C(60, 30) / C(61, 30) = 31/61
|
77
wuqingdzx 2020-07-16 09:24:46 +08:00
请多些这样的问题
|
78
bluepikachu 2020-07-16 10:42:14 +08:00
@plko345 有关键字指路吗,想去看看
|
79
plko345 2020-07-16 21:59:33 +08:00
@bluepikachu 频道叫 "Better Women", 应该是两天前的一个视频
|
80
bluepikachu 2020-07-16 22:35:58 +08:00
@plko345 好的,感谢。
|