![]() |
1
wyntalgeer 84 天前
算法都是伪随机,上帝不掷骰子
|
![]() |
2
cmdOptionKana 84 天前
你问的大致可分为两个问题:
1. 具体怎样执行随机的问题,答案是看你想怎样设计,不同的设计有不同的效果满足不同的需求。 2. 个体与随机的问题,随机通常与概率有关,而概率通常需要大样本才有意义。个体、或者少次数、小样本,不适用一般意义的“随机”概念。 |
![]() |
3
cmdOptionKana 84 天前
@wyntalgeer 在 2022 诺贝尔奖之后,就不要说“上帝不掷骰子”了。
“上帝不掷骰子”是爱因斯坦说的,随后爱因斯坦的头号粉丝贝尔提出了“贝尔不等式”,原本目的是为了证明爱因斯坦正确。但结果反而证明了爱因斯坦错误,随后几十年科学界不断提高实验精度,无一例外每次实验都证明“上帝掷骰子”,最终 2022 年诺贝尔奖向全世界宣布这个早已被彻底证明的结果:上帝掷骰子,现实世界是真随机。 |
![]() |
4
particlec 84 天前
我在想如果 不知道总体数量,如何做到 50%的概率,如何知道是不是 50%的概率
|
5
Rickkkkkkk 84 天前
公平的算法是,每次随机选一个,选满 50 个。
|
6
leaveeel OP @cmdOptionKana 在工作中的随机大都是用 random 并不会考虑其他的,这个问题并不是想设计什么算法,我在想的是从大样本中个体的视角来看随机、概率的“公平”。有点乱不知道大家能不能理解
|
7
leaveeel OP @Rickkkkkkk 那就是抓阄了,在个体而言每次抓取都是独立事件,越往后被抓的概率越低,对抓的人来说这 50 次是同一个事件,概率就是 50%
|
8
leaveeel OP @particlec 如果说的是手套,他都能随便许愿了可以视为全能的上帝视角,自然知道总数。如果不知道的话就分区吧。不知道全部的一个星球总知道,每个星球取一半。
如果完全混沌状态那就只能每个个体单独判断,这样可能不是精确的 50 %,但也因为不精确,导致每个个体都参与了,对个体而言却是公平的 |
![]() |
10
wyntalgeer 84 天前
@cmdOptionKana #3 那你解释一下小牛掷硬币状元签
|
![]() |
11
InDom 84 天前
只需要隔一个刪一个就可以了.
至于如何排序, 你怎么排序都可以. 你按姓名排序, 按坐标位置扫描排序, 按出生时间顺序, 都可以. 反正 在足够大的数据面前, 总能找到一些近乎随机的排序. 所有偶数位的直接 kill, 至于为什么是你, 你想想为啥处于队列中的偶数位上吧. |
12
atuocn 84 天前
每个球下面放一个管子,管子有 50%是通的。左手随机摆放球,右手随机摆放管子。左右互博,双盲。然后打个响指,球一起下落,筛选通过管子的球。
|
![]() |
13
litchinn 84 天前
> 从个体看对后 50 个并不公平
这里就不对了,如果你真的将个体剥离开单独看的话,那就不存在条件概率了,也就是说这数自己“看不到”前面的数被删了多少,它只知道自己会有 50%的概率被删除,所以还是公平的 > 每个序号被选中的几率趋势优先到后是 50/100-( 49/99 、50/99 )-( 48/98 、49/98 、50/98 > 运气足够好前 50 个都没有被删,那后 50 个必然被删 这两句本身就是从整体角度考虑的,你不能在这个角度再说只考虑个体的情况下不公平 |
![]() |
14
iawes 84 天前
随机是对整体而言的,对个体来说没什么区别,况且哪个个体消失对灭霸来说都一样的,大公无私
|
![]() |
15
iawes 84 天前
只要消失一半就行了,哪一半无所谓
|
16
xz410236056 84 天前
@wyntalgeer #1 通过使用物理层面的真随机+无偏算法你就能得到指定的真随机数。比如使用 https://www.random.org/ 大气噪声指数,或使用 CPU 内置的 TRNG+Fisher-Yates 算法
|
17
xz410236056 84 天前
因为你所设计的并不是真随机。。
1 、预先生成有序序列,再使用随机洗牌算法(无偏真随机)打乱顺序,取前 50 个。 2 、动态排除,维护一个候选池,每次取完后移除。 |
18
xz410236056 84 天前
@leaveeel #7 你这就是没学好数学了。。。你混淆了混淆抽样方式与概率计算。在抽取后不放回的每个个体被选中的概率都是 50%
|