作者penguinsFly (企鹅不会飞)
看板Math
标题[机统] 抽奖问题 如何简化
时间Fri Nov 11 13:59:55 2022
抱歉不是数学相关科系 如果描述的不清楚请多包涵><
目前有个抽奖游戏
有n个参与者
每个参与者分别有不同张票卷可以抽奖
抽奖方式是所有人把票丢到票箱
然後抽出前m个 不重复的参与者
也就是说票卷多的人容易中奖
但是也只会中一次
方法1:
就是照题目的方式抽
但是如果票卷数量很悬殊, 例如有人有1000张票 其他人只有3张
那很容易就会一直重复抽到票券多的人
方法2:
每张券都跑一次独立的random
0~1连续范围的一个数值
每个人都先把自己所有券取数值最大者
再所有人比大小 取出最大的前m名
举例就是
我三张卷 就可以跑三次random
分别为 0.1344 ,0.938272, 0.546
其中0.938272最大
我就那这个数字去跟其他人最大的比
要是我是前几名 就算中奖
问题1.
方法2是否等价方法1? 能够证明吗?
问题2.
算是方法2的延伸
因为方法2每张卷都要跑random
希望可以改成每个人一次就好
目前有点抽象的想法
就是每个人把自己各自的张数p,跟总张数p total丢进一个函数f1
会取得一个类似累积分布函数f2
然後每个人random一次
将random到的值带入各自的f2函数的y轴 再比大小取前几名即可
其中函数f2在参与者张数很少的时候
就会是一个靠右边的累积函数, 所以x要满大的分数y才会高
如果是张数多的参与者, f2就会靠左
这样他就算是x小, y也会大, 也就是中奖机率大
请问有办法求得f1吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.75.6.7 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Math/M.1668146397.A.905.html
1F:推 xxxx9659 : 方法2等价方法1 11/11 20:41
2F:→ xxxx9659 : 方法1等同先把摸彩抽奖券叠好并且均匀洗牌 11/11 20:47
3F:→ xxxx9659 : 等同每个抽奖券都有一个顺序号码(1,2,3... 11/11 20:47
4F:→ xxxx9659 : 等同方法2的直接给个乱数0~1的值 11/11 20:47
5F:→ freePrester : 问题2, 可以用 MAX(X1...Xn) 的 CDF 11/12 06:03
6F:→ freePrester : 其中 Xk~N(0,1) 11/12 06:03
7F:→ penguinsFly : 抱歉楼上大大 不太懂意思 能不能详细点感谢 11/12 07:28