什么是伪随机?( 二 )


一旦第一位同学没有抽到,那么剩下同学平均中奖的可能性就会从20%提高到20.40%,以此类推,如果前10位同学都没有中奖,那么剩下同学中奖概率将提高到平均25% 。但是不管谁中谁没中,最后横竖只有20%的人中奖 。这就是20%的中奖概率 。
而真随机则是指几率 。比如17%的几率,意味着你这次触发特殊事件是17%的可能性,下次也是,每一次都是 。如果你这次失败,下次依然保持在17%的可能性 。
同样使用上面抽奖的例子,这次把20%概率换成20%的几率,那么就成了这样了:50个同学,每人会得到一个装着50张纸条的盒子,其中有10张有奖,40张不中奖,每人可以抽10张纸条 。那么这时候,大家抽奖就是个抽各的,互不影响 。
你抽中了不会导致别人中或者不中,这就是几率,意味着事件之间毫无联系,说不定50个人总计可以抽到1000张全部奖品,或者50人全部空手而回 。虽然同样是20%的可能性,概率是所有事件相互影响,总体可能性保持在20%,而几率是所有事件相互独立,单次可能性保持在20%,但总体中奖分布则在0到100%之间浮动 。
伪随机和真随机

什么是伪随机?

文章插图
真伪随机其实分别指的是几率和概率很久以前流传着这样一则笑话:一个身患重病的人决定去动手术 。在手术之前,他问医生:“这起手术的成功率是多少?”医生回答他:“只有1% 。
”他很惊慌,但是医生说:“没事的,在你之前我已经治死过99个人了 。
”这是一则嘲笑那些不懂“概率”的人的笑话,却讲出了“真随机”和“伪随机”之间的区别 。1.随机性:完全紊乱;2.不可预测性:从现有号码,无法推断下一个数字;3.不可重复性:随机数之间没有重复 。真随机数是伴随物理实验,例如:掷硬币、掷骰子、电子元件噪声、核裂变等,其结果符合三个特点 。伪随机数是通过某种算法,获取随机值,不是真的很随机 。
伪随机数分为强伪随机数和弱伪随机数 。1.强伪随机数:接近真实随机数,令人满意的特性 。随机性与不可预测性,不可预知的 。
2.弱伪随机数:满足随机性,可预测的 。在游戏当中我们一直提到的“真随机”和“伪随机”,到底是什么意思?我们通常说的真随机又名“纯随机”(True Random Distribution),就是我们平常一直说的那种、一般意义上的“随机” 。在真随机中,每一个事件都是相互独立、服从真随机分布的,不受其他事件的发生而改变 。
比方说某款游戏为了吸引用户,拥有这么一个随机抽卡系统:每次抽卡时,都有1%的几率抽出SSR卡片,这个概率服从真随机分布 。回到我们最开始说的那个“治死99个”的笑话:我们一眼就能看出这个笑话的不合理性 。但在抽卡游戏中,我们的大脑瞬间失去理智 。
有相当一部分玩家认为:我连抽100次,总能抽到这张卡吧!实际上,连抽100次却抽不出1%的SSR卡的几率是为(1-0.01)^100=36.6%,甚至还稍稍超过了1/3 。将连抽数字上升至300,也仍有4.9%的几率 。换句话说,假设有10000个玩家连抽100次,就有约3660个玩家抽不出这张SSR;10000个玩家连抽300次,也仍有约490个玩家抽不出这张SSR——这对玩家的游戏体验来说可以说是毁灭性的打击 。设计者们提出了“伪随机”的概念:在不确定性的随机事件当中,通过一系列算法使随机事件均匀分布在多次事件当中,尽可能减少或消除极端情况的发生,以提高玩家的游戏体验 。
制造“伪随机”的方法有很多,N表示当前攻击的次数,P(N)表示当前攻击的暴击率,C为概率增量 。如果我们这次攻击产生了暴击,则需要将 N 重置为 1,如果这次攻击没有产生暴击,则 N + 1 。为了便于理解,这里直接给出一个具体例子:设我们当前玩家角色暴击率还是0.5,那么对于 PRD算法,此时的 C = 0.3可以看到,使用 PRD 算法,对于攻击是否会暴击这一问题,仍然是存在着随机性即玩家的运气因素的,但即使是运气最差的玩家,仍然也会在第四次攻击时产生暴击,因此PRD算法可以在保存随机性的同时,减少玩家运气因素对游戏结果的影响 。真随机: 有一天,小明在的班级上举办了一次抽奖活动 。
这个班级有40个学生,所以为了公平起见,保证每个学生都有1/40的几率中奖,老师准备了40个相同的纸盒,每个纸盒中都有40张纸条,有1张纸条是中奖纸条 。这样一来,每个学生都有1/40的几率中奖,但每个学生是否中奖并不受其他学生的影响 。在极端情况下,这个班上可能40个学生都能中奖 。这就是真随机 。