随机性(英语:Randomness)这个词是用来表达目的、动机、规则或一些非科学用法的可预测性的缺失。
一个随机的过程是一个不定因子不断产生的重复过程,但它可能遵循某个概率分布。
术语随机经常用于统计学中,表示一些定义清晰的、彻底的统计学属性,例如缺失偏差或者相关。随机与任意不同,因为“一个变量是随机的”表示这个变量遵循概率分布。而任意在另一方面又暗示了变量没有遵循可限定概率分布。
科学与随机
在自然与工程学里一些现象会通过随机性模型来模拟,例如:
在19世纪,科学家使用分子的不规则行动的概念去发展统计力学,以解释热力学和气体定律的现象。
根据一些量子力学的标准解释,微观现象是客观地随意。换句话说,在一个所有相关的参量受控的实验中,也会出现任意变化的情况,例如我们无法预计在受控环境中放置一粒不稳定的原子衰败的时间,只能计算在指定的时间内衰败的可能性,所以量子力学计算的是机会率而非单一实验的结果。Hidden variable theories尝试避开大自然包含不能降低的随机性,这样的理论假定在看上去任意的过程中,有些符合统计分布而暗藏的特性在幕后运作以得出结果。
生物体的特征在某种程度上是确定性地发生的(例如:在基因和环境的影响下),在某种程度上是随机发生的。例如,基因与曝光量仅仅支配着人体皮肤上出现的色斑密度;而单个色斑的精确位置看来是随机决定的。
在通讯理论中,一个信号的随机性称作杂讯,它对立于由源(信号)所引起的那一部分变化。
随机性测试方法
- 频数测试:测试二进制串行中,“0”和“1”数目是否近似相等。如果是,则串行是随机的。[1]
- 块内频数测试:目的是确定在待测串行中,所有非重叠的长度为M位的块内的“0”和“1”的数目是否表现为随机分布。如果是,则串行是随机的。
- 游程测试:目的是确定待测串行中,各种特定长度的“0”和“1”的游程数目是否如真随机串行期望的那样。如果是,则串行是随机的。
- 块内最长连续“1”测试:目的是确定待测串行中,最长连“1”串的长度是否与真随机串行中最长连“1”串的长度近似一致。如果是,则串行是随机的。
- 矩阵秩的测试:目的是检测待测串行中,固定长度子串行的线性相关性。如果线性相关性较小,则串行是随机的。
- 离散傅里叶变换测试:目的是通过检测待测串行的周期性质,并与真随机串行周期性质相比较,通过它们之间的偏离程度来确定待测串行随机性。如果偏离程度较小,串行是随机的。
- 非重叠模板匹配测试:目的是检测待测串行中,子串行是否与太多的非周期模板相匹配。太多就意味着待测串行是非随机的。
- 重叠模板匹配测试:目的是统计待测串行中,特定长度的连续“1”的数目,是否与真随机串行的情况偏离太大。太大是非随机的。
- 通用统计测试:目的是检测待测串行是否能在资讯不丢失的情况下被明显压缩。一个不可被明显压缩的串行是随机的。
- 压缩测试:目的是确定待测串行能被压缩的程度,如果能被显著压缩,说明不是随机串行。
- 线性复杂度测试:目的是确定待测串行是否足够复杂,如果是,则串行是随机的。
- 连续性测试:目的是确定待测串行所有可能的m位位元的组合子串出现的次数是否与真随机串行中的情况近似相同,如果是,则串行是随机的。
- 近似熵测试:目的是通过比较m位位元串与m-1位位元串在待测串行中出现的频度,再与正态分布的串行中的情况相对比,从而确定随机性。
- 部分和测试:目的确定待测串行中的部分和是否太大或太小。太大或太小都是非随机的。
- 随机游走测试:目的是确定在一个随机游程中,某个特定状态出现的次数是否远远超过真随机串行中的情况。如果是,则串行是非随机的。
- 随机游走变量测试:目的是检测待测串行中,某一特定状态在一个游机游程中出现次数与真随机串行的偏离程度。如果偏离程度较大,则串行是非随机的。
参考文献
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.