在计算机程式中是否真的存在随机,计算机程式可以产生真正的随机数吗?不是random伪随机

fjmyhfvclm2025-01-28  2

三千雷焱的回答:


所有的随机都是伪随机。

热心网友的回答:


所谓的随机就是在一大堆的档案中随机拿一个进行使用

计算机程式可以产生真正的随机数吗?不是random伪随机

热心网友的回答:


光靠程式是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。

我很好奇,计算机真的能产生随机数吗30

hqd残梦的回答:


计算机理论上可以产生统计意义上的真随机数 。首先,「真随机」也有不同的含义, 真正的真随机目测只有量子力学了……一般的所谓真随机不是指这个,而是指 统计意义 上的随机,也就是具备不确定性,可以被安全的用于金融等领域,下面的真随机也均指这个。

大部分程式和语言中的随机数(比如 c 中的,matlab 中的),确实都只是 伪随机 。是由可确定的函式(比如线性同余),通过一个种子(比如时钟),产生的伪随机数。这意味着:

如果知道了种子,或者已经产生的随机数,都可能获得接下来随机数序列的资讯(可**性)。

直观来想,计算机是一种可确定,可**的的装置,想通过一行一行的确定的**自身产生真随机,显然不可能。但是, 我们或许可以迂迴一下 ,一个典型的例子就是 unix 核心中的随机数发生器(/dev/random),它在 理论上能产生真随机 。即这个随机数的生成,独立于生成函式,或者说这个产生器是非确定的。

实现方法:简单的讲就是软硬结合,或者说,引入系统外的变数(把软体,**,演算法想象成一个封闭的系统)。具体来讲,unix 维护了一个 熵池 ,不断收集非确定性的装置事件,即机器执行环境中产生的 硬体噪音 来作为种子。

比如说:io请求的响应时间, 特定硬体中断的时间间隔, 键盘敲击速度,滑鼠移动速度,甚至周围的电磁波等等……直观的说, 你每按一次键盘,动一下滑鼠,邻居家 wifi 讯号强度变化,磁碟写入速度,等等讯号,都可能被用来生成随机数 。

程式和演算法本身不能产生真随机,但是计算机系统作为整体可以迂迴产生统计意义上的真随机 。

电脑是否能产生真随机数?

永恆刺客的回答:


计算机理论上可以产生统计意义上的真随机数 。首先,「真随机」也有不同的含义, 真正的真随机目测只有量子力学了……一般的所谓真随机不是指这个,而是指 统计意义 上的随机,也就是具备不确定性,可以被安全的用于金融等领域,下面的真随机也均指这个。

大部分程式和语言中的随机数(比如 c 中的,matlab 中的),确实都只是 伪随机 。是由可确定的函式(比如线性同余),通过一个种子(比如时钟),产生的伪随机数。这意味着:

如果知道了种子,或者已经产生的随机数,都可能获得接下来随机数序列的资讯(可**性)。

直观来想,计算机是一种可确定,可**的的装置,想通过一行一行的确定的**自身产生真随机,显然不可能。但是, 我们或许可以迂迴一下 ,一个典型的例子就是 unix 核心中的随机数发生器(/dev/random),它在 理论上能产生真随机 。即这个随机数的生成,独立于生成函式,或者说这个产生器是非确定的。

实现方法:简单的讲就是软硬结合,或者说,引入系统外的变数(把软体,**,演算法想象成一个封闭的系统)。具体来讲,unix 维护了一个 熵池 ,不断收集非确定性的装置事件,即机器执行环境中产生的 硬体噪音 来作为种子。

比如说:io请求的响应时间, 特定硬体中断的时间间隔, 键盘敲击速度,滑鼠移动速度,甚至周围的电磁波等等……直观的说, 你每按一次键盘,动一下滑鼠,邻居家 wifi 讯号强度变化,磁碟写入速度,等等讯号,都可能被用来生成随机数 。

程式和演算法本身不能产生真随机,但是计算机系统作为整体可以迂迴产生统计意义上的真随机 。

元戎剑的回答:


目前由计算机产生的所有所谓的随机数都是伪随机数.

採用随机变化的种子再产生伪随机数,得到的结果更随机些,但它还是伪随机数. 因为如果重複这个过程(给同样值的种子),得到的结果是重複的(同样的).

如果不採用随机变化的种子,单用rand(),它只会产生固定的序列.例如: for(i=0;i<10;i++)printf("%d ",rand()); 每次执行输出的还是那十个数.

谈随机数的分布,涉及统计的概念,统计的前提是要有大量的样品.做到大量样品的分布满足某种分布(包括均匀分布或某种谱分布),演算法上是不困难的.

我们在实验室里模拟天然海浪,让海浪符合设定的频谱和方向谱,还要满足波高和週期的时域统计分布,还有波群统计相似,单靠计算机提供的伪随机数是不够的,须要加上自己的演算法,才能同时满足频域和时域的要求.

"我只要知道伪随机数用的是哪种演算法,就能準确的知道下一个数将是什么",是对的,例如用时间做种子,你只要给入同样的时间,就能得到同样的结果.

阳光上的桥的回答:


