JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

碎形與分數維度

有些形狀皺褶得太厲害,把它們叫成一維曲線或二維區域簡直像在說謊。誠實的修補,是把「維度」的意思撐寬到能讀出像 1.26 這樣的數——而這個數,也就是碎形維度,最終量度的恰恰是:當你放大時,一個形狀的細節以多快的速度爆炸。

一條沒有長度的海岸線

前面幾階裡的每條曲線,原則上都有一個你能量出的長度:鋪上弧長、對速率積分,便落出一個有限的公尺數。但拿一條真實的海岸線來試同一招。用一把十公里的尺去量,你把每個海灣與岬角都切成直弦,漏掉了曲折,得到某個長度。換成一公里的尺,你接住了先前略過的更細曲折,量出的長度便變大。再降到一百公尺的尺,它又往上爬。當你的尺縮小時,長度並不收斂到一個真值——它持續增長,看來毫無上界。海岸線並不是一條長度稍微難量的曲線;它是一個讓「長度」成為錯誤問題的形狀。

這不是測量不夠仔細的失敗,而是一個結構性的事實,由曼德博(Benoit Mandelbrot)一九六七年的提問「英國海岸線有多長?」而聞名。海岸線在每一個尺度上都有細節——灣中有灣、石中有石、砂中有砂——而一把有限的尺,永遠解析不出比它自己更細的細節。光滑的圓恰好相反:放大它的邊緣,它就趨近一條直線變平,曲折用盡了,短尺與長尺對周長取得一致。我們需要的,是一個能用數字分辨這兩者的辦法:光滑曲線在一邊,細節無窮的海岸線在另一邊。

自相似:由自身縮小複本搭成的形狀

為了抓住無窮細節,我們先從刻意擁有它、由我們掌控的乾淨規則搭成的形狀下手。最乾淨的就是自相似:當一個形狀由整體的數個縮小複本組成、每個都以同一倍率縮小時,它便是自相似的。一條線段是平凡地自相似的——它是兩個半長複本首尾相接。一個實心正方形是四個四分之一尺度的正方形。這些是無趣的情形;有趣的是打破常規的,而其中最著名的就是科赫曲線

用一道你永遠重複下去的食譜搭出科赫曲線。從一條直線段起步。把它切成相等的三分,再用一個朝外戳出的等邊三角形的另外兩邊,取代中間那三分之一——於是一段直線變成四段、每段長三分之一、中間頂著一頂小帳篷。現在對那四段中的每一段做同樣的事,再對由此產生的十六段做一次,如此無窮無盡。每個四段的圖樣,都是前一個整體的三分之一尺度複本:這就是它的自相似,四個複本、尺度三分之一,被親手烤進這個構造裡。

現在盯著它的長度。每一步都把每段換成四段、長為三分之一,於是每一階段總長都乘上 4/3:它如同 (4/3)、(4/3)^2、(4/3)^3、…… 般無界增長。完成的科赫曲線有無窮長——卻被擠進平面上一塊有限的範圍裡,受原始線段周圍那小區域所界。這裡,被刻意造出的,正是海岸線的悖論:無窮長度、有限佔地、每一尺度都有細節。這形狀比一條一維曲線更多——它皺得無法擁有長度——卻又分明比一個二維區域更少,因為它根本沒有面積。

把維度當成一條縮放規則

要替科赫曲線釘上一個維度,我們得先用一種不只是數軸的方式,說清楚維度是什麼意思。關鍵的念頭在此,而它純粹是在數複本。取一條尋常線段,把它以倍率 3 縮小(每段長三分之一);要用 3 段這樣的小線段才能重建原本。取一個正方形,把它的邊以 3 縮小;要用 9 = 3^2 個小正方形才能鋪滿原本。取一個立方體,以 3 縮小;要用 27 = 3^3 個小立方體。規律明白無誤:當你以倍率 s 縮小,重新填滿原本所需的複本數 N 等於 N = s^d,其中 d 就是維度——線段為 1、正方形為 2、立方體為 3。

取對數把這關係對 d 解出來:由 N = s^d 得到 d = log(N) / log(s)。這道式子就是那扇門,因為其中沒有任何東西要求 d 必須是整數。它只是從一個自相似形狀,讀出那個把「多少複本」繫上「縮小多少」的唯一指數。對無趣的形狀,它回傳我們預期的整數。令人興奮的部分,是餵給它一個複本與尺度湊不出任何整數的形狀。

scaling rule for a self-similar shape:

    N = s ^ d          N copies, each shrunk by factor s

    d = log(N) / log(s)

  segment:  shrink by 3, need 3 copies   d = log3 / log3 = 1
  square :  shrink by 3, need 9 copies   d = log9 / log3 = 2
  cube   :  shrink by 3, need 27 copies  d = log27/ log3 = 3

  Koch   :  shrink by 3, need 4 copies
            d = log4 / log3 = 1.2618...
替線段、正方形、立方體給出 1、2、3 的同一條計數規則,對科赫曲線回傳一個非整數:四個三分之一尺度的複本,逼出 d = log 4 / log 3。

