程序员思考《阿甘正传》中的”随机性“观点 —— PRNG&TPNG

这个周末又碰巧打开电影《阿甘正传》来看。

确实是经典高分电影,每次看的阶段不同、角度不同,感受大有不同。

记得之前的印像,比如是:阿甘被看作是个傻瓜、阿甘比较能跑、阿甘跟珍妮的激情戏这种。。。稍微表面一些。

这次最大的印象是:阿甘漫无目的的跑步、几次横穿美国、什么也不为,就是跑 ------ Just run。

最后突然就不跑了,想回家了。(感觉是他好友去世前的一句话在这个时候作用到他了)

然后最后结局在珍妮的墓前,说到(大致意思):

自己不知道生活是像妈妈说的那样,充满了 随机性 (生活就像打开巧克力盒子,不知道下一块是哪一个);还是像丹中尉说的那样,皆是 Destiny 命中注定(中尉责怪阿甘救了他,毁掉了他作为英雄世家战死沙场的荣誉);或许两者都有吧,或者两者会同时发生。

想想这一总结就是很好的回应了关于"生活中随机性"的疑问。

作为程序员常常取随机数、或者将随机应用到加密等等中,比如 random 随机,但 random 不过是一些假随机,官方来说叫做:PRNG ------ "伪随机数生成器",基于特定算法,用初始值(种子)计算,如果知道了算法和初始值,我们就可以重现这种随机,那这样不叫随机了。

至于像基于难以预测的物理现象生成随机数,比如电子噪声、放射性衰变等,这些被认为是 "真随机数生成器" ------ TRNG,可是:目前只是说人类还没有完全认知这些物理现象,如果在大海边捡贝壳的小朋友,这写现象背后是否真的也由某种算法,或者叫某种"Destiny"决定呢?未可知也。

也许两种都有!!

就像现在的 AIGC 也充满着随机性,比如 GPT 中的随机因素,它既有 PRNG,也有 TRNG:

  1. GPT 在生成文本时,会考虑每个可能的下一个词的概率。这个概率是基于模型训练时学到的语言模式。例如,在一句话的开头,"The" 可能比 "Antidisestablishmentarianism"(一种长单词)有更高的出现概率。

  2. 当模型生成文本时,它会从这些概率中"抽样"来决定下一个词是什么。这种抽样可以是完全按照概率分布来的,也可以通过技术(比如"温度调整")来增加随机性。温度高时,不太可能的词被选中的机会更大;温度低时,则更可能选择高概率的词。通过调整抽样策略,可以控制生成文本的随机性和创造性。

GPT 既不是像 TRNG 那样的真随机,也不完全是像 PRNG 那样的伪随机。这就是为什么有时候能给出我们出人意料但又合情合理的回答

如果是对于人物命运的设计,如果真有更高维度的设计者,应该也会结合一些可以预测的随机性、以及一些他们也难以预测的随机性(这种随机性可能是来自于比更高维度设计者还要更高维度的自然现象,所谓人外有人、天外有天),添加到命运的调试试剂中去。就像我们调试GPT一样。

所以,现在再次看完电影后,我太认同阿甘的这番话了:命中注定和命运的随机性二者均存在,我们能做的就是 "Just Run"。

相关推荐
夜流冰1 小时前
工具方法 - 面试中回答问题的技巧
面试·职场和发展
杰哥在此8 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
GISer_Jing14 小时前
【React】增量传输与渲染
前端·javascript·面试
Neituijunsir19 小时前
2024.09.22 校招 实习 内推 面经
大数据·人工智能·算法·面试·自动驾驶·汽车·求职招聘
小飞猪Jay20 小时前
面试速通宝典——10
linux·服务器·c++·面试
猿java21 小时前
Cookie和Session的区别
java·后端·面试
数据分析螺丝钉21 小时前
力扣第240题“搜索二维矩阵 II”
经验分享·python·算法·leetcode·面试
无理 Java21 小时前
【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)
java·后端·spring·面试·mvc·框架·springmvc
鱼跃鹰飞1 天前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
TANGLONG2221 天前
【C语言】数据在内存中的存储(万字解析)
java·c语言·c++·python·考研·面试·蓝桥杯