更改

跳到导航 跳到搜索
添加30,298字节 、 2020年5月15日 (五) 11:16
无编辑摘要
第529行: 第529行:  
{{Div col end}}
 
{{Div col end}}
    +
{{#seo:
 +
|keywords=渗流模型,临界现象,标度律
 +
|description=渗流模型介绍
 +
}}
 +
==标度行为==
 +
标度行为(Scaling)是现在复杂系统研究中的一个非常典型的现象,它体现为系统的若干宏观指标或者某个变量的分布函数满足具有不同幂指数的幂律行为。例如,社会上的收入分布就满足著名的Pareto律,也就是收入分布的密度函数<math>f(x)\sim x^{-1.75}</math>,这是一个幂律分布;再如英语单词中,按其出入频率从大到小排序,则排序为r的单词的出现频率为<math>f(r)\sim r^{-1}</math>,这是著名的Zipf律。另外还有两变量的关系也是幂律的,如生物体新陈代谢和它的Body Size之间满足3/4幂律关系,即<math>F\sim M^{3/4}</math>,这被称为[[Kleiber律]]。再如大家熟知的无标度网络,真实世界很多复杂网络的度分布都满足幂律分布,即<math>p(x)\sim x^{-3}</math>.
 +
 +
 +
这是一大类标度行为,另外还有一大类标度行为就是我们所熟知的[[分形]]!如果你还记得如何计算一个分形图的分形维,那么实际上分形的测度值y(如曲线长度、面积)是和你测量它的尺的精度x呈现出幂律关系的,一般<math>y\sim x^{-D}</math>,其中幂指数D就是这个几何体的分形维。当然,对于随机分形来说(诸如[[布朗运动]]Brownian Motion、[[列维飞行]]Levy Flight),也普遍存在着标度行为(Scaling)。
 +
 +
越来越多的标度现象呈现出来,迫使人们追踪溯源,究竟标度行为,幂律现象最早起源于什么研究呢?当然,严格来说,很早很早以前,牛顿时代,人们就开始跟幂律较劲了,例如牛顿著名的万有引力公式<math>F\sim \frac{M_1M_2}{r^2}</math>就是一个幂律关系。但是,在物理中,真正将标度行为一词提出来,并展开相对大规模研究的大概有两个源头,一个就是液体中的湍流,人们发现湍流就存在着多标度现象,也就是你在不同的标度(尺度,Scale)下去看它,它都展现出了相似的规律。
 +
 +
另外一个源头,也就是我们今天要讨论的重点,也就是统计物理中的相变,尤其是临界相变现象了。人们对处于相变的复杂系统,例如磁体在热环境下的相变行为进行详细地研究发现,当处于相变临界点(诸如临界温度)附近的时候,系统的很多宏观指标都会展现为一系列标度行为(也就是说,很多指标之间的关系都可以用幂律来刻画),而且系统本身也在相变点附近的时候展现出了很多自相似的行为(我们会在后面具体说明),所以,临界与标度行为被划归为统计物理的一个非常重要的分支之一。
 +
 +
更有趣的是,正当理论家们针对相变行为没有什么得手的处理工具的时候,人们发现最早诞生于量子场论中的重正化的方法刚好可以拿过来分析临界现象,而且能够相对精确地预测出发生镶边时候的临界参数。笔者以为,重正化方法是发现于20世纪70年代一种非常新而且意味深刻的研究方法。它其实开辟了一条全新的研究系统的思路。我们都知道,物理研究客观世界的标准做法就是为待研究系统写下演化方程x=f(t),注意,这个方程都是针对时间t去写的,或者是写下物理量随空间的变化;但是重正化方法却开辟了一条新的路,针对处于临界状态下的系统来说,我们并不关心系统随时间或者空间是怎么变的,而是写出某个物理量随着它的标度如何变化x=f(s),这里的s就是你研究这个系统的标度。因此,按照Nottle的[[标度相对论]]的做法,标度s应该被视为与时间、空间同等重要的一种全新的基本维度。
 +
 +
