惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
Security Archives - TechRepublic
Security Archives - TechRepublic
A
About on SuperTechFans
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Attack and Defense Labs
Attack and Defense Labs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The GitHub Blog
The GitHub Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Webroot Blog
Webroot Blog
T
Tenable Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Microsoft Security Blog
Microsoft Security Blog
人人都是产品经理
人人都是产品经理
Simon Willison's Weblog
Simon Willison's Weblog
D
Docker
爱范儿
爱范儿
AI
AI
宝玉的分享
宝玉的分享
PCI Perspectives
PCI Perspectives
The Register - Security
The Register - Security
Project Zero
Project Zero
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
S
Securelist
Scott Helme
Scott Helme
B
Blog
Forbes - Security
Forbes - Security
Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
月光博客
月光博客
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs
H
Help Net Security
Last Week in AI
Last Week in AI
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
I
InfoQ
P
Privacy International News Feed
V
V2EX
有赞技术团队
有赞技术团队
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Schneier on Security
T
Tailwind CSS Blog

元视角

.NET 生态下的 Agent 框架选型:从 ReAct 到原生推理 - 元视角 从「能用」到「好用」:LLM 流式响应实现方式的探索之路 - 元视角 当我用 2000 条聊天记录,让 AI 为我画一幅自画像 - 元视角 基于 Supabase 的 AI 应用开发探索 - 元视角 微博 × MCP:社交媒体新玩法解锁 - 元视角 四点钟海棠花未眠 - 元视角 Semantic Kernel × MCP:智能体的上下文增强探索 - 元视角 基于 K-Means 聚类分析实现人脸照片的快速分类 - 元视角 容器技术驱动下的代码沙箱实践与思考 - 元视角 温故而知新:后端通用查询方案的再思考 - 元视角 浅议 CancellationToken 在前后端协同取消场景中的应用 - 元视角 Semantic Kernel 视角下的 Text2SQL 实践与思考 - 元视角 关于 ChatGPT 的流式传输,你需要知道的一切 - 元视角 RAG 的是与非、Rewrite 和 Rerank - 元视角 使用 EFCore 和 PostgreSQL 实现向量存储及检索 - 元视角 基于 LLaMA 和 LangChain 实践本地 AI 知识库 - 元视角 使用 llama.cpp 在本地部署 AI 大模型的一次尝试 - 元视角 如何为 Git 配置多个 SSH Key - 元视角 C# 使用 LibUsbDotNet 实现 USB 设备检测 - 元视角 基于 C# 实现样式与数据分离的打印方案 - 元视角 基于 SVG 的图形交互方案实践 - 元视角 前端视频播放技术概览 - 元视角 温故而知新,再话 Python 动态导入 - 元视角 后 GPT 时代,NLP 不存在了? - 元视角 视频是不能 P 的系列:使用 Milvus 实现海量人脸快速检索 - 元视角 GDI+下字体大小自适应方案初探 - 元视角 小爱音箱集成 ChatGPT 的不完全教程 - 元视角 关于 Docker 容器配置信息的渐进式思考 - 元视角 在 Docker 容器内集成 Crontab 定时任务 - 元视角 为你的服务器集成 LDAP 认证 - 元视角 似花还似非花 - 元视角 视频是不能 P 的系列:使用 Dlib 实现人脸识别 - 元视角 浅议分布式链路追踪与日志的整合 - 元视角 关于 Git 大文件上传这件小事 - 元视角 .NET 进程内队列 Channel 的入门与应用 - 元视角 使用 Fody 实现 .NET 的静态编织 - 元视角 .NET Core + ELK 搭建可视化日志分析平台(下) - 元视角 聊一聊前端图片懒加载背后的故事 - 元视角 支持外部链接跳转的 Vue Router 扩展实现 - 元视角 视频是不能 P 的系列:OpenCV 和 Dlib 实现表情包 - 元视角 不得不说的 ASP.NET Core 集成测试 - 元视角 再议 DDD 视角下的 EFCore 与 领域事件 - 元视角 Vue.js 前端项目容器化部署实践极简教程 - 元视角 再见,人间四月天 - 元视角 Python 图像风格化迁移助力画家梦想 - 元视角 利用 ASP.NET Core 中的标头传播实现分布式链路追踪 - 元视角 利用 gRPC 实现文件的上传与下载 - 元视角 七种武器:延迟队列的原理和实现总结 - 元视角 gRPC 流式传输极简入门指南 - 元视角 Envoy 集成 Jaeger 实现分布式链路追踪 - 元视角 浅议非典型 Web 应用场景下的身份认证 - 元视角 gRPC 借助 Any 类型实现接口的泛化调用 - 元视角 分布式丛林探险系列之 Redis 集群模式 - 元视角 分布式丛林探险系列之 Redis 主从复制模式 - 元视角 通过 Python 预测 2021 年双十一交易额 - 元视角 gRPC 搭配 Swagger 实现微服务文档化 - 元视角 SSL/TLS 加密传输与数字证书的前世今生 - 元视角 使用 Python 自动识别防疫健康码 - 元视角 你不可不知的容器编排进阶技巧 - 元视角 ASP.NET Core 搭载 Envoy 实现 gRPC 服务代理 - 元视角 再话 AOP,从简化缓存操作说起 - 元视角 ASP.NET Core 搭载 Envoy 实现微服务身份认证(JWT) - 元视角 ASP.NET Core 搭载 Envoy 实现微服务的监控预警 - 元视角 ASP.NET Core 搭载 Envoy 实现微服务的反向代理 - 元视角 ASP.NET Core gRPC 打通前端世界的尝试 - 元视角 EFCore 实体命名约定库:EFCore.NamingConventions - 元视角 ASP.NET Core gRPC 集成 Polly 实现优雅重试 - 元视角 ASP.NET Core gRPC 健康检查的探索与实现 - 元视角 ASP.NET Core gRPC 拦截器的使用技巧分享 - 元视角 SnowNLP 使用自定义语料进行模型训练 - 元视角 使用 HttpMessageHandler 实现 HttpClient 请求管道自定义 - 元视角 ABP vNext 的实体与服务扩展技巧分享 - 元视角 ABP vNext 对接 Ant Design Vue 实现分页查询 - 元视角 源代码探案系列之 .NET Core 跨域中间件 CORS - 元视角 源代码探案系列之 .NET Core 限流中间件 AspNetCoreRateLimit - 元视角 源代码探案系列之 .NET Core 并发限制中间件 ConcurrencyLimiter - 元视角 通过 EmbededFileProvider 实现 Blazor 的静态文件访问 - 元视角 低代码,想说爱你不容易 - 元视角 记一次失败的 ThoughtWorks 面试经历 - 元视角 从 C# 1.0 到 C# 9.0,历代 C# 语言特性一览 - 元视角 通过 Python 分析 2020 年全年微博热搜数据 - 元视角 基于 Python 和 Selenium 实现 CSDN 一键三连自动化 - 元视角 使用多线程为你的 Python 爬虫提速的 N 种姿势,你会几种? - 元视角 实现网页长截图的常见思路总结 - 元视角 温故而知新,由 ADO.NET 与 Dapper 所联想到的 - 元视角 视频是不能 P 的系列:OpenCV 人脸检测 - 元视角 作为技术宅的我,是这样追鬼滅の刃的 - 元视角 使用 Python 抽取《半泽直树》原著小说人物关系 - 元视角 厉害了!打工人用 Python 分析西安市职位信息 - 元视角 使用 dotTrace 对 .NET 应用进行性能分析与优化 - 元视角 一道 HashSet 面试题引发的蝴蝶效应 - 元视角 基于选项模式实现.NET Core 的配置热更新 - 元视角 Dapper.Contrib 在 Oracle 环境下引发 ORA-00928 异常问题的解决 - 元视角 .NET Core 中对象池(Object Pool)的使用 - 元视角 利用 MySQL 的 Binlog 实现数据同步与订阅(下):EventBus 篇 - 元视角 利用 MySQL 的 Binlog 实现数据同步与订阅(中):RabbitMQ 篇 - 元视角 利用 MySQL 的 Binlog 实现数据同步与订阅(上):基础篇 - 元视角 记一次从已损坏的 Git 仓库中找回代码的经历 - 元视角 .NET Core 原生 DI 扩展之属性注入实现 - 元视角 .NET Core 原生 DI 扩展之基于名称的注入实现 - 元视角
程序员视角下的三体世界随想 - 元视角
飞鸿踏雪 · 2023-02-18 · via 元视角

