-
Notifications
You must be signed in to change notification settings - Fork 0
/
10_complexity.tex
187 lines (142 loc) · 14.5 KB
/
10_complexity.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
\input{structure.tex}
\graphicspath{{10_fig/}}
\usepackage{ctex}
\title{第十章\ 复杂性}
\begin{document}
\maketitle
复杂性科学有很大的复杂性,因为我们的世界包含各种复杂性。这个章节中我们会用一些例子来走入复杂性的世界。
\textbox{简易函数中的复杂性}{
你理解复数函数$f(z)=z^2+C$吗?
你理解实数函数$g(x)=R(x-x^2)$吗?
如果你觉得你理解,那么请看以下图像:
\marginnote{\cg{0.382}{BPlt}}
\cg{1.0}{MBPlt}
左边的四张图像是在不同的缩放程度重复应用$f(z)$的图像。右边的那个图是重复应用$g(x)$的图像。你意识到这些函数中隐藏的复杂性了吗?
这些图中藏了一个数字$4.669201609\cdots$。你能找到它吗?
}
\marginnote{\cg{0.37}{Britain-fractal-coastline-combined}
Image from Wikipedia, CC BY-SA 3.0}
\textbox{怎么测量海岸线的长度?}{
让我们用一个直尺来测量英国的海岸线。
测量出来的结果由左边第一张图显示。
让我们用一个更短的尺子来重新测量。哦,我们得到了一个比上次更大的结果。再短一点的尺子呢?得到了更长的结果。多亏我们世界是由原子组成的,这给了我们一个最短的距离量。不然的话,用无限小的尺子,我们可以测量出英国的海岸线是无限长的!
经典上来说英国的海岸线是无限长的?在开什么玩笑?
}
\textbox{四维人类}{
在科幻作品中,你可能听说过有些人住在四维空间(不包括时间)。他们会在我们作为三维人类的视线里突然出现、消失。
你崇拜他们吗?那么如果我告诉你我们就是四维人类呢?你可以想象从哪个角度来看,这是真的吗?
}
\section{重复:从兔子数量到混乱}
\textbox{作为兔子世代的逻辑斯谛映射$R(x-x^2)$}{
想象一个关于在数代的自我繁衍下的一个岛上兔子数量的模型。
在最简单的模型里,这些兔子的自我繁殖率是一个常数$R$。这就是说一代之后,$n_{k+1} = R n_k$。兔子数量会根据$n_1 = R n_0, ~ n_2 = R^2 n_0……$指数增长或减少。
这个模型太简单了。它并没有考虑到如果兔子数量太多了,岛上的资源会紧缺。这会导致兔子大量死亡也就导致兔子数量降低。如果我们用一个简单的模型来考虑进这个,设
\begin{align}
n_{k+1} = R (n_k - \frac{n_k^2}{S} )~,
\end{align}
$S$为常数。现在这个迭代方程有两个参数$R$与$S$。一个包含两个参数的方程增加了额外的复杂性。不过,在不失去概论性的情况下,我们也可以重新定义$x_k \equiv n_k/S$。那么$x_k$的迭代方程是
\begin{align}
x_{k+1} = R (x_k - x_k^2)~.
\end{align}
这代表了迭代的用函数$g(x) = R(x-x^2)$,然后用初始值$x_0$来计算$g(g(g(\ldots g(x_0)\ldots )))$。这个函数被称为逻辑斯谛映射。
}
\marginnote{\cg{0.37}{logisticXk} 不同R的情况下,$x_k$的图像。 黑色实线指的是$x_0=0.2$;红色虚线指的是$x_0 = 0.205$。对于小的$R$,两个线的区别是很微弱的。不过当$R$是大的,两条线的区别会变得混乱,这就意味着图像更依赖初始值了。}
\textbox{对于不同$R$的值,$R(x-x^2)$的行为}{
对于不同的$R$,在很大的$n$重复$x_{n+1}=R(x_n-x_n^2)$会得到什么结果呢?我们可以轻易地用一个电脑程序来测试这个。以下就是$n\rightarrow \infty$时的结论:
\begin{itemize}
\item 当$0<R<1$:$x_\infty =0$。因为出生率太低了,不足以弥补死亡数。
\item 当$1<R<3$:$x_\infty = (R-1)/R$。这个值叫做吸引子,因为它可以用任何$0<x_0<1$之间的取值得到。先假设有一个不变的极限,然后求解方程$x_\infty = R( x_\infty - x_\infty^2 )$。
\item 当$3<R<3.44949$:不存在一个独特的极限$x_\infty$。确实,当$k$很大的时候,$x_k$会在两个可能的值中波动。这可以被这么理解:兔子的一代中,生了太多的兔子。因此很多就死掉了。下一年,资源就变多了也就可以支撑更多兔子的生存。
\item 当$3.44949 < R < 3.54409$:$x_k$在4个可能的取值中间波动。这很难理解,但是可以很简单地用数字来验证。而且,当$3.54409 < R < 3.56407$:$x_k$在8个可能的取值中间波动;当$3.56407<R<3.56876$:$x_k$在16个可能的取值中间波动……当我们很小的增加$R$时,周期就翻倍了。
\item 当$R>3.56995$,我们已经看不出波动行为了。对于大的$k$, $x_k$的行为看上去就很随机了。它对初始值$x_0$的小变动的敏感度也呈指数增长。这种行为就叫做\emph{混乱}。
\end{itemize}
}
\textbox{分岔图}{
这个逻辑斯谛映射的图像就是以下很著名的分岔图。这里我们可以清晰地看出周期的翻倍和当$R$增加时,混乱的诞生。
\marginnote{如果你放大这个分岔图,你会发现它的子结构中有自相似。}
\cg{0.8}{BPltFramed}
}
\needspace{0.2\textwidth}
\mtextbox{曼德勃罗集}{
定义复数函数$f(z)=z^2+C$。曼德勃罗集就是一个关于数列$f(0)、f(f(0))\cdots$会发散或收敛的图像。这个迭代在复平面的复杂性在这章的开头就被画出来了。沿着实数轴,这个图像有自相似性。它的周期是根据费根鲍姆常数而定的。它与逻辑斯谛映射的关系在以下图像中被画出来了。
% 图:自维基百科
\cg{0.7}{Verhulst-Mandelbrot-Bifurcation-Wikipedia-public-domain}
如果你更深入地学习曼德勃罗集,你会发现在曼德勃罗集的不同部分,迭代会收敛到很多不一样的点。这跟逻辑斯谛映射很相似。你也会注意到曼德勃罗集的自相似性。我们会在之后再讲自相似性。
\mnewline
你可以在这个网站\href{https://sites.google.com/site/logicedges/}{logicedges}上找到以上联系的放大版以及更多关于复杂性的视频。
}
\textbox{恒纪元:翻倍的周期与费根鲍姆常数}{
从以上的观察中,我们可以发现这个波动在范围$R$: $R_n < R < R_{n+1}$里有$2^n$个可能的取值。当n很大时:
\begin{align}
\delta \equiv \lim_{n\rightarrow \infty} \frac{R_{n+1}-R_n}{R_{n+2}-R_{n+1}} = 4.669201609\cdots ~.
\end{align}
这个数字$\delta$就是费根鲍姆常数。有趣的是费根鲍姆常数不仅是兔子生育率的比,它还是一个通用的自然的常数。很多非线性的行为的周期都有同样的极限反应。
}
\textbox{乱纪元:决定论经典上的流失}{
在经典力学的框架中,拉普拉斯提出了如果一个聪明的恶魔知道了宇宙中所有粒子的初始位置和速率的话,那么这个恶魔就可以预测未来。它被称为拉普拉斯恶魔。
现在我们知道了决定论在量子力学中是不成立的(至少目前看上去不成立)。因此,拉普拉斯设想并不起作用。不过,就算在经典力学的框架中,拉普拉斯设想也并不在应用上起作用。这是因为在一个混乱的系统中,一个初始位置的细微偏差会被很快的放大。因此就算在经典的角度上,预测未来的难度是呈指数增长的。
\tcblower
1890年代,庞加莱研究了三体问题并提出了解对初始条件的敏感度成倍增长。这也是研究混乱的开端。几十年之后,他的研究成果大部分都被忘记了。
1961年,洛伦兹尝试用12个非线性偏微分方程来模拟天气的变化。有一天,他想使用数据打印输出从中间重新运行之前的模拟。但是,他发现之前的运算时不可复制的。他在多次尝试后发现了原因:结论对于初始条件的敏感度是成倍增长的。这个重新发现是混乱学的现代开端,之后也被称为“蝴蝶效应”:飓风由几周前的蝴蝶扑棱翅膀引起。
}
\section{分形:刷新的维度}
如果要理解为什么海岸线会有无尽的经典长度,让我们先考虑一个更简单的模型--科赫曲线。
\marginnote{\cg{0.35}{koch_edit}}
\textbox{科赫曲线}{
从一个线段开始,缩短它到$1/3$然后折四次,如右图。重复做\emph{无数次}。你就得到了科赫曲线。我们可以观察到一些科赫曲线的特性:
\titem{
\item 这个曲线是自相似的。取一部分并放大,你会得到与原图一样的图形。这个不平凡的自相似性也被称为分形结构。虽然海岸线不是精确的分形结构,但是他们有类分形的结构因为放大的地方“看着像”整体。你可以尝试在地图上放大看看这个特性。
\item 这个曲线中线段长度的和是什么?设原线段长$L$。第一次进行缩短-折叠做法后长度为$(4/3)L$;第二次之后长度为$(4/3)^2L$……。然后第$n$次之后长度为$(4/3)^nL$。当$n \rightarrow \infty $,长度发散。因此科赫曲线将一个无限长的直线塞入了一个有限高和宽的长方形。
\item 因为我们一直在折叠它,所以这个曲线从远处看上去可能有一定的“宽度”。因此这个曲线在某种角度更像一个二维物体而不是一维的线。可是,如果你无限近的看这个曲线,它却又是一维的。那么这个曲线的维度是什么?
}
}
在研究科赫曲线的维度之前,让我们先归纳一下我们对于空间维度的定义。
\textbox{曲线的维度:豪斯多夫维数}{
如何正式地定义空间维度呢?有许多的方法。有一种是用物体缩放时的行为。假如说有一个正方形,他有一个平凡的自相似性。对半切它的边长,你就会得到4个自相似的正方形。
\mtextbox{谢尔宾斯基三角形}{
它是分形的另一个例子。下图就是一个谢尔宾斯基三角形。
\cg{0.8}{sierpinski}
当你对半砍它的边长,你会得到3个自相似的部分。因此$D_H = \log 3 / \log 2$。
}
\cg{0.5}{square-similar}
普遍来讲,如果你以$1/M$的间隔切割边长,你会得到$N$个自相似的正方形。那么$M$与$N$的联系是啥?当然,$N = M^2$,所以
\begin{align}
\frac{\log N}{\log M} = 2~.
\end{align}
记得正方形是个二维物体。右侧出现的2仅仅是个巧合吗?你可以尝试一个三维的箱子或者更高维度的物体。你很快就会发现这并不是一个巧合。我们概括一下就可以得到:
\begin{align}
D_H \equiv \mbox{(dimension)} = \frac{\log \mbox{(number of self-similar pieces)}}{\log \mbox{(number of subdivision of edges)}}~.
\end{align}
这样定义的空间维度就叫做豪斯多夫维数。
\tcblower
那么科赫曲线的豪斯多夫维数是多少呢?以长度的1/3切会得到4个自相似的部分。因此$D_H = \log 4 / \log 3 \simeq 1.26$。这是一个介于一维和二维之间的物体。这就是数学上的来说它的粗糙程度成为了线的宽度。
你可以在下 \href{https://en.wikipedia.org/wiki/List_of_fractals_by_Hausdorff_dimension}{维基百科}找到一个美丽分形以及它的豪斯多夫维数的列表。
}
\marginnote{\cg{0.2}{boxDim}}
\textbox{海岸线以及其他类分形物体}{
海岸线其实没有严谨的自相似性。它最多只有统计自相似性。无论如何,我们仍旧可以通过它的缩放属性来确定它的分形维数:在地图上画网格线。先数海岸线横跨了多少个格子,然后再数当我们缩短网格线之间的距离后,海岸线横跨了多少个格子。有人这样做得到了英国海岸线的维数是1.25。挪威、澳大利亚、南非的海岸线分别有维数1.52、1.13、1.05。维数越小,海岸线越平滑。
\tcblower
\twocol{0.7}{0.1}{0.18}{类分形结构在自然中还有很多个例子。比如说,花菜的分形维数大约是2.8。这是合理的因为花菜是一个三维物体,但是它有很多由分形结构引起的洞。}{\cg{1}{cauliflowers}}
}
\textbox{克莱伯定律:生物的新陈代谢率}{
让我们转移视线到生物学上。猜猜看新陈代谢率和生物的质量的关系是什么?它们是线性比例的吗?
\cg{0.7}{metabolic1}
\marginnote{\cg{0.35}{WBE} 图自West, Brown, Enquist, Science 276, 122 (1997)。见他们的论文Science 284, 1677 (1999)。}
这是个黑鸣森做的关于斯诺纪念医院报告的图表(1960)。有趣的是新陈代谢率以$M^{3/4}$增长。这个奇怪的幂被称为克莱伯定律。在$3/4$中的3是很显然易见的--这是质量根据长度的缩放。那么这个4又是哪里来的呢?研究者又发现了心率和生长率以$-1/4$缩放、血液回流时间和寿命以动物质量的$1/4$缩放。同样的,这个神秘的因子4又出现了。
\tcblower
20世纪90年代,韦斯特、布朗、恩奎斯特指出了类分形结构(例如血管)在动物体内传输材料是非常有效的。三维中的类分形结构对应了四维中的无分形结构。因此,在分形意义上,我们实际上生活在 4 个空间维度中!
}
\section{结语:总结和下一步}
\textbox{额外参考阅读}{
\titem{
\item 我们推荐一个非常好的在线课程:梅兰妮·米切尔\href{https://www.complexityexplorer.org/courses}{《复杂性的介绍》}。她还写了本书叫做\href{https://www.amazon.com/Complexity-Guided-Tour-Melanie-Mitchell/dp/0199798109}{《Complexity: A Guided Tour》}。
\item 如果你要找更正式的教科书,可以见福尔科纳的\href{https://www.amazon.com/Fractal-Geometry-Mathematical-Foundations-Applications/dp/0470848626/ref=pd_cp_b_3}{《Fractal Geometry: Mathematical Foundations and Applications》} 。
\item 这里的很多个模型都可以通过编程语言\href{https://ccl.northwestern.edu/netlogo/}{“NetLogo”}来模拟。多亏了NetLogo的功能,这些模型的代码读起来既简单又好玩。
}
}
\textbox{下一步是什么?}{
你可能会想要学习复杂世界中的信息、紧急行为、网络、遗传算法和元胞自动机。这些可以通过推荐阅读来学习。
复杂性是一个跨学科的学问。你可能会发现你的下一步是研究如何路由计算机网络、如何向客户推荐商品、大脑如何在生命科学中工作、鸟类如何成群飞行、如何利用你的社交关系联系到一个人、如何计划扩展一个城市,如何为机器人设计算法,如何做出更精确的天气预报,甚至黑洞如何吸收物质。
}
\printindex
\end{document}