Day 17 · 2026.07.09

分形与自相似

Fractals & Self-Similarity — 在无穷的褶皱里,藏着最简单的规则
"Clouds are not spheres, mountains are not cones, coastlines are not circles." — Benoît Mandelbrot

自相似

Self-Similarity · 部分是整体的缩影
Geometry
直觉版

掰下一小段花椰菜,它看上去就是一整棵花椰菜的缩小版;再掰下更小的一段,还是。放大一部分,看到的是整体本身——这就是自相似。

它背后是一条递归规则:拿一条线段,把中间三分之一顶成一个三角尖,得到 4 段;对这 4 段各做同样的事;无穷次之后,你得到永远画不完、处处是尖角的科赫曲线。规则一句话就能说清,产物却复杂到无法用一个公式写出坐标。分形的核心张力就在这里:极简的生成规则,无穷的视觉细节。

n=0 n=1 · 一段变四段 n=2 · 每段再重复
正式定义

一个自相似集 $F$ 是它自身若干个缩小副本的并:$F = \bigcup_{i=1}^{N} S_i(F)$,其中每个 $S_i$ 是把整体按比例 $r$ 缩小(再旋转、平移)的压缩映射。这组映射叫迭代函数系统(IFS)。科赫曲线是 $N=4$、$r=1/3$;从任意起点反复套用这组映射,图形都会收敛到同一个 $F$——起点是什么根本无所谓。

为什么美

自相似把「复杂」和「简单」的关系彻底翻转了。我们习惯认为复杂的东西需要复杂的描述,但科赫曲线告诉你:无穷的复杂性可以被压缩进几行规则里。信息不在细节中,而在生成细节的过程中。这正是 DNA 用几万个基因长出一棵有亿万片叶子的树的道理——不存储每片叶子的坐标,只存储「如何分叉」的递归规则。

应用