新年的第一篇博客迟迟没有落笔,我想,大抵是因为过去一年并没有一个“圆满”的结局,而这一切就好像,你总是要写完一个句号,方能心安理得地另起一行。我猛然意识到,这场疫情无形中放大了故乡在时间和空间上的距离感。因此,面对阔别久矣的故乡,我甚至选择了早上的第一趟高铁。当我在列车上看着身后的事物一点点变小直至消失,这实在像极了我每一次出门远行。彼时彼刻,一个念头我在脑海中盘桓辗转:见到家人的那一刻,一定要给对方一个坚实的拥抱。可奇怪的是,越是面对熟悉的人,我们反而越是拙于表达。当我推开家门看到再熟悉不过的一切时,我内心突然获得了某种安宁,即使我们一直期待的事情是,每次相逢都能有不同的体验。我说我不大喜欢过年走亲戚这类活动,老大哥面无表情地回一句:看三体。

三体问题,其实可以看作是 N 体问题的一个特例,而所谓 N 体问题,则是指 N 个参照值相对一致的天体,仅在万有引力的作用下会呈现出什么样的运动规律。该问题最早由天才数学家希尔伯特教授,在 1990 年的全球数学大会上提出,是目前公认的人类科学界最难的 23 道数学题之一。如果你无法理解这个难度,请允许我找一个更有名的问题——费马大定理作为参照。事实上,早在 1687 年近代物理学之父牛顿,第一次提出了三体问题。此后的三百余年里,三体问题更是串联起无数如雷贯耳的名字:欧拉、拉格朗日、庞加莱、希尔伯特、开普勒…等等。

