分形理论


一,引言

在《Foundations of F#》的第七章中,作者在介绍Math命名空间时举的例子是绘制Mandelbrot集合。这个看起来挺奇怪的东东以前还真没见过,网上一查才知道,原来它是如此的优美动人。由于该集合的定义与分形相关,所以先来了解下分形的概念。

二,什么是分形(Fractal)

1967年,美国数学家Mandelbrot曾出这样一个著名的问题:英格兰的海岸线到底有多长?这个问题在数学上可以理解为:用折线段拟合任意不规则的连续曲线是否一定有效?这个问题的提出实际上是对以欧氏几何为核心的传统几何的挑战。

1975年,Mandelbrot在其《自然界中的分形几何》一书中引入了分形(fractal)这一概念。从字面意义上讲, fractal是碎块、碎片的意思,然而这并不能概括Mandelbrot的分形概念,尽管目前还没有一个让各方都满意的分形定义,但在数学上大家都认为分形有以下几个特点:

1. 具有无限精细的结构;
2. 比例自相似性;
3. 一般它的分数维大子它的拓扑维数;
4. 可以由非常简单的方法定义,并由递归、迭代产生。

据说,南非海岸线的维数是1.02,英国西岸的维数是1.25。

下面的两幅图有助于我们理解它的概念:

fractal1

fractal2

这真像是一个菜花。

需要注意的是,分形往往由递归、迭代产生,但是我们在纸上做出的图只能作有限次的递归、迭代。

分形几何学已在自然界与物理学中得到了应用。如在显微镜下观察落入溶液中的一粒花粉,会看见它不间断地作无规则运动(布朗运动),这是花粉在大量液体分子的无规则碰撞(每秒钟多达十亿亿次)下表现的平均行为。布朗粒子的轨迹,由各种尺寸的折线连成。只要有足够的分辨率,就可以发现原以为是直线段的部分,其实由大量更小尺度的折线连成。

三,什么是Mandelbrot集合?

Mandelbrot集合是在复平面上组成分形的点的集合,它正是以数学家Mandelbrot命名。

Mandelbrot集合可以用复二次多项式

f_ c(z) =z^{2}+ c \, 来定义

其中c是一个复参数。对于每一个c,从z = 0\,开始对fc(z)进行迭代。

序列 (0, f_ c(0), f_c(f_ c(0)), f_ c(f_ c(f_ c(0))), \ldots) 的元素的模(复数具有模的概念)或者延伸到无穷大,或者只停留在有限半径的圆盘内。Mandelbrot集合就是使以上序列不延伸至无限大的所有c点的集合。

从数学上来讲,Mandelbrot集合是一个复数的集合。一个给定的复数c或者属于Mandelbrot集合M,或者不属于。比如,取c = 1,那么这个序列就是(0, 1, 2, 5, 26, ...),显然它的值会趋于无穷大;而如果取c = i,那么序列就是(0, i, -1+i, -i, -1+i, -i,...),它的值会一直停留在有限半径的圆盘内。

事实上,一个点属于Mandelbrot集合当且仅当它对应的序列(由上面的二项式定义)中的任何元素的模都不大于2。这里的2就是上面提到的“有限半径”。

四,在计算机上绘制Mandelbrot集合

计算机的屏幕上的像素只有有限个,而Mandelbrot集合中的点则有无限个。

Mandelset_hires


观察上面复平面的局部,Mandelbrot集合即黑色区域,实部从-2到1,虚部从-1到1,那么将两个点(-2, 1)和(1, -1)作为一个矩形的左上角顶点和右下角顶点,那么这个矩形就包含了整个Mandelbrot集合,该矩形的长为3,宽为2。我们可以将这个矩形与屏幕上的区域进行映射,也就是将屏幕上的一个像素映射为该矩形内的一点,如果该点属于Mandelbrot集合,就将该像素着为黑色,这样逐一对每个像素进行判断和着色,就可以模拟绘制Mandelbrot集合了。该矩形的长宽比为3:2,我们在屏幕上可以取600 * 400的矩形区域。

完成映射后来考虑如何判断一个点是否属于该集合。其根据就是上面的结论“一个点属于Mandelbrot集合当且仅当它对应的序列(由上面的二项式定义)中的任何元素的模都不大于2”,由于序列的的元素有无穷多个,我们只能取有限的迭代次数来模拟了,比如取100或1000次。

我们用Microsoft.FSharp.Math.Notation.complex类型来表示一个复数,它的Magnitude属性表示复数的模,我们可以通过一定次数(比如100次)的迭代,来看看前100项是不是都满足条件,如果满足就认为这个复数在Mandelbrot集合内。

五,枯燥的,和有趣的----学术知识

