专栏名称: 正商阅读
原《政商阅读》改名为正商阅读。人生如初见,感谢大家一如既往的厚爱。
目录
相关文章推荐
哈尔滨日报  ·  中国队再获一铜 ·  昨天  
哈尔滨日报  ·  【新闻发布】3人打破2项亚洲纪录 ... ·  3 天前  
51好读  ›  专栏  ›  正商阅读

递归:苏东坡的人生算法

正商阅读  · 公众号  ·  · 2025-02-01 22:37

正文

作者:老喻

来源:孤独大脑

新年好!

请你来做一个简单的数学题:

下面这个无穷数列的结果是多少?

1-1+1-1+1-1 + ……=?

如果我们从不同位置分组,会得到不同的结果:

  • (1-1)+(1-1)+(1-1)+... = 0+0+0+... = 0

  • 1+(-1+1)+(-1+1)+... = 1+0+0+... = 1

那么,到底是0还是1呢?

这就是著名的格兰迪数列,18世纪的数学家们曾经被其困扰。

莱布尼茨的解法很巧妙:

设这个无穷数列的和为S,那么:

S = 1 - 1 + 1 - 1 + 1 - 1 + ... = 1 - (1 - 1 + 1 - 1 + ...) = 1 - S

这样我们得到一个方程:S = 1 - S

解这个方程:2S = 1

得出:S = 1/2

莱布尼茨所用的方法,就是 递归思维

尽管从现代数学的严格性来看是有问题的,但 这个推理过程十分巧妙。


递归,是一种通过自我重复来解决问题的方法。

用更专业的语言来说,就是:

在解决一个问题时,把这个问题转化为一个或多个更小的同类问题,并不断往下分解,直到达到一个能够直接解决的“最小规模”或者“简单情况”,这时就“停止”并向上返回结果。

看起来或许有些抽象,那让我们从几个常见例子谈起:

1. 递归故事与死循环

最经典、也是最容易陷入“循环”困境的例子,大概是这样的故事:

“从前有座山,山上有座庙,庙里有个和尚在讲故事:从前有座山,山上有座庙,庙里有个和尚在讲故事:从前有座山……”

这个故事因为没有明确的终止条件,会无限往下展开,形成“死循环”。

在编程里,如果我们忘记设置结束条件,就会出现类似的问题——程序永远执行下去,最终甚至会崩溃。

2. 俄罗斯套娃:完善的终止条件

“俄罗斯套娃”是更好的递归示例:最外层的娃娃打开后,里面是一个小一号的娃娃;再打开它,里面还套着一个更小的……

这个过程持续下去,直到最里面那只实心、没有再分的小娃娃。它就是递归的“底层情况”或“终止条件”。

这一“最内层的娃娃”告诉我们递归必须要有一个明确的终止点,否则就会像和尚讲故事那样,层层嵌套却永不结束。

3. 数学中的典范:阶乘

在数学里,阶乘可谓最直观的递归:

  • 5 的阶乘 = 5 × 4 × 3 × 2 × 1

  • 也可以看作 5 × (4 的阶乘)

  • 4 的阶乘又是 4 × (3 的阶乘)

  • … 直到 1 的阶乘 = 1 为止。

这其中,“1 的阶乘 = 1”就是我们的最小情况或终止条件,保证了这个递归过程能够最终收敛并返回结果。

在总结前面例子的基础上,我们可以看到,一个完整而安全的递归需要具备以下两大要素:

a、把问题转化为更小的同类问题

例如,5 的阶乘拆分为 5 × 4 的阶乘,4 的阶乘又继续往下分解;

俄罗斯套娃也是一次打开就获得更小的娃娃。

b、有明确的终止条件

1 的阶乘定义为 1;

俄罗斯套娃打开到最里面的那层;

若缺少终止,整个过程可能进入“死循环”。

就像走楼梯,你知道下一步该往哪里踩(递归过程),也知道走到顶端的哪一级阶梯就可以停(终止条件)。缺少任何一个要素,递归就会失控。

回到格兰迪数列的例子,莱布尼茨用 S = 1 - S 这个简短的递归式来“定义”了一个无穷序列的和。