为了让读者更清楚地了解什么是标度现象,什么是临界相变,以及什么是重正化方法,等等,我们以两个非常容易理解的模型化系统作为例子。注意,这两个例子仅仅是模型(人造的东西),而不是真实的系统。但是,正是因为大多数读到此文章的人不是物理学专业出身的,所以,我们才抛开实际的物理背景不谈,而直接进入最核心的模型世界,其目的就在于读者能够真正实现跨学科的领悟。
 +
 +
我们选择的这两个模型分别是[[渗流模型]](Percolation)和[[ISING模型]](自旋玻璃的伊辛模型)。第一个格点上的渗流模型非常简单直接,使你一下子就能抓住问题的本质,而且在这里我也尽量采用计算机模拟的方法,而回避难度较大的数学,但是这样做的代价是忽略了很多有趣的东西。第二个模型是二维的[[ISING模型]],在这里我放弃了计算机模拟的做法,而是尽量用数学演绎的方法给大家展示重正化的处理方法。
 +
 +
==渗流模型==
 +
首先,我们介绍渗流模型,它的基本设定非常简单,中学生也能读懂。
 +
 +
'''渗流模型''':让我们考虑一个L*L个格子组成的方格世界(有点像元胞自动机),让我们以概率p为这些格子染色,也就是我一个格子一个地跑,跑到每个格子上面的时候,我就抛掷一枚硬币,假设这枚硬币正反面不均匀,出现正面的概率为p。则,如果我得到了正面,我就把格子染成黑色;得到反面的时候就把格子染成白色。如下图(L=10):
 +
 +
[[File:Percolation0(1).png||渗流模型]]
 +
 +
接下来,我们来对这些黑色的格点再进行染色, 也就是说我们会把一大片相通的黑色格点染成同一种颜色,而两片彼此不相通的格点就用不同的颜色来染。所谓的两个格点相通,是指你能找到一系列相邻(只考虑上、下、左、右四个邻居)的格点构成的路径连接这两个节点。我们把相通的同颜色的格点叫做一个团簇(Cluster)。例如下图就是对上图染色后得到的:
 +
[[File:Percolationsmall.png||连通集团]]
 +
 +
在这里,我们一共有8个不同的团簇(Cluster),因此,我们也就用8种不同的颜色对它们进行了染色。注意,红色和蓝色相靠近的那个区域的方格并没有彼此相邻,这是因为对角线上的两个方格并不是邻居。
 +
 +
我们知道,概率p是一个关键的参数,因为不同的p就会带来不同的初始黑色方格的密度,而显然如果黑色方格密度越大,那么这些格子之间就更有可能相互连接形成较大的团簇,而如果密度越小,它们彼此之间就很难形成团簇。下面我们就考虑不同的p对最后团簇形成状况的影响。
 +
 +
'''p对100*100个方格形成团簇的影响'''
 +
 +
p=0.4:
 +
 +
[[File:Percolation0 4.png||p=0.4]]
 +
 +
p=0.59:
 +
 +
[[File:Percolation2.png||p=0.59]]
 +
 +
p=0.7
 +
 +
[[File:Percolation3.png||p=0.7]]
 +
 +
 +
其中,这些图形中,尺寸最大的一个团块被我们用特殊的红色来对其进行标识。我们会看到,当p较小(p<0.59)的时候,这些团簇相对也比较小,但是由于它们彼此倾向于不联通,所以,我们需要用较多的颜色来标识这些团簇;当p较大(p>0.59)的时候,它们非常倾向于联通形成一大个团簇,但是此时染色的色彩种类数相对较少。而当p恰好处于0.59的时候,其中既存在着较大的团块,同时又会形成各式各样大大小小的不同团簇,并且,染色的种类数也很多。
 +
 +
===什么叫渗流? ===
 +
 +
