• 沒有找到結果。

第二章 文獻探討

第一節 重心法

第二章 文獻探討

為了讓本研究之目的能夠達成,故在探討研究問題前,先就現有相關 之文獻,進行深入探討與分析,從中了解前人研究的方法及結果,以省去 不必要的嘗試與錯誤。因此,本章擬分成「重心法之理論探討與演算法」

與「中位數法之理論探討與演算法」兩小節,進行文獻探討。

第一節 重心法

杉山公造提出之重心法,乃是利用物理靜態平衡之原理,將兩階層中 固定的一階層視為連結擺錘之端點,另一階層視為可移動之頂點,計算出 來之重心值視為擺錘到達平衡後之相對位置。

圖 2-1 重心法原理範例

例如:一個二階階層圖中,個別檢視頂點 A、B 之情況,則頂點 A 之情況 如下:

8

修正後

圖 2-2 重心法原理範例變化圖(a) 頂點 B 之情況亦如下:

修正後

圖 2-3 重心法原理範例變化圖(b)

9

因此,經過重心法排序後之二階階層圖應如下:

圖 2-4 重心排序後之重心法原理範例

經由上述的觀察,且透過位置函數x

( )

⋅ 來描述時,可得x

( )

1 =1

( )

2 =2

x ,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 =2

x ,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 E

G= 1U 2,

)

L2 L1

( )

G 3BC

( )

G

Med ≤

在證明此關係式前,我們先定義幾個符號,然後再證明以下引理 與定理,以增加研究結果一證明的可讀性。

一、 假設u,vL1,定義

( ) ( )

⎩⎨

=

=

=

其他情形 ,

0 , 1

uv

uv med u med v

τ

τ 。

二、 令Nuv =

{

wL1 |

( )

w,uE,

( )

w,vE

}

,定義luv= Nuv

三、 令

( ) ( )

2

−1

=t t

χ t

四、 當u,vL2,x2

( )

u < x2

( )

v ,定義Cuv =

{ { ( ) ( )

u,t , v,w

} ( )

:x1 t > x1

( )

w

}

。 五、 cross

(

G,x1,x2

)

表示為任意二階階層圖G =

(

L1UL2,E

)

中的交錯邊

數總和。

(

G, x1

opt

)

表示為任意二階階層圖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

(

cg

) (

χ e+1

)

,同理β內的邊與δ 內的邊所產生的 最大交錯數為b

(

dg

) (

χ f +1

)

,而γ內的邊與δ 內的邊所產生 的最大交錯數為cdχ

(

g+1

)

所以Cuva

(

cg

) (

χ e+1

)

+b

(

dg

) (

χ f +1

)

+cdχ

(

g+1

)

從(II)可推論出

個別對 層中的頂點兩兩提出分析,L1u,vL1, ,

由引理 1 與下面不等式

{

u v

}

uv d d

l ≤min , ,

(

2

) (

1

)

1 1

8 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⋅

最後如果dudv皆為偶數,從引理 1 中可推導出 4Cuv ≤3dudv −2du +1≤3dudv −3,當du ≥2, 4Cvududv −1,當

(

1 2

)

0

8 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 2Med

( )

G ≤ 3opt

( )

G

證明以上引理與定理後,接下便開始證明研究結果一:

對任意二階階層圖G=

(

L1UL2,E

)

而言,若固定 層排 層時,

則 。

L2 L1

( )

G 3BC

( )

G

Med ≤

證明:假設BC

( )

G <opt

( )

G ,表示可以在二階階層圖G =

(

L1UL2,E

)

中,

固定 層,排 層時,產生一組頂點的順序排列,會使得

,此與 L2 L1

( )

G <opt

( )

G

BC opt

( )

G 的定義產生矛盾,故BC

( )

G opt

( )

G 。 又由定理 1 可得Med

( )

G ≤ 3opt

( )

G ,因此Med

( )

G 3BC

(

G

)

)

二、對任意二階階層圖G=

(

L1UL2,E 而言,對所有u,vL1,若

( )

u L

( )

v

L1 1

bc

bc > med

( )

u >med

( )

v ,則Med

( )

G =BC

( )

G 。 證明:假設L1 =2,u,vL1,令x

( ) ( )

u < xv

由於bcL1

( )

u >bcL1

( )

vmed

( )

u >med

( )

v ,則重心法與中位數法對 排序後具有一致性,

v

u, x

( ) ( )

v <xu ,故Med

( )

G =BC

(

G

)

。 同理,若 L1 =n,∀u,vL1,使用重心法與中位數法對 做排 序,因

v u,

( )

u L

( )

v

L1 1

bc

bc > 且med

( )

u >med

( )

v ,所以x

( ) (

v <x u

)

,依此 方式個別對n個頂點進行兩兩比較後,可得兩方法之 排序具 有一致性。

v u,

對所有 ,因為重心法與中位數法之 排序具有一致 性,且

,v L1

uu,v

( )

u L

( )

v

L1 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≤kL1 −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

bkak +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

但依中位數法演算方式,因bkak +1為奇數,所以 Nk 為 奇數、Nk+1 為偶數,可得兩行不能互換。

(三)最後考慮ak +bk =ak+1 +bk+1,1≤kL1 −1,因

akak+1,bkbk+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< jL1,1≤k<lL2 ,且 l

v k j u i

muv =1, ≤ ≤ , ≤ ≤ ,muv =0,其它情況,則我們無法 減少鄰接矩陣M 的交錯邊數。

證明:在鄰接矩陣M 中,我們唯一可做的只有將任意兩行或是 兩列互換,在計算完重心值或中位數值後的行列互換,

可視為將行列兩兩互換的連續行為。

muv =1,iuj,kvlmuv =0,其它範圍,所以交錯 邊僅出現在此方形區域中,故只需探討能否減少此方形 區域中交錯邊數。

先看任意兩行互換的情況,在此鄰接矩陣M中,其各行 的數字 0,1 排列只有兩種可能:

(1) muv =0,1≤vL2 ,如:

[

0 0 L 0

]

。 (2) muv = ,1kvlmuv =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

( )

G

BC =

( )

G Med

( )

G

BC > ,且需再做多次中位數法的 互換,才能重新得到BC

( )

G =Med

( )

G 之結果。

對二階階層圖做多次行與列重心的排序,可以將其位 置函數具有極端值的點,逐漸靠近其他位於相同鄰域的頂 點,在無同重心之前提下,也不會有多個點具有相同鄰域,

使得某些點的位置函數相對於相同鄰域的點而言,會產生 極端的現象,例如圖 3-8 之範例。在無極端值影響重心排

使得某些點的位置函數相對於相同鄰域的點而言,會產生 極端的現象,例如圖 3-8 之範例。在無極端值影響重心排

相關文件