斯坦納二重奏--斯坦納系和斯坦納樹

一、前奏

斯坦納 (Steiner) 是十九世紀中葉瑞士的一個幾何學家。斯坦納系是他唸的系;斯坦納樹是他種的樹。這樣的破題雖然也說的通,卻似乎沒有什麼數學興味。所以讓我們對主題再作一新的詮釋。

二、序曲

我們首先要聲明的即斯坦納系 (Steiner system) 和斯坦納樹 (Steiner tree) 這兩個主題在數學上毫無相關。它們的相關是文字上的,即兩者都掛上了斯坦納的商標。更巧合的是這兩個問題事實上都不是斯坦納首先提出的,他只是眾多接觸這兩個問題中的人之一,也並沒有特出貢獻。這一張冠李戴的錯誤當然怪不上斯坦納,因為並不是他命名的。大概有名的人帽子號碼大些,被人順手牽羊戴在頭上的機會也大些。

我們所以選這一題目介紹在這一集組合專輯裏因為這兩個問題都和組合有些關係。斯坦納系是組合設計中廣受注意的一個問題,組合設計研究中的一個基本課題就是討論什麼是組合設計存在的充要條件。當然由於這個問題太大,所以要把組合設計分類討論,而斯坦納系就是首先獲得重要突破的一個大類。斯坦納樹是最新興起的計算幾何學裏的一個課題。我們知道平面幾何的作圖工具是圓規和直尺,到了二十世紀的今天作圖的工具已改為計算機了。計算幾何即討論以計算機來作幾何問題的算法。由於計算機科學和組合學的親密關係,許多領域是這兩門學科的共管區,而許多學者也具雙重學籍。

三、斯坦納系樂章

一個 (v,b,r,k,λ) 設計,也稱區組設計 (block design),指的是 v 元集 V 上由 bk-子集(每一 k-子集也稱一區組)組成的一個子集族。它滿足下列兩條件:

 

  • (甲) V 的每個元素恰出現在 r 個區組中。
  • (乙) V 的每一對元素恰出現在 λ 個區組中。

下例是一個 (6,10,5,3,2) 設計:

 

