@ 2014.08.14 , 13:07

Quora精选:随机或者随机数在现实中有什么用?

Dan Piponi(242票)
减少失真。

这个应用很微妙,让我试着来解释一下。

想象一下你有一台横向像素刚好是1000的相机。现在,你用这台相机去拍摄一面每层刚好有1000块砖的砖墙。每块砖恰好占了一个像素。

如果你稍许移动相机把砖与砖之间的砂浆放在每个像素的中心的话,那照片的颜色会向砂浆的颜色略微靠近一些。但如果你移动半个像素的距离,把砖块放置于每个像素的中心,让砂浆像每个像素的边框一样,那么你得到的照片的颜色会偏向砖块的颜色。如果砂浆线太细的话,你甚至在照片里看不到砂浆线的颜色。这一个微小的移动使得照片的颜色发生了翻天覆地的变化。

因为你拍摄的时候没有精确的校准,你也不需要得到恰好1-1像素的砖块。那么不完美的对齐可能会让你得到这个样子的图像。
[-]

不过现在在相机中基本上不存在这个问题,因为光学系统成像时候往往会略微模糊影像,这种小小的模糊也能够防止上述的情况表现出来。

但在3D渲染的时候可就大大不一样。如果你想要构建一面砖墙,一条篱笆,或者某种粗糙的风景的图像。你经常会发现把这些物体细小的特征相结合以后会产生一副又大又丑的图像。这种效应叫做混叠。

消除这种影响的一种方法是对这个画面进行一次或以上的重复采样,然后计算出每个像素的颜色,而不是像素中心的颜色,但是随机地将颜色向像素中心颜色偏移。这种计算被皮克斯发明并申请了专利。

现代的渲染技术比这个更加复杂,人们现在每个像素使用许多样本,并且使用准随机数字和复杂的方法在随机和不随机之间找到一个平衡。但是其实原理是一样的,小的随机的图像,比大的失真的真实的图像更容易被人接受。


Subit Chakrabarti(1.3k票)
我很喜欢Dan Piponi的回答,下面是我最喜欢的随机的应用:

汽车锁:如果你在10年之内买了车,你肯定知道电子车锁——你能通过遥控器上的锁定/解锁键来控制你的汽车。但你想过它是怎么工作的么?它们不需要连线,在20-30米就能起作用,也不需要你的车在视线所及的地方,所以它肯定是通过无线电进行操作的。但它肯定不仅仅是无线电,因为你不会希望在你附近的其他车也一起被解锁了。所以,它一般是用被编码了的无线电波。使得每辆车都有着自己不同的编码。但是,汽车制造商又怎么知道指派给每辆车的代码都是唯一的呢?又或者如果有人藏在停车场用无线电接受装置接受了你解锁车辆时候的信号,那么他就能用这个信号解锁你的车辆并把你的车偷走么?

这是一个十分流行的都市传说,但是这些都是假的。这是因为每次汽车锁的代码都是随机的。所以,即使小偷拦截到了你的代码,他也不可能用这个代码解锁你的车,因为下一次的代码又是新的,完全随机的。但是等等如果这个过程是完全随机的,那么锁和钥匙又怎么配对呢?它们都能判断下个循环的时候解锁和上锁的代码。这就变得有趣了,汽车锁能在每次试验中判断代码是否正确,是因为汽车锁的代码不是真正的随机。它们使用了一种叫伪随机发生器的东西。这东西生成的代码实际上是确定的。这取决于发生器的种子或者初始状态流,所以只要知道种子以及算法就可以得到代码。但是对那些不知道这两个东西的人来说哦,这个代码看起来就是完全随机的。当然,随机的一个要素就是不能被找到规律。但是伪随机不一样,在很多次之后,它们会开始重复。从技术上来说,一个小偷如果截获了很多很多次你的信号,他就可以预测后面的序列是怎么样的。那么是不是说你的车其实也不安全呢?不是。一般情况下,会使用一种叫梅森倍捻机代码的东西。这个东西只会在2^19337-1次以后才发生重复。至于这个数有多大嘛,如果你每天解锁你的车10000次,当这个序列发生重复的时候,你可以出发到可见宇宙的边缘再回来了。

[-]


Lucian Sasu(5票)
对基因的遗传算法来说,初始种群的产生,选择,交叉和变异——所有这些都是随机的选择。

本文译自 Quora,由 Biwef℃ 编辑发布。

赞一个 (5)