虽然从现代数学的严格性看,它并不完美,但这种以自我调用的方式对付无穷级数的思路,依然体现了递归的优雅与力量。

事实上,很多数学方法(如递推关系、归纳法等)都含有类似的思维:

不断把问题往回带,再由结果指向问题本身,形成自我循环。


递归在 自然界 ,递归的身影无处不在:

植物分枝、河流支流、云层形态等,都可用重复相似的规则来模拟,形成层层嵌套又自相似的分形结构。

生物胚胎学 中,细胞一次次自我复制与分化,最终构建出不同器官与组织,背后也暗含着递归式的生长逻辑。

数学 里,除了阶乘与归纳法,形如斐波那契数列、汉诺塔问题、分形几何等都借助递归思维来求解或表达复杂模型。

计算机科学 更是将递归运用得淋漓尽致:

从经典的快速排序、合并排序,到编译器设计中对语法结构的自我解析,再到人工智能中的循环神经网络(RNN)、LSTM等框架,都是“函数调用自身”在算法与程序架构上的有力体现。

现代经济学 金融学 也不乏递归的影子:

投资者常提及的“复利效应”,正是让每一阶段的收益再次投入,从而层层叠加,呈现指数式增长;

而市场中的“我猜你猜我猜”心理博弈,则构成多重回环的动态过程。

心理学 社会学 领域,个体与环境彼此塑造的循环亦可视为递归:

一方面,我们的行动塑造身处的环境,另一方面,环境又影响并修正我们的后续行为。

哲学 中,涉及自指(Self-reference)与无限回溯的逻辑悖论,更像是没有终止条件的函数——一旦形成自我引用,便可能导致思维的循环或矛盾。

艺术创作 中,递归产生了独特的美感,例如埃舍尔的版画《画手》、中国的"烟壶画中画",都巧妙运用了递归来创造出引人深思的视觉效果。

人类语言 本身就具有递归性质,我们可以无限嵌套地表达"我知道你明白他懂得..."这样的复杂概念。

这种语言特征被认为是人类认知能力的重要标志,也凸显了递归思维在人类智能中的核心地位。

正因如此,递归不仅是一种在数学、编程中备受青睐的技巧,也是一条贯穿自然与社会、个人与群体的“隐形线索”:

只要存在不断重复的规则或自我调用的结构,递归就能为我们提供新的视角来理解事物的发展与演化。

它揭示的,是如何由简单的局部规则,反复迭代出无限深远的可能性,从而让我们洞察到世界的层层叠叠与生生不息。


在社会互动与竞争中,递归思维展现出独特的威力。

最典型的例子,就是凯恩斯提出的" 选美竞赛 "问题:

投资者不是在选择自己认为最美的选手,而是要预测"大多数人认为大多数人认为最美"的选手。这就形成了一个典型的递归思维链--

我认为 → 别人认为 → 别人认为别人认为 → ...

这种思维模式在现代金融市场中无处不在。

股票投资者不仅要判断一家公司的真实价值,更要预测其他投资者对这家公司的判断,甚至要预测"其他投资者如何预测其他投资者的判断"。

这种层层递进的思考过程,本质上就是一个递归结构。

在竞技性博弈中,递归思维的应用更为直接。以德州扑克为例,一个高水平玩家需要:

  • 判断对手的牌力范围

  • 预测对手对自己牌力的判断

  • 推测对手会如何应对自己可能的行动

  • 思考对手会如何预测自己对他行动的反应

这种" 我思考你思考我思考你 "的过程,形成了一个深度递归的推理链。

高手对决时,这种递归层次可能达到四层甚至更多。

在国际象棋等策略游戏中,递归思维体现为对局势的深度计算:

  • 如果我走这步,对手可能会怎么应对?

  • 对手这样应对后,我该如何反制?

  • 在我反制后,对手又将如何调整?

每深入一层,可能性就会成倍增加,这就是为什么计算机在下棋时需要"剪枝"——即在递归到一定深度时及时停止,避免计算量爆炸性增长。

博弈论中的"纳什均衡"概念,本质上也是一个递归结构:

每个参与者的策略都是对其他参与者策略的最优反应,而其他参与者的策略又是对这个参与者策略的最优反应。

