大自然中的分形



我们都见过人体血管的图片。一根血管会在某些地方分出许多次级血管,就像很多树杈从一根树枝中伸展出来一样,而这些次级血管也会像之前那样,在某些地方分出更多的血管。在大自然中,这种分支(branching)结构相当常见。将营养从一个入口输送到各处的细胞,或者将废物从各个细胞收集到一个出口,都需要分支结构。

如果你仔细观察一片叶子的叶脉,会发现一种有趣的现象。主脉分出很多支脉,而这些支脉继续分叉的模式,看上去就像主脉一样。或者,西兰花的每一个小瓣都像西兰花自身。这是一种自相似(self-similar)结构,我们称之为分形(fractal)。分形是分支结构的一种有趣现象。大自然中有各种各样的分形,例如植物的根系、叶脉,哺乳动物的毛细血管、支气管等等,又或者是西兰花,甚至是海岸线。1

G. B. West等人在1997年提出,大自然中的分形源自于能量损耗的最小化。通过进化,生物体具有了充分的灵活性(适应度),同时又尽量减少不必要的能量损耗。West以血液循环系统为例,这是一个典型的分支结构。为了便于分析,West做了适度简化,考察一个理想化的分支结构。每一根血管都在一处(而不是多处)分叉。West还给每根血管标了等级。主动脉的等级是 $0$,它在某一处突然分出 $n_0$ 个分支,这些次级血管的等级是 $1$,它们具有相同的半径 $r_1$,并且在延伸相同的距离 $l_1$ 后,突然每一根又分出 $n_1$ 个分支。以此类推。就像在一个钉耙的每个尖上都长出了一个小钉耙一样(然后小钉耙的尖上又长出更小的钉耙)。我们之所以会觉得某个分支结构是自相似的,是因为每一个小钉耙都长得差不多,只是尺寸随着分叉越来越小。准确地说,分支参数 $\rho_k := r_{k+1} / r_k$,$\lambda_k := l_{k+1} / l_k$ 以及 $n_k$ 对所有分支等级 $k$ 都是相同的。接下来,我们看看这种自相似或分形,是如何从最小化能量损耗中产生的。2

血液循环系统的能量损耗来自于血液与血管之间的摩擦。根据Hagen-Poiseuille方程,在第 $k$ 级血管中,血管两端的压力差为 $\Delta p_k = Q_k R_k$,其中 $Q_k$ 表示血流量,$R_k := (8 \mu l_k)/(\pi r_k^4)$,其中 $\mu$ 为血液的粘滞系数,是一个常数。类比于电路,$\Delta p_k$ 对应于电势差 $\Delta V$,$Q_k$ 则对应于电流 $I$。因此,$R_k$ 可以被视作电阻。在同一个分支等级,血管是“并联”的;在不同等级,血管是“串联”的。因此,总的阻尼可以写成:

\[R = \sum_{k=0}^{C} \frac{R_k}{N_k} = \frac{8\mu}{\pi} \sum_{k=0}^{C} \frac{l_k}{r_k^4 N_k},\]

其中 $N_k$ 表示等级为 $k$ 的血管个数。阻尼 $R$ 就是要被最小化的量。为了简化这个表达式,需要引入一些合理的假设。

第一个假设涉及最细的毛细血管,它们在分支结构的末端。这些“基层”血管的作用是和细胞接触,将营养渗透到细胞中去。所以它们的半径 $r_C$ 和长度 $l_C$ 仅由细胞的参数决定的,例如细胞的大小和代谢率,而与血管如何分叉无关。也就是说,$r_C$ 和 $l_C$ 是常数,它们不依赖于 $(n_0, \ldots, n_{C-1})$ 中的任意一项。另外,主动脉的数量 $N_0$ 也是常数,它等于 $1$。

第二个假设涉及血液的分流。分叉时,一个血管里的血液被分成 $n_k$ 份,相应地,血管的横截面积也应当被分成 $n_k$ 份,不多也不少。准确地说,$\pi r_k^2 \equiv n_{k} \pi r_{k+1}^2$,或者 $\rho_k = n_k^{-1/2}$,对任意 $k$ 都成立。同理,对于更一般的 $d$ 维分支结构,$\rho_k = n_k^{-1/(d-1)}$。