/begin{displaymath} /begin{array}{l} /{2,3,6/},/{1,3,4/},/{3,4,5/},/{2,4,5/},/{3... ... /{1,4,6/},/{1,5,6/},/{1,2,3/},/{2,4,6/},/{1,2,5/} /end{array}/end{displaymath}

 

元素 1 出現在區組 2,6,7,8,10 中共五次,其他元素也各出現五次,元素 1 和 2 共同出現在區組 8,10中共二次,其他任二元素亦同出現二次。
在一個 (v,b,r,k,λ) 設計中,v 個元素每個出現 r 次,所以共出現 vr 次。另一方面,b 個區組每一個中有 k 個元素出現,所以共出現 bk 次,因此

 

/begin{displaymath} vr=bk /eqno{(1)} /end{displaymath}

 

v 個元素共有 ${v /choose 2}$ 對,每對出現 λ 次,所以共出現 ${v /choose 2} /lambda$ 對次。另一方面 b 個區組每一個中有 ${k /choose 2}$ 對出現,所以共出現 $b {k /choose 2}$ 對次。因此

 

/begin{displaymath} {v /choose 2} /lambda = b {k /choose 2} /eqno{(2)} /end{displaymath}

 

所以 v,b,r,k,λ 五個參數中事實上只有三個獨立參數,設為 v,k,λ。由(1)和(2)解得

 

/begin{displaymath} r=/frac{/lambda(v-1)}{k-1} /end{displaymath}

 


 

/begin{displaymath} b=/frac{/lambda v(v-1)}{k(k-1)} /end{displaymath}

 

由於 rb 必須是整數,故知

 

/begin{displaymath} /begin{eqalign} /lambda(v-1) &/equiv 0 /pmod{k-1} // /lambda v(v-1) &/equiv 0 /pmod{k(k-1)} /end{eqalign}/eqno{(3)} /end{displaymath}

 

是 (v,b,r,k,λ) 設計存在的必要條件。問題是(3)是否也是充分條件?

讀者很容易自行檢驗當 k=1 和 2 時,唯一的區組設計分別是 V 的全部 1-子集和 V 的全部 2-子集。這兩種平凡情形一筆帶過即可。 k=3 時是第一個需要研究的情形,而 k=3 的情形仍需一步步做。第一步是解決 $/lambda = 1$ 的問題。注意當 k=3$/lambda = 1$ 時,(3)可簡化為

 

/begin{displaymath} v /equiv 1 /mbox{ {/fontfamily{cwM1}/fontseries{m}/selectfont /char 67} } 3 /pmod{6} /eqno{(4)} /end{displaymath}

 

英國的伍爾豪斯 (Woolhouse) 在1844年首先提出 k=3, $/lambda = 1$ 的區組設計問題,三年後同為英籍的柯克曼 (Kirkman) 牧師證明了(4)式的確是 (v,b,r,3,1) 設計存在的充要條件。但基於「好事不出門,惡事傳千里」的原則,這一發現並未傳到海峽對岸的歐洲大陸。 1853年斯坦納「閉門家中坐」在研究四次曲線的二重切線問題時也遇到了 k=3$/lambda = 1$ 的區組設計問題,他猜測了六年前柯克曼已證明了的結果,1859年賴斯 (Reiss) 證明了斯坦納的猜測。從此,k=3, $/lambda = 1$ 的區組設計就被稱為斯坦納三元系 (triple system)。一個名稱一被發明後就無孔不入,因此 k=3, λ 一般的區組設計就叫做三元系,而 k 一般,$/lambda = 1$ 的區組設計當然順理成章的叫斯坦納系。

區組設計存在的充要條件這一問題一直到一百年後才獲得了重大的突破。 1961年猶太人哈納尼 (Hanani) 證明了(3)式確是三元系區組設計存在的充要條件,他也證明了(3)式也是 k=4 時的充要條件。但當 $k/geq 5$ 時人們早就知道有些滿足(3)式的區組設計並不存在,因此提出下一猜想:「對給定的定 k,除去有限對數值 (v,λ) 之外, (3)式是區組設計存在的充要條件。」 1975年美國人威爾遜 (Wilson) 證明了這一猜想,一百三十年來這一問題在組合學界引起的波動與震撼,至此塵埃落定。

在組合學的研究上往往在解決了存在的問題後下一個要回答的問題是有多少?因此我們也可以問對於一個給定的正整數 v,究竟有多少個不同的斯坦納三元系存在?這個問題也許太難了,我們把範圍收歛一點。如果在同一個 v 元集上的兩個斯坦納三元系沒有相同的區組,則我們說這兩個三元集不相交。定義 d(v) 為給定 v 後互不相交的斯坦納三元系最大的數目,對於 d(v) 的探討稱為斯坦納三元系大集 (large set) 問題。從斯坦納三元系的充要條件我們只需討論 $v/equiv 1 /mbox{{/fontfamily{cwM1}/fontseries{m}/selectfont /char 67}} 3 /pmod{6}$ 的情形,且已知 $d(v)/geq 1$。另一方面,V 共有 ${v /choose 3}$3-子集,而每一個斯坦納三元集含 $b=/frac{v(v-1)}{6}$3-子集,故知

 

/begin{displaymath} d(v)/leq /frac{ {v /choose 3} }{b}=v-2 /end{displaymath}

 

如果 d(v)=v-2,我們說對於這一 v 值,斯坦納三元系大集存在。

大集問題的誕生幾乎和斯坦納三元系同時。 1850年英國大數學家凱萊 (Cayley) 證明了 d(7)=2,即大系只包含 D1D2 兩設計:

 

/begin{displaymath} D1: /begin{array}{l} /{1,2,3/},/{1,4,5/},/{1,6,7/},// /{2,4,6/},/{2,5,7/},/{3,4,7/},/{3,5,6/} /end{array}/end{displaymath}

 


 

/begin{displaymath} D2: /begin{array}{l} /{1,2,7/},/{1,3,4/},/{1,5,6/},// /{2,3,6/},/{2,4,5/},/{3,5,7/},/{4,6,7/} /end{array}/end{displaymath}

 

同年柯克曼證明了 d(9)=7。但不像斯坦納三元系在數年內即分別被柯克曼和賴斯解決,大集問題在下一百年內幾乎毫無進展,由此可以看出它的難度。一直到1972年始,多延 (Doyen),考席 (Kotzig)等從尋求 d(v) 的下界入手,引進遞歸方法,才使這個問題有了新的進展。 1973年和1974年丹尼斯頓 (Denniston),施賴伯 (Schreiber) 和威爾遜陸續對 205 以內,滿足 $v/equiv 1,3 /pmod{6}$ 的大部份 v 值給出了斯坦納三元系大集。此外泰爾林克 (Teirlinck) 和羅莎 (Rosa) 分別給出了 v3vv2v+1 的遞歸結果。但是總而言之到1980年止,關於斯坦納三元系大集的存在問題只有零碎的結果而無全面破案之計。

我們現在把鏡頭自北美大陸迅速拉開,越過太平洋,越過山東半島,越過華北平原而到達內蒙古境內,可以聽到黃河,可以望見長城的包頭市。在這兒的包頭九中一位年輕的物理老師陸家羲,在六十年代初期即在繁忙的物理教學課後,埋頭從事他業餘興趣,組合設計研究。六十年代初期正是組合學的輝煌時代,1960年玻色 (Bose)、血汗 (Shrikhande),派克 (Parker) 粉碎了歐勒 (Euler) 在拉丁方陣上的猜想,第一次把數學帶上了紐約時報的頭版。 1961年哈納尼獲得了 k=3,4 時區組設計的充要條件,這些都是組合學上百年來的大事。陸家羲1961年解決了在組合學上號稱三大疑案之一的「柯克曼女學生」問題,他的文章投寄給中國的數學雜誌,卻遭到屢投屢退的命運,現在他的原稿已經遺失,只留下了投稿退稿的記錄,及1965年的修正稿。這份修正稿的正確性現已由蘇州大學的吳利生教授肯定,當年卻仍不能受到審稿者的青睞。在中國明珠被藏的時候,國外的學者卻在生氣勃勃的叩關攻堅。 1971年美國俄亥俄州大的博士生威爾遜和他的導師印籍雷小杜里 (Ray-Chaudhuri) 終於接受著大家的恭賀成為「柯克曼女學生」問題的法定征服者。

然後是四人幫的混沌時期,學校關閉,教師下放,除了少數親朋外全世界大概沒有人知道陸家羲的下落也沒有人會關心。像中國眾多的年輕科學家,有發光的潛能,有發熱的內涵,卻因命運的播弄而含苞未放,像天際一顆遙遠的星星在人們還來不及注意它時已被厚黑的雲層吞沒。

吞沒了嗎?在下一個浪潮中陸家羲卻又平地一聲雷的站了起來。隨著中國大陸的對外開放政策,陸家羲這次越過了中國的障礙而把研究成果投寄到美國頗有權威性的「組合論雜誌」。從1981到1983年,該雜誌先後發表了陸家羲六篇論文,宣佈了斯坦納三元系大集問題的徹底解決。他證明了當 $v/equiv 1,3 /pmod{6}$v>7 時除了

 

/begin{displaymath} v/in /{141,283,501,789,1501,2365/} /end{displaymath}

 

六個數外,d(v) 恆等於 v-2。這一顆曾被柯克曼、凱萊、西爾威斯特 (Silvester) 等數學界大賢灌溉過的鐵樹,終於百年後在陸家羲的手上開了花。

對於六個沒有答案的 v 值,陸家羲也在1983年的數學會議上宣佈了他已明珠在握,將寫成第七篇論文。可惜同年十月陸家羲在寫下了二十四頁的綱領後,即突然去世了,留待後人來舉起他苦撐四分之一世紀積成疾放下的火炬。

四、斯坦納樹樂章

十七世紀初期的某一天,法國大數學家費瑪 (Fermat) 正結束了一個有名的關於求最大最小值的演講,演講中他介紹了一個在各種曲線上不用微積分求切線的辦法。他雄辯的向聽眾挑戰說:「誰不信我的辦法,就解這個問題給我看:給定平面上三點,找出第四點使得它和給定三點的距離之和為最小。」當費瑪丟出一個問題後,自然四方都有迴響。 1640年意大利的托里切里 (Torricelli) 用幾何方法證出第四點應是正三角形 ABDBCECAF 的外接圓交點(圖一點 OABC 是三給定點)稱為托點。 1674年卡伐利立 (Cavalieri) 在他的《幾何演習》一書中指出 $/angle AOB = /angle BOC = /angle COA =120^{/circ}$。 1750年辛普生(Simpson)證明托點也是 AEBFCD 三線的交點,這些線都叫做辛線。 1834年海能 (Heinen) 指出了以上結果都只有在 $/bigtriangleup ABC$ 內角都不大於 $120^{/circ}$ 時成立。當有一角 $/geq 120^{/circ}$,則托點即和此角之頂點重和。



圖一 托點的求法

他也證明了辛線長等於托點到 ABC 的總距離。

這一費瑪問題也有另一種提法,即「給定平面上三點,找到一個把這三點連結起來最短的網絡」。這時可證最短網絡即是托點和三給定點的連線。當我們把平面上三點推廣到平面上 n 點,這兩種提法卻形成了不同的問題。如果我們要找到一個托點使得該點和給定 n 點的總距離最短,這問題稱為廣義費瑪問題,非本文討論範圍。另一個問題是給定 n 點後找出連接該 n 點的最短網絡。這時連接一個托點到每個給定點不一定是最短的連法。譬如給定的四點是正方形的四頂點,則最短網絡是圖二(甲)而非(乙)。



圖二 正方形四頂點的最短網絡

為了和廣義費瑪問題區別,上述之最短網絡問題被稱為斯坦納問題(據考證斯坦納雖曾參與此問題但無顯著貢獻)。網絡中所含給定點(稱原點)之外的點叫做斯點

我們首先看看最短的網絡應該具有那些性質。所謂一個網絡的拓樸即指點與點間連接的關係。因此在一個拓撲中斯點的位置並不固定,邊的長度也非所計,一個拓撲只規定了那些點間有邊相連。

 

(甲)
拓撲必須是樹形:所謂樹形即指沒有圈。因為如有圈,則我們可以去掉圈中任一條邊來縮短網絡而不影響任何點的連接。
(乙)
S 為網絡中的一斯點,則 S 的度數(即與 S 相交的邊數)至少為三:如果S的度數為一,則去掉S上的邊不影響任何點的連接;如果S的度數為二,設計二邊分別連接UV,則以線UV代替線 SU和線SV,縮短了網絡而不影響任何點的連接。
(丙)
S 相交的任兩邊其夾角不小於 120 度;不然的話可在其兩夾邊上取 U,V 兩點使得 $/bigtriangleup SUV$ 的內角皆小於 120 度。根據費瑪問題的結論,SUV 三點間的最短連接並非 SUSV 兩邊,因之現有網絡並非最短。

注意(甲)和(乙)合併考慮時,可導致n點的最短網絡至多含n-2斯點的結論; (乙)和(丙)合併考慮時,可導致每一斯點恰交三邊,且夾角都是120度的結論。

一個連接n原點的網絡如滿足(甲)(乙)(丙)三條件則稱為斯樹。顯然的,最短網絡必須是斯樹,所以也可稱為最短斯樹。有n-2個斯點的斯樹稱為滿斯樹。(滿)斯樹的拓撲稱為(滿斯拓撲

梅爾扎克 (Melzak) 給了一個從一個滿拓撲造出它的滿斯樹的算法,這個算法即成為造n原點上的最短斯樹的基礎。首先注意任何一個非滿的拓撲都可以分解成一些較小的滿拓撲。每一個滿拓撲上的點集合都是非滿拓撲上的點集合的一個子集,每一條非滿拓撲的邊都屬於且僅屬於一個滿拓撲。下圖中顯示一個五點的非滿拓撲分解成一個四點和一個兩點(虛線)的滿拓撲。



圖三 非滿拓撲的分解

在每一個滿拓撲上用梅爾扎克算法造出它的斯樹,這些斯樹的聯合即為原來非滿拓撲的斯樹。

現在我們可以敘述造最短斯樹的算法:「歷舉所有的斯拓撲(即每一斯點只有三條邊的拓撲),對應於每一斯拓撲用Melzak算法造出它的斯樹(有時不存在),這些斯樹中最短的一個即最短斯樹。」

尚未明述的一步是梅爾扎克造滿斯樹的算法。令T為給定的斯拓撲。在n=3時梅爾扎克算法即同於托里切里對費瑪問題的解法。當$n/geq 4$時梅爾扎克算法可以分成兩步。第一步是遞歸的將兩原點換為一新原點,且新拓撲的斯點也減少一個,所以仍為滿拓撲,直至只剩下兩原點為止。細言之,令AB為連接於同一斯點S的兩原點(總有如此兩點),設S連接的第三點為C。令D為正三角形ABD的第三點且DS分在AB線兩側。新的滿拓撲T'T去掉ASBSCS三邊再加上DC邊而得。注意D點的位置是固定的,所以可視為一新的原點。第二步是把第一步的順序倒過來,由兩原點的滿斯樹逐步還原成n原點的滿斯樹。我們舉例說明。



圖四 梅爾札克造滿斯樹的算法

ABCD 為給定四原點。給定的拓撲T包含下列諸邊AS1BS1S1S2DS2CS2。梅爾扎克算法第一步(圖四A)將E代替AB,新的拓撲T'包含ES2DS2CS2三邊,再將F代替EC。剩下一個兩點FD的拓撲包含邊FD,第二步(圖四B)先作正三角形CEF的外接圓和邊FD交於S'2,再作正三角形ABE的外接圓與邊ES'2交於S'1。令 t 為含邊 AS'1BS'1S'1S'2DS'2CS'2 的樹。連續使用費瑪問題的結論,可知 tT 的斯樹(即證 S'1S'2 的邊的夾角都是120度)。

我們來檢查一下以上法造最短斯樹的複雜度 (complexity) 首先我們看看梅爾扎克造滿斯樹算法的複雜度。注意當我們把兩原點換成新點時,我們只知道這三點應構成一正三角形,且新點應和 AB 點共同連結的斯點分在邊 AB 的兩側。但因一般說來在第一步操作時我們並不知道斯點的位置,因此新點的位置有兩個可能(分別在邊 AB 兩側)。同理下一次換點時又有兩個可能,如此推論,則第一步的操作原則上要考慮 2n-2 個可能。當然在點數少時或在其它的幾何性質可以利用時,往往可正確的判斷新點的位置,但我們無法嚴格的計算這些可遇而不可求的機運來修正2n-2這一數量。

另一個嚴重的計算問題是斯拓撲的數目太多。用歸納法可以算出當原點數為 n、斯點數為 s 時,共有 $2^{-s}{{n}/choose{s+2}} /frac{(n+s-2)!}{s!}$ 個斯拓撲。當 n=7, s=5 時,這個數目是 945,但在 n=7 時我們需考慮所有 $s/leq 5$ 的拓撲。這個總數達到 62370。

這是否意味以上這一造最短斯樹的算法太差而應另起爐灶呢?事實上有一個理論上的結果顯示只能有量的改進而不會有質的變化了。蓋瑞 (Garey)、葛立翰 (Graham) 和強生 (Johnson) 在1977年證明了造最短斯樹是一個計算科學上稱為 NP-complete 的問題。簡言之,即這類問題最佳算法的複雜是 n 的一個冪數函數而非多項式函數。當我們警覺到 2nn=100 時已是一個有 30 個零的數字,就知道造最短斯樹只有在 n 很小時才有可行性。用我們介紹的這一算法, n 的上限大約在 1015 之間。

最近有一個已發現的改進和一個可能的改進可以將 n 的上限再往上推展一些。已發現的是梅爾扎克造滿斯樹的算法可以改進到線性複雜度。細言之,當拓撲含 s 斯點時,如果適當的選擇二原點,則新點應在二原點的那一側永遠可以確定,因此 2n-2 種可能就減成只有一個可能。這個結果筆者即將發表於《O.R. Letters》這一雜誌上。

另一個尚未完成,但若成功時其影響將遠大於前段所述之改進是,要證明造最短斯樹只需考滿斯拓撲即可。當最短斯樹的拓撲 T 非滿時,必定有一個滿斯拓撲的斯樹會蛻化成 T 的斯樹,因此也就是最短斯樹。如果上述構想為真,則在 n=7 時,我們只需考慮 s=5 的 945 種拓撲而非 $s/leq 5$ 的 62370 種拓撲。

談到斯坦納樹問題,不可不提一下斯率 (Steiner ratio)。最短生成樹的定義是不許有斯點時連接原點的最短網絡。斯率的定義是在任何原點集合下最短斯樹和最短生成樹長的比率。在原點集合為正三角形的三頂點時,兩樹長的比率是 $/frac{/sqrt{3}}{2}$,因此斯率不能大於 $/frac{/sqrt{3}}{2}$。 1968年格爾伯特 (Gilbert) 和勃拉克 (Pollak) 猜測斯率即為 $/frac{/sqrt{3}}{2}$(約 .866)且報導了牧爾 (Moore) 的證明斯率大於 .5, 1976年葛立翰和筆者證了斯率大於 .577, 1978年鍾金芳蓉和葛立翰證了斯率大於 .743, 1983年堵丁柱和筆者證了斯率大於 .8。 1985年鍾金芳蓉和葛立翰證了斯率大於 .8241。另一方面格爾伯特和勃拉克在1968證了 n=3 時斯率為 $/frac{/sqrt{3}}{2}$, 1978年勃拉克又證了 n=4 的情形。 1985年堵丁柱,姚恩瑜和筆者證了 n=5 的情形。

 

五、尾聲

表面上我們利用了歷史上二個偶然的命名錯誤湊成了本文的題目。實質上我們是要借此機會介紹自1960年以來組合設計上幾個突破性的成就。由於我們的偏愛和私心,更突出了我們的同胞陸家羲在艱苦條件下的卓越成就。另一方面我們想借斯坦納樹的題目介紹一下最新興起的計算幾何學。

发布了108 篇原创文章 · 获赞 14 · 访问量 58万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览