你一定会好奇,你怎么知道恰好是0.59呢?这个渗流的名字由何得来呢?现在谜底可以揭晓了,我们所谓的渗流状态,是指系统中出现了一个大的团簇,能够将这些格点的左右两个边界或者是上下两个边界打通、渗透。这样,在上面的三种不同的情况下,<math>p_c=0.4</math>的时候就说系统没有形成渗流,而对于<math>p_c=0.59</math>和<math>p_c=0.7</math>来说就说系统出现了渗流。
 +
 +
那么这个0.59是怎么来的呢?在一个无限大的格点世界中(L无穷大),存在一个临界的概率<math>p_c</math>,当<math>p<p_c</math>的时候,系统不能形成渗流,而当<math>p\geq p_c</math>的时候,系统可以形成渗流。那么这个<math>p_c</math>就是我们感兴趣的临界概率。科学家们可以通过写出在L无穷大情况下,任意一个格点隶属于一个无穷大的渗流团簇的概率表达式,即<math>Percolation(p)</math>,就可以求得临界概率的数值<math>p_c</math>的大小了。理论计算<math>p_c=0.59274621</math>。 当然,还有一种计算<math>p_c</math>近似值的方法,我们将在后面的重整化部分介绍。
 +
 +
具体的数学表达式我们就不写了,我们下面通过数值模拟来近似地找出临街概率<math>p_c</math>所在的位置。
 +
 +
===相变===
 +
 +
下面,我们来做这样的实验,我让参数p从0.1到0.9取不同的数值,然后我计算在每个不同取值p的时候,出现的最大的团簇的尺寸(方格数)<math>S_{max}</math>,我把p当作横坐标最大团簇的尺寸数作为纵坐标。由于系统是随机的系统,这样每次给定p后,我们计算的最大团簇尺寸都不一样。为了避免随机扰动,我们便进行系综平均(由于计算时间很长,每个参数我们只做了15次实验)。然后将不同系统尺寸(L的不同值)情况下的<math>S_{max}-p</math>的曲线画出:
 +
 +
[[File:Smax-p.png||Smax-p]]
 +
 +
首先,我们看到无论L的取值,所有曲线都是单调递增的,并且随着L的增大,曲线递增得越陡。尤其是对于较大的L(如L=150),曲线就会在0.6附近发生严重的突变。我们将这一现象称之为相变(Phase transition),也就是系统的某种宏观状态随着某一个参数的变化而发生突然的变化。(严格来讲,渗流模型中的相变应称之为二级相变,或者连续相变。它是指系统的热力学函数(熵、自由能)等没有发生突变,而是热力学函数的导数发生突变,但在此处我们不去严格地讨论这些区别)。
 +
 +
可以预想,如果我们继续提高尺寸L,那么这个曲线就会更陡,而且相变点对应的参数p就会越接近<math>p_c</math>。
 +
 +
==标度行为==
 +
 +
 +
 +
更有趣的是,当<math>p</math>在<math>p_c</math>附近的时候,系统还会产生各式各样的标度行为(也就是幂律行为)。下面,我们来列举一些标度行为。
 +
 +
===团簇尺度分布===
 +
 +
首先,我们可以来考察一个渗流系统中各个团簇的尺寸的概率分布情况。我们知道,渗流中各个团簇(各个不同颜色的块)的尺度是非常不同的,于是为了刻画这种多样性,我们不妨把一个团簇的尺寸视为一个随机变量,从而考察这个随机变量的概率分布。(就好像,大街上每个人的身高都不同,你将身高作为随机变量,你来考察人们身高的概率分布一样)。下面这张图就展示了不同参数p的条件下团簇尺度的概率分布情况:
 +
 +
[[File:Sizedistribution1.png||Size Distribution]]
 +
 +
此图展示的是在<math>L=150</math>情况下,不同的概率p下团簇的尺度分布情况。注意这张图上的每一个数据点的物理意义是,在给定这个尺寸<math>x</math>的情况下,有多少比例的团簇落于小区间<math>x+dx</math>。我们看到,随着<math>p</math>增大越来月接近临界点0.59的时候,分布曲线就越来越接近一条直线。注意这是双对数坐标,也就是横坐标和纵坐标都取了对数,所以直线就意味着两个变量x和y满足幂律关系。针对<math>p=0.58</math>的情况下, 它的尺度分布密度函数可以拟合为<math>p(x)=0.37*x-1.72</math>。
 +
 +