最后一个假设跟血管的管辖范围有关。主动脉($k=0$)要为全身的细胞供应营养,肩负重任。次级动脉只需要负责自己的“管辖区”就可以了,例如桡动脉只负责手部细胞的营养供应。位于末端的毛细血管只负责它周围的那一小部分细胞。身体是三维的,所以 $k$ 级血管的管辖范围正比于 $l_k^3$。分叉时,管辖范围被分成 $n_k$ 份,不多也不少。也就是说,$l_k^3 \equiv n_k l_{k+1}^3$,或者 $\lambda_k = n_k^{-1/3}$,对任意 $k$ 都成立。同理,对于更一般的 $d$ 维分支结构,$\lambda_k = n_k^{-1/d}$。

基于这些假设,阻尼的表达式被简化为:

\[R = \frac{8\mu}{\pi} \frac{l_C}{r_C^4} \sum_{k=0}^{C} \left( \prod_{i=k}^{C-1} n_i^{-5/3} \right) \left( \prod_{i=0}^{k-1} n_i^{-1} \right).\]

当生物体变得很大,包含有很多的细胞时,就需要更多的分支,以使末端的毛细血管更够覆盖所有的细胞。所以,随着细胞数量的增多,每一个 $n_k$ 都相应地变大。当所有 $n_k \gg 1$ 时,求和中的 $k=C$ 这一项就会占主导,即:

\[R \approx \frac{8\mu}{\pi} \frac{l_C}{r_C^4} \left( \frac{1}{n_0} \cdots \frac{1}{n_{C-1}} \right).\]

也就是说,毛细血管贡献了大部分的阻尼。对于这个表达式,唯一值得注意的地方是,变量 $n_0, \ldots, n_{C-1}$ 具有重排对称性(permutation symmetry):所有 $n_k$ 都具有相同的地位。这就好比一群人抬一个重物,大家按圆形对称站立,因此每个人出的力也是相同的。这意味着当 $R$ 达到极小值时,所有 $n_k$ 也都相等。因此,所有 $\rho_k$ 或 $\lambda_k$ 也都相等(它们是 $n_k$ 的函数)。这正是前面提到的分形:所有的小钉耙都长得一样,只是尺寸不同。3

当然,在 $R$ 的近似表达式中,并不只有 $k=C$ 这一项起作用。求和中的 $k=C-1, C-2$ 这些项起到修正的作用。一方面它们对 $R$ 的影响更小。另一方面,在这些项里,大部分的 $n_k$ 也是同等地位的。所以,这些修正只会轻微地改变分形解。这意味着,真正使阻尼 $R$ 最小化的分支结构,是近似分形的。

从这个例子中,我们看出,分形的出现需要以下条件:

  1. 细胞的数量要大,使得 $n_k \gg 1$。
  2. 这时,在能耗的表达式中只有一项占主导,它对变量 $(n_0, \ldots, n_{C-1})$ 满足重排对称性。

这意味着,对于小型生物,例如一些小型无脊椎动物,细胞数量很少,不会有分形现象。

有趣的是,自相似结构具有非常小的复杂度。基因不需要编码每一个分支的形状。它只需要编码一个,因为所有分支都是相似的。这就产生了一个有趣的事情:正是因为无处不在的分形,基因能够编码复杂的分支结构。而分形是物理定律的结果。如果物理定律不是现在这样,可能就不会有分形,因此就不会有基因,也不会有生命,更不会有一个人,在这个温暖湿润的夜晚,思考分形的由来。


  1. 人们对分形的最初认识,就是来自于测量海岸线长度。更多有关分形的例子,参见Benoit Mandelbrot写的《The Fractal Geometry of Nature》。几乎整本书都是例子。 

  2. 参见West, et al. (1997)。理想的分支结构参见文中图1的C和D。然而,对于分形如何从最小能耗中产生,West并未给出推导过程。通过数值计算可以发现,最小能耗并不一定能产生分形,而是在一定条件下,产生近似的分形。

    诚然,West考虑的是一个非常理想的分支结构,一个球形母牛。实际的情况是,主动脉上并没有这样一处,所有的分支都从这里产生。同一等级的不同血管,分叉方式可能各不相同。只有通过数值模拟才能做出精准的分析。 

  3. 补充一个技术细节。在最小化过程中,我们还需要加入约束:例如,末端毛细血管的总数 $N_C$ 为常数。因为每根毛细血管负责的细胞数量是固定的,所以生物体的细胞数近似正比于 $N_C$。$N_C = \prod_{k=0}^{C-1} n_k$,这个表达式也具有重排对称性。