随机数是不可能的,都是伪随机数。

但是随机数与你说的摩擦、碰撞有关係吗?

的回答:


计算机可以生成真随机数,这是由于其在进行硬体驱动时,不可避免的受到不确定因素的影响而产生随机性,例如计算机至少需要显示驱动和发声驱动吧,体现在计算机程式语言上就是涉及显示卡驱动和音效卡驱动的程式设计函式有的执行时间是随机的,即使你连续呼叫这些函式执行时间也是变化的,利用这些就可以生成真随机数了。其它方法也不少就不多说了。

计算机为什么不能产生真正的随机

布兰登_詹宁斯的回答:


在计算机、通讯系统中我们採用的随机数、随机码均为伪随机数、伪随机码。所谓「随机码」,就是无论这个码有多长都不会出现迴圈的现象,而「伪随机码」在码长达到一定程度时会从其第一位开始迴圈,由于出现的迴圈长度相当大,例如cdma採用42的伪随机码,重複的可能性为4.4万亿分之一,所以可以当成随机码使用。

什么是伪随机和真随机?

加斯加的小兰花的回答:


所谓真伪随机其实分别指的是机率和概率。

所谓概率,用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%之间浮动。

的回答:


现在的计算机还无法产生一个真正的随机数,它能产生的随机数都是伪随机数,在这方面它跟人脑还没法比,但是它有强大的计算功能,可以通过複杂的计算弥补这一缺点。

存在一个基本的随机率m,被的随机率都以m和固有概率共同计算,如网路游戏中攻击力的浮动,装备的精炼。m=f(t)是时间t的函式,t至少精确到0.01秒。

t还是一个週期较大的周期函式.

因为计算机是结构,条理非常清晰的数理逻辑.

它所执行的东西都是按照人们编好的程式一步一步来的.

所以这并不是真正的随机.

举个例子来说,你玩过网游吧,一般的游戏里都有本地图内随机传送的技能或物品.

如果真随机的话,你无限次传送可以到达任何一个地方.

但如果伪随机的话,无限次传送之后有些地方仍然是无法到达的。

计算机通过複杂得计算,让大家看起来好像是资料之类的东西是处于随机状态的,但是他还是有一定的规律。

真正的随机,没办法**下一步。

f0o炎的回答:


伪随机就是基于一定的理论和规律来完成的,有设定和规律其本身就和随机性冲突了,只是你并不知道这个规律罢了,所以才觉得和真随机没区别,而真随机是任何人都无法**,属于强行五五开,把每个人拉到同一水平的概率.

伪随机就是设定规则的人知道结果的顺序,而真随机就是在没有事先準备时,他也无法知道参与自己规则的人群里到底谁先谁后.

我爱糖甜的回答:


程式实现随机只是运算获得,最重要的运算引数通常是时间 ,这个引数也有人叫种子或其他叫法,总之要有一个不停变化且不重複的引数程式在通过计算得出随机结果 当这个引数完全相同时随机数一样,这种随机有弊端比如随机数长度和程式所能认知的最短时间间隔,最重要是依赖引数计算这是本质区别,好处是可控比如游戏暴击计算a砍b 100次 其中第几刀暴击 对于多台装置来说真随机是没有意义的因为会产生不同结果导致游戏资料同步错误,这时候给伪随机相同的随机种子就可以保障a看到第几刀暴击b看到的也一样。

真随机大脑可以产生是意识的产物,如果要解释可能要等量子力学突破。

热心网友的回答:


就是说伪随机:一个极长极长的数列:(1和2为例:

)1211222122111211111222212212212221112212212221()1211222122111211111222212212212221112212212221()1211222122111211111222212212212221112212212221()1211222122111211111222212212212221112212212221

懒得打了,就是说到了一定长度之后出现迴圈(本例用括号标明迴圈处)

随机就是说完全随机,没有迴圈(有的话算幸运)

我爱唐尼的回答:


一个很简单的区别方法,伪随机的基数是有限的,而真随机的基数是无限的

excel在计算机中就是 读音查下字典就知道了 它是一种办公软体,其实是一个 形式,用于资讯处理分析的常用办公软体,其它还有word文件,幻灯片,它的读法 i kseil 可以查字典 是一种办公软体 微软office里的,和word一样。和英语读音一样。计算机的一种办公软体的名字,一般有word文件...

计算机资讯资料单位和储存单位有 b 位元组 kb 千位元组 mb 兆位元组 以及 gb 十亿位元组 等,位元组也是储存器储存资讯的最小单位,通常用 b 来表示。每级为前一级的1024倍,比如1kb 1024b,1m 1024kb。换算关係如下 计算机储存单位的进率是1024而不是1000的原因 目前...

您好!我的专业是科技日语,但我在您这个时候就开始自学计算机,说真的不怕你笑话,我就一个毕业证和学位证,我的英语4级证和日语一级证都没有,但并不表示我学的不好。本人认为日语和计算机组合起来是个 搭档 我现在在深圳工作蛮不错的。真的,我不骗人,但是你一定要把你的英语学好。想学日语的话就要花更多的时间!反...

转载请注明原文地址:https://www.gamev918.cn/baike/1394146.html