下图则展示的是<math>p>p_c</math>的分布情况:
 +
 +
[[File:Sizedistribution2.png||Size Distribution when p>pc]]
 +
 +
这张图展示的是<math>p>p_c</math>时候的尺度分布情况,我们看到当<math>p</math>偏离临界值越多,分布曲线也就越来越偏离幂律分布。我们看到<math>p=0.7,0.8,0.9</math>等曲线的尾部直线的情况并不是因为分布曲线变成了直线,而是做统计的时候中间尺度不存在相应的团簇,因而为0,但是在画图中,我们删除了所有纵坐标为0的数据点,所以就出现了连接两个零星数据点的直线。
 +
 +
所以,我们可以得出结论,在临界点附近,系统的尺度分布是幂律分布,即一种标度行为(类似收入分布和词频的Zipf律)。
 +
 +
 +
===团簇的分形特征===
 +
 +
另外一种标度行为与分形有关也与我们将要介绍的重整化方法有关。通过试验,我们知道处于临界状态附近的渗流系统中的大的团簇基本上都是具有自相似的分形体。比如我们考虑一次<math>L=150</math>,<math>p=0.6</math>的试验得到的最大的团簇,如图:
 +
 +
[[File:Fractal.png||Fractal]]
 +
 +
这个红色的Cluster就是一个发生渗流的最大的团簇,为了清晰展示,我们将其余的Cluster都用淡灰色表示了。注意观察这个大的团簇,它与我们常见的布朗运动所形成的随机轨迹很像,它实际上是一个随机分形几何体。我们怎么知道这一点呢?实际上,我们可以通过Box Covering(盒覆盖)方法来计算这个红色大团块的分形维。
 +
 +
所谓的盒覆盖的方法实际上很简单,就是我们用不同的分辨率大小的盒子去覆盖这个几何体,那么在给定分辨率s的情况下,我们便能够测定要覆盖该几何体所用掉的盒子的数量<math>l(s)</math>来作为该几何体的在s尺度下的近似面积;然后我再用稍小一些的(更精细的分辨率)盒子<math>s'</math>来覆盖这些方格,得到新的近似面积<math>l(s')</math>。这样不停地重复过程,我变换不同的<math>s</math>就能够得到一条曲线,然后我就能画出一张<math>l(s)</math>与<math>s</math>之间关系的曲线。我们知道对于一个通常的二维几何体来说(例如一个圆),我们用此种方法得到的曲线就是一条幂律曲线,即<math>l(s)\sim s^{-D}</math>,并且<math>D=2</math>。但是对于一个分形几何体来说,我们虽然也能得到一条幂律曲线,但是<math>D</math>一般会小于2,因此它就是一个分形。
 +
 +
下面,我们就可以用Box Covering方法来得到这个红色的团簇的分形维,结果如下:
 +
 +
[[File:Fractal dimension.png||Box Counting]]
 +
 +
这就是由变换覆盖盒子的大小而覆盖整个图形所得到的幂律关系在双对数下的直线,并且直线斜率也就是分形维是1.95,它小于2。可以断言,对于更大的试验L更大来说,我们会得到团块的分形维会更小一些,这反映了团簇的复杂程度就会更加偏离常规几何体。
 +
 +
由此,我们得到结论,处于临界状态下的团簇是自相似的分形结构,这也是一个标度行为。当然还有其它的标度行为,我们在此略去不谈了。
 +
 +
==重整化==
 +
 +
 +
 +
===基本思想===
 +
 +