这种相互依存的关系,构成了一个完美的递归定义。

在这些博弈场景中,递归思维帮助我们:

  • 构建对对手策略的多层次理解

  • 预测市场的整体走向

  • 制定最优的应对策略

然而,正如格兰迪数列一样,在实际博弈中,过度的递归思维可能导致"分析瘫痪"。

事实上,在这个世俗世界上,很少有人需要用到下棋的那种太深的递归。而德州扑克高手往往更能赢得红尘名利中的争夺,

因此,找到适当的递归深度,在理性分析和直觉判断之间取得平衡,才是真正的智慧所在。

顺着这个话题,可以有两个有趣的分支,一个关于 投资 ,一个关于 维克瑞拍卖 (以及如何避免“ 精神递归 ”)。也许我会单独再写。


在社递归思维给我们的最大启示,或许在于它揭示了复杂世界的生成逻辑:

看似繁复的事物,往往源于简单规则的重复迭代。

正因如此,我们在面临各种挑战时,也能用“自我调用”的方式进行拆解与前进,从而在日常生活、事业或个人成长中获得持久动力。

以下几点或许能为你提供些许思考:

1. 复杂源于简单的累积

就如同分形图案由简单规则生成壮丽图景,人生中的重大成就也常来自基本功的反复锤炼。

  • 持续迭代: 每天进步一点儿,一年后收获可能是不少倍的提升,这正是“小量改变 × 不断重复”所带来的巨大差异。

  • 复利效应: 在投资与学习中,小额度的持续投入会随着时间的推移而成倍放大,恰似递归程序一次次“返回”成功的产出。

  • 实践-总结-改进: 让每次练习或尝试都成为下一次行动的起点,让经验和反思反哺新目标,形成正向的迭代循环。

2. 找准递归的“终止条件”

如同程序必须设置结束条件以防止死循环,人生中也需要给各种“递归”行为明确的边界。

  • 思考有度: 过度分析易陷入“决策瘫痪”。懂得适时收束,才能保持行动效率。

  • 平衡完美和交付: 不必追求面面俱到,知道何时“够好即可”,是避免陷入无休止打磨的关键。

  • 知道何时停止深入: 当某条路径无法再带来收益或动力,就要考虑转向或暂停,防止在错误循环里耗损精力。

3. 理解“反馈循环”

个人成长可视作一个典型的“输出—输入”递归过程:

  1. 我们的行动塑造环境;

  2. 环境的反馈又影响我们下一步的决定;

  3. 若是良性循环,正向反馈会促进自我提升;若是负向循环,则需及早打破它。

学会观察并利用这种互相塑造的机制,才能在反复迭代中持续进步,也能更敏锐地觉察到问题所处的“死循环”节点。

4. 把握“递归深度”

在社会互动与竞争中,过度递归可能让人陷入盲目猜测,“我以为你以为我以为…”无限延伸,最终导致效率低下或自我怀疑。

  • 理性+直觉: 理性分析固然重要,但适度留白给直觉与经验,能避免深陷不必要的迷宫。

  • 适时截断: 无论是博弈、谈判还是职场沟通,知道在何处停止推演,在哪一点达成策略决策,是一门高超的技巧。

5. 善用“自我引用”

递归最迷人的地方在于自我指涉,它提示我们要定期反思过去,让经历与失败成为新一轮行动的养分。

  • 反思与总结: 像“函数返回”一样,阶段性复盘能让你在“下一层循环”开始前就吸取经验。

  • 自我觉察: 每一次“我为什么这样想?”或“我为什么这样做?”都是一次“自指”,不断帮助我们校准前行的方向。

在这个日益复杂的时代,递归思维让我们用“简单原则”应对“复杂现实”。它提示我们:

在“循环往复”中寻找增益,在“层层递进”里掌握平衡,不断通过反馈、反思与改进让自己螺旋式地向上。

正如分形的美在于用有限的公式生成无穷复杂,我们的成长亦可在小小的日常行动中迭代深化,以简驭繁、以不变应万变。

这,或许就是递归带给我们的最大智慧。








请到「今天看啥」查看全文