应用向左,理论向右,计算机科学2021的冰火两重天

简介: 近来来计算理论的发展极其缓慢,而与之对应的是计算机领域的应用侧发展可谓日新月异,像GPT-3及其衍生的AI模型,各类大数据模型、超大规模云平台等等方面的进展不胜枚举,相关成果也都举世瞩目,但这些计算机应用大发展本质,都是硬件价格不断快速下降所带来的衍生红利,而这种现象早在50年前就被摩尔定律所明确预言了,凡是能靠算力解决的问题目前看都不再是问题。

近来来计算理论的发展极其缓慢,而与之对应的是计算机领域的应用侧发展可谓日新月异,像GPT-3及其衍生的AI模型,各类大数据模型、超大规模云平台等等方面的进展不胜枚举,相关成果也都举世瞩目,但这些计算机应用大发展本质,都是硬件价格不断快速下降所带来的衍生红利,而这种现象早在50年前就被摩尔定律所明确预言了,凡是能靠算力解决的问题目前看都不再是问题。

不过计算机理论要解决的问题都是非线性的,简单依靠硬件堆砌解决不了指数级上升的复杂度,因此计算机理论没有吃到硬件价格快速下降这波红利的,由于目前理论发展到了一个相对乏味的平台期,这也使计算机相关的理论只能向广度扩展,变得越来越高深、复杂,而且迟迟无法突破。可以说目前计算机领域像极了《三体》中所描述的场景,人类底层科学被锁死,但是应用实践却极大繁荣。


Quake3的0x5f3759df 来自于应用界的最后尊严

虽然原文作者没有直接提到,但笔者这里还是要补充一下属于计算机应用界的光荣时刻。与现在流行的算力规模理念不同,之前在应用界尤其是游戏方面,各种神操作层也不穷,像笔者这种80后一定对于《Quake》也就是《雷神之锤》这款游戏记忆深刻,这款3D游戏可以在几十兆内存的环境下跑得飞起,和目前动辄要求几十G内存的所谓3A大作形成鲜明对比,效果上两者最多差10倍,但是所消耗的资源却是天壤之别。

下面要举的这个《Quake 3》的例子,目前已经开源了,比如树莓派的版本地址如下:https://github.com/raspberrypi/quake3/,而以下这段代码中出现著名的魔法数0x5f3759df,这是对于开方的快速算法所引入的常量,在今天看来依旧是传奇。具体代码的地址在https://github.com/raspberrypi/quake3/blob/8d89a2a3c1707bf0f75b2ea26645b872e97c0b95/code/qcommon/q_math.c

如下:

floatQ_rsqrt(float number ){ floatint_t t;float x2, y;constfloat threehalfs =1.5F;   x2 = number *0.5F; t.f  = number; t.i  =0x5f3759df-( t.i >>1);               // what the fuck? y  = t.f; y  = y *( threehalfs -( x2 * y * y ));   // 1st iteration// y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed   return y;}

Quake3使用的0x5f3759df属于一个魔法数字。它来自平方根倒数速算法,在《Quake 3》建模引擎中引用这个魔法之后,其速度要比标准的牛顿迭代法快上 4 倍,

没有人知道《Quake 3》的作者卡马克是怎么发现这个数字的,笔者估计卡马克本人可能也不知道,因为直到现在的开源版本中,还留着作者本人亲自加上的”what the *?“这样的注释。

i = 0x5f3759df - ( i >> 1 ); // what the fuck?

后来普度大学Lomont教授也对这个魔法数字产生了好奇,决定好好探究一下卡马克弄出来的这个魔法数到底奥秘何在。Lomont也是位大神,在精心研究之后他从理论上也推导出一个最佳猜测值,和卡马克的数字非常接近, 0x5f37642f。

故事到这里并没有完结。Lomont拿自己计算出的魔法值和卡马克的进行回测比较,想看看谁的数字能够更快更精确地求得平方根。结果却是卡马克的0x5f375a86精度更高,这也让Lomont十分恼火,最后Lomont被逼无奈,为了找回面子,直接采用暴力方法一个数字一个数字试过来,终于找到一个比卡马克数字要好上那么一点点的数字,虽然实际上这两个数字所产生的结果非常近似,这个暴力得出的数字是0x5f375a86。

不过这个0x5f375a86的传奇可能是应用界最后的尊严时刻了,在硬件性能不断提升,而且价格不断下降的今天,应用界所奉行的信条都是“大就得了”,由于头部大玩家所掌握的算力往往是一般用户的几千甚至上万倍,因此大厂的精英基本也没人再为0x5f3759df这种4倍速度的优化费心了。应用界已经很好了就没有出来什么惊天地,泣鬼神的神级代码了。

理论界要解决P=NP的问题,这就只能越来越难了

虽然靠着硬件性能的提升,线性优化策略可以不管,但是指数级别的复杂度却不能坐视不理。笔者在前文《元宇宙是否会成为IPv6的拐点》中曾经介绍过一个SPF最短路径优先的动态规划算法Dijkstra,这种求地图两点之间最短路径的问题,相对来说时间复杂度可以接受的,我们不必穷举所有可能路线,通过贪心加动态规划的方法就能找到最优解。

但是其派生的兄弟问题旅行商路线规划,却是个典型的NP问题,旅行商路线规划要找到一条回路,将地图图上的所有顶点,不重复的走一遍,并最终回到起点,而且要保证总体路径最短,举个例子假如一个旅行商,要在尽量短的时间内走完中国现在有23个省,5个自治区,4个直辖市,2个特别行政区的省会或者中心区,那么他的选择一共有34的阶乘那么多,这个数字大概有1000000000000000000000000000....000(一共38个0),而能否有一个算法,在不逐一遍历所有路径的情况下找到最优解,也就是PNP问题,将旅行商路线规划带入到PNP理论的解释如下:NP代表所有解的集合也就是10^38次方种走法,而P代表其中一部分走法,能否是仅遍历P就把NP问题解决掉,这也就简化成P与NP是否等效的P?=NP问题

旅行商问题和图论中著名的哈密尔顿回路比较类似,只是给边加上了权重,而且它们和团问题、顶点覆盖问题等一样都属于NP完全问题,也就是只要你解决了其中一个,就相当于把其余的问题也解决了。当然笔者这里并不想向大家普及NP问题,读者们有个初步的概念就可以了。

之前互联网的规模还不够大,因此所谓哈密尔顿图、旅行商问题等都还没有迫切的解决需要,不过现在不同了,互联网终端的规模越来越大,尤其是随着元宇宙等概念的发展还会快速膨胀,我们虽然可以在应用端采用分治策略把互联网分成若干个自治区(AS)来尽量避免直面这种NP的难题。但是像GMP(Graph Minor Theorem)等等理论的发展几乎完全和P-NP问题深度绑定了,PNP不动,计算机理论也动不了。

不过虽然PNP问题如此重要,但人们All in去解决掉它的动力却不足,根据哥德尔不完备定理,在目前数学的研究领域,肯定会存在我们既无法证真也无法证伪的问题,PNP问题也许就是一个根本不值得去研究的问题,因为最关键的是人类可能永远也无法得到PNP问题的解,甚至不知道这个问题到底有没有解。

image.png

短期来看,还是靠规模,靠堆算力来得效果直接,但是PNP这个问题又是如此重要在得不到明确的解答之前,计算机理论只能向所谓的复杂方面发展。这其实又回归到之前大家一再争论的元宇宙哲学问题,人类的终极目标到底是星辰大海,还是眼前唾手可得的虚拟世界,我们是直接在现有认知基础上发展元宇宙,还是不计成本地去探索PNP这种可能永远得不到答案的数学难题,以上问题的答案只能留给读者自己去思考了。


但是其派生的兄弟问题旅行商路线规划,却是个典型的NP问题,旅行商路线规划要找到一条回路,将地图图上的所有顶点,不重复的走一遍,并最终回到起点,而且要保证总体路径最短,举个例子假如一个旅行商,要在尽量短的时间内走完中国现在有23个省,5个自治区,4个直辖市,2个特别行政区的省会或者中心区,那么他的选择一共有34的阶乘那么多,这个数字大概有1000000000000000000000000000....000(一共38个0),而能否有一个算法,在不逐一遍历所有路径的情况下找到最优解,也就是PNP问题,将旅行商路线规划带入到PNP理论的解释如下:NP代表所有解的集合也就是10^38次方种走法,而P代表其中一部分走法,能否是仅遍历P就把NP问题解决掉,这也就简化成P与NP是否等效的P?=NP问题

旅行商问题和图论中著名的哈密尔顿回路比较类似,只是给边加上了权重,而且它们和团问题、顶点覆盖问题等一样都属于NP完全问题,也就是只要你解决了其中一个,就相当于把其余的问题也解决了。当然笔者这里并不想向大家普及NP问题,读者们有个初步的概念就可以了。

之前互联网的规模还不够大,因此所谓哈密尔顿图、旅行商问题等都还没有迫切的解决需要,不过现在不同了,互联网终端的规模越来越大,尤其是随着元宇宙等概念的发展还会快速膨胀,我们虽然可以在应用端采用分治策略把互联网分成若干个自治区(AS)来尽量避免直面这种NP的难题。但是像GMP(Graph Minor Theorem)等等理论的发展几乎完全和P-NP问题深度绑定了,PNP不动,计算机理论也动不了。


编辑切换为居中

添加图片注释,不超过 140 字(可选)

不过虽然PNP问题如此重要,但人们All in去解决掉它的动力却不足,根据哥德尔不完备定理,在目前数学的研究领域,肯定会存在我们既无法证真也无法证伪的问题,PNP问题也许就是一个根本不值得去研究的问题,因为最关键的是人类可能永远也无法得到PNP问题的解,甚至不知道这个问题到底有没有解。

短期来看,还是靠规模,靠堆算力来得效果直接,但是PNP这个问题又是如此重要在得不到明确的解答之前,计算机理论只能向所谓的复杂方面发展。这其实又回归到之前大家一再争论的元宇宙哲学问题,人类的终极目标到底是星辰大海,还是眼前唾手可得的虚拟世界,我们是直接在现有认知基础上发展元宇宙,还是不计成本地去探索PNP这种可能永远得不到答案的数学难题,以上问题的答案只能留给读者自己去思考了。


相关文章
|
存储 网络协议 文件存储
存储技术之FC 与 iSCSI 尖峰对决
  综述:   2003 年,互联网工程任务组(IETF)批准iSCSI(互联网SCSI)协议后,很多人开始将以太网作为分块存储网络使用(成为“基于IP 的存储”)。一直以来,人们采用iFCP和FCIP 等现有协议发送基于IP 的SCSI 命令行,主要允许FC 存储区域网络(SAN)通过IP 交换数据。凭借iSCSI,SCSI 命令行可以“端对端”地传送到世界各地的以太网中。
3467 0
|
存储 缓存 NoSQL
【Redis】Redis系统性知识体系
Redis是开源内存键值数据库,兼具缓存、持久化、消息队列与分布式协调能力。其知识体系涵盖基础内核(数据结构/内存/持久化)、高可用架构(主从/哨兵/集群)及业务实战(缓存设计/性能优化/安全合规),以单线程高性能为核心,广泛应用于互联网分布式系统。
|
4月前
|
运维 数据安全/隐私保护 弹性计算
上海阿里云与香港阿里云服务器区别:性能、备案、价格全对比
本文深度剖析上海与香港阿里云节点在延迟、合规、成本及数据安全四大维度的真实差异,破除“免备案=零门槛”“配置相同=体验相同”等常见误区,结合实测数据与典型场景,提供可落地的选型决策路径。(239字)
上海阿里云与香港阿里云服务器区别:性能、备案、价格全对比
|
5月前
|
人工智能 自然语言处理 算法
阿里云Token Plan坐席怎么选?标准版 / 高级版 / 尊享版资费及Credits性价比分析
阿里云百炼Token Plan提供标准版(198元/月,2.5万Credits)、高级版(698元/月,10万Credits)和尊享版(1398元/月,25万Credits)。高级版单位Credit成本最低(0.00698元),性价比最优,适合高频AI使用者;标准版适合轻量需求,尊享版适配AI重度场景。官网可领7000万Tokens及折扣券。开通百炼:https://t.aliyun.com/U/fPVHqY 免费领千问Tokens
|
5月前
|
人工智能 运维 测试技术
AI 智能体开发与上线
本方案系统化梳理企业级AI智能体开发与上线全流程,涵盖智能体架构设计、全链路评测对齐、三环境隔离部署、灰度发布风控及持续运维闭环,实现大模型能力向确定性工程落地的可靠转化。(239字)
|
5月前
|
SQL 关系型数据库 MySQL
MySQL 数据恢复最佳实践:DELETE、DROP TABLE、DROP DATABASE 三种误删场景的应急与恢复方案
数据库小学妹详解MySQL误删恢复:覆盖DELETE回滚、DROP表/库的全量+Binlog时点恢复(PITR)、延迟从库急救方案,并附binlog2sql实战、止血SOP及防误删五重防护。面试必背,生产避坑指南!
|
9月前
|
人工智能 安全 机器人
2026年阿里云一键部署OpenClaw保姆级教程,快速拥有专属AI助理!
想拥有写周报、查资料、跑脚本的专属AI助理?只需一台阿里云服务器,按这篇保姆级教程操作,30分钟即可完成开源AI代理平台OpenClaw的部署!本地优先、支持多工具联动,7×24小时在线,新手友好。
716 5
|
11月前
|
人工智能 监控 安全
别等上线才后悔!AI应用测试的5个维度与4类实战避坑指南
某心理App上线AI打卡功能后因“张冠李戴”遭投诉,暴露大模型测试新挑战。传统测试难应对AI的不确定性,需构建覆盖准确性、鲁棒性、安全性、性能与合规性的五维框架,从“流程检验”转向“智能体守护”,确保AI输出精准、安全、有温度。
|
11月前
|
机器学习/深度学习 JSON 文字识别
还在研究部署PaddleOCR?数眼智能OCR文档解析API上线:免费使用!
数眼智能推出新一代OCR文档解析API,突破传统OCR局限,融合多模态识别与深度学习,精准还原PDF、扫描件中的文字、表格、公式等结构,直接输出带层级的Markdown与JSON数据。实现标题、段落、表格自动分离,助力大模型知识库构建、金融报表分析、学术文献处理等场景,10秒内高效响应,让纸质文档秒变智能数据资产。
672 1
|
12月前
|
人工智能 UED 开发者
别把问卷做成"审讯录":用AI重构与用户的每一次对话
95%的用户调研问卷因为"审讯式提问"而被无视。本文提供一套基于认知心理学的AI指令,将枯燥的填表转化为有温度的对话,帮助开发者和产品经理设计出高完成率、高信度的调研问卷,打破"幸存者偏差",获取真实用户洞察。
1362 9