重整化(Renormalization)是一种很奇怪的方法,它起源于一种类似于工程方法的操作,虽然说不出所以然来,但是却很好用。在量子场论中,人们曾用重整化方法消除了很多场论中的无穷大,从而,人们可以完成计算。后来,就发现,重整化这个方法很给力,不仅仅可以用在量子场论中,还可以用到湍流,以至临界现象之中。屡试成功之后,人们开始认真思考,究竟重整这种方法为什么合理呢?它有没有更深层次的原因呢?
 +
 +
下面,我们就用这个渗流模型为例来说明针对临界现象,我们应该如何应用重整化方法。
 +
 +
先说一说我们为什么要在这个渗流模型中运用重整化方法呢?就我所知,目前将重整化方法用到渗流模型中主要的目的就是要近似计算临界参数<math>p_c</math>。之前,我们介绍了计算<math>p_c</math>的方法之一是获得模型的严格解析解,但是这对于二维的情况来说已经很复杂了,那么对于三维甚至更高维度的渗流模型中,我们通常是无法写出解析解的。所以,人们急需要一种计算<math>p_c</math>的近似方法。重整化就是其中的一个最主要的方法。
 +
 +
让我们从前面介绍的标度行为讲起。通过观察,我们知道,处于临界状态的团簇都是一些分形几何体。也就是说如果我们用不同的放大镜去观察这个几何体,我们便能得到相似的图形。然而,关键在于,什么叫做用不同的放大镜来看这个几何体呢?假如我们的观察能力很精细,那么我们就能看到系统的任意的精细结构;如果我们观察能力不是很强,我们就会看到一张粗略的图,而忽略了一些细节信息。而临界状态下的渗流模型是分形的也就意味着,无论我们用多么精细的尺度去看它,它都是差不多的。
 +
 +
这样,我们知道,其实蕴藏在这种自相似分形中的最关键因素就在于
 +
 +
'''1、用不同的尺度去观察系统; '''
 +
 +
'''2、从精细尺度(小尺度)过渡到粗糙尺度(大尺度)的时候要忽略很多细节信息; '''
 +
 +
'''3、即使我们忽略了一些信息,系统仍然展示出了一定的不变性。'''
 +
 +
遵循这样的思想,我们便能发明出重整化的方法。所谓的重整化实际上是如下一系列步骤,在理想情况下,它应该应用到无穷大的渗流系统中:
 +
 +
'''1、将原模型划分成<math>b*b</math>大小的块(变长为b个小格子的Block);'''
 +
 +
'''2、将一个<math>b*b</math>大小的块的状态原始信息(也就是染色前的黑白状态)映射成一个格子的信息(这一步叫做<big>粗粒化(Coarse Graining)</big>,也是重整化方法中的重点);'''
 +
 +
例如,我们用2*2大小把原模型分成4个方格一组的块,那么所谓一步粗粒化就是要从<math>16=2^4</math>个可能方格排列中映射成一个黑或者白的方格,诸如下面的一个粗粒化规则:
 +
 +
[[File:Gridrule.png||Coarse Graining Rule]]
 +
 +
也可以这样解释,当我们观察者站在较远的地方观察整个系统的时候,我们就会把2*2大小的方格信息忽略成一个方格的信息。
 +
 +
'''3、这样我们得到的新的粗粒化后的方格又构成了一个新的渗流模型。将新模型与原模型比较。 '''
 +
 +
 +
让我们以一个<math>L=150,p=0.6</math>的渗流模型为例来说明,这个模型原始的情况如下:
 +
 +
[[File:Renormal0.png||Renormalization Step 0]]
 +
 +
图*
 +
 +
其中,灰色和红色的格点其实就是那些已经占据的格点(即原始的黑色),红色为最大团簇。注意,粗粒化规则是针对原始的黑白格点施行的,我们使用的粗粒化规则如下图:
 +
 +
[[File:Renormalrule(1).png||Renormalization Rule]]
 +
 +
也就是如果四个格子中黑色的格子超过了一半就把它“忽略”为黑格子,否则如果黑格子有两个,则这两个黑格子竖排的话就映射为黑格子,否则还是白格子。注意,这是一组特定的映射规则,实际上我们还可以变换其它的与此规则类似的规则。
 +
 +
