从图灵奖看计算中的随机性与伪随机性

ops/2024/10/10 16:16:03/

从图灵奖看计算中的随机性与伪随机性

目录

从图灵奖看计算中的随机性与伪随机性

一、引言

二、随机性的本质与应用

三、图灵奖得主对随机性的研究

四、伪随机性的应用

五、案例研究:伪随机数生成器的发展

六、最佳实践


一、引言

在计算机科学的广阔天地中,随机性和伪随机性始终是研究的热点话题。它们不仅是理论计算模型的基石,也是实际应用的核心。图灵奖作为计算机科学领域最高的荣誉,其得主们在随机性和伪随机性方面的研究为我们提供了深刻的洞见。

二、随机性的本质与应用

 真随机性

真随机性是指无法预测的结果序列,它不受任何潜在规则的约束。在物理世界中,真随机性可以通过物理过程产生,如放射性衰变、热噪声等。

 伪随机性

伪随机性是通过确定性过程生成的,看起来像是随机的序列,但实际上是可以重现的。在计算机科学中,伪随机数生成器(PRNGs)被广泛使用。

三、图灵奖得主对随机性的研究

Alan Turing

Alan Turing在他的“Turing machine”模型中提出了随机性的概念,这为后来的计算复杂性和算法理论奠定了基础。

 Alonzo Church

Alonzo Church的λ演算也涉及到随机性,尤其是在处理可计算函数和停机问题时。

Donald Knuth

Donald Knuth在算法分析和编程实践领域做出了巨大贡献,他的工作强调了好的算法设计中随机化技术的重要性。

四、伪随机性的应用

密码学

在密码学中,伪随机数生成器(PRNGs)被用来产生看似随机的密钥和加密数据。例如,Blum Blum Shub (BBS) PRNG是一个基于公钥密码学的伪随机数生成器。


def blum_blum_shub(p, q, seed):
    n = p * q
    m = n - 1
    while True:
        seed = (seed * seed) % n
        yield seed
 

蒙特卡洛方法

蒙特卡洛方法是一种利用随机数进行数值计算的方法,它在物理模拟和金融工程中有广泛应用。

算法设计

许多算法,如快速排序,通过引入随机化来提高平均性能。

五、案例研究:伪随机数生成器的发展

 线性同余生成器(LCG)

LCG是最早的伪随机数生成器之一,但由于其周期性和相关性问题,现在已不推荐使用。

 Mersenne Twister

Mersenne Twister是一种广泛使用的PRNG,以其较长的周期和较高的统计质量而闻名。

六、最佳实践

在实际应用中,选择适当的PRNG至关重要。以下是一些最佳实践:

- 理解应用场景: 根据应用的安全需求和统计特性选择合适的PRNG。
- 避免使用简单的PRNG: 简单的PRNG可能不足以满足复杂的应用需求。
- **定期评估**: 定期评估所使用的PRNG的性能和安全性。


http://www.ppmy.cn/ops/13636.html

相关文章

Java 的 Apache Commons 工具库 助力开发

Apache Commons 是什么? Apache Commons 是由 Apache 软件基金会提供的一系列开源、高质量的 Java 组件集合。它包含了各种常用的、经过严格测试的工具类,弥补了 Java 标准库在功能上的不足。这些组件广泛应用于字符串处理、数据转换、集合操作、文件处…

TCP/IP协议—HTTP

TCP/IP协议—HTTP HTTP协议HTTP通讯特点HTTP通讯流程HTTPS通讯流程 HTTP请求报文请求方法 HTTP应答报文状态码 HTTP协议 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一种请求-响应的协议,用户可以通过HTTP向服务器上传、…

【机器学习300问】68、随机初始化神经网络权重的好处?

一、固定的初始化神经网络权重可能带来的问题 在训练神经网络的时候,初始化权重如果全部设置为0或某个过大值/过小值。会导致一些问题: 对称权重问题:全为0的初始化权重会导致神经网络在前向传播时接收到的信号输入相同。每个神经网络节点中…

真实世界的密码学(三)

原文:annas-archive.org/md5/655c944001312f47533514408a1a919a 译者:飞龙 协议:CC BY-NC-SA 4.0 第十一章:用户认证 本章涵盖了 认证人员和数据之间的区别 用户认证,根据密码或密钥对用户进行身份验证。 用户辅助认…

【Java】文件操作(一)

文章目录 ✍一、文件的基本认识1.文件是什么?2.文本文件和二进制文件3.文件权限4.相对路径和绝对路径1.1绝对路径1.2相对路径 ✍二、文件的基本操作1.FIle的属性2.File的构造方法3.File类的方法3.1File类的获取操作3.2File类的判断操作3.3文件创建和删除3.4其他的常…

Tcpdump -r 解析pcap文件

当我们使用命令抓包后,想在命令行直接读取筛选怎么办?-r参数就支持了这个 当你使用 tcpdump 的 -r 选项读取一个之前捕获的数据包文件,并想要筛选指定 IP 地址和端口的包时,你可以在命令中直接加入过滤表达式。这些过滤表达式可以…

什么是XXE攻击?如何进行防护

安全性很难做到正确,即使在当今具有安全意识的世界中,也存在一些严重的漏洞,例如 XML 外部实体 (XXE),它们被忽视并最终成为破坏的原因。 XML 外部实体 (XXE) 攻击是一种计算机安全漏洞,通常存在于 Web 应用程序中&…

C++基础整理(9)之强枚举类,enum class的意义

C基础整理(9)之强枚举类,enum class的意义 注:整理一些突然学到的C知识,随时mark一下 例如:忘记的关键字用法,新关键字,新数据结构 C 的 强枚举 C基础整理(9)…