计算机图形用 IFS 和 L-系统几行代码生成逼真的山脉、云、植物(《指环王》的数字地貌)。分形压缩反过来问:这张图像能否表示成一组压缩映射?能,就用极少参数存下高清纹理。程序化生成(游戏《No Man's Sky》的行星)同样是「规则即内容」——不存地图,存种子与规则。

一句话精华:分形不存储细节,只存储生成细节的规则——复杂性是过程的产物,不是数据的堆积。
思考题:如果一段基因只有几万个「字」,一棵树却有亿万个结构细节,多出来的信息从哪里来?递归规则是否是自然界的「无损压缩算法」?

分形维数 & 海岸线悖论

Fractal Dimension · 维数可以是分数
Dimension
直觉版

英国的海岸线有多长?用 100 公里的尺子量,你会抹掉所有海湾;换 10 公里的尺子,测出的长度变长了;1 公里、1 米……尺子越短,测出的长度越大,而且没有极限——趋向无穷。这就是海岸线悖论。

问题出在我们问错了。海岸线不是一条「有确定长度」的线,它太曲折,介于「1 维的线」和「2 维的面」之间。要刻画它,我们需要一个新数字:它到底有多「粗糙」、多能填满空间——这就是分形维数。海岸线的维数约 1.25,比直线更「密」,但还没铺满平面。

3 个半尺寸副本 D = log3/log2 ≈ 1.585
正式定义

用边长 $r$ 的小盒子去盖图形,数需要 $N(r)$ 个。若 $N(r) \sim (1/r)^D$,则 $D$ 就是盒计数维数:$$D = \lim_{r\to 0}\frac{\log N(r)}{\log(1/r)}$$ 直觉:正方形边长减半,要 $4=2^2$ 个副本盖住,故 $D=2$;西尔平斯基三角形减半却只要 $3$ 个,$D=\log 3/\log 2\approx 1.585$——分数维数。$D$ 越大,图形越粗糙、越「挤」进它所在的空间。

为什么美

我们从小被教育维数是整数:点 0、线 1、面 2、体 3。分形维数打破了这个直觉——维数是一个连续的、可以取分数的量。它衡量的不是「有几个方向」,而是「填空间的效率」。Mandelbrot 1975 年从拉丁文 fractus(破碎的)造出「fractal」这个词,正是为了命名这类「维数破碎」的对象。一个词,让一整类曾被视为「病态怪物」的几何体,第一次有了统一的名字与度量。

应用

分形维数是量化「粗糙度」的通用标尺:医学用它区分良性/恶性肿瘤的边界、视网膜血管的健康度;材料用它刻画断裂面与多孔介质;信号处理用它描述金融波动与生理时间序列的自相似结构。分形天线把导线折成分形,在极小体积里塞进多个波段的有效长度——你的手机里就有一根。

一句话精华:维数不是「有几个坐标轴」,而是「填满空间的效率」——它可以、也应该取分数。
思考题:海岸线「长度无穷」却围出「有限面积」,这和 Day 3 里「无穷多矩形相加得有限值」是同一种驯服无穷的智慧吗?还是相反的一面?

Mandelbrot 集

The Mandelbrot Set · 一个二次式里的无限宇宙
Complex Dynamics
直觉版

取复平面上一个点 $c$,从 $0$ 出发反复做一件极简单的事:平方,加 $c$;平方,加 $c$……。有些 $c$ 让这串数越滚越大、飞向无穷;有些却让它老实地待在原地打转。把所有「不逃逸」的 $c$ 涂黑,就是 Mandelbrot 集——那个著名的、像甲虫又像佛头的黑色图案。

神奇的是它的边界:无限放大,你会看到小小的甲虫复制品、螺旋、闪电、海马尾……细节永不枯竭,且相似却从不完全重复。这一切,都来自 $z\to z^2+c$ 这个连中学生都懂的公式。

$$z_0 = 0,\quad z_{n+1} = z_n^2 + c,\qquad M = \{\,c\in\mathbb{C} : |z_n| \not\to\infty\,\}$$
边界维数 = 2 Im Re
正式定义

$M$ 是所有让迭代序列 $\{z_n\}$ 保持有界的复参数 $c$ 的集合。可以证明:只要某一步 $|z_n|>2$,序列必然逃逸——这给了计算机一个判据(画分形图时,颜色代表「逃逸前迭代了多少步」)。$M$ 与每个 $c$ 对应的 Julia 集紧密相连:$c$ 在 $M$ 内,Julia 集连通;在外,Julia 集碎成尘埃。$M$ 是一部「所有 Julia 集的目录」。

为什么美

它是「简单规则、复杂涌现」最震撼的标本。边界的分形维数高达 2——一条曲线粗糙到几乎填满平面。更深的美在于普适性:Mandelbrot 集的芽苞排列,暗合了费根鲍姆常数与倍周期分岔——也就是 Day 16 里 Logistic 映射通往混沌的那条路。完全不同的动力系统,在通往混沌时竟服从同一套数字。这暗示混沌背后有普遍的、与细节无关的秩序。

应用

它教会我们一件对工程至关重要的事:不可预测的复杂行为可以从确定、简短的规则中生出——这正是元胞自动机、神经网络涌现、加密散列的共同哲学。复动力系统的稳定性分析被用于迭代算法收敛性的判定;而「逃逸时间」着色,是最早的算法生成艺术之一。

一句话精华:$z^2+c$ 是数学最强的反差——一行公式,一个无穷复杂、维数为 2、永不重复的宇宙
思考题:Mandelbrot 集的信息「藏」在哪里?公式只有几个符号,图案却需要无限像素才能画尽。这份复杂性是被「创造」的,还是本来就「存在」、只是被我们发现?

自然界的分形与标度律

Fractals in Nature · 进化偏爱的几何
Applied · Nature
直觉版

肺、血管、河网、闪电、树、神经元、菜花——它们都在分叉、分叉、再分叉。这不是巧合。当生命需要「在有限体积里塞进最大的交换表面」或「把物质送达每一个角落」时,分形是几乎唯一的解:你的肺只有几升,展开的表面积却有大半个网球场。

自然的分形不是数学那样精确重复,而是统计自相似——放大一根树枝,它「像」但不「等于」整棵树。关键特征是没有特征尺度:光看一张照片,你说不出它是米级还是厘米级。

每一层都是上一层的缩影
正式定义

统计自相似由幂律刻画:一个量 $N$ 随尺度 $s$ 满足 $N(s) \sim s^{-D}$。在双对数坐标上画出来是一条直线,斜率就是分形维数——这是识别自然分形的标准手法。幂律意味着无标度:没有典型大小,小事件极多、大事件罕见但不可忽略(地震、词频、城市规模都如此)。

为什么美

互不相干的系统——生物的血管、地质的河流、物理的闪电——被同一条几何法则统一。它们各自演化,却独立收敛到同一个答案,因为它们面对同一个优化问题:用最少的材料铺满空间。更深一层,分形常出现在系统的临界点(相变的边缘),这把它和自组织临界性、复杂系统「在混沌边缘」的思想连了起来——秩序与随机的交界处,长出的正是分形。

应用

West & Brown 的代谢标度律用分形供血网络解释了 Kleiber 定律:代谢率 $\propto$ 体重的 $3/4$ 次方,横跨细菌到蓝鲸 27 个数量级。Mandelbrot 用分形重建金融市场的暴涨暴跌——真实波动比高斯模型「厚尾」得多。工程上,分形换热器与微流控模仿肺与血管,实现均匀高效的输运。

一句话精华:分形是「用有限铺满无限」的最优几何——所以进化、地质、物理各自演化,却抵达同一种形状
思考题:如果分形是「填满空间」的最优解,为什么我们的骨骼、晶体是规则而非分形的?什么样的约束会让自然「选择」分形,什么样的会让它「拒绝」分形?
— 深入思考 —
分形维数、拓扑维数与「测度」之间是什么关系?
科赫曲线的拓扑维数是 1(它仍是一条曲线,去掉一点就断开),但分形(Hausdorff)维数约 1.26。Mandelbrot 正是把「分形」定义为 Hausdorff 维数严格大于拓扑维数的集合。这背后是 Day 21 会碰到的测度论:一维长度(Lebesgue 测度)在科赫曲线上是无穷,二维面积是零,只有在 $1.26$ 维的 Hausdorff 测度下才得到有限非零的「大小」。维数,本质是「用哪一把尺子量,才既不得零也不得无穷」。
为什么幂律(无标度)分布在复杂系统里如此普遍?
幂律是唯一的「无标度」分布:把 $x$ 换成 $2x$,函数形状不变,只差一个常数因子——这正是自相似的统计版本。生成机制很多:优先连接(富者愈富,解释网络度分布与城市规模)、自组织临界(沙堆模型、地震的 Gutenberg–Richter 律)、乘性过程等。共同点是没有单一特征尺度来「拉平」涨落。但要小心:对数坐标上「看起来像直线」常被误判为幂律,对数正态分布也很像——这是 Day 34 统计陷阱的经典案例。
Mandelbrot 集的边界维数为 2,意味着什么?
1991 年宍倉光広证明了 $M$ 的边界 Hausdorff 维数恰好是 2——尽管它是一条「曲线」,却粗糙到与整个平面同维。这是「测度零但维数满」的极端例子:边界面积为零,却无处不在地褶皱。它也提醒我们:连通性、可求长、维数是三个独立的概念。一条线可以连通、维数为 2、却长度无穷——直觉里「线是细的」这一假设在分形世界彻底失效。
分形与 Day 16 的混沌是同一回事吗?
是同一枚硬币的两面。混沌讲的是时间上的行为:轨道对初值敏感、长期不可预测。分形讲的是空间/几何结构。二者在「奇异吸引子」处相遇——Lorenz 吸引子在相空间里就是一个分形(维数约 2.06)。混沌系统的吸引子几乎总是分形,因为拉伸+折叠的动力学会把相空间揉成无穷层的千层饼。Mandelbrot 集则相反:它是「参数空间」里划分混沌与稳定的地图。
AI 与分形有真实的交集吗?
有几处。其一,卷积网络的多尺度特征提取与分形的层级自相似天然契合,分形维数被用作纹理特征。其二,扩散模型在不同噪声尺度上学习去噪,本质是一种多尺度、近自相似的生成过程。更思辨地说:一个用几十亿参数「压缩」了整个互联网的语言模型,和「用几行规则压缩无穷细节」的分形,共享同一个信念——复杂性可被生成规则捕获,而非逐条存储