• 沒有找到結果。

DBL 的定義

在文檔中 2.3 可分割板面規劃 (頁 45-49)

第四章 左下靠緊板面規劃表示法 :

4.2 DBL 的定義

z 上左方區塊之定義:

即區塊 j 為區塊 i 的上方真實鄰近且為最左方的區塊,也就是當

( x

i <

x

j +

w

j

)

( x

i +

w

i >

x

j

)

( y

j =

y

i +

h

i

)

且區塊 j 是區塊 i 的最左邊 之區塊,此四個條件同時成立則稱為區塊 j 在區塊 i 的上左方,在 DBL 中會有編號 1 的連接邊由節點 i 指向節點 j。如圖 4.3 中區塊 1 與區塊 0、區塊 5 與區塊 1、區塊 6 與區塊 3、區塊 8 與區塊 7、區塊 9 與區塊 8、及區塊 10 與區塊 9 皆符合此四個條件,所以在 DBL 中都有編號 1 的連接邊。

z 上右方區塊之定義:

即區塊 j 為區塊 i 的上方真實鄰近且為最右方的區塊,也就是當

( x

i <

x

j +

w

j

)

( x

i +

w

i >

x

j

)

( y

j =

y

i +

h

i

)

且區塊 j 是區塊 i 的最右邊 之區塊,此四個條件同時成立則稱為區塊 j 在區塊 i 的上右方,在 DBL 中會有編號 2 的連接邊由節點 i 指向節點 j。如圖 4.3 中區塊 4 與區塊 0、區塊 5 與區塊 1、區塊 6 與區塊 3、區塊 11 與區塊 7、區塊 9 與區 塊 8、及區塊 10 與區塊 9 皆符合此四個條件,所以在 DBL 中都有編號 2 的連接邊。

z 右下方區塊之定義:

即區塊 j 為區塊 i 的右方真實鄰近且為最下方的區塊,也就是當

( y

i <

y

j +

h

j

)

( y

i +

h

i >

y

j

)

( x

j =

x

i +

w

i

)

且區塊 j 是區塊 i 的最下面 之區塊,此四個條件同時成立則稱為區塊 j 在區塊 i 的右下方,在 DBL 中會有編號 3 的連接邊由節點 i 指向節點 j。如圖 4.3 中區塊 7 與區塊 0、區塊 2 與區塊 1、區塊 3 與區塊 2、區塊 4 與區塊 3、區塊 6 與區塊 5 及區塊 11 與區塊 8 皆符合此四個條件,所以在 DBL 中都有編號 3 的 連接邊。

z 右上方區塊之定義:

即區塊 j 為區塊 i 的右方真實鄰近且為最上方的區塊,也就是當

( y

i <

y

j +

h

j

)

( y

i +

h

i >

y

j

)

( x

j =

x

i +

w

i

)

且區塊 j 是區塊 i 的最上面 之區塊,此四個條件同時成立則稱為區塊 j 在區塊 i 的右上方,在 DBL 中會有編號 4 的連接邊由節點 i 指向節點 j。如圖 4.3 中區塊 10 與區 塊 0、區塊 2 與區塊 1、區塊 3 與區塊 2、區塊 4 與區塊 3、區塊 6 與區 塊 5 及區塊 11 與區塊 8 皆符合此四個條件,所以在 DBL 中都有編號 4 的連接邊。

在圖 4.3(a)中區塊 2 與區塊 3 為區塊 0 的上方真實鄰近,也就是區塊 2 與區 塊 3 區塊符合上左方區塊定義和上右方區塊定義的三個條件

( x

f <

x

d +

w

d

)

( x

f +

w

f >

x

d

)

( y

f =

y

d +

h

d

)

,但是它既不是最左邊也不是最右邊之區塊,因 此區塊 f 就不符合上左方區塊或上右方區塊之定義,所以在 DBL 中區塊 0 就不會 和區塊 2 與區塊 3 有任何連接邊。

以上是在[3]中原本對 DBL 的定義,在本論文中將沿用這個定義,不過在以 上的定義下,有一些邊會沒連結到任何節點,DBL 會出現有斷裂的情況,因此將 多加以下兩個額外定義: 虛擬上區塊連結和虛擬下區塊連結,其詳細定義如下:

z 虛擬上方區塊連結:

