递归
在语言学和认知科学中,递归(Recursion) 的核心本质是:一个结构在其内部嵌套了与其类型相同或相似的自身,或者说“用自身来定义自身/在自身内部调用自身”。
语言学与语法学:无限嵌套的句子结构(Syntactic Recursion)
现代语言学大师诺姆·乔姆斯基(Noam Chomsky)提出,递归是人类语言区别于动物交流系统的核心底层机制。人类可以用极其有限的词汇,通过语法规则的自我嵌入,造出无限长的句子。
从句与修饰语的无限嵌套(Self-embedding)
-
“我听说 [张三知道 [李四以为 [王五爱着赵六]]]。”
- 每一个“……句”内部都嵌入了一个完整的“主谓宾”句子。理论上,只要大脑内存(短时记忆)不溢出,这个结构可以无限
stack overflow地嵌套下去。
- 每一个“……句”内部都嵌入了一个完整的“主谓宾”句子。理论上,只要大脑内存(短时记忆)不溢出,这个结构可以无限
-
“这是 [住在大卫 [建的 [靠近湖边的 [房子]] 里]] 的那条狗。”
- 名词修饰语(定语/关系从句)内部不断嵌套新的名词修饰语。
所有格/领属结构的递归
- “我朋友的表哥的邻居的二叔的狗……”
- 表达式:NP → NP + ’s + N。规则在自身内部被重复调用。
文学与叙事学:戏中戏与嵌套叙事(Narrative Recursion / Frame Story)
在文学和民间传说中,递归被用作一种极其震撼的“故事套故事”的结构,学术上称为画中画 / 莫比乌斯环(Mise en abyme)。
无限递归的童谣/民间谚语(Recursive Nursery Rhymes)
-
“从前有座山,山里有座庙,庙里有个老和尚在讲故事,讲的是:从前有座山……”
- 这是最地道的汉语递归文本,完全等同于一个没有终止条件的
while(true)死循环。
- 这是最地道的汉语递归文本,完全等同于一个没有终止条件的
-
《老妇人吞了只苍蝇》(There Was an Old Lady Who Swallowed a Fly)
- 每一段都在重复并累加前一段的内容:“她吞下蜘蛛去抓苍蝇,吞下鸟去抓蜘蛛,吞下猫去抓鸟……”
框架叙事(Frame Stories / Story-within-a-story)
-
《一千零一夜》(Arabian Nights):
- 山鲁佐德讲了一个故事,故事里的角色又开始讲一个故事,内层故事里的角色又在讲述另一个传说。这种“在故事的 Runtime 里再 spawn 一个故事”的做法就是典型的递归叙事。
-
《盗梦空间》(Inception)或 Borges 的小说:
- 梦境中的梦境、书中的角色正在读一本记载着自己正在读书的书(如博尔赫斯的《圆环废墟》)。
修辞学与哲理句:循环定义与同义重言(Rhetorical Recursion)
当语言需要表达某种“绝对性”、“自足性”或带有哲理的无奈感时,往往会调用递归。
循环表达 / 重言式(Tautological Recursion)
- “吃亏就是吃亏,没有什么吃亏是福。”
- “Business is business.”(生意就是生意)
- 用概念本身来解释和定义自身,形成一个封闭的逻辑回路。
互为因果的互推(Mutual Recursion)
- “因为看清,所以看淡;因为看淡,所以看清。”
- 函数 A 调用函数 B,函数 B 反向调用函数 A(相互递归)。
逻辑学与修辞格:自指句与怪圈(Self-Reference & Strange Loops)
著名的《集异璧》(Gödel, Escher, Bach)一书专门探讨过这种现象——当语言开始“谈论自身”时,递归就演变成了自指(Self-reference)。
说谎者悖论(Liar Paradox)
- “这句话是假的。”
- 语句(Statement)的求值过程(Evaluation)引发了死循环:如果是真的 → 则它是假的 → 则它是真的……
自指描述句(Autogram/Self-describing Sentences)
- “这个句子由十个字组成。”
- 句子的文本内容(Data)就是句子所描述的对象(Code),数据与代码在此交融。
文化与流行语:梗图与“meta”文化(Recursive Memes)
在现代流行文化中,递归通常被赋予了 "Meta"(元) 的幽默感:
- “我打赌你无法复制这句话,并把它发给下一个打赌你无法复制这句话的人。”
- “废话文学”: “听君一席话,如听一席话。”(用输入作为输出)
- 嵌套的梗图(Meme within a meme): 比如用一个经典 Meme 模版去嘲讽“使用这个 Meme 模版的人”。
递归缩写(Recursive Acronym)
常见极客圈:
- GNU: GNU's Not Unix
- WINE: Wine Is Not an Emulator
- LAME: LAME Ain't an MP3 Encoder
- PHP: PHP: Hypertext Preprocessor (Originally stood for Personal Home Page, but was later changed to a recursive acronym)
- YAML: YAML Ain't Markup Language
- CURL: Curl URL Request Library (though often retrofitted recursively as Curl URL Like)
总结
无论是技术上的 GNU's Not Unix,还是语言学里的“我听说你以为他知道”,它们的底层数学内核都是相同的:
人类大脑拥有一种特殊的“元认知能力”(Meta-cognition)——我们不仅能用语言表达事物,还能用语言来修饰“语言本身”,用故事来讲述“故事本身”。 这种自我嵌套、自我调用的机制,正是人类思维能够产生无穷创造力的终极秘密。