'''对不同情况渗流的重整化'''
 +
 +
之后,我们就对原始的渗流模型即图*实施连续的重整化操作4步,如下:
 +
 +
[[File:Renormalization.png||Renormalization p=pc]]
 +
 +
 +
在这张图中,每一列为一步重整化操作,最左边的一列为原始的模型。每一列下面一行的图形为对上面图形的蓝色的8*8小区域进行放大展示(观察方便)。这样原始图形左1进行一次重整化操作得到图中左2的图(注意,一次操作会把4个小格子映射为一个大格子,为了比较,我们把每一步操作都缩放成与原图形相同的分辨率,所以没进行一次格子就缩小1/4,但是底下的局部放大的分辨率不变以便比较)。对左2图,我们再次进行重整化就得到左3,……。并且,每次重整化之后,我们实际上得到了一个完全不同的渗流模型中(因为一步重整化会改变黑格子的概率p),所以每做完一次之后,我们再求得一次最大团块,并用红色格点表示。那么,重整化操作并不是简单地对原始图局部放大,而是对原模型进行忽略信息的变化而得到新的模型。
 +
 +
 +
 +
同样,我们可以对<math>p=0.5</math>和<math>p=0.7</math>两种情况下的<math>150*150</math>的渗流模型进行重整化操作,它们的过程如下图:
 +
 +
原始的<math>p=0.5</math>
 +
 +
[[File:Renormalization2.png||p<pc]]
 +
 +
原始的<math>p=0.7</math>
 +
 +
[[File:Renormalization3.png||p>pc]]
 +
 +
通过比较<math>p=0.5,0.6,0.7</math>这三种情况我们发现,重整化操作对<math>p=0.5</math>和<math>p=0.7</math>这两种情况的影响很大。例如,在<math>p=0.5</math>的情况下,我们进行重整化操作一步,就会让概率<math>p</math>减小一些,也就是我们看到的有色的格点越来越稀疏;而对于<math>p=0.7</math>的情况,则重整化操作会让有色格子的密度<math>p</math>越来越大。另外,这两种情况对于最大团簇的比例影响也是很大的,在<math>p=0.5</math>的情况,红色格子的比例迅速减小,而<math>p=0.7</math>情况下的红色格子比例迅速增加,很快就接近1了。
 +
 +
 +
而只有在临界状态附近,即<math>p=0.6\sim p_c</math>的情况下,重整化操作对有色格子的密度,最大团簇的密度几乎没什么影响。这一点在下图中看得更明显:
 +
 +
[[File:Renormresult.png||Results]]
 +
 +
该图画出的是有色格子(原始的黑格子)的密度随重整化步数的变化图。在这三种情况下,只有<math>p=0.6</math>的时候,曲线基本保持不变,而在其他情况下,Density要么增大,要么减小。
 +
 +
因此,对不同情况下的渗流模型进行重整化操作的结果如此,那么我们如何反过来通过重整化操作的办法来推出临界概率<math>p_c</math>呢?
 +
 +
===重整化群方程===
 +
 +
 +
