第二章 文獻探討
第一節 重心法
第二章 文獻探討
為了讓本研究之目的能夠達成,故在探討研究問題前,先就現有相關 之文獻,進行深入探討與分析,從中了解前人研究的方法及結果,以省去 不必要的嘗試與錯誤。因此,本章擬分成「重心法之理論探討與演算法」
與「中位數法之理論探討與演算法」兩小節,進行文獻探討。
第一節 重心法
杉山公造提出之重心法,乃是利用物理靜態平衡之原理,將兩階層中 固定的一階層視為連結擺錘之端點,另一階層視為可移動之頂點,計算出 來之重心值視為擺錘到達平衡後之相對位置。
圖 2-1 重心法原理範例
例如:一個二階階層圖中,個別檢視頂點 A、B 之情況,則頂點 A 之情況 如下:
8
修正後
圖 2-2 重心法原理範例變化圖(a) 頂點 B 之情況亦如下:
修正後
圖 2-3 重心法原理範例變化圖(b)
9
因此,經過重心法排序後之二階階層圖應如下:
圖 2-4 重心排序後之重心法原理範例
經由上述的觀察,且透過位置函數x
( )
⋅ 來描述時,可得x( )
1 =1,( )
2 =2x ,x
( )
3 =3,而平衡後的 A 所在位置,介於頂點 2 與頂點 3 之間,故 頂點 A 所在位置大約等於 2.5,平衡後的 B 所在位置,介於頂點 1 與頂點 2 之間,故頂點 B 所在位置大約等於 1.5。對應杉山公造所定義頂點之重 心值,可以發現頂點 A 之重心值等於 2.5,頂點 B 之重心值等於 1.5,兩 者是相符的。此即為重心法用來解決減少交錯邊數之理論緣起。重心法藉由計算重心值,將階層圖中,每一層內之概念節點,依照各 概念節點之重心值,由小到大,由左到右之順序,做重新排列。為方便描 述重心法之演算法則,首先定義幾個重要函數,其次介紹重心法之演算步 驟。
一、函數定義
(一)K
( )
⋅ :表示將鄰接矩陣映到非負整數之函數。令( )
2 1,1
1 i L j L
aij
M ≤≤ ≤ ≤
為一鄰接矩陣則
( ) ∑ ∑ ∑ ∑
−
= = +
−
= = +
=
1
1 1
1
1 1
1 1 2 2
L
j L
j k
L L
k j a a M
K
α β α
α β
10
11
6.步驟 6:若M =3 M1或疊代次數剛好大於r,則結束第一階段 演算,進入第二階段演算;否則,回到步驟 2 繼續計 算。
(二)第二階段
1.步驟 1:令M4 =RC
(
M3)
。2.步驟 2:M4之行重心值若不是由小到大排列時,則令
4
1 M
M = ,且跳到第二階段步驟 5,否則進行步驟 3。
3.步驟 3:M5 =RR
(
M4)
。4.步驟 4:M5之列重心值若不是由小到大排列,則令M =1 M5且 跳到第二階段步驟 5,否則結束執行。
5.步驟 5:若第二階段之疊代次數大於初始值r時,則結束執 行,否則跳到第一階段步驟 2。
三、重心法演算實例
圖 2-5 利用重心法減少交錯邊前的圖形
12
13
14
圖 2-7 中位數法原理範例
例如:一個二階階層圖中,個別檢視頂點 A、B 之情況後,
則頂點 A 之情況如下:
修正後
圖 2-8 中位數法原理範例變化圖(a) 頂點 B 之情況如下:
15
修正後
圖 2-9 中位數法原理範例變化圖(b) 因此,中位數法排序後之二階階層圖如下:
圖 2-10 排序後之中位數法原理範例
經 由 上 述 的 觀 察 , 且 透 過 位 置 函 數 x
( )
⋅ 來 描 述 時 , 可 得 x( )
1 =1,( )
2 =2x ,x
( )
3 =3,x( )
4 =4,x( )
5 =5,而修正後 A 的所在位置在頂點 4 之 下,故頂點 A 之所在位置大約等於 4;修正後 B 的所在位置在頂點 3 之下,故頂點 B 之所在位置大約等於 3。對應 Eades&Wormald(1994)所定義頂 點之中位數值,可以發現頂點 A 之中位數值等於 4,頂點 B 之中位數值等 於 3,兩者是相符的。此即為中位數法用來解決減少交錯邊數之理論緣起。
16
17
Eades&Wormald 之中位數法演算方式亦分為兩個階段來進行。
(一)第一階段
1.步驟 1:計算K
(
M1)
,這裏M1表示為第 1 層與第 2 層之鄰接 矩陣。2.步驟 2:令M2 =QR
(
M1)
。3.步驟 3:若K
(
M2)
<K(
M1)
,則令M =∗ M2, K =∗ K(
M2)
。 4.步驟 4:令M3 =QC(
M2)
。5.步驟 5:若K
(
M3)
< K∗,則M =∗ M3,K =∗ K(
M3)
。6.步驟 6:若M =3 M1,則結束演算法,進入第二階段。否則,
回到步驟 2 繼續計算。
(二)第二階段
若M3有兩個以上元素具有相同中位數時,其判別法則如下:
1. 若med
( )
vi =med( )
vj ,且vi
N 為奇數、
vj
N 為偶數,則頂點vi 排在頂點vj之前。
2. 若
vi
N 與
vj
N 同為奇數或偶數時,則根據
vi
d 與
vj
d 之值的大
小,來決定頂點vi與頂點vj的順序,數值小的頂點排在數值 大的頂點之前。
3. 如果依然無法判定彼此之先後順序時,則可以自由選擇先 後順序。
18
19
20
圖 2-12 使用中位數法減少交錯邊後的圖形
第三章 研究結果
為了方便敘述起見,令Med
( )
G 表示根據中位數法,排列各層之頂點順 序後,此二階階層圖的總交錯數目;BC( )
G 表示根據重心法,排列各層之 頂點順序後,此二階階層圖的總交錯數目。第一節 固定一層排另外一層時之比較分析
一、對任意二階階層圖 而言,若固定 層排 層時,則
。
(
L L EG= 1U 2,
)
L2 L1( )
G 3BC( )
GMed ≤
在證明此關係式前,我們先定義幾個符號,然後再證明以下引理 與定理,以增加研究結果一證明的可讀性。
一、 假設u,v∈L1,定義
( ) ( )
⎩⎨
⎧
=
=
=
其他情形 ,
0 , 1
uv
uv med u med v
τ
τ 。
二、 令Nuv =
{
w∈L1 |( )
w,u ∈E,( )
w,v ∈E}
,定義luv= Nuv 。三、 令
( ) ( )
2
−1
=t t
χ t 。
四、 當u,v∈L2,x2
( )
u < x2( )
v ,定義Cuv ={ { ( ) ( )
u,t , v,w} ( )
:x1 t > x1( )
w}
。 五、 cross(
G,x1,x2)
表示為任意二階階層圖G =(
L1UL2,E)
中的交錯邊數總和。
(
G, x1opt
)
表示為任意二階階層圖G=(
L1UL2,E)
中,固定 層排 層時,能產生的最小交錯邊數。L2
L1
六、 交錯邊Ce為
{ { ( ) ( )
u,t , v,w} ( )
:x1 u >x1( ) ( )
v,x2 t > x2( )
w}
。例如在圖 3-1 中,α =
{
3,4,5}
, β ={
9,10,11,12,13}
, γ ={
1,2,6,8}
, δ ={
7,12,13}
。圖 3-1 集合α 、β、γ 、δ
定義 的度數為a α ,b的度數為β ,c的度數為γ ,d的度數為 δ ,e的度數為
{
uw∈α :vw∈γ}
, 的度數為f{
vw∈β :uw∈δ}
,的度數為
g
{
vw∈γ:uw∈δ}
。如果med
( )
u = x1( )
u ≤med( )
v = x1( )
v ,則α 內的邊不會與β內的邊 產生交錯,故交錯數為 0,而α 內的邊與γ 內的邊所產生的最大交錯數為a
(
c−g) (
−χ e+1)
,同理β內的邊與δ 內的邊所產生的 最大交錯數為b(
d−g) (
−χ f +1)
,而γ內的邊與δ 內的邊所產生 的最大交錯數為cd−χ(
g+1)
。所以Cuv ≤ a
(
c−g) (
−χ e+1)
+b(
d−g) (
−χ f +1)
+cd−χ(
g+1)
。從(II)可推論出
個別對 層中的頂點兩兩提出分析,L1 ∀u,v∈L1, ,
由引理 1 與下面不等式
{
u v}
uv d d
l ≤min , ,
(
2) (
1)
1 18 2 ⎟= − = − 2 − ≥−
⎠
⎜ ⎞
⎝
⎛
uv uv
uv
uv l l l
χ l
可以得知當du為奇數時,Cuv ≤ 3⋅Cvu。
如果du是偶數,而dv為奇數,我們可以設定τuv =0,若τuv ≠0的 情況下,會造成x2
( )
u >x2( )
v ,和之前設定產生矛盾。當du是偶數,dv為奇數,τuv =0,由引理 1 中同樣能推論出
vu。
uv C
C ≤ 3⋅
最後如果du與dv皆為偶數,從引理 1 中可推導出 4Cuv ≤3dudv −2du +1≤3dudv −3,當du ≥2, 4Cvu ≥dudv −1,當
(
1 2)
08 2
2 ⎟− + ≥
⎠
⎜ ⎞
⎝
+ ⎛ uv uv uv
u l l
d χ τ ,
所以Cuv ≤ 3⋅Cvu。
因Cuv ≤ B⋅Cvu,可以得出B=3,
(
G,x ,x)
3 opt(
G,x ,x)
cross 1 2 ≤ ⋅ 1 2 ,Med
( )
G ≤ 3⋅opt( )
G證明以上引理與定理後,接下便開始證明研究結果一:
對任意二階階層圖G=
(
L1UL2,E)
而言,若固定 層排 層時,則 。
L2 L1
( )
G 3BC( )
GMed ≤
證明:假設BC
( )
G <opt( )
G ,表示可以在二階階層圖G =(
L1UL2,E)
中,固定 層,排 層時,產生一組頂點的順序排列,會使得
,此與 L2 L1
( )
G <opt( )
GBC opt
( )
G 的定義產生矛盾,故BC( )
G ≥opt( )
G 。 又由定理 1 可得Med( )
G ≤ 3⋅opt( )
G ,因此Med( )
G ≤3BC(
G)
)
。
二、對任意二階階層圖G=
(
L1UL2,E 而言,對所有u,v∈L1,若( )
u L( )
v 且L1 1
bc
bc > med
( )
u >med( )
v ,則Med( )
G =BC( )
G 。 證明:假設L1 =2,u,v∈L1,令x( ) ( )
u < xv 。由於bcL1
( )
u >bcL1( )
v 且med( )
u >med( )
v ,則重心法與中位數法對 排序後具有一致性,v
u, x
( ) ( )
v <xu ,故Med( )
G =BC(
G)
。 同理,若 L1 =n,∀u,v∈L1,使用重心法與中位數法對 做排 序,因v u,
( )
u L( )
vL1 1
bc
bc > 且med
( )
u >med( )
v ,所以x( ) (
v <x u)
,依此 方式個別對n個頂點進行兩兩比較後,可得兩方法之 排序具 有一致性。v u,
對所有 ,因為重心法與中位數法之 排序具有一致 性,且
,v L1
u ∈ u,v
( )
u L( )
vL1 1
bc
bc > ,med
( )
u >med( )
v ,x( ) ( )
v < xu ,表示重心值 與中位數值皆由小至大排序,此為計算後最終之結果,所以可 得Med( )
G =BC( )
G 。三、存在二階階層圖G=
(
L1 UL2,E)
使得Med( )
G ≤BC( )
G 。實例說明:考慮圖 3-2 之二階階層圖G =
(
L1UL2,E)
,對 層各頂點分 別使用重心法與中位數法做排序L1
圖 3-2 Med
( )
G ≤BC( )
G 之範例原圖 使用重心法排列後圖 3-3 重心法排列後的Med
( )
G ≤BC( )
G 之圖 使用中位數法排列後圖 3-4 中位數法排列後的Med
( )
G ≤BC( )
G 之圖分別計算圖 3-3 與圖 3-4 之交錯邊數,可得到圖 3-3 之交
若一二階階層圖中,有一頂點v的鄰域 中有某些頂點,
證明:首先考慮此鄰接矩陣M內各行的行重心值,因為
(二)考慮ak +bk =ak+1+bk+1−1,1≤k ≤ L1 −1,若 為 偶
+1
− k
k a
b
數,則 2 2
2 2
1 2
1 1 1
1 + + +
+ +
− <
= +
−
= +
+ k k k k k k k
k b a b a b a b
a ,
( )
k <med(
k+1)
medC C 。
若bk −ak +1為奇數,則
2 2
1 2
1 1 1
1 + + +
+ +
− =
= +
+ k k k k k
k b a b a b
a ,
( )
k =med(
k+1)
medC C ,
但依中位數法演算方式,因bk −ak +1為奇數,所以 Nk 為 奇數、Nk+1 為偶數,可得兩行不能互換。
(三)最後考慮ak +bk =ak+1 +bk+1,1≤k ≤ L1 −1,因
ak ≤ak+1,bk ≤bk+1,所以ak =ak+1,bk =bk+1,再由 的定義 可知,在
C
Ai
M 中,第 與k k+1行的 0,1 數字排列完全相同,
兩行互換不影響交錯邊數並且不改變各列列中位數值。
由(一)、(二)、(三)可知M 的行中位數值完全由小至大排序。
因鄰接矩陣M 的行重心值與行中位數值皆由小至大排序,故對 M 中的各行,其排序都具有一致性。
同理,可證明出鄰接矩陣M內各列的列重心值與行中位數值皆 由小至大排序,故對M內的各列,其排序也都具有一致性。
因此M 的行、列重心值與行、列中位數值皆由小至大排序,且 兩方法的行、列的排序都具有一致性,所以M應為重心法或中 位數法計算後所得到的最佳鄰接矩陣,且BC
( )
G =Med(
G)
。由本證明中可以發現鄰接矩陣M 應該為重心法或中位數法計算 後所得到的最佳鄰接矩陣,接下來考慮M是否有最小交錯邊數,若M 擁有最小交錯邊數,則重心法或中位數法的計算方式能否達到此結 果。
(一)對符合前述條件之鄰接矩陣
2 1,1
)1
(mij i L j L
M = ≤≤ ≤ ≤ ,其擁有最小交 錯邊數。
在證明此關係式前,我們先證明以下引理,以增加研究結 果證明的可讀性。
引理 4:在一個二階階層圖之鄰接矩陣
2 1,1
)1
(mij i L j L M = ≤≤ ≤ ≤ 中,
若mij =mkl =1,且i< ,k j<l,則 和 會在二階階層 圖G中產生一交錯邊。
mij mkl
證明:若mij =mkl =1,表示
( ) ( )
i, j , k,l ∈E,又i< ,k j<l,表示x1
( )
i >x1( ) ( )
k ,x2 j >x2( )
k ,因此由交錯邊的定義可知, 和 會在二階階層圖G 中產生一交錯邊。
mij mkl
引理 5:在一個二階階層圖的鄰接矩陣
2 1,1
)1
(mij i L j L M = ≤≤ ≤ ≤ 中,
若有一方形區域,範圍為1≤i< j≤ L1,1≤k<l ≤ L2 ,且 l
v k j u i
muv =1, ≤ ≤ , ≤ ≤ ,muv =0,其它情況,則我們無法 減少鄰接矩陣M 的交錯邊數。
證明:在鄰接矩陣M 中,我們唯一可做的只有將任意兩行或是 兩列互換,在計算完重心值或中位數值後的行列互換,
可視為將行列兩兩互換的連續行為。
因muv =1,i≤u ≤ j,k ≤v≤l,muv =0,其它範圍,所以交錯 邊僅出現在此方形區域中,故只需探討能否減少此方形 區域中交錯邊數。
先看任意兩行互換的情況,在此鄰接矩陣M中,其各行 的數字 0,1 排列只有兩種可能:
(1) muv =0,1≤v≤ L2 ,如:
[
0 0 L 0]
。 (2) muv = ,1k ≤v≤l,muv =0,其它範圍,例如:[
0 L 0 1 L 1 0 L 0]
。若互換之兩行的 0,1 排列皆同為(1)或(2),則兩行互換 不影響交錯邊數。
若互換之兩行的 0,1 排列不同時,考慮 0,1 排列為(2)之 行與另一個 0,1 排列同為(2)之行的影響。
令行 a 的 0,1 排列為(1),行 b、c 的 0,1 排列為(2) 1. 若行 b 原本在行 c 上方,行 a、b 互換,則行 a 依然
在行 c 上方。
因為 b、c 的 0,1 排列相同,所以 a、b 的互換可視為
證明:首先觀察鄰接矩陣M 的各行,對任意兩行,其連接矩陣
證明:令 的鄰域u Nu中各點之位置函數分別為
圖 3-6 縮短連接邊總長之範例
對於此圖形,其行與列重心值均無同重心,但觀察行 與列中位數值,皆可發現具有相同重心值,且中位數法無 法有效判斷其先後順序,若不做互換,則 , 如果互換,則
( )
G Med( )
GBC =
( )
G Med( )
GBC > ,且需再做多次中位數法的 互換,才能重新得到BC
( )
G =Med( )
G 之結果。對二階階層圖做多次行與列重心的排序,可以將其位 置函數具有極端值的點,逐漸靠近其他位於相同鄰域的頂 點,在無同重心之前提下,也不會有多個點具有相同鄰域,
使得某些點的位置函數相對於相同鄰域的點而言,會產生 極端的現象,例如圖 3-8 之範例。在無極端值影響重心排
使得某些點的位置函數相對於相同鄰域的點而言,會產生 極端的現象,例如圖 3-8 之範例。在無極端值影響重心排