• 沒有找到結果。

第二章 文獻探討

第一節 重心法及其演算法則

一、重心法之演算步驟

重心法藉由計算重心值,將學習階層圖中,每一層內之概念節點,依 照各概念節點之重心值,由小到大,由左到右之順序,重新排列。重心法 之演算法則,基本上先建造於只有兩層之學習階層圖,之後再擴充到兩層 以上之學習階層圖。

(一)只有兩層之學習階層圖的演算法

為方便描述演算法則,首先定義幾個重要函數,其次介紹杉山 公造教授之演算步驟。

1.函數定義

(1) K

( )

⋅ :表示將鄰接矩陣映到非負整數之函數。

( )

2 1,1 1 i L j L

mij

M 為一鄰接矩陣,則

( ) ∑ ∑ ∑ ∑

則定義第 i 層與第i+1層之交錯邊數為

⎥⎥

⎥⎥

⎢⎢

⎢⎢

=

0 0 0 0

0 0 0

0 0

0

0 0 0

3 2 1

M M M

M

K(M)= K(M1)+K(M2)+K(M3) =2+3+3=8。

2.演算步驟

杉山公造之演算法,分為兩階段逐步進行。

(1) 第一階段(重心值皆不相同時)

a.步驟 1:設定初始重複循環第一階段演算之次數(即 疊代次數)r,然後計算K

( )

M1 ,這裏M1表示為第 1 層與第 2 層之鄰接矩陣。

b.步驟 2:令M2R

( )

M1

c.步驟 3:若K

( )

M2 <K

( )

M1,則令M =M2K =K

( )

M2 。 d.步驟 4:令M3C

( )

M2

e.步驟 5:若K

( )

M3 < K,則M =M3K =K

( )

M3 。 f.步驟 6:若M3 =M1或疊代次數剛好大於r,則結束第

一階段演算,進入第二階段演算。否則,回到第一階 段的步驟 2。

(2) 第二階段(出現相同重心值時)

a.步驟 1:令M4 =RC

( )

M3

b.步驟 2:M4之行重心值若不是由小到大排列時,則令

4

1 M

M = ,且跳到第二階段步驟 5,否則進行步驟 3。

c.步驟 3:M5 =RR

( )

M4

d.步驟 4:M5之列重心值若不是由小到大排列,則令

5

1 M

M = 且跳到第二階段步驟 5,否則結束執行。

e.步驟 5:若第二階段之疊代次數大於初始值時,則結 束執行,否則跳到第一階段第 2 步驟。

範例說明:

b c d

e f g h

a

圖二、階層圖

步驟 1:寫出鄰接矩陣

1 5 . 2 5 . 2 3

5 . 2 1

2 0 1

0 1 1 d

1 3 0 3 1 0 0 c

2 2 3 0 1

1 0 1 b

2 3 4 1 2

0 1 0 a

h g f e

1

C l

R k

B

B

M

+ =

= + = + =

= , K

( )

M1 =11

此鄰接矩陣計算出的列重心值,依照列重心值的大 小,由上至下,由小至大依序排列。但因為出現相

同列重心值,因此,在排序時相同的列重心值必須

ii.由鄰接矩陣M3得到

順序須再一次排序。

(二)兩層以上之學習階層圖的演算法

假設該學習階層圖有n層,n>2,底下為演算步驟:

1.固定第 1 層,根據壹、一、(一)、2 之演算法排第 2 層中頂 點之順序。

2.固定排序完後之第 2 層,再根據壹、一、(一)、2 之演算法 排第 3 層中頂點之順序。

3.依此類推,直到排完第n層為止。

4.固定第n層,再根據壹、一、(一)、2 之演算法排第n−1層中 頂點之順序。

5.固定排序完後之第n−1層,再根據壹、一、(一)、2 之演算 法排第n−2層中頂點之順序。

6.依此類推,直到排完第 1 層為止。

範例說明:

a b c

d e f

g h i

j k l

第 層1

第 層2

第 層3

第 層4

步驟 1:寫出鄰接矩陣G 0

步驟 4:固定排序完後之第 3 層,排第 4 層頂點之順序,將列重心值

步驟 6:在M( )2 中,將列重心值按大小次序排列,得到

二、重心法演算步驟之問題點與其實例說明

(一)鄰接矩陣M 中,出現過多相同重心值時,演算步驟第二階段中 之RC

( )

MRR

( )

M ,將面臨無法定義的問題。

實例說明:

a b c d e

f g h i j

圖六、階層圖

步驟 1:寫出鄰接矩陣

3 5 . 3 3 . 3 5 . 3 3

2 0 0 1 1 1 e

5 . 3 0 1 1 0 0 d

5 . 4 1 1 0 0 0 c

2 0 0 0 1 0 b

2 0 0 1 0 1 a

j i h g f

1

c l

R k

B

B

M = , K

( )

M1 =18

此鄰接矩陣產生三個相同列重心的值,故無法有效判斷其先 後次序,因此,必須將此三個元素兩兩交換,並同時探討交 換後所產生的交錯邊數。下列將交換後產生之交錯邊數較少 者,提出討論。

步驟 2:將列重心值按大小次序排列,得到

(二)若演算步驟不是先固定第 1 層(最上層),然後逐一排到最後

步驟 3:將行重心值按大小次序排列,得到

以及相同列重心值交換排序得到

綜觀上述兩種選取法則所得到之階層圖(十一)與(十二)及其交錯 邊數,發現「先固定下層,再依照重心法演算法則排序」與「先固定上層,

再依照重心法演算法則排序」,得到的交錯邊數有明顯的不同。

相關文件