當節點 i 的編號 1 和 2 的連接邊沒連到其他任何區塊,則找出和區 塊 i 虛擬鄰近且在區塊 i 上方最近的區塊,也就是當

( x

f <

x

d +

w

d

)

( x

f +

w

f >

x

d

)

( y

f >

y

d +

h

d

)

且區塊 j 離區塊 i 上方最近,則節點 i

板面規劃的上方邊緣,因此可將其編號 1 和 2 的連接邊連向一沒用的數 值表示在區塊的最上方。如圖 4.3(b)中的節點 5、6、10 的編號 1 和 2 的連接邊皆沒與其他節點有所連接。

z 虛擬右方區塊連結

當節點 i 的編號 3 和 4 的連接邊沒連到其他任何區塊,則找出和區 塊 i 虛擬鄰近且在離區塊 i 右方最近的區塊 j,就是當

( y

i <

y

j +

h

j

)

( y

i +

h

i >

y

j

)

( x

j >

x

i +

w

i

)

且區塊 j 離區塊 i 右方最近,則節點 i 的 編號 3 和 4 的連接邊將由節點 i 連到節點 j。如圖 4.3(b)中的節點 4 連到節點 10。若區塊 i 連右方虛擬鄰近都沒有,則表示這個區塊在整 個板面規劃的右方邊緣,因此可將其編號 3 和 4 的連接邊連向一沒用的 數值表示在區塊的最右方。如圖 4.3 圖(b)中的節點 7、9、10、11 的編 號 3 和 4 的連接邊皆沒與其他節點有所連接。

由以上幾個定義即可將一個左下緊密板面規劃對應到一個 DBL 表示法,定義 的 DBL 會有以下幾個特性:

(一) 每個節點的往外連接邊最多只有四條:

因為在 DBL 中的節點水平方向最多二條往外之連接邊(右上及右 下),而垂直方向最多也只有二條往外之連接邊(上右及上左),所以每 個節點的往外連接邊最多只有四條。

(二) 是一個有無迴圈的有向圖形:

由於 DBL 對應的是左下緊密的板面規劃,所規定的方向皆為向上 (指向上右、上左或虛擬上)與向右(指向右上、右下或虛擬右),板面規 劃中的區塊間又規定不會互相重疊,每種編號邊不會有類似走回頭的現 象。因此整個圖形自然為一方向且無迴圈的圖形。

(三) 可以維持板面規劃中區塊的鄰近關係:

在上一節有提到 DBL 表示法的精神即是利用鄰近關係途中節點間 的遞移性質來維持鄰近關係,當板面規劃轉成 DBL 時,以區塊的水平(垂 直)鄰近關係來說,DBL 會有編號 3(1)的連接邊來連接跟區塊右下方(上 左方)相鄰的區塊,且有編號 4(2)的連接邊來連接跟區塊右上方(上右 方)相鄰的區塊,所以透過編號 3(1)連接邊所連接之節點,以遞迴方式 尋找編號 1(3)連接邊所連接之節點,直到編號 1(3)連接邊所連接之節 點跟開始節點的編號 4(2)連接邊所連接之節點相同為止,而這些經過 的節點即為在板面規劃時會跟此區塊有水平(垂直)鄰近關係之區塊,所 以 DBL 可以完全維持板面規劃中區塊的鄰近關係。再下一節中 4.2.1 鄰近操作中將會有詳盡的步驟說明。

(四) 任二個區塊在 DBL 表示法中至少存在一條路徑:

DBL 表示法中,任二個節點只要透過其他節點的編號 1、2、3 及 4 之連接邊,至少都可以找到一條路徑來連接此二節點,所以板面規劃中 任意二個區塊在 DBL 上至少會存有一條路徑。如圖 4.3(a)中區塊 0 及 區塊 6 其路徑即為 0→1→5→6、0→1→2→3→6 或 0→1→2→5→6。

由上述的特性可看出 DBL 用 4 倍區塊數的連接邊,即空間複雜度為 O(n),

就可以維持各個區塊間的鄰近關係,和實際板面規劃的聯繫性很強,而且經過加 強後成為無迴圈無斷裂的圖形,利於搜尋且容易實行各種操作。下面一節將說明 DBL 的一些操作,透過這些操作可以展現出 DBL 隱含著許多實際板面規劃的資 訊,而這些資訊可以透過簡單的演算法取得的。

在文檔中 2.3 可分割板面規劃 (頁 45-49)

相關文件