什么是“随机”?教你分清“伪随机”和“真随机”
作者:欢乐战纪手游网 . 发布于:2026-06-09 . 浏览次数:937 次
很久以前流传着这样一则笑话:一个身患重病的人决定去动手术。在手术之前,他问医生:“这起手术的成功率是多少?”医生回答他:“只有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热门拉力赛赛车手游合集 拉力赛游戏推荐
32026人气最高、玩法最热门的大战场类游戏汇总 大战场游戏推荐
4免费单机象棋游戏下载推荐|2026耐玩高评分棋类手游排行榜
52026高趣味性单机通关游戏合集 耐玩的通关游戏推荐
62026热门无人游戏推荐清单 无人游戏手机版下载指南
72026热门五子棋手游下载榜单 五子棋游戏推荐
82026热门狗狗手游推荐合集 受欢迎的狗狗游戏下载指南
92026高人气龙珠格斗手游下载合集 龙珠格斗游戏推荐
102026热门象棋手游排行榜 免费象棋游戏推荐
112026年值得入手的B站运营游戏清单 B站热门手游推荐
122026人气最高仙侠游戏排行榜 仙侠手游推荐哪个最好
132026必玩的牌类游戏推荐|高人气、易上手、适合多人娱乐的经典与新作合集
14金铲铲之战常见闪退、黑屏、加载失败解决方法 金铲铲之战更新后无法进入游戏
15《群英之战(0.1折免费版)》元宵限时单日(线下申请)
162026高人气高口碑漂移手游TOP榜单 耐玩的漂移游戏手机游戏推荐
172026年高口碑魔方类游戏推荐 耐玩的魔方游戏排行榜
18最受欢迎的高口碑独立像素风单机游戏合集 像素单机游戏推荐2026
192026热门高分益智游戏推荐 必玩的儿童益智小游戏合集
20游戏闪退常见原因与实用解决方法 打游戏老是闪退怎么办
都市冒险高手 0.05折5倍代金券
下载
魂之眼 火影正版授权
下载
弑神斩仙 天天648免费版
下载
新凡人修仙传 0.1折道祖打金版
下载
山海记 送白泽皮肤
下载
仙风道骨 0.1折千亿补贴
下载
凡人飞剑 0.1折送海量充值卡
下载
侠剑狂歌 0.05折商城买断版
下载
我的御剑日记 年轻修真送百抽
下载
新斗罗大陆 1折免费版
下载