三体运动 “混沌” 模型示意图 三体运动 “混沌” 模型示意图

从某种意义上来讲,三体问题贯穿了整个物理学的发展历程。具体来讲,当 N = 1 时,单个质点的运动轨迹是匀速直线运动,这对应的是牛顿第一定律;当 N = 2 时,两个质点的相对位置始终在一条圆锥曲线上,这对应的是开普勒定律;当 N = 3 时,这就是著名的三体问题,此时,这三个质点的运动轨迹是不可预测的,而从数学的角度来看,三体问题没有解析通解,即:我们没有办法用一个通用的公式来描述其运动轨迹。一个最浅显的例子是,在三维空间中描述位置需要 x、y、z 三个参数,因此,每一个质点可以写出 3 个二阶微分方程或者 6 个 一阶微分方程。那么,当有三个这样的质点的时候,最多的时候会得到 18 个一阶微分方程。可以预见,求解三体问题,等价于求解这样 18 个一阶微分方程构成的方程组,其难度可想而知。

三体运动 “三角形” 模型示意图 三体运动 “三角形” 模型示意图

不过,虽然三体问题没有解析通解,我们总是可以找到某个特定解。譬如,当三颗天体在一条直线上时,两侧的天体会围绕中心天体呈椭圆形的运动轨迹。我们最为熟悉的太阳系就是这种情形;如果三颗天体呈三角形分布,则它们会一起围绕三角形中心点旋转;除此以外,还可以是同一侧的两颗天体围绕第三颗天体呈椭圆形的运动轨迹,其可能性可以说是不一而足。从这个角度来讲,或许我们以后还会发现更多的特定解,但我们始终没有办法用一个完美的公式来描述所有可能的场景,这就是三体问题的复杂性所在。

三体运动 “8字形” 模型示意图 三体运动 “8字形” 模型示意图

回到刘慈欣老师的小说设定,三体星球是一个围绕半人马座 α 三合星系统公转的一个行星,由于这颗星球同时受到三个 “太阳” 的影响,使其呈现出一种在“恒纪元”和“乱纪元”交替往复的状态,为了在这样的环境中生存下去,三体人不得不通过 “脱水” 和 “浸泡” 的方式来维持生命。事实上,半人马座 α 三合星是真实存在的,甚至 2016 年科学家还在这个星系中发现了行星 “比邻星 b” 的踪迹。读到这里,我们不免会怀疑《三体》其实是一本纪实小说,难道这颗比邻星上真的有外星人吗?不同于小说中设定的三个太阳,真实的 “三体” 星球面临的最大威胁是 X 射线,据不完全统计,这颗比邻星上面承受的 X 射线是地球的四百倍。所以,就算真的有外星人,在如此强度的 X 射线面前,胜负还真的挺难说呢?

半人马座 α 三合星示意图 半人马座 α 三合星示意图

