什么是“随机”?教你分清“伪随机”和“真随机”
作者:速釆手游网 . 发布于:2026-06-10 . 浏览次数:253 次
很久以前流传着这样一则笑话:一个身患重病的人决定去动手术。在手术之前,他问医生:“这起手术的成功率是多少?”医生回答他:“只有1%。”他很惊慌,但是医生说:“没事的,在你之前我已经治死过99个人了。”
这是一则嘲笑那些不懂“概率”的人的笑话,却讲出了“真随机”和“伪随机”之间的区别。
在四月末的时候,我曾写过一篇《你打游戏靠的是技术,还是运气?》,其中就提及了“伪随机”这个概念。当时受限于篇幅,没有详细展开解释“伪随机”的概念。前不久,在因国际邀请赛而备受关注的Dota2在最近一次的更新中,有这么一条更新内容:“落空的负面效果和下坡攻击的落空效果现在都采用伪随机触发”。
那么到底什么是“伪随机”呢?以及和“伪随机”对应的“真随机”又是什么概念?
在讨论真随机和伪随机之前,先排除另一个容易搞混的错误答案:赝随机数。
赝随机数算法(Pseudo-Random Number Generator,简称PRNG)是计算机的一个术语——当然,它也可以被叫做“伪随机数算法”,只是为了方便与游戏中的“伪随机数”进行区分,本文中统一称作“赝随机数算法”。
众所周知,计算机程序是由无数“0”和“1”两种状态构成的,如果一个状态不是“0”,那就必定是“1”,颇有种非黑即白的味道。
因此,在计算机程序中,不存在“不确定”的数字,只有确定的“1”和“0”。基于这种特性,计算机无法生成“真正的(不确定的)随机数”。
那么在计算机中,需要生成或是使用到随机数的时候怎么办呢?通常是利用计算机抓取一些数值,然后将这些数值输入至一个复杂算法(常用的算法是同余法和梅森旋转算法,有兴趣的读者可以自行查询,这里就不展开讲了)当中,通过一系列运算得出一个数字,这就是平常说的赝随机数了。
只要最初输入的数值(初值)不变,那么输出的值都会是同一个值,这就证明了这个数并不随机,只是看起来随机而已。
换句话说,只要这个随机数是由确定算法生成的,那就是赝随机数。
所以下一次在和朋友聊天时提到真随机数、伪随机数时,如果有人插嘴:“计算机只能生成伪随机数,所以根本没有什么真随机”,那你就可以霸气侧漏地说他是“云玩家”了。
回到正题。在游戏当中我们一直提到的“真随机”和“伪随机”,到底是什么意思?
我们通常说的真随机又名“纯随机”(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——这对玩家的游戏体验来说可以说是毁灭性的打击。
尽管纯随机在数学上是无罪的,在代码中更是明明白白、清清楚楚,但玩家抽不出卡可不会回想到初高中的数学课本,而是首先怀疑几率是否被策划运营篡改、这背后又是否有肮脏的PY交易……
当然不仅仅是在抽卡系统当中如此。在一些竞技性比较强的游戏中(比如War3、Dota2之中——英雄联盟几乎完全摘除了随机系统,不在此列),连续数次的“走运”极大影响游戏的竞技性和观赏性。
比方说Dota中最著名的概率英雄虚空假面的技能“回到过去”:使虚空假面有25%几率完全躲避一次伤害。受限于War3引擎,这个技能采用的是真随机概率,在某个极端情况下(通常见于精彩集锦中),虚空假面能够保持很低的血量承受多次伤害却不死、最终反杀对手。这种带给敌方极差游戏体验的系统,因此也进入了计师们“整治范围”之中。
为了避免极差的游戏体验带来的玩家数量流失,设计者们提出了“伪随机”的概念:在不确定性的随机事件当中,通过一系列算法使随机事件均匀分布在多次事件当中,尽可能减少或消除极端情况的发生,以提高玩家的游戏体验。
在设计师们的努力下,“伪随机”应运而生,这里的伪随机就和上文的赝随机数算法(PRNG)意义不同了。
制造“伪随机”的方法有很多,在War3、Dota2这类游戏当中普遍使用的是“伪随机分布”(Pseudo Random Distribution,简称PRD)处理概率。
就拿Dota2中最强大的暴击技能“恩赐解脱”来举例:幻影刺客有15%的几率造成200%/325%/450%致命一击伤害。在PRD机制下,幻影刺客的攻击实际上并不是每一刀都有15%的暴击率。
根据PRD机制的公式P(N)=N*C可得出15%几率的C值为3.22%,即幻影刺客的第一次攻击暴击概率为3.22%;如果第一刀没有暴击,则第二刀的暴击率提升至2倍,即6.44%;如果仍旧没有暴击,则提升至3倍的9.66%,以此类推。
如果继续推算,可得在第32刀时暴击几率会达到100%,最可能触发暴击的次数是第6刀,平均触发刀数是6.67刀等等……
同样,在连续触发暴击时,下一刀的暴击几率会减少。RPD机制使竞技游戏中连续触发或不触发技能的几率降低,避免了运气成分过度干扰战斗结果,大幅提升了玩家的游戏体验,但不影响这些随机事件的正反馈:TI6决赛的“打我五下晕三下”,可是令全球人民集体沸腾了呢!
除了伪随机分布RPD之外,还有两种常见的伪随机:洗牌算法和组合随机。
洗牌算法最常见的用法,是在各大音乐播放器中的“随机播放”之中。在随机播放时,如果采用真随机,会导致一首歌无论如何都播放不出,或是同一首歌连续播放数次(有兴趣的读者可以计算一下这些概率)。为了解决这个问题,播放器采用的解决方案即是洗牌算法:将一个包含所有歌曲的数组像洗牌一样打乱,然后依次播放这个乱序数组。
至于组合随机,这是一种广泛应用于各个游戏的做法:在抽奖的时候进行两次、或是更多次的判断,一次不随机,而剩下的判断则是真随机。比如说,你会在第X次抽卡时抽到SSR是确定的,但抽中的SSR具体是哪张卡,则是随机的——这就是广大手游中的“低保”系统了。
在一堆数据之中想要分清“真随机”和“伪随机”似乎并不是那么容易。那么接下来为大家介绍两个例子,有助于更好理解什么是“真随机”和“伪随机”:
真随机:有一天,小明在的班级上举办了一次抽奖活动。这个班级有40个学生,所以为了公平起见,保证每个学生都有1/40的几率中奖,老师准备了40个相同的纸盒,每个纸盒中都有40张纸条,有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖,但每个学生是否中奖并不受其他学生的影响。在极端情况下,这个班上可能40个学生都能中奖。这就是真随机。
伪随机:小明班上举办了抽奖活动。为了公平起见,老师准备了1个纸盒,纸盒中有40张纸条,只有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖——但是显而易见,这个班上有且仅有一名学生能够中奖。一名学生在中奖后,余下的所有学生中奖几率都会减少至0。这就是伪随机。
2026免费好玩的儿童节手游大全 儿童节游戏推荐合集
22026年适合老年人玩的益智休闲游戏合集 老年游戏大全集推荐
3土豆兄弟手游什么时候上线 土豆兄弟手游上线时间介绍
4PUBG游戏卡顿掉帧原因与解决方法 PUBG突然大幅掉帧到三四十帧怎么办
5最后的铸剑师手游深度评测 最后的铸剑师手游好玩吗
6方舟生存进化手游二周目高效发育与资源速刷指南 方舟生存进化手游二周目攻略
72026年耐玩又上头的单机小游戏推荐 热门单机小游戏合集
8美食烹饪家游戏2026热门手游推荐 美食烹饪家游戏下载指南
9高人气零门槛在线多人游戏下载合集 免费网游推荐2026
10星际战甲手游公测及正式发布日期详情 星际战甲手游上线时间
112026热门打龙类休闲游戏盘点 好玩的打龙小游戏推荐
12人气最高、口碑最佳的塔防游戏下载榜单 十大经典塔防游戏推荐
13【折扣】《航海王强者之路》全员增强,不灭意志;夏日狂欢,财宝派送;正版授权,燃情续航
14流行的种菜游戏大全2026 人气较高的种菜游戏排行榜前十名
15星布谷地是米哈游的吗 星布谷地是哪个公司的
162026高人气3D驾驶游戏下载 好玩的3D驾驶游戏推荐
172026耐玩经典摩托车闯关游戏合集 摩托车闯关游戏推荐
18口碑好、益智安全、家长放心的儿童游戏大全 2026适合小孩子的游戏推荐
19《我的英雄之路(0.05折送代金)》八选一活动(线下申请)
20《零界战区(SP伏黑惠返场)》狂赌之渊(自动发放)
萌神战姬 0.05折UR送万充
下载
口袋大冒险 0.1折送超闪UR
下载
王者战神 盲盒传奇免费版
下载
不可思议的刀剑与魔法
下载
仙宗大掌门 0.05折掌门修仙传
下载
战影破穹 武林秘籍英雄合击
下载
烈火骑士 复古六职业元宝服
下载
魔镜物语 0.1折每日千元代充
下载
英雄之路 0.1折龙珠Z
下载
九界问仙 0.05折代金买断版
下载
