雙環電腦網路裡的 L- 形
黃光明
摘要: 本文借雙環網路中的L-形指出電腦網路中有很多有趣的數學問題, 像在 L-形的研究
裡就用到了圖論、 幾何、 代數和數論, 可見數學是的確有用的。
1. 雙環網路
不久之前, 一個電腦中只有一個處理器, 它工作的速度已經比人快上萬倍。 不久之後, 我們即嫌它的速度太慢, 因此在一個電腦內 放入多個處理器讓他們同時進行一個工作。
當然, 他們彼此間需要交換訊息, 這一個處理 器間 (也可以是儲存器間) 的網路就是一種電 腦網路。 同時公司的辦公大樓裡也不僅已有 一台電腦為滿足, 而是每個桌上有一台。 這時 又需要把這些電腦連結起來, 連結的方式也 是一種電腦網路。 本文討論的是電腦網路的 邏輯結構, 而非它的工程問題。
電腦網路有多種結構可選擇。 選擇的標 準當然隨應用而異, 但總有一些原則可循。 第 一是要有好的性質, 通常是指電腦間通訊時 間短、 可靠性強、 含有多種類型的子結構 (這 是為了有的演算法需要特殊結構) 即使零件 出差錯時仍能工作等。 第二是結構要簡單, 以 導致建造、 裝置和使用都簡單。
本文介紹一型符合上面兩原則的網路, 叫做 (有向) 雙環網路。 它的祖先是 (有向)
單環網路, 即把 N 具電腦 0, 1, . . . , N − 1 作環狀連接 (見下圖)。 也可說對任何 i, 0 ≤ i≤ N − 1,i 有一條 (有向) 線接到 i + 1 (N 視作 0), 表示 i 可以送訊息到 i + 1。
N −1
0 1· 2
. .. ...
.. . .. .. .. . .. .. .
... ... ...
. .. . .. .. . .. .. ..
.. .. .. .. . .. .. . .. . .. .. .. . .. . .. . .. .. . .. . .. . .. .. . .. .. . .. . .. .. .. ... ...
···
. . . .. . . .. . . .. . . . . .. . . . . . . .. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . . .. . ... . ...
k
. . .. . .. .. . .. .. . .. .. . . .. . .. . .. .. .. . .. .. . .. . .. .. .. . . . ... . ...
···
單環網路的確夠簡單, 也滿足了任一點 都可 (沿環) 送訊息到另一點的基本任務。 但 從 i 點送到 i − 1 點要走完整個環共 N − 1 步。 如有任一點或一線壞掉, 每一點就都不能 送訊息到在它和壞 (線) 點間的點。 它的子結 構 (部分點間的連接) 也很貧乏, 唯一能連接 所有子集合中的點的結構就是一條線。
為此有人建議了雙環網路, 即除了i → i+ 1 線組成的一個環外, 再加上 i → i + a, a 6= 1, 的一個環。 後來雙環網路的定義又被 推廣成含 i → i + a 和 i → i + b 的兩個環。
下圖給了一些 N = 6 的例子 (如 i + a 或
3
b)> N, 則以 i + a 或 b 除 N 的餘數代替):
.. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. . .. .. . ... .. . .. .. . .. .. . .. .
... . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. .. .. . .. .. .. . . .. .. .. . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . ... .. ...
. .. .. .. .. .. . ..
. ...
.. .. .. .. .. . .. .. .. . . .. . .. .. .. .. .. .. . .. .. .. .. .. . . .. .. . .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. ... .. ... .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. . .. . .. . .. .. .. .. .. . .. .. .. .. .. .. . . .. . .. ... .. ... . ...
. . .. . . . .. . . . .
.. ...
. .. . .. . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. ... ... .. . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. . .. . . ... . ...
0
1
2 3
4 5
a = 1, b = 2
.
...
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . ... .. ...
.. .. .. .. .. .. .
.. ...
.. . .. .. .. .. . .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. . .. . .. . .. .. .. .. .. . .. .. .. .. .. . . ... . ... . .. .. .. .. .. .. . .. .. .. .. .. . . .. .. . .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. .. .. ... .. ...
.. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . . .. .. . . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . . .. .. . . .. . .. . .. . . .. .. . . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . . ... . ... .
...
.. . .. .. . .. .. .. . . .. . . .. . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. . .. . . .. .. . . .. . .. . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . .. . . .. . . .. . .. . .. . .. . . .. . .. . .. . .. . . .. . .. . .. . . .. . .. . .. ... ...
... . .. . . . .. . . . .. . . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. . . .. .. . .. .. .. . .. . .. .. . .. ... . .. . .. . .. . .. .. . .. ... .. .. . .. .. . .. .. .
0
1
2 3
4 5
a = 2, b = 3
(x ↔ y 代表 x → y 和 y → x 的兩條 線), 一個網路必須滿足的一個性質就是每個 點都有路線通到其他任一點, 稱為連通性。 雙 環網路 DL(N; a, b) 具有連通性的充要條件 是 N ,a, b 三個數的公因數為 1。
不像單環網路只有一種, 雙環網路隨著 a 和 b 的選擇有許多種, 因此存在一個選擇 的問題。 在較好的選擇下, 兩點間最遠的距離 (稱為網路直徑) 從單環的 N 降到√
N, 有相 當好的可靠性, 少數點和線壞掉時, 網路仍能 以高效率運作, 也具有一些重要的子結構, 並
能在最短時間內讓所有點同步傳輸訊息。 本 文限於篇幅, 主要只討論和快速通訊有關的 的直徑和同步傳輸。 讀者如想涉窺雙環網路 的其它面貌, 請參閱[6]。
三環網路和一般的多環網路也有人研討 過, 因為他們含有雙環網路, 所以自然也具有 雙環網路的性質, 甚至更好一些 (但數學分 析很難, 具體結果不多), 這時要考慮的是新 加環的成本, 及每個點要具有接受多條入-線, 及在多條出-線中選擇路線的控制能力的成本 及控制所需的時間, 而決定是否值得。 一般的 意見是雙環網路已經夠好了。
2. L-型
用 0-點為出發點, 我們把到達所有其他 點的最短路線畫出來。 一個相當不錯的表示 法是把 0-點放在左下角, a-步 (即 i → i + a) 往右, b-步往上。 為了保證路線為最短, 王和 Coppersmith [8]提出一個逐步畫法, 即先標 出一步能走到的點, 再標出兩步、 三步· · ·能 走到的點。 如果一個點在 x 步已走到, 而又 在 y > x 步走到時, 我們即不再把它標示 出。 下列給出 DL(10; 1, 3) 的標示法:
3 0 1 一步
6 3 4 0 1 2
兩步 9 6 7 3 4 5 0 1 2 (3)
三步
(2) 9 (0) 6 7 8 3 4 5 (6) 0 1 2 (3) (4)
四步
m 9 6 7 8 3 4 5 0 1 2
1 L-型 h
np q
. ...
. . . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . ..
標出的 N 點用一個多邊形畫出, 則恆 得一 L-型。 它有六條邊, 其長度分別標示為 h, l, m, n, p, q, 但只有四個長度是獨立的, 且 可證 l ≥ n, h ≥ p, 而其中至少有一個是不 等式。 有時 n = 0 或 p = 0 則 L-型退化為 一長方形。 因為這一退化型的分析較複雜, 本 文只考慮純 L-型。
從上例所示的演算法, 可以看出 L-型可 在 O(N) 的時間中造出。 如果我們要把 L- 型中每一格中的點標出, 則因為共有 N 點, 也必須要用到 O(N) 時間。 但如果我們只要 L-型的邊長, 則只有四個參數, 就不一定要 O(N) 時間。 最理想的當然是從 N, a, b 可 以直接解出 h, l, p, n 四值, 但目前能作 到的是程和黃 [4]利用歐幾里得輾轉相除法得 到的一個 O(log N) 時間的演算法。 我們用 DL(50; 1, 19) 來舉例說明。
甲. 定義 ρ
−1
= N, ρ0
, 0 ≤ ρ0
< N, 是 滿足 aρ0
+ b ≡ 0(mod N) 的非負整數, ρi
, qi
, 1 ≤ i ≤ m + 1, 則從下式輾轉得 到:ρ
i
= ρi−2
− qi
ρi−1
, 1 ≤ ρi
≤ ρi−1
m 是首次達到 ρ
m+1
≡ 0(mod N) 的 數, 在例中, 我們得到ρ
−1
= 50, 因為 , 1 · 31 + 19≡ 0(mod 50), 故 ρ
0
= 31 ρ1
= 50 − 1 · 31 = 19, 故 q1
= 1 ρ2
= 31 − 1 · 19 = 12, 故 q2
= 1 ρ3
= 19 − 1 · 12 = 7, 故 q3
= 1 ρ4
= 12 − 1 · 7 = 5, 故 q4
= 1ρ
5
= 7 − 1 · 5 = 2, 故 q5
= 1 ρ6
= 5 − 2 · 2 = 1, 故 q6
= 2 ρ1
= 2 − 2 · 1=0, 故 q7
= 2, m = 2 乙. 定義 U−1
= 0, U0
= 1, Ui+1
=q
i+1
Ui
+ Ui−1
, 0 ≤ i < m, 在例中 得U
1
= 1 · 1+0 = 0, U2
= 1 · 1+1=2, U3
= 1 · 2+1 = 3, U4
= 1 · 3+2=5, U5
= 1 · 5+3=8, U6
= 2 · 8+5=21, U7
= 2 · 21 + 8 = 50丙. 建立 0 =
U ρ
m+1m+1 <
U ρ
mm < · · · <
ρ
0U
0 <U ρ
−1−1 = ∞ 的單調上升序列。 令 u 是最大滿足
U ρ
uu > 1 的奇數, 定義 ν= ⌈
ρ
u+1ρ
u−U + U
uu⌉ − 1, 在例中, 序列為0 50< 1
21 < 2 8 < 5
5 < 7 3 < 12
2 < 19 1
<31 1 < 50
0 , 因為
ρ
3U
3 =7 3
是從左到右首次大於一, 且 3是奇數, 故 u = 3, ν = ⌈7−3 5+3
⌉ − 1 = 0 丁. 解 l = ρu
− νρu+1
, h = Uu
+ (ν + 1)Uu+1
, n = Uu
− νUu+1
, p = ρu
− (ν + 1)ρu+1
, 在例中: 1 = 7 − 0 · 5 = 7, h= 3 + 1 · 5 = 8, n = 3 − 0 · 5 = 3, p= 7 − 1 · 5 = 2當我們用王的演算法畫出 L-形時, 邊長果然 與上解相同。
33 34 35 36 37 14 15 16 17 18 45 46 47 48 49 26 27 28 29 30 31 32 7 8 9 10 11 12 13 38 39 40 41 42 43 44 19 20 21 22 23 24 25 0 1 2 3 4 5 6 8
3 2
7
.
...
. . . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .
神奇嗎? 如果不信的話, 請去查一下參 考 [4]裡的證明。
因為雙環網路有點對稱的性質, 把出發 點從 0換成任何i, L-型不變。
3. L-型的等價變換
在 L-型離 0-點最遠的點一定是兩個凸 出角之一。 把最遠的距離叫做雙環網路的直 徑, 寫成 D(N; a, b), 則
D(N; a, b) = max{h + m, l + g} − 2 因此計算直徑, 只要用程和黃的 O(log N) 演算法求 h, l, n, p 即成。 在 N 固定時, 我們要求得直徑最短 (代表傳輸最快, 最不易 出錯) 的雙環網路, 因此比較他們的 L-型即 可。 黃和徐 [8]定義兩個 L-型如果距離 0-點 d 步的點數, d = 1, 2, . . . , N −1, 全部相同, 則為等價。 這時不但他們的直徑相等, 點間的 平均距離及所有點對稱的距離函數值都會相 等, 因此稱它們為等價是很適合的。 黃和徐提 出一種幾何方法, 稱為 「三段法」 來構造一個 等價的 L-型。
... .
.. .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . ...
.. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . ..
.. .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. .
...
...
. ...
A
B
C C A
B
上圖中將 L-型切成三段 A,B,C,A-切把 L-型分成兩個長方形, 下面的長方形再切成 C,B 兩段, 其中 C 的長度要等於 A 的高 度 (因為 l ≥ p, 所以做得到)。 在構造等價的 L-型時, 把 C 豎起來, 把 A 平移到 C 的旁 邊合成一長方形, 再把 B 平移到這長方形之 上。 以上的豎立、 平移動作很容易驗證保全了 每一段和 0-點之間的距離, 因此由三段法造 成的 L-型是等價的。
是否還有其他的造法呢? 很多! 但陳和 黃 [3]證明所有的造法, 都可以寫成下列四個 簡單幾何變換的一個串聯:
1. 翻轉 (F) 把右和上的方向對調。
... .
. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .
.. ... ...
h q
1 p m
h m
1 p
q
2.換頂 (T) 把頂上的一個長方形作 90
◦
轉換。.
... .
. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. . .. .. . .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . . . ...
. ...
... .
. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. . .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. . ...
3. 換邊 (S) 把右邊的一個長方形作90
◦
轉換。.. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . . . ...
.
...
...
... ..
.. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . . ...
4. 換空 (E) 把 L-型右上方空缺的一個 長方形作 90
◦
轉換。.
... .
. . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . ..
...
... .
. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . ..
譬如三段法所得的等價 L-型可以經由 換頂–翻轉–換頂得到。
對應於這些幾何變換, a 和 b 這兩個參 數如何變換? 在翻轉時, 顯然 a
′
= b, b′
= a, 其他三個轉換的 a′
和 b′
在理論上可由下列 公式得到F H = T F E = BT = F EB 但實際去解並不容易, 陳和黃 [3]給出了 E 的 a
′
和 b′
。 令 x 和 y 為滿足 bx − ay = 1 的整數, 則 a′
≡ px − qy(mod N), b′
≡ lx− ny(mod N)。注意找 x, y 也適用歐幾里得的輾轉相 除法。
4. 從 L-形求 a, b
既然 L-型決定了直徑, 一個求有短直徑 的雙環網路的方法就是先找到一面積為 N = hl− pn 且 h + m 和 l + q 都不太大的 L- 型。 下一步是求對應於這一個 L-型的 a 和 b。
在第二節中, 我們看到了從 (a, b) 求 L-型是
相當容易的事情, 王的演算法小學生也能照 作。 但反求的問題則難度甚大, 本節中我們介 紹一個代數法和一個數論法。 這兩種方法都 從一個幾何的觀察開始: Fiol,Yebra,Alegre 和 Valero [5]指出任何一種 L-型都可舖滿二 度空間, 即 L-型可以經由緊密但不重疊的併 合, 無限的擴展它在二度空間裡無隙的含蓋 (見下圖)
.. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .
... ..
.. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . . .
...
...
... .. .. .. . .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . . .
... .. . .. .. . .. .. .. . .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. . .
... . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. . .. .. . ..
.. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .
... .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . . .
... .. . .. .. . .. . .. .. .. . .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .
0 0
0 0
0
0 0
下面兩個等式裡敘述了相鄰 0-點位置的 關係
la− nb ≡ 0(mod N)
−pa + hb = 0(mod N)
第一式說從一個 0-點往右走 l 個 a-步, 再往下走 n 個 b-步就到達另一 0-點, 第二式 說往左走 p 個 a-步, 再往上走 h 個 b-步 也到達一 0-點。 本來用兩個方程式解兩個未 知數應該不是難事, 但這裡的方程式是在有 限域裡, 就沒有標準解法了。 Aguilo和 Fiol [1]用矩陣的 Smith 正則型轉換得到了一個 解答。 對
l −p
−n h
這一矩陣求它的 Smith 正則型, 即用兩個 2 × 2 的矩形 L 和 R 其元素整數且行列式
值為 1 使
L
l −p
−n h
, R=
l 0 0 N
設 L =
w x y z
, 則 a = y, b = z。 譬如當 N = 8, h = l = 3, n = p = 1 時
0 −1 1 3
3 −1
−1 3
−1 3 0 1
=
1 0 0 8
所以a = 1, b = 3。 上述作者也給出了一個 相當複雜找L和R的方法。 構造DL(8; 1, 3) 的 L-型, 得
6 7 3 4 5 0 1 2
.. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . . . ...
. .
h, l, n, p 值驗證無誤。 陳和黃 [2]以數 論的方法切入。 定義
a
k
= h + hn bk
= p + kl令 F 是 N 的質因數的集合, F
k
是 (ak
, bk
) 最大公約數的質因數的集合。 在前例 中 N = 18, 故 F = {2, 3},a
0
= 4, b0
= 3最大公約數不存在故F0
= φ a1
= 8, b1
= 6最大公約數是2 故F1
= {2}...
他們用數論中 「篩」 的理論證明了一定 存在一個 k, 使得 F 中每一元素都不在 F
k
裡, 這時 a = a
k
, b = bk
即為解。 在例題中F
0
= φ, 自然不含 F 中元素, 所以 a0
= 4, b0
= 3 即為解。構造 DL(18;4,3) 的 L-型, 得
2 5 16 19 12 15 8 11 14 17 4 7 10 13 0 3 6 9
.. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. . .. .. .. . .. . .. .. .. . .. .. . .. . .. .. .. . .. .. . ..
...
.
h, l, n, p 值驗證無誤。
5. L-形的訊息傳輸
假設網路上的每一點都有一訊息要送到 另一點。 當有兩個訊息要送到同一點時, 則兩 條路線在終點附近很可能會發生爭線的情形, 所以我們假設終點全不同。 當這 N 對 (起點, 終點) 最大的距離是 d 時, 則很顯然我們至少 需要 d 步 (每步走一條線) 才能把這距離為 d 的訊息送到。 非常吃驚的一個結果是黃, 林 和簡 [7]證明了所有 N 個訊息的同步輸送可 以在 d 步完成 (一步中每根線只能送一個訊 息)。 假設 a < b, 則稱 b-步為大步,a-步為小 步。
大步法
甲. 首先從 L-型上求得每一訊息從起點到終 點需走多少大步, 多少小步。
乙. 每一訊息都先走大步, 走完再走小步。
丙. 當某些訊息需爭用同一線時, 離終點小步 距離最大的先走, 其它訊息都在原地踏步 等下一個機會。
一個訊息在走大步的階段時, 不會和其 他訊息爭線, 因為一開始時, 訊息都在不同點 上, 所以走完大步後, 仍在不同點上。 這時可 能會有走小步的訊息落在同一點上, 但它要 用的是a-線, 不和大步搶 b-線。 一個訊息在 走小步的階段, 可能會和其他走小步的訊息 爭a-線, 這時小步距離最遠的先走。 又因終點 都不一樣, 所以同停在某點等待 a-線的訊息 離終點的小步距離也都不同 (記住它們剩下 的步都是小步) 。 顯然的, 原距離為 d 的訊 息在圖中的任何點它都會是距離終點最遠的, 因此從來不須等。 可以證明原距離為 d − k 的點最多只要等 k 次, 所以在 d 步後每個訊 息都到達終點。
雙環網路 (當然越多環會越好) 是目前 知道唯一能讓所有網路點同步輸送訊息而能 保證在最短 d 步內完成的網路。
參考文獻
1. F. Aguilo and M. A. Fiol, An efficient algorithm to find optional double-loops network, Disc. Math. 138(1995) 5-14.
2. C. Chen and F. K. Hwang, The mini- mum distance diagram of double-loops
networks, IEEE Trans. Comput, to ap- pear.
3. C. Chen and F. K. Hwang, The spec- trum of equivalent nondegenerate L- shapes of double-loops networks, Net- work, to appear.
4. Y. Cheng and F. K. Hwang, Diameters of weighted double-loops networks, J.
Alg. 9(1998) 401-410.
5. M. A. Fiol, J. L. A. Yeba, I. Ale- gre and M. Valero, A discrete opti- mization problem in local networks and data alignment, IEEE Trans. Comput.
36(1987) 702-713.
6. F. K. Hwang, A complementary sur- vey on double-loop networks, Theoret- ical Computer Science, to appear.
7. F. K. Hwang, T.-S. Lin and R.-H. Jan, A permutation routing algorithm for double-loop networks, Parall. Process.
Lett. 7(1997) 259-265.
8. C. K. Wong and D. Coppersmith, A combinational problem related to multimodule memory organization, J.
ACM 21(1974) 391-402.
—本文作者任教於交通大學應用數學系—