来源:孤独大脑
一
新年好!
请你来做一个简单的数学题:
下面这个无穷数列的结果是多少?
1-1+1-1+1-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. 数学中的典范:阶乘
在数学里,阶乘可谓最直观的递归:
这其中,“1 的阶乘 = 1”就是我们的最小情况或终止条件,保证了这个递归过程能够最终收敛并返回结果。
在总结前面例子的基础上,我们可以看到,一个完整而安全的递归需要具备以下两大要素:
a、把问题转化为更小的同类问题
例如,5 的阶乘拆分为 5 × 4 的阶乘,4 的阶乘又继续往下分解;
俄罗斯套娃也是一次打开就获得更小的娃娃。
b、有明确的终止条件
1 的阶乘定义为 1;
俄罗斯套娃打开到最里面的那层;
若缺少终止,整个过程可能进入“死循环”。
就像走楼梯,你知道下一步该往哪里踩(递归过程),也知道走到顶端的哪一级阶梯就可以停(终止条件)。缺少任何一个要素,递归就会失控。
回到格兰迪数列的例子,莱布尼茨用 S = 1 - S 这个简短的递归式来“定义”了一个无穷序列的和。
虽然从现代数学的严格性看,它并不完美,但这种以自我调用的方式对付无穷级数的思路,依然体现了递归的优雅与力量。
事实上,很多数学方法(如递推关系、归纳法等)都含有类似的思维:
不断把问题往回带,再由结果指向问题本身,形成自我循环。
三
递归在
自然界
,递归的身影无处不在:
植物分枝、河流支流、云层形态等,都可用重复相似的规则来模拟,形成层层嵌套又自相似的分形结构。
生物胚胎学
中,细胞一次次自我复制与分化,最终构建出不同器官与组织,背后也暗含着递归式的生长逻辑。
数学
里,除了阶乘与归纳法,形如斐波那契数列、汉诺塔问题、分形几何等都借助递归思维来求解或表达复杂模型。
计算机科学
更是将递归运用得淋漓尽致:
从经典的快速排序、合并排序,到编译器设计中对语法结构的自我解析,再到人工智能中的循环神经网络(RNN)、LSTM等框架,都是“函数调用自身”在算法与程序架构上的有力体现。
现代经济学
、
金融学
也不乏递归的影子:
投资者常提及的“复利效应”,正是让每一阶段的收益再次投入,从而层层叠加,呈现指数式增长;
而市场中的“我猜你猜我猜”心理博弈,则构成多重回环的动态过程。
在
心理学
与
社会学
领域,个体与环境彼此塑造的循环亦可视为递归:
一方面,我们的行动塑造身处的环境,另一方面,环境又影响并修正我们的后续行为。
哲学
中,涉及自指(Self-reference)与无限回溯的逻辑悖论,更像是没有终止条件的函数——一旦形成自我引用,便可能导致思维的循环或矛盾。
在
艺术创作
中,递归产生了独特的美感,例如埃舍尔的版画《画手》、中国的"烟壶画中画",都巧妙运用了递归来创造出引人深思的视觉效果。
而
人类语言
本身就具有递归性质,我们可以无限嵌套地表达"我知道你明白他懂得..."这样的复杂概念。
这种语言特征被认为是人类认知能力的重要标志,也凸显了递归思维在人类智能中的核心地位。
正因如此,递归不仅是一种在数学、编程中备受青睐的技巧,也是一条贯穿自然与社会、个人与群体的“隐形线索”:
只要存在不断重复的规则或自我调用的结构,递归就能为我们提供新的视角来理解事物的发展与演化。
它揭示的,是如何由简单的局部规则,反复迭代出无限深远的可能性,从而让我们洞察到世界的层层叠叠与生生不息。
四
在社会互动与竞争中,递归思维展现出独特的威力。
最典型的例子,就是凯恩斯提出的"
选美竞赛
"问题:
投资者不是在选择自己认为最美的选手,而是要预测"大多数人认为大多数人认为最美"的选手。这就形成了一个典型的递归思维链--
我认为 → 别人认为 → 别人认为别人认为 → ...
这种思维模式在现代金融市场中无处不在。
股票投资者不仅要判断一家公司的真实价值,更要预测其他投资者对这家公司的判断,甚至要预测"其他投资者如何预测其他投资者的判断"。
这种层层递进的思考过程,本质上就是一个递归结构。
在竞技性博弈中,递归思维的应用更为直接。以德州扑克为例,一个高水平玩家需要:
-
判断对手的牌力范围
-
预测对手对自己牌力的判断
-
推测对手会如何应对自己可能的行动
-
思考对手会如何预测自己对他行动的反应
这种"
我思考你思考我思考你
"的过程,形成了一个深度递归的推理链。
高手对决时,这种递归层次可能达到四层甚至更多。
在国际象棋等策略游戏中,递归思维体现为对局势的深度计算:
-
如果我走这步,对手可能会怎么应对?
-
对手这样应对后,我该如何反制?
-
在我反制后,对手又将如何调整?
每深入一层,可能性就会成倍增加,这就是为什么计算机在下棋时需要"剪枝"——即在递归到一定深度时及时停止,避免计算量爆炸性增长。
博弈论中的"纳什均衡"概念,本质上也是一个递归结构:
每个参与者的策略都是对其他参与者策略的最优反应,而其他参与者的策略又是对这个参与者策略的最优反应。
这种相互依存的关系,构成了一个完美的递归定义。
在这些博弈场景中,递归思维帮助我们:
-
构建对对手策略的多层次理解
-
预测市场的整体走向
-
制定最优的应对策略
然而,正如格兰迪数列一样,在实际博弈中,过度的递归思维可能导致"分析瘫痪"。
事实上,在这个世俗世界上,很少有人需要用到下棋的那种太深的递归。而德州扑克高手往往更能赢得红尘名利中的争夺,
因此,找到适当的递归深度,在理性分析和直觉判断之间取得平衡,才是真正的智慧所在。
顺着这个话题,可以有两个有趣的分支,一个关于
投资
,一个关于
维克瑞拍卖
(以及如何避免“
精神递归
”)。也许我会单独再写。
五
在社递归思维给我们的最大启示,或许在于它揭示了复杂世界的生成逻辑:
看似繁复的事物,往往源于简单规则的重复迭代。
正因如此,我们在面临各种挑战时,也能用“自我调用”的方式进行拆解与前进,从而在日常生活、事业或个人成长中获得持久动力。
以下几点或许能为你提供些许思考:
1. 复杂源于简单的累积
就如同分形图案由简单规则生成壮丽图景,人生中的重大成就也常来自基本功的反复锤炼。
-
持续迭代:
每天进步一点儿,一年后收获可能是不少倍的提升,这正是“小量改变 × 不断重复”所带来的巨大差异。
-
复利效应:
在投资与学习中,小额度的持续投入会随着时间的推移而成倍放大,恰似递归程序一次次“返回”成功的产出。
-
实践-总结-改进:
让每次练习或尝试都成为下一次行动的起点,让经验和反思反哺新目标,形成正向的迭代循环。
2. 找准递归的“终止条件”
如同程序必须设置结束条件以防止死循环,人生中也需要给各种“递归”行为明确的边界。
-
思考有度:
过度分析易陷入“决策瘫痪”。懂得适时收束,才能保持行动效率。
-
平衡完美和交付:
不必追求面面俱到,知道何时“够好即可”,是避免陷入无休止打磨的关键。
-
知道何时停止深入:
当某条路径无法再带来收益或动力,就要考虑转向或暂停,防止在错误循环里耗损精力。
3. 理解“反馈循环”
个人成长可视作一个典型的“输出—输入”递归过程:
-
我们的行动塑造环境;
-
环境的反馈又影响我们下一步的决定;
-
若是良性循环,正向反馈会促进自我提升;若是负向循环,则需及早打破它。
学会观察并利用这种互相塑造的机制,才能在反复迭代中持续进步,也能更敏锐地觉察到问题所处的“死循环”节点。
4. 把握“递归深度”
在社会互动与竞争中,过度递归可能让人陷入盲目猜测,“我以为你以为我以为…”无限延伸,最终导致效率低下或自我怀疑。
5. 善用“自我引用”
递归最迷人的地方在于自我指涉,它提示我们要定期反思过去,让经历与失败成为新一轮行动的养分。
在这个日益复杂的时代,递归思维让我们用“简单原则”应对“复杂现实”。它提示我们:
在“循环往复”中寻找增益,在“层层递进”里掌握平衡,不断通过反馈、反思与改进让自己螺旋式地向上。
正如分形的美在于用有限的公式生成无穷复杂,我们的成长亦可在小小的日常行动中迭代深化,以简驭繁、以不变应万变。
这,或许就是递归带给我们的最大智慧。
六