分形理论是当今世界十分风靡和活跃的新理论、新学科。分形的概念是美籍数学家曼德布罗特(B.B.Mandelbort)首先提出的。1967年他在美国权威的《科学》杂志上发表了题为《英国的海岸线有多长?》的著名论文。海岸线作为曲线,其特征是极不规则、极不光滑的,呈现极其蜿蜒复杂的变化。我们不能从形状和结构上区分这部分海岸与那部分海岸有什么本质的不同,这种几乎同样程度的不规则性和复杂性,说明海岸线在形貌上是自相似的,也就是局部形态和整体形态的相似。在没有建筑物或其他东西作为参照物时,在空中拍摄的100公里长的海岸线与放大了的10公里长海岸线的两张照片,看上去会十分相似。事实上,具有自相似性的形态广泛存在于自然界中,如:连绵的山川、飘浮的云朵、岩石的断裂口、布朗粒子运动的轨迹、树冠、花菜、大脑皮层……曼德布罗特把这些部分与整体以某种方式相似的形体称为分形(fractal)。1975年,他创立了分形几何学(fractalgeometry)。在此基础上,形成了研究分形性质及其应用的科学,称为分形理论(fractaltheory)。

自相似原则和迭代生成原则是分形理论的重要原则。它表征分形在通常的几何变换下具有不变性,即标度无关性。由自相似性是从不同尺度的对称出发,也就意味着递归。分形形体中的自相似性可以是完全相同,也可以是统计意义上的相似。标准的自相似分形是数学上的抽象,迭代生成无限精细的结构,如科契(Koch)雪花曲线、谢尔宾斯基(Sierpinski)地毯曲线等。这种有规分形只是少数,绝大部分分形是统计意义上的无规分形。

分维,作为分形的定量表征和基本参数,是分形理论的又一重要原则。分维,又称分形维或分数维,通常用分数或带小数点的数表示。长期以来人们习惯于将点定义为零维,直线为一维,平面为二维,空间为三维,爱因斯坦在相对论中引入时间维,就形成四维时空。对某一问题给予多方面的考虑,可建立高维空间,但都是整数维。在数学上,把欧氏空间的几何对象连续地拉伸、压缩、扭曲,维数也不变,这就是拓扑维数。然而,这种传统的维数观受到了挑战。曼德布罗特曾描述过一个绳球的维数:从很远的距离观察这个绳球,可看作一点(零维);从较近的距离观察,它充满了一个球形空间(三维);再近一些,就看到了绳子(一维);再向微观深入,绳子又变成了三维的柱,三维的柱又可分解成一维的纤维。那么,介于这些观察点之间的中间状态又如何呢?

显然,并没有绳球从三维对象变成一维对象的确切界限。数学家豪斯道夫(Hausdoff)在1919年提出了连续空间的概念,也就是空间维数是可以连续变化的,它可以是整数也可以是分数,称为豪斯道夫维数。记作Df,一般的表达式为:K=LDf,也作K=(1/L)-Df,取对数并整理得Df=lnK/lnL,其中L为某客体沿其每个独立方向皆扩大的倍数,K为得到的新客体是原客体的倍数。显然,Df在一般情况下是一个分数。因此,曼德布罗特也把分形定义为豪斯道夫维数大于或等于拓扑维数的集合。英国的海岸线为什么测不准?因为欧氏一维测度与海岸线的维数不一致。根据曼德布罗特的计算,英国海岸线的维数为1.26。有了分维,海岸线的长度就确定了。

分形理论既是非线性科学的前沿和重要分支,又是一门新兴的横断学科。作为一种方法论和认识论,其启示是多方面的:一是分形整体与局部形态的相似,启发人们通过认识部分来认识整体,从有限中认识无限;二是分形揭示了介于整体与部分、有序与无序、复杂与简单之间的新形态、新秩序;三是分形从一特定层面揭示了世界普遍联系和统一的图景。
 
形是破碎的、不规则的,其几何性质十分丰富,可以说,到目前为止它的几何性质还没有完全被挖掘出来。在这里,我们只将分形的最常见的一些性质描述给大家。
(1) 分形是破碎的,局部不可微的不规则图形;
(2) 分形一般是自相似的,或是统计自相似的;
(3) 分形有时也是自仿射的;
(4) 分形的维数一般是分数的,但也有整数维数的分形,如Peano曲线;
(5) 分形图具有精细结构,即无论局部放大多少倍,仍然具有复杂的结构。


六,下面欣赏一些Mandelbrot集合的美图:










最后这个,是三元复数:




链接:

http://www.cnblogs.com/anderslly/archive/2008/10/10/mandelbrot-set-by-fsharp.html

http://tieba.baidu.com/p/1031405880

发布了29 篇原创文章 · 获赞 22 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章