我们知道任何一个渗流模型,唯一的决定参数就在于<math>p</math>,而我们对一个渗流模型进行一次重整化操作,实际上就是对<math>p</math>进行了变化。假设再远尺度<math>s</math>下的黑格出现的概率为<math>p(s)</math>,那么经过一次重整化操作,我们的尺度从<math>s</math>变成了<math>s'</math>,尺度扩大了,相应的黑格概率<math>p</math>也变为了<math>p(s')</math>,下面的问题就是,这个<math>p(s')</math>与<math>p(s)</math>是否有什么关系呢?即,我们假设:
 +
 +
 +
<math>p(s')=f(p(s))</math>
 +
 +
 +
我们就要求这个<math>f</math>函数。而我们知道,实际上<math>f</math>的核心就在于粗粒化规则,即下图:
 +
 +
[[File:Renormalrule(1).png||Renormalization Rule]]
 +
 +
也就是规定我们如何进行信息忽略的。注意,这些规则的左侧实际上就是原尺度<math>s_n</math>下面的各种局部的黑格占有情况,右侧为新尺度<math>s_{n+1}</math>下的黑格占有情况。那么<math>p(s_{n+1})</math>和<math>p(s_n)</math>的关系就可以由下式得到:
 +
 +
 +
<math>p(s_{n+1})=p(s_n)^4+4p(s_n)^3(1-p(s_n))+2p(s_n)^2(1-p(s_n))^2 </math>
 +
 +
 +
<math>p(s_n)</math>的四次方项对应的是规则中的最后一个规则(也就是说在原始尺度下,黑格要连续出现4次,它的概率显然是<math>p(s_n)^4</math>),3次方项是规则左边有三个黑格的情况,这一共有4条规则,所以系数为4,概率是黑格连续出现3次,并且最后一次是白格,所以是<math>p(s_n)^3(1-p(s_n))</math>;2次方相对应的是两种两个黑色竖向连在一起的2条规则,系数为2.
 +
 +
===重整化流及不动点===
 +
 +
因此,每进行一次重整化操作,模型的尺度从<math>s_n</math>变成了<math>s_{n+1}</math>,则概率<math>p</math>就从原来的<math>p(s_n)</math>变成了<math>p(s_{n+1})</math>,而且这个变换按照上式进行,于是,我们便得到了一个迭代方程,它告诉我们每进行一次重整化操作,黑格的比例会如何变化。不同的初始概率<math>p(s_0)</math>会决定这个迭代方程的演化轨迹。这也就是下面的图:
 +
 +
[[File:Renormresult.png||Renormailization Flow]]
 +
 +
 +
该图展示的是三个不同的初始点<math>p(s_0)=0.5,0.6,0.7</math>下重整化方程的演化轨迹。我们看到对于<math>p(s_0)=0.5</math>的情况,曲线逐渐下降,如果原始的方格为无穷大,并且重整化操作一直做下去,那么这条曲线就会逐渐逼近于0,对于<math>p(s_0)=0.7</math>,曲线会逐渐逼近于1,对于<math>p(s_0)=0.6</math>,虽然它下降的很慢,但是也会逐渐趋近于0.实际上,这些曲线的渐近行为完全是由重整化群的不动点决定的。所谓的方程的不动点,是指一个特殊的<math>p^*</math>满足:
 +
 +
 +
<math>
 +
p(s^*)=p(s^*)^4+4p(s^*)^3(1-p(s^*))+2p(s^*)^2(1-p(s^*))^2
 +
</math>
 +
 +
 +
我们可以让<math>n\rightarrow \infty</math>,得到上面的方程,那么求解这个方程,我们得到<math>p(s^*)</math>的4个不同的解:
 +
 +
<math>
 +
\{0,1,\frac{-1 - \sqrt{5}}{2}, \frac{-1 + \sqrt{5})}{2}\}
 +
</math>
 +
 +
其中,第三个解为负,故略去,因而我们得到三个有意义的解:<math>\{0,1,0.618\}</math>,这些解被称为重整化方程的不动点。
 +
 +
 +
对于0和1的情况,我们称之为平凡的不动点(Trivial fixed point),它们分别对应于经过重整化操作后最后方格的密度是0(无方格)和1(全部是方格)的情况,这两个都是稳定吸引子,也就是对于绝大多数初始的<math>p(s_0)</math>,它们经过重整化的无限次操作后都会收敛到这两个吸引子,而且一旦收敛,就不会逃出去了。而对于最后一个解<math>0.618</math>则是一个不平凡吸引子(non-trivial fixed point),这一情况恰好就是我们要找的分形的情况。也就是,当<math>p(s_0)=0.618</math>左右的时候,重整化操作对渗流图形不会产生影响。
 +
 +
因此,这个吸引子<math>p(s^*)</math>就是我们要找的那个临界点<math>p_c</math>。因为在这个临界概率下,渗流系统具备尺度不变性,也就是无论你怎样缩放它(重整化操作),它都会得到相似的渗流系统。
 +
 +
细心的人会质疑,这个非平凡吸引子<math>p(s^*)</math>并不是我们之前所说的临界点<math>p_c</math>呀,之前我们说的<math>p_c=0.593</math>...,而现在通过重整化方程求出的临界点是<math>0.618</math>,虽然很接近,但是毕竟两个数是不一样的。问题出在哪了呢?
 +
 +
 +
我们要知道,实际上重整化方法求得临界点仅仅是一种近似的操作,所以非平凡吸引子是<math>p_c</math>的近似。那么,误差来源于哪里呢?主要是在于粗粒化规则。在我们使用的规则中,我们规定原来的黑格数>=3的时候,我们近似为一个黑格,对于黑格数=2的情况,我们只考虑上下相通的情况才近似为一个黑格。实际上,我们知道,这一操作会破坏原始的团簇情况。如果两个团簇发生水平相邻的时候,则我们的粗粒化操作就会忽略它。因此,在这一步,我们引入了误差。你可以试验一下,假如我们的操作更粗糙一些,仅仅按照多数原则,即原始黑色格超过3个的时候,我们映射为一个黑格,其它都是白格,那么你会得到更加偏离的临界概率。反过来,如果粗粒化操作更精细,那么得到的结果也就会越好。
 +
 +
==总结==
 +
 +
 +
 +
===关于渗流模型===
 +
 +
渗流模型是一种设置规则非常简单的模型,但是它的行为却非常复杂多变,甚至包含了相变临界现象,已经各种各样的标度行为。(物理学家就喜欢这样的模型,首先,模型的内容一定要简单,其次模型的表现一定要复杂而丰富,以致包含尽量多的真实系统中能看到的现象)。另外,渗流模型还可以用到更广泛的实际系统,例如生物学家考夫曼在其著作《宇宙为家》中讨论的那个纽扣连接模型就是一个典型的随机网络的渗流模型,二维渗流模型中的很多方法可扩展到复杂网络的情形中。
 +
 +
虽然物理学家可以写出二维渗流问题的解析解,但是对于各种标度现象,如果从传统的时空观角度出发,人们仍然无法真正深刻地理解这些标度、自相似现象。于是,我们便需要重整化这一操作,虽然重整化仅仅是一种近似,但是它的切入点非常深刻,一下抓住了标度行为的本质,即尺度不变性。
 +
 +
===重整化方法===
 +
让我们从头再来看一看重整化操作究竟意味着什么。乍一看,重整化操作仅仅是一个技术活,根据不同的渗流模型,进行尺度变换,从而写出重整化方程,求得不动点。但是,其实这样的一种切入点非常正中要害,也就是抓住了系统的分形特征和尺度不变性。
 +
 +
反过来讲,如果我们忘记了其它常见的诸如动力学方法,而直接从重整化方法切入会怎样?也就是说,我们直接给出重整化方程,写出一个系统随着尺度而变化所应该满足的方程,那么我们就能直接得到具有分形特征的系统了。
 +
 +
也就是说,其实无论系统初始的动力学规则为何,无论是渗流还是Ising模型,只要系统一演化到临界状态,产生了各种标度行为,那么我们其实就可以放弃最一开始的动力学规则等限制条件了,而完全可以直接从重整化方程的角度出发重新刻画系统的标度行为。所以,重整化方法很有可能是一个新的起点而非一种简单的技术手段。
 +
 +
 +
===参考资料===
 +
Mathematica的源程序下载: [http://www.swarma.org/download.php?id=332 Percolation模型Mathematica程序]
 +
 +
[[使用python制造渗流模型]]
 +
 +
 +
 +
====本文写作主要参考读物====
 +
 +
{{cite book |last1=Christen  |first1=Kim |year=2006 |title=复杂性和临界状态 |publisher=复旦大学出版社 |ISBN=9787309052022}}
     
311

个编辑

导航菜单