甜甜圈 、 包子、 麻花
徐力行
一 . 前言
去年 (1993) 夏天, 許德標教授在中央 研究院資訊研究所講授一系列有關連接網路 的發展。 並提出許多有趣的研究主題。 相信 所有參加的人都獲益不少。 其中許老師提及 Harary 及 Hayes [1] 於今年在 Networks 的期刊上發表的一篇文章中, 有下面的有趣 問題。
二 . 甜甜圈
網 絲(mesh) 是一 種 在 計 算 機 科 學 中 常見 的 結 構 [3], 通 常 我 們 利 用 M(m1, m2, . . . , mk) 表示一 k 維網絲, 其 中 k 和每一個 mi 皆為大於或等於 2 的整 數。 在圖 1(a) 中我們以 M(3, 4) 的網絲為 例子, 藉由此例子不難瞭解網絲的一般結構。
為了使本文更通俗性, 我們只考慮二維網絲, 有興趣的人可自行推廣至任意的 k 維網絲。
我們將 M (m1, m2) 的水平線和垂直線都連 成一圓, 也就是總共加入 m1+ m2 條邊, 形 成如圖 1(b) 的圖形, 記為 C(m1, m2)。 數學 工作者習慣上稱 C(m1, m2) 為甜甜圈。
圖一 (a) 二維網絲 M(3, 4);
1
2 數學傳播 十八卷二期 民83年6月
C(m1, m2) 為 M(m1, m2) 的一種單邊容錯 設計: C(m1, m2) 上的任何一邊如果壞了, 我們可重新建造一 M (m1, m2)。 見圖 1(c), 1(d)。 Harary 和 Hayes [1] 在論文中猜測 C(m1, m2) 為 M(m1, m2) 的最佳單邊容 錯設計, 也就是說任何 M(m1, m2) 的單邊 容錯設計至少要加 m1+ m2 條邊。
三 . 包子
我 的 學 生 周 銳行 一 邊 思 考 這 個 題 目, 一邊吃著包子時。 他忽然注意到包子的包 法可視為將所有圓周上的點與其正相對點 (antipodal) 連接而設計出如圖 1(e) 的 P(m1, m2)。 參考圖 1(f), 我們不難證明 P(m1, m2) 為 M(m1, m2) 之單邊容錯 設計。 顯然 P (m1, m2) 比 C(m1, m2) 少兩 條邊, 所以 Harary 和 Hayes 的猜測是錯 的。
四 . 麻花
數學工作總是這樣, 一波才完一波又來。
Harary 和 Hayes 設計的 C(m1, m2) 不是 M(m1, m2) 之最佳單邊容錯設計, 那我們設 計的 P (m1, m2) 是否為 M(m1, m2) 之最 佳單邊容錯設計? 對某些 M(m1, m2) 言, P(m1, m2) 不是 M(m1, m2) 之最佳單邊 容錯設計。 我們認為比包子好的設計會將整 個網絲扭曲, 有如麻花一般。
圖 2(a) 中為 M(2, 3)。 若依包子似的設 計 P (2, 3) 如圖 2(b) 所示。 我們的 M(2, 3) 單邊容錯設計 D(2, 3) 為在 P (2, 3) 上去 掉一條 2, 5 間的連線。 參考圖 2(c)。 顯然任 何一條非 2, 5 間的連線壞了, 我們可利用 P(2, 3) 的方式重建, 而 2, 5 間的連線壞了 之後, 我們可用圖 2(d) 重建 M(2, 3)。
圖二 (a) 二維網絲 M(2, 3);
圖二 (b) 一種 M(2, 3) 之單邊容錯設計 P (3, 4);
甜甜圈、 包子、 麻花 3
圖二 (c) 一種只加兩條邊的 M(3, 4) 之 單邊容錯設計 D(2, 3);
圖二 (d) 當 2, 5 間的連線壞時, 重新在 D(2, 3) 上建造 M(2, 3)。
五 . 後記
當我把這故事告訴張鎮華教授, 他也給 了一個 M (2, 4) 的單邊容錯設計, 我的學生 何東洋推廣他的觀念而對大於或等於 2 的整 數 k 提出下面 M(2, 2k) 之單邊容錯設計。
圖 3(a) 中為 M(2, 8)。 我們在上面 加入六條邊, 重新畫在圖 3(b) 中而形成 M(2, 2, 4) 的網絲。 其中虛線表示加入的邊。
顯然任何一條連接 i 到 i + 2 的邊壞了, 我 們可利用 M (2, 2, 4) 的上、 下、 前、 後面 上的邊重新建造 M (2, 8)。 而任何連接 i 到 i+ 1 的邊壞了, 當 i 不等於 7 或 9 時, 我 們可利用 M (2, 2, 4) 上的左、 右兩面及前 面上的邊重新建造 M (2, 8)。 而當連接 7 到 8 的邊或連接 9 到 10 的邊壞了, 則我們可 利用 M (2, 2, 4) 上的左、 右兩面及後面上的 邊重新建造 M (2, 8)。 所以 M(2, 2, 4) 為 M(2, 8) 之單邊容錯設計。
圖三 (a) 二維網絲 M(2, 8);
4 數學傳播 十八卷二期 民83年6月
圖三 (b) 三維網絲 M(2, 2, 4)。
顯然網絲的最佳單邊容錯設計究竟為 何, 我們仍不知道, 藉數學傳播一角, 提出此 問題, 並期望有拋磚引玉的功效。
參考資料
1. F. Harary and J. P. Hayes, Edge fault tolerance in graphs, Net- works 23 (1993), pp. 135-1142.
2. R. S. Chou and L. H. Hsu, 1-edge fault- tolerant designs for meshes, to appear in Parallel Processing Letters.
3. F. T. Leighton, Introduction to Parallel Algorithms and Architecture: Arrays.
Trees. Hypercubes, Morgan Kaufmann Publishers (1992).
—本文作者任教於國立交通大學資訊科學 系—