我最早接触的科幻小说,当属法国作家凡尔纳的《海底两万里》,可我并不是一个硬科幻爱好者,大概是因为高中时期的我对数学更感兴趣一点。因此,当我以一名程序员的视角来看三体这部作品的时候,我更多的是关注计算机和哲学两个维度。比如史强和汪淼进入三体游戏这一段,表面是在讲三体人如何 “给文明以岁月”,可我看到的其实是人类从古至今的文明演化历程,周文王、孔子、墨子、冯·诺依曼、牛顿、爱因斯坦…..人类正是依靠着知识和技艺的传承,一步步地走到了今天。譬如,《三体》中的关于 “人列计算机” 的构想可谓是天马行空,可仔细想来,这不过是早期晶体管计算机的具象化,人列计算机中的每一个士兵,本质上就是一个可以输出 0 和 1 的晶体管,正是这些 0 和 1 组成了各种各样的逻辑门。众所周知,逻辑门是构成计算机最基础的组件,常见的加法器、计数器、累加器等都和逻辑门有着千丝万缕的联系。

三体人列计算机中的逻辑门 三体人列计算机中的逻辑门

纵观古今,人类更关注如双子星一般耀眼、一时瑜亮的事物,以文学史度之,譬如盛唐有李杜、德国有歌德和席勒、法国有加缪和萨特、俄国有列夫·托尔斯泰和陀思妥耶夫斯基。我想,这或许和我们对宇宙的认知有关,在过去几千年的时间长河里,我们长期观察得天体只有太阳和月亮。因此,“三日凌空”、“三合星系统” 这种异象对我们来说极具诱惑。在关注三体问题得这段时间里,我正好在读一本关于分布式系统的书籍,我马上意识到,程序员世界里的三体问题其实就是 CAP 定理。因为它同时受到一致性( Consistency)、可用性(Availability) 和 分区容忍性(Partition Tolerance) 三个因素的影响,初始条件的选取会影响整体架构的设计和落地。当然,实际操作中它要比三体问题更简单一点,考虑 P 是客观存在的因素,我们其实只有 CP 和 AP 两种选择。

从三体问题到分布式系统 从三体问题到分布式系统

小说中设定三体人到达地球需要 400 年的时间,如果考虑到信息的传递同样需要时间,比如古代皇帝驾崩、颁布新政令的时候可能出现延迟,此时就会产生信息差。对应到分布式系统中,在处理主从切换的时候,可能会出现因为延迟而导致的不一致问题,试想一下,一个国家两个皇帝或者是一个系统中有两个 Master 节点,这并不比 “三日凌空” 好到哪里去。三体人为什么能实现真正的 “人列计算机” 呢?按照小说的设定,三体人具有思维透明的特点,这意味着三体人之间信息的交换是无损的、低延迟的。或许,我们会认为人类有城府、懂计谋,是因为人类懂得隐藏自身真实的想法。可是,你说有没有一种可能,三体人只是不擅说谎,他们完全懂得运用计谋,甚至这种计谋是浮在表面的 “阳谋” 。如果按照黑暗森林法则,整个宇宙本质上就是一款大型 “吃鸡” 游戏,三体人害怕地球人吗?确实怕,可令他们感到害怕的绝非人类本身,而是害怕人类将其坐标暴露给更高维度的文明。从这个角度来看,三体人的确没有说谎,甚至在有意无意的暗示人类。

高效通信 vs 战略性 高效通信 vs 战略性

三体人的 “脱水” 和 “浸泡” ,以程序员的视角来看,大约等同于序列化和反序列化。按照原著设定,当恒纪元到来的时候,三体人会通过 “浸泡” 的方式复活;当乱纪元到来的时候,三体人会通过 “脱水” 的方式冬眠。我认为,这里有一个非常深刻的话题,即探讨人的意识和肉体的关系。参照一般的理论,意识不但会认识到精神上的 “我” ,而且能认识到肉体上的 “我” ,并且还会把它们统一起来,构成这个世界上的 “我” 。那么,经历过 “脱水” 和 “浸泡” 这两道工序的三体人,是否还是原来的那个三体人呢?三体人经过 “脱水” 以后变成干纤维,肉体不复存在,意识又该何去何从?我们分辨一个人,到底是通过容貌、举止这些肉体上的特征,还是通过体验、感受这些意识上的特征?扩展到更大的层面上,公司和社会又分别通过什么来区分你?有时候,我们不得不接受来自自己或者时别人身上的变化,可能我们彼此的容貌没有任何变化,但我们从心理和情感上早已不再是当初的那个人,对此,你又将作何感想呢?我只知道,反序列化出的这个对象实例,肯定不是当初序列化时的那个对象实例。

奥日系列游戏中设想的黑暗森林 奥日系列游戏中设想的黑暗森林