科赫曲線的維度是 1.26

把規則直接套到科赫曲線上。它的構造把我們需要的兩個數都告訴了我們:每一代由 N = 4 個複本搭成,每個以倍率 s = 3 縮小。於是它的碎形維度為 d = log(4) / log(3) = 1.2618…,一個牢牢卡在 1 與 2 之間的數。這不是含糊,也不是量測誤差;它是一個精確的量,誠實地說:科赫曲線多於一條線、少於一片平面的填滿。那分數正是重點所在——這也是為何這些對象叫做碎形(fractal),曼德博一九七五年從拉丁文「破碎」造出的字。

讀懂 1.26 在告訴你什麼。維度比 1 多出 0.26,而這份多餘量度的是當你放大時細節堆積得多兇。較高的分數維度意味著一條更粗糙、更填滿空間的曲線:維度 1.26 的科赫曲線只是輕度皺褶,而更狂野、接近維度 2 的碎形則幾乎要塗滿整個平面。一條真實海岸線,用第一節的尺子把戲量出來,通常回傳約 1.2 到 1.3 的維度——與科赫驚人地接近,這正是科赫曲線成為海岸線教科書玩具模型的原因。這個數不是裝飾;它是一個貨真價實、可資比較的粗糙度量度。

盒計數:給沒有漂亮食譜的形狀算維度

log(N)/log(s) 規則需要精確的自相似——一個確實由 N 個尺度 s 複本造成的形狀。真實的海岸線、一片蕨葉、或一朵風暴雲的邊界,都沒有這麼整齊的食譜。修補之道是盒計數維度,它保留同樣的縮放念頭,卻不再要求完美的複本。把一張邊長 e 的方盒格網鋪在你的形狀上,數出 N(e),也就是形狀碰到的盒子數。現在把盒子縮小再數一次。對一條光滑曲線,把盒邊減半大致讓盒數加倍(N 如同 1/e 般增長,指數為 1)。對一個區域,把盒邊減半大致讓盒數變四倍(N 如同 1/e^2 般增長)。「N(e) 如同 (1/e)^d 般增長」中的那個指數,就是維度。

盒計數是主力工具,因為它只要求你能看見那形狀並蓋上一張格網——不需公式、不需自相似、不需精確複本。海岸線的維度正是這樣從一張地圖量出來的,斷裂面、腦部掃描、或星系分布的粗糙度,也正是這樣得到一個數。關鍵是,在兩法皆可用的自相似形狀上,它與 log(N)/log(s) 取得一致:對科赫曲線做盒計數,你又還原出 d = 1.26。這是同一個維度,只是由一個在漂亮食譜消失後仍存活的方法所抵達。

這裡該擺上一句誠實的提醒。數學家使用好幾種定義精確的維度——盒計數(閔可夫斯基)維度與更細緻的豪斯多夫維度是兩個主要的——它們在病態集合上可能彼此不合。對本篇這些乾淨的自相似碎形,它們全回傳同一個值,這正是我們得以安心說「那個」維度的原因。但「碎形維度」其實是一族相關的概念,而非單一的普世定義,謹慎的資料來源會指明它指的是哪一個。我們給你的是誠實、堪用的核心;那些細微的區別,屬於一門測度論的課程。

碎形落在何處,又通向哪裡

退一步,把這個擺到你已擁有的幾何旁邊。穿越先前每一階,維度都是白白遞到你手上的一個固定整數——曲線是一維、曲面是二維、空間是三維,沒人問為什麼。碎形幾何那場安靜的革命,是把維度從一個既定之物,降格為一個量測出的量,一個你從形狀的縮放行為算出的實數。多數熟悉的對象仍回傳它們的老整數——這正是讓新定義可信的一致性檢查——但如今整數之間有了空間,而粗糙的自然,原來大半就住在那空間裡。

這些念頭不是孤立的奇珍;它們穿回這一階的其餘部分。定義碎形維度的同一種自相似縮放,驅動著幾何群論——數學家在那裡把一個無窮群當成幾何空間來研究,問它的「體積」如何隨半徑增長,那個縮放指數與此處的盒計數指數是近親。而那些細節遍佈每一尺度、擊敗尋常長度的狂野集合,恰恰是計算幾何那幾篇導引裡的凸包與三角剖分工具,在碰上真實地形資料時必須逼近的對象——以有限的取樣,去頂替一條無窮繁複的邊界。

也有一個值得明說的坦率限制。碎形維度是單一個數,而單一個數無法捕捉一個形狀的全部——兩個肉眼可辨不同的碎形可以共享同一個 d,正如兩個不同的三角形可以共享同一個面積。它告訴你的是粗糙度與縮放,而非整體形態、對稱性、或各部件如何相連。把它當成眾多工具中一把鋒利的儀器,對「細節在放大下如何增長?」這問題出色無比,對其餘多數問題則沉默。如此使用——誠實地、在它的範圍內——分數維度是幾何在二十世紀真正嶄新的念頭之一,也是在最後一篇導引縱覽這整門學科正走向何方之前,最自然的最後一站。