程序员思考《阿甘正传》中的”随机性“观点 —— 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 小时前
Vue 样式深入剖析:从基础到源码级理解(十)
前端·javascript·面试
捡田螺的小男孩1 小时前
10万QPS高并发请求,如何防止重复下单
java·后端·面试
孟意昶1 小时前
大数据面试问答-HBase/ClickHouse
大数据·面试·hbase
小杨xyyyyyyy2 小时前
计算机网络 - UDP协议
网络·网络协议·计算机网络·面试·udp
_一条咸鱼_9 小时前
Vue 配置模块深度剖析(十一)
前端·javascript·面试
鸡鸭扣10 小时前
系统设计面试总结:高性能相关:CDN(内容分发网络)、什么是静态资源、负载均衡(Nginx)、canal、主从复制
网络·面试·负载均衡
风铃儿~10 小时前
Java微服务注册中心深度解析:环境隔离、分级模型与Eureka/Nacos对比
java·分布式·微服务·面试
顾林海12 小时前
Flutter 图标和按钮组件
android·开发语言·前端·flutter·面试
海姐软件测试12 小时前
面试求助:在性能测试中发现CPU占用过高应该如何进行分析?
面试·自动化
杰瑞学AI12 小时前
LeetCode详解之如何一步步优化到最佳解法:27. 移除元素
数据结构·python·算法·leetcode·面试·职场和发展