随机数生成

编辑
本词条由“匿名用户” 建档。
随机数字生成是一个过程,通常通过随机数生成器 (RNG),生成无法比随机机会更好地合理预测的数字或符号序列。 这意味着特定的结果序列将包含一些事后可察觉但远见不可预测的模式。真正的随机数生成器可以是生成随机数的硬件随机数生成器 (HRNGS),其中每一代都是物理环境属性当前值的函数,该属性以几乎无法建模的方式不断变化 . 这与由伪随机数生成器 (PRNG) 完成的所谓随机数生成形成对比,...

简介

编辑

随机数字生成是一个过程,通常通过随机数生成器 (RNG),生成无法比随机机会更好地合理预测的数字或符号序列。

这意味着特定的结果序列将包含一些事后可察觉但远见不可预测的模式。真正的随机数生成器可以是生成随机数的硬件随机数生成器 (HRNGS),其中每一代都是物理环境属性当前值的函数,该属性以几乎无法建模的方式不断变化 . 这与由伪随机数生成器 (PRNG) 完成的所谓随机数生成形成对比,伪随机数生成器生成的数字看起来只是随机的,但实际上是预先确定的——这些生成可以通过了解 PRNG 的状态来简单地再现。

随机性的各种应用导致了几种不同的随机数据生成方法的发展。其中一些自古就有,其中有著名的经典例子,包括掷骰子、抛硬币、洗扑克牌、易经中的亚草茎(用于xxx),以及和无数其他技术一样。

由于这些技术的机械性质,生成大量足够随机的数字(在统计学中很重要)需要大量的工作和时间。因此,有时会以随机数字表的形式收集和分发结果。

存在几种用于生成伪随机数的计算方法。所有这些都达不到真正随机性的目标,尽管它们可能会以不同程度的成功满足一些旨在衡量其结果不可预测性(即其模式可辨别的程度)的随机性统计测试。这通常使它们无法用于密码学等应用程序。

然而,精心设计的密码安全伪随机数生成器 (CSPRNGS) 也存在,具有专为密码学设计的特殊功能

实际应用和用途

编辑

随机数生成器在统计抽样、计算机模拟、密码学、完全随机化设计和其他需要产生不可预测结果的领域都有应用。

通常,在具有不可预测性作为最重要特征的应用程序中,例如在安全应用程序中,在可行的情况下,硬件生成器通常优于伪随机算法。

伪随机数生成器在开发 Monte Carlo 方法模拟时非常有用,因为通过从相同的随机种子开始再次运行相同的随机数序列的能力有助于调试。

它们也用于密码学——只要种子是秘密的。发送方和接收方可以自动生成相同的一组数字作为密钥

伪随机数的生成是计算机编程中一项重要且常见的任务。虽然密码学和某些数值算法需要非常高的表观随机性,但许多其他操作只需要适度的不可预测性。

一些简单的例子可能是向用户呈现当天的随机报价,或者确定计算机控制的对手可能在计算机游戏中的移动方向。较弱形式的随机性用于散列算法和创建分摊搜索和排序算法

一些乍看起来适合随机化的应用程序实际上并不那么简单。 例如,一个为背景音乐系统随机选择音乐曲目的系统必须只是随机出现,甚至可能有办法控制音乐的选择:一个真正的随机系统不会限制同一项目出现两次或三次演替。

随机数生成

真随机数与伪随机数

编辑

有两种主要方法用于生成随机数。xxx种方法测量一些预期是随机的物理现象,然后补偿测量过程中可能存在的偏差。示例来源包括测量大气噪声、热噪声和其他外部电磁和量子现象。例如,在短时间尺度内测量的宇宙背景辐射或放射性衰变代表自然熵的来源。

自然资源中获取熵的速度取决于被测量的潜在物理现象。因此,自然发生的真实熵的来源被称为阻塞——它们是速率受限的,直到收集到足够的熵来满足需求。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/193709/

(5)
词条目录
  1. 简介
  2. 实际应用和用途
  3. 真随机数与伪随机数

轻触这里

关闭目录

目录