今天我们来聊聊伪随机数,以下6个关于伪随机数的观点希望能帮助到您找到想要的大学知识。
本文目录
伪随机是什么意思?
现在的计算机还无法产生一个真正的随机数,它能产生的随机数都是伪随机数,在这方面它跟人脑还没法比,但是它有强大的计算功能,可以通过复杂的计算弥补这一缺点。 存在一个基本的随机率m,被的随机率都以m和固有概率共同计算,如网络游戏中攻击力的浮动,装备的精炼。m=f(t)是时间t的函数,t至少精确到0.01秒。t还是一个周期较大的周期函数.因为计算机是结构,条理非常清晰的数理逻辑. 它所执行的东西都是按照人们编好的程序一步一步来的. 所以这并不是真正的随机.举个例子来说,你玩过网游吧,一般的游戏里都有本地图内随机传送的技能或物品. 如果真随机的话,你无限次传送可以到达任何一个地方. 但如果伪随机的话,无限次传送之后有些地方仍然是无法到达的。 计算机通过复杂得计算,让大家看起来好像是数据之类的东西是处于随机状态的,但是他还是有一定的规律。真正的随机,没办法预测下一步。
伪随机和真随机
真伪随机其实分别指的是几率和概率 很久以前流传着这样一则笑话:一个身患重病的人决定去动手术。在手术之前,他问医生:“这起手术的成功率是多少?”医生回答他:“只有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个学生都能中奖。这就是真随机。 伪随机: 小明班上举办了抽奖活动。为了公平起见,老师准备了1个纸盒,纸盒中有40张纸条,只有1张纸条是中奖纸条。这样一来,每个学生都有1/40的几率中奖——但是显而易见,这个班上有且仅有一名学生能够中奖。一名学生在中奖后,余下的所有学生中奖几率都会减少至0。这就是伪随机。
伪随机数的生成方法
一般地,伪随机数的生成方法主要有以下3种:
(1) 直接法(Direct Method),根据分布函数的物理意义生成。缺点是仅适用于某些具有特殊分布的随机数,如二项式分布、泊松分布。
(2) 逆转法(Inversion Method),假设U服从[0,1]区间上的均匀分布,令X=F-1(U),则X的累计分布函数(CDF)为F。该方法原理简单、编程方便、适用性广。
(3)接受拒绝法(Acceptance-Rejection Method):假设希望生成的随机数的概率密度函数(PDF)为f,则首先找到一个PDF为g的随机数发生器与常数c,使得f(x)≤cg(x),然后根据接收拒绝算法求解。由于算法平均运算c次才能得到一个希望生成的随机数,因此c的取值必须尽可能小。显然,该算法的缺点是较难确定g与c。
因此,伪随机数生成器(PRNG)一般采用逆转法,其基础是均匀分布,均匀分布PRNG的优劣决定了整个随机数体系的优劣[7]。下文研究均匀分布的PRNG。
什么是伪随机?
结构可以预先确定,可重复产生和复制,具有某种随机序列随机特性的序列码。伪随机码序列一般可以利用移位寄存器网络产生,该网络由R级串联双态器件移位脉冲产生器和模二加法器组成。该网络可以产生码长为15的伪随机码。在计算机、通信系统中我们采用的随机数、随机码均为伪随机数、伪随机码。所谓“随机码”,就是无论这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现的循环长度相当大,例如CDMA采用42的伪随机码,重复的可能性为4.4万亿分之一,所以可以当成随机码使用。 中文名:伪随机码 利用:移位寄存器网络产生 例如:CDMA采用42的伪随机码 特点:结构可预先确定,重复产生和复制
什么是伪随机和真随机?
所谓真伪随机其实分别指的是几率和概率。
所谓概率,用Dota里话说,就是出现得并不规律,但是大致上就是这么多次数。比如17%,如果是每2000次为一周期,那么17%意味着,尽管你不确定这340次究竟会什么时候出现,但2000次中必然出现340次,不多一次也不会少一次。貌似这就是伪随机了。概率事件之间相互影响,一旦这一次没有触发,那么下一次触发的概率就会变大。形象而言,概率事件就好比,一个班有50位同学抓阄抽奖,纸条总计50个,其中10个有有奖,40个没奖。可以确定,按理说每个人平均都有20%的中奖可能。一旦第一位同学没有抽到,那么剩下同学平均中奖的可能性就会从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%之间浮动。
今天的内容先分享到这里了,读完本文《伪随机数(伪随机数计算公式)》之后,是否是您想找的答案呢?想要了解更多大学知识,敬请关注本站,您的关注是给小编最大的鼓励。
标签:伪随机数什么是伪随机数?伪随机是什么意思?伪随机和真随机伪随机数的生成方法什么是伪随机?什么是伪随机和真随机?
免责声明:本文由用户上传,如有侵权请联系删除!