• 沒有找到結果。

以直向、橫向、斜向磁磚鋪滿 m × n 矩形的研究

N/A
N/A
Protected

Academic year: 2022

Share "以直向、橫向、斜向磁磚鋪滿 m × n 矩形的研究"

Copied!
24
0
0

加載中.... (立即查看全文)

全文

(1)

以直向、橫向、斜向磁磚鋪滿 m × n 矩形的研究

台北市立建國高級中學 江誠敏 指導老師 沈朋裕

Abstract

The purpose of this research is to study a tiling problem: Given an m× n chessboard, how many ways are there to tile the chessboard with 1× 2 dominoes and also ”diagonal” dominoes (display in the picture below). First we use a transfer- matrix method and recursive method to calculate the answer. Then we try to use a similar method given out by a research in 2001 to find out the formula of the tiling number.

1 摘 摘 摘要 要 要

我們的主題是研究使用直向、橫向與斜向磁磚不交疊地鋪滿 m × n 的長方形的方法總 數. 磁磚總共有如下圖中間所列出的四種(其中著上藍色和綠色兩者統稱為「斜向的」

磁磚), 並且斜向磁磚不能夠有最右圖所顯示的交疊的情形.

在 1961 年的論文中給出了只使用直向、橫向磁磚鋪滿 2m × 2n 的長方形的方法數的 一個漂亮的公式, 而 2001 年的論文以一個較簡單的方法證明了這個結果. [1–3]

4mn

m i=1

n j=1

(

cos2

2m + 1 + cos2 2n + 1

)

而我們先從固定 m 尋找遞迴式的方法出發, 接著用 m 的結果推出 m + 1, 最後期望能找 出與論文一樣的一個漂亮的一般通式.

2 研 研 研究 究 究簡 簡 簡介 介 介

2.1 研 研 研究 究 究動 動 動機 機 機

原本研究動機其實是從一個遊戲轉化而成了一個鋪磁磚的問題, 一般我們都只使用直向與 橫向兩種磁磚來鋪, 但如果加上其他種類的磁磚, 會發生甚麼事呢? 這觸發了我們對於以 下推廣問題的研究: 如果除了使用直向、橫向的磁磚, 再加上「斜向的」磁磚來鋪滿一個 矩形, 會與只使用直向、橫向的磁磚的鋪法有哪些方面的相同或相異?

此次研究的內容, 與矩陣、遞迴數列相關.

(2)

2.2 研 研 研究 究 究目 目 目的 的 的

找出鋪磁磚的方法數與矩形的長度、寬度的關聯.

3 研 研 研究 究 究內 內 內容 容 容-轉 轉 轉移 移 移矩 矩 矩陣 陣 陣方 方 方法 法 法

3.1 符 符 符號 號 號說 說 說明 明 明

我們用 Rectm,n表示 m × n 的矩形區域.

在討論鋪磁磚的過程中, 我們由左至右依序鋪上磁磚, 此時我們定義一個「狀態」: 當我 們由左至右依序鋪上磁磚後, 若恰好將前面 i 行完全鋪滿了, 即 1, 2, ..., i 行上的所有格子 都被磁磚所覆蓋時, 我們就稱目前 i + 1 行上的格子是否被磁磚填滿的狀況為一個「狀 態」.

如上圖所示為撲滿第 4 行的情況, 而此時的狀態如下圖所示.

為了方便我們將給每種狀態一個標號的方式. 對於一個狀態, 我們從上到下如果格子已被 填滿則記為 1, 否則為 0, 這樣每一個狀態會對應到一個 01 字串, 我們把這個01 字串的值 當作狀態的編號.

n

m

如上圖為例, 這個狀態對應到的 01 字串為 (0101), 而後面會用字串的 2 進位值來排序.

3.2 Rect

2,n

的 的 的遞 遞 遞迴 迴 迴關 關 關係 係 係

我們先計算 Rect2,n 的遞迴關係, 詳細的計算過程如下:

(3)

注意到狀態中如果出現連續的 11, 由於狀態的定義, 不容許用直的磁磚排. 因此我們可以 列出如下的轉移矩陣

(00) (01) (10) (11)

(00) 1 0 0 1

(01) 0 1 1 0

(10) 0 1 1 0

(11) 1 0 0 0

定義矩陣 T2=



1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0



令 an, bn, cn, dn 分別表示鋪滿 Rect2,n 且使最右邊是 (00), (01), (10), (11) 狀態的方法 數. 從轉移矩陣我們會有以下等式



an+1

bn+1

cn+1

dn+1



 =



1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0





an

bn

cn

dn



(4)

事實上我們可以將 1 的個數為偶數的狀態挑出來以簡化運算 [an+1

dn+1 ]

= T2 [an

dn ]

= [1 1

1 0 ] [an

dn ]

而初始值為 a(0) = 1, d(0) = 0, 特徵多項式為 P (x) = x2− x − 1, 根據 Cayley-Hamilton 定理有 P (T2) = O2,2,則對於 n ≥ 2, 有 T2n = T2n−1+ T2n−2. 我們得到 an= an−1+ an−2. 事實上當 Rect2,n 時是無法放置斜向的磁磚的, 因此方法數相當於用直向和橫向鋪滿 Rect2,n的方法數, 而這即是 Fibonacci 數列, 遞迴式與我們的結果相符.

3.3 從 從 從 Rect

m,n

到 到 到 Rect

m+1,n

現在我們希望能利用 Rectm,n的轉移矩陣推出 Rectm+1,n 的轉移矩陣. 例如: m = 2 的 狀態 (00), (01), (10), (11), 推到 m = 3 的狀態 (000), (001), (010), (011), (100), (101), (110), (111). 事實上對於每一個 m = k 時的狀態 (s), 當我們要推至 m = k + 1 時, 只需 要考慮兩種情況, (0s) 和 (1s).

k

(s)

k+ 1

(0s)

k+ 1

(1s)

因此鋪滿 Rectm+1,n的轉移矩陣的長和寬都會是原來 Rectm,n轉移矩陣的2 倍. 令 S1

代表鋪滿 Rectm,n 時的所有狀態的集合, S2 代表Rectm+1,n 時的所有狀態的集合, 可知 S2={(0s), (1s) : s ∈ S}, 若鋪滿 Rectm,n的轉移矩陣型態如下:

(S)

(S)

則鋪滿 Rectm+1,n的轉移矩陣即如下:

(0S) (1S)

(0S)

(1S)

我們有以下定理:

定定定理理理 1. 假假設 Rectm,n 轉移矩陣為 Tm,且其中 A00, A10, A01, A11 為將 Tm 切成 4 個相 等大小的 block. 即

Tm=

[A00 A10

A A

]

(5)

而將 Rectm+1,n 轉移矩陣 Tm+1表示成

Tm+1=

[B00 B10

B01 B11

] .

其中 B00, B10, B01, B11 為將 Tm+1 切成 4 個相等大小的 block. 則我們可以證明會有以 下關係式:

B01= B10= Tm=

[A00 A10

A01 A11

]

B11=

[A10 0 A11 0 ]

B00=

[ A10 0 A00+ A11 A10

]

證證證明明明. (1) B01= Tm

由我們定義的轉移矩陣可以知道 B01 代表從(0S1)轉移到(1S2)的方法數, 即未轉移前 的最右上角的區域是還沒有被填滿的, 而轉移後最右上角的區域必須是被填滿的, 如 圖所示:

(0S1)→(1S2)

(S1)→(S2)

可以知道綠色的部分一定要放置橫的磁磚, 因此方法數相當於忽略最右上角的區域而 只看下面的方法數, 即為 (S1)轉移到 (S2)的方法數可用轉移矩陣 Tm表示.

(2) B10= Tm

B10 代表從(1S1)轉移到(0S2)的方法數, 即未轉移前的最右上角的區域是已被填滿的, 而轉移後最右上角的區域必須是沒有填滿的, 如圖所示:

(1S1)→(0S2)

(S1)→(S2)

可以知道最上面無法放置磁磚, 因此方法數相當於忽略第一列只看下面的方法數, 即 (S1)轉移到 (S2)的方法數可用轉移矩陣 Tm表示.

(6)

(3) B11=

[A10 0 A11 0 ]

B11 代表從(1S1) 轉移到(1S2)的方法數, 即未轉移前最右上角的區域已被填滿的, 而 轉移後最右上角的區域必須是沒有填滿的, 此時我們分兩種情況討論.

假設起始的狀態集為 (1S1),轉移後的狀態集為 (1S2).

(i) S1= (1S1)

即未轉移前的第二格也必須是已被填滿的.

(11S1)→(1S2)

上圖為 (11S1) 轉移到 (10S2) 的例子, 可以知道綠色的格子無法放置磁磚, 而 (11S1)轉移到 (11S2)為同樣的狀況, 因此沒有方法可以填滿, 故方法數 = 0.

(1S1) [ ] (0S2) 0 (1S2) 0 .

(ii) S1= (0S1)

即未轉移前的第二格必須是未被填滿的.

(10S1)→(1S2)

(1S1)→(S2)

上圖為 (10S1)轉移到 (10S2)的例子, 可以知道綠色的格子必須放置斜的磁磚, 而 (10S1)轉移到 (11S2)為同樣的狀況, 因此方法數相當於先把轉移前的第二格 方塊填滿的轉移方法數, 即 (1S1)轉移到 (S2) 的方法數, 也就是 (1S1)轉移到

(S2)的方法數,

(0S1) [ ] (0S2) A10

(1S2) A11

.

綜合以上兩點, 有: B11=

(0S1) (1S1)

[ ]

(0S2) A10 0 (1S2) A11 0 =

[A10 0 A11 0 ]

(7)

(4) B00=

[ A10 0 A00+ A11 A10

]

B00代表從(0S1)轉移到(0S2)的方法數, 即未轉移前最右上角的區域已被填滿的, 而轉 移後最右上角的區域必須是沒有填滿的, 此時我們分四種情況討論.

假設起始的狀態集為 (0S1),轉移後的狀態集為 (0S2).

(i) S1= (0S1), S2= (0S2)

即未轉移前和轉移後的第二列也必須是沒有被填滿的.

(00S1)→(00S2)

(1S1)→(0S2)

可以知道綠色的格子一定要放置直向的磁磚, 因此方法數相當於先把轉移前的 第二列方塊填滿的轉移方法數, 即 (1S1)轉移到 (S2)的方法數, 也就是 (1S1)轉 移到 (0S2)的方法數可用矩陣 A10 表示.

(ii) S1= (0S1), S2= (1S2)

即未轉移前的第二列必須是未被填滿的, 而轉移後的第二列是被填滿的, 此狀況 有兩種擺法.

(00S1)→(01S2)

(1S1)→(1S2)

如果放置直的磁磚, 方法數相當於先把轉移前的第二列方格填滿的轉移方法數, 即 (1S1)轉移到 (S2) 的方法數, 也就是 (1S1) 轉移到 (1S2)的方法數可用 A11

表示.

(00S1)→(01S2)

(0S1)→(0S2)

(8)

如果放置斜向的磁磚, 方法數相當於先把轉移後的第二列方格先填滿的轉移方 法數, 即 (S1)轉移到 (0S2)的方法數, 也就是 (0S1)轉移到 (0S2)的方法數可用 A00表示.

因此方法數為兩種擺法的總和, 即可以用矩陣 A00+ A11表示.

(iii) S1= (1S1), S2= (0S2)

即未轉移前的第二列必須是已被填滿的, 而轉移後的第二列是未被填滿的.

(01S1)→(00S2)

可以知道綠色的格子無法放置磁磚, 因此沒有方法可以填滿, 故方法數 = 0.

(iv) S1= (1S1), S2= (1S2)

即未轉移前和轉移後的第二列也必須都是被填滿的.

(01S1)→(01S2)

(1S1)→(0S2)

可以知道綠色的格子一定要放置斜向的磁磚, 因此方法數相當於先把轉移後的 第二列方格填滿的轉移方法數, 即 (S1)轉移到 (0S2)的方法數, 也就是 (1S1)轉 移到 (0S2)的方法數可用矩陣 A10 表示.

綜合以上四點, 有: B11=

(0S1) (1S1)

[ ]

(0S2) A10 0 (1S2) A00+ A11 A10 =

[ A10 0 A00+ A11 A10

]

由定理 1 我們可以得出以下推論:

推推推論論論 1. 令 an 為用直向、橫向和斜向撲滿 Rect4,n 的方法數, 則有遞迴式 an = 5an−1+ 4an−2− 12an−3+ 9an−4+ 7an−5− 14an−6+ 5an−7.

(9)

證證證明明明. 首先由轉移矩陣的性質, 可以知道若令

u =[

1 0 0 · · · 0] , v =





 1 0 0 ... 0







則 an = uT4nv.

我們先從 Rect2,n的轉移矩陣出發

T2=



1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0



 依據我們找到的規則, Rect3,n 的轉移矩陣

T3=











0 1 2 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0











再繼續做下 Rect4,n 的轉移矩陣

T4=



























1 0 0 1 0 2 3 0 0 1 2 0 1 0 0 1 0 1 1 0 2 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 2 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0



























現在我們可以把與 1 和 0 的個數皆為偶數的狀態相關的行與列挑出來.

T4 =

(0000) (0011) (0101) (0110) (1001) (1010) (1100) (1111)





















(0000) 1 1 2 3 1 2 1 1

(0011) 1 0 0 1 0 1 1 0

(0101) 0 0 1 1 1 1 1 0

(0110) 0 0 1 1 1 1 0 0

(1001) 1 1 1 1 1 1 1 0

(1010) 0 1 1 1 1 1 0 0

(1100) 1 1 1 1 0 0 0 0

(1111) 1 0 0 0 0 0 0 0

此為 Rect4,n轉移到 Rect4,n+1 的簡化轉移矩陣, 其特徵多項式為 P (x) = x8− 5x7− 4x6+ 12x5− 9x4− 7x3+ 14x2− 5x

(10)

這是使用 wolfram alpha [5]計算的. 根據 Cayley-Hamilton 定理有 p(T4) = O8,8 則對於 n≥ 7, 有

T4n= 5T4n−1+ 4T4n−2− 12T4

n−3+ 9T4n−4+ 7T4n−5− 14T4

n−6+ 5T4n−7. 我們將等號兩邊同乘 u 和 v

uT4nv = 5uT4n−1v + 4uT4n−2v− 12uT4

n−3v + 9uT4n−4v +7uT4n−5v− 14uT4

n−6v + 5uT4n−7v.

即 an = 5an−1+ 4an−2− 12an−3+ 9an−4+ 7an−5− 14an−6+ 5an−7. 根據推論 1, 我們計算出以下的結果.

n an

0 1

1 1

2 5

3 25

4 139

5 751

6 4051

7 21849

8 117877

9 635969

10 3431155 11 18511575 12 99872603

我們用同樣的方法計算只用直和橫的磁磚鋪滿 Rectm,n 的方法數. 我們先列出只用直和

橫的磁磚時 Rect2,n 到 Rect2,n+1 的轉移矩陣 τ2 =



1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0



 並且用同樣的方法小

心推斷, 我們會得出類似從 Tm到 Tm+1的遞推關係, 即以下定理.

定定定理理理 2. 假設 Rectm,n 轉移矩陣 τm如下

τm=

[A00 A10

A01 A11

]

其中 A00, A10, A01, A11 為將 τm 切成 4 個相等大小的矩陣.

而 Rectm+1,n 轉移矩陣 τm+1 如下

τm+1=

[B00 B10 B01 B11 ]

其中 B00, B10, B01, B11 為將 τm切成 4 個相等大小的矩陣.

則會有以下關係式:

B01= B10= τm=

[A00 A10 A01 A11 ]

B11= 0 B00=

[A10 0 A11 0 ]

(11)

證證證明明明. (1) B01= τm

由我們定義的轉移矩陣可以知道 B01 代表從(0S1)轉移到(1S2)的方法數, 即未轉移前 的最右上角的區域還沒有被填滿的, 而轉移後最右上角的區域必須是被填滿的, 如圖 所示:

(0S1)→(1S2)

(S1)→(S2)

可以知道綠色的部分一定要放置橫的磁磚, 因此方法數相當於忽略第一格只看下面的 方法數, 即 (S1)轉移到 (S2)的方法數可以 τm表示.

(2) B10= τm

B10 代表從(1S1)轉移到(0S2)的方法數, 即未轉移前的最右上角的區域是已被填滿的, 而轉移後最右上角的區域必須是沒有填滿的, 如圖所示:

(1S1)→(0S2)

(S1)→(S2)

可以知道最上面無法放置磁磚, 因此方法數相當於忽略第一列只看下面的方法數, 即 (S1)轉移到 (S2)的方法數可用矩陣 τm表示.

(3) B11= 0

B10 代表從(1S1)轉移到(1S2)的方法數, 即未轉移前的最右上角的區域是已被填滿的, 而轉移後最右上角的區域也必須是填滿的, 如圖所示:

(11S1)→(1S2)

可以知道綠色的格子無法放置磁磚, 因此沒有方法可以填滿, 故方法數 = 0.

(12)

(4) B00=

[A10 0 A11 0 ]

B00 代表從(0S1)轉移到(0S2)的方法數, 即未轉移前的最上面一格是未被填滿的, 而轉 移後最上面一格也必須是未填滿的, 此時我們分兩種情況討論.

假設起始的狀態集為 (0S1),轉移後的狀態集為 (0S2).

(i) S1= (1S1)

即未轉移前的第二格也必須是已被填滿的.

(01S1)→(0S2)

上圖為 (01S1) 轉移到 (00S2) 的例子, 可以知道綠色的格子無法放置磁磚, 而 (01S1)轉移到 (01S2)為同樣的狀況, 因此沒有方法可以填滿, 故方法數 = 0.

(1S1) [ ] (0S2) 0 (1S2) 0 . (ii) S1= (0S1)

即未轉移前的第二格必須是未被填滿的.

(00S1)→(0S2)

(1S1)→(S2)

上圖為 (00S1)轉移到 (00S2)的例子, 可以知道方法數相當於先把轉移前的第二 格方塊填滿的轉移方法數, 而 (00S1) 轉移到 (01S2)為同樣的狀況, 因此方法數 即 (1S1)轉移到 (S2)的方法數, 也就是 (1S1)轉移到 (S2)的方法數.

(0S1) [ ] (0S2) A10 (1S2) A11

.

綜合以上兩點, 有: B00=

(0S1) (1S1)

[ ]

(0S2) A10 0 (1S2) A11 0 =

[A10 0 A11 0 ]

(13)

同樣的依據定理 2 我們可以得出以下推論:

推推推論論論 2. 令 bn 為用只用直向和橫向撲滿 Rect4,n 的方法數, 則有遞迴式 bn = bn−1+ 7bn−2− bn−3− 12bn−4− bn−5+ 7bn−6+ bn−7− bn−8. 證證證明明明. 由轉移矩陣的性質, 可以知道若令

u =[

1 0 0 · · · 0] , v =





 1 0 0 ... 0







則 bn= uτ4nv.

首先以 τ2 求出 τ3, τ4

τ3=











0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0











τ4=



























1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0



























現在我們可以把與 1 和 0 的個數皆為偶數的狀態相關的行與列挑出來.

τ4 =

(0000) (0011) (0101) (0110) (1001) (1010) (1100) (1111)





















(0000) 1 1 0 0 1 0 1 1

(0011) 1 0 0 0 0 0 1 0

(0101) 0 0 0 0 0 1 0 0

(0110) 0 0 0 0 1 0 0 0

(1001) 1 0 0 1 0 0 0 0

(1010) 0 0 1 0 0 0 0 0

(1100) 1 1 0 0 0 0 0 0

(1111) 1 0 0 0 0 0 0 0

(14)

此為 Rect4,n轉移到 Rect4,n+1 的簡化轉移矩陣, 其特徵多項式為 P (x) = x8− x7− 7x6+ x5+ 12x4+ x3− 7x2− x + 1 根據 Cayley-Hamilton 定理有 p(M) = O8,8 則對於 n >= 8, 有

τ4n= τ4n−1+ 7τ4n−2− τ4

n−3− 12τ4

n−4− τ4

n−5+ 7τ4n−6+ τ4n−7− τ4 n−8. 等號兩邊同乘 u 和 v

4n= uτ4n−1v + 7uτ4n−2v− uτ4

n−3v− 12uτ4 n−4v

−uτ4

n−5v + 7uτ4n−6v + uτ4n−7v− uτ4 n−8v.

bn = bn−1+ 7bn−2− bn−3− 12bn−4− bn−5+ 7bn−6+ bn−7− bn−8.

將 m = 2 帶入已被證明的公式 [1]. 當 n = 2k 時帶入公式且定義表示 4 × n 且 n 為 偶數的矩形以水平與垂直的磁磚鋪滿的方法總數.

wn = 16k

2 i=1

k j=1

( cos2

5 + cos2 2k + 1

)

我們用此公式計算到 n = 12, 並與我們的結果比較.

n bn wn

0 1 1

1 1 -

2 5 5

3 11 -

4 36 36

5 95 -

6 281 281

7 781 -

8 2245 2245

9 6636 -

10 18061 18061

11 51205 -

12 145601 145601

4 研 研 研究 究 究內 內 內容 容 容-路 路 路徑 徑 徑方 方 方法 法 法

這裡我們想要參考 2001 年的論文 [3]中所使用的方法, 來求得加入斜向方塊後的鋪法數, 因此以下 4.1 至 5.3 主要是整理該論文之內容.

4.1 路 路 路徑 徑 徑對 對 對應 應 應

在這裡我們將矩形放置在座標軸上, 我們將矩形的右下角對齊座標原點, 並將矩形的單位 格長度當作是座標的單位長, 如圖所示.

(15)

y

x

對於任何一種在 Rect2m,2n 的合法鋪法, 我們都可以對映到一個有 m 條路徑且路徑互不 相交的路徑組. 對映的方式如下.

• 第 i 條路徑的起點為 (0, 2i − 1.5), 其中 1 ≤ i ≤ m.

• 假設現在的座標為 (x, y), 如果現在碰到了一個水平磁磚的左端, 則前進到 (x + 2, y).

• 如果現在碰到了一個垂直磁磚上面一格的左端, 則前進到 (x + 1, y + 1).

• 如果現在碰到了一個垂直磁磚下面一格的左端, 則前進到 (x + 1, y − 1).

• 當 x = 2n 則結束.

以下圖片為舉例, 可以看出這種路徑走法其實是蠻直觀的.

我們把所有可能走到的點和邊畫出來就成了下圖.

(圖二)

令人驚訝的, 有以下的引理:

(16)

引引引理理理 1. 合法的舖法會一對一對映到路徑互不相交的路徑組, 而路徑互不相交的路徑組也 會一對一對映到合法的舖法.

證證證明明明.

(1) 合法的舖法會一對一對映到路徑互不重複的路徑組:

觀察(圖二), 可以發現最終路徑一定會到達某一個終點, 因此我們只需要說明路徑不 會相交即可, 而這是顯然的, 我們找兩條路徑第一個相交的點, 可以知道其對映的舖 法一定會有磁磚重疊的情況發生.

(2) 路徑互不相交的路徑組也會一對一對映到合法的舖法:

定義一個磁磚是「在邊上的」, 代表這個磁磚剛好被(圖二)的某條邊完整地穿過, 如 下圖中紅色的磁磚都是在邊上的, 而藍色的磁磚不是.

觀察容易知道所有直向的磁磚不論在任何位置皆是在邊上的, 事實上假設直向磁磚 左下頂點為 (a, b), 右上頂點為 (a + 1, b + 2), 如果 2 | a + b 他會被 (a, b + 0.5) 到 (a + 1, b + 1.5)的邊通過, 否則會被 (a, b + 1.5) 到 (a + 1, b + 0.5) 的邊通過, 因此只 有橫向的磁磚可能是「不在邊上的」(如上圖藍色的橫向磁磚).

此時注意到對於一種合法舖法, 所有在邊上的磁磚皆會在某條路徑上, 這是因為對於 磁磚所在的邊上, 我們可以依照路徑的規則往兩邊繼續走下去, 而顯然右端一定最終 會到達某個起點, 左端則會到達某個終點.

因此, 對於任意的路徑組, 在這個鋪法中所有「在邊上的」磁磚都已經被決定了, 我 們可以先把他們鋪上去, 而還沒有被鋪道的地方就只能用「不在邊上的」橫向的磁 磚鋪滿了, 因此鋪法肯定是唯一的, 只需要說明最後一定可以用橫向的磁磚鋪滿就可 以了.首先我們將棋盤黑白塗色, 如下圖.

(17)

如果最後沒有辦法填滿, 代表最後有某幾格是空的, 假設某格白色的格子是空的, 注 意到藍色框起來的白色格子因為是路徑的起點, 所以不可能是空的. 假設紅色框起來 的白色那一格是空的, 現在我們考慮他右邊的黑色格子. 如果他是已經填滿的, 觀察 圖形可以知道不管他被直的或是橫的磁磚所覆蓋, 覆蓋他的那塊磁磚都會是「在邊 上的」, 即是在某條路徑上, 而因為白色的格子的右界上恰好有一個邊的交點, 所以 通過黑色格子的那條路徑也會通過這白色的格子, 矛盾. 因此黑色的格子就必須是 空的, 此時我們便可以用一個「不在邊上的」橫向的磁磚覆蓋這兩格.

如果空的格子是黑色的同理, 因此最後一定可以撲滿整個矩形.

由上述的討論, 我們可以知道撲滿 Rect2m,2n 的方法數 k2m,2n 就相當於有多少種符 合條件的 m 重路徑組. 令 s1, s2, . . ., sm分別表示 m 個起點, 令 t1, t2, . . ., tm分別 表示 m 個起點, 而我們要求的即是有多少不同的路徑組 (p1, p2, ..., pm)使得 pi一條從 si 到 ti 的路徑, 且任兩條路徑都不相交.

由 Lindstrm’s theorem [6]可以知道:

k2m,2n = det





h1,1 h1,2 · · · h1,m

h2,1 h2,2 · · · h2,m

... ... . .. ... hm,1 hm,2 · · · hm,m





其中 hi,j 代表在新的圖上從 si 走到 tj 不同路徑的個數. 我們把這個矩陣記作 Hm,n.

5 延 延 延伸 伸 伸路 路 路徑 徑 徑

為了計算方便, 我們要將原本的路徑延長, 如下圖.

s1s1) s2

s3 t3

t2

t1

¯ s2

¯ s3

¯t1

¯ t2

¯t3

(18)

在延長的圖中, 新的起點和終點分別計為 ¯s1, ¯s2, . . ., ¯sm和 ¯t1, ¯t2, . . ., ¯tm,可以知道不 同的路徑組 (¯p1, ¯p2, ..., ¯pm) 使得 ¯pi 是一條從 ¯si 到 ¯ti 的路徑, 且任兩條路徑都不相交的 個數就等於在原來的圖上不相交的路徑組的個數, 這是因為如果要在新的圖上路徑互不相 交, 那對從任何新起點 ¯si 開始的路徑一定要一直往右上方走到 si 為止, 終點處同理, 因此 由 Lindstrm’s theorem 可以知道

k2m,2n= det





¯h1,1 ¯h1,2 · · · ¯h1,m

¯h2,1 ¯h2,2 · · · ¯h2,m

... ... . .. ...

¯hm,1 ¯hm,2 · · · ¯hm,m





其中 ¯hi,j 代表在新的圖上從 ¯si 走到 ¯tj 不同路徑的個數. 我們把這個矩陣記作 ¯Hm,n.

5.1 路 路 路徑 徑 徑表 表 表示 示 示

對於任何一條從 ¯si 到 ¯tj 的合法路徑, 我們可以用一對正整序列 (A, B) 來表示, 其中 A = a1, a2, ..., ak, B = b1, b2, ...bh,表示的方法如下.

• A 代表這條路徑中往正右方走的邊有 k 條, 並且依序是在 x = ai− 1 的時候通過這 條邊, 通過後 x = ai+ 1.

• B 代表這條路徑中往右下方走的邊有 h 條, 並且依序是在 y = bi− 0.5 的時候通過 這條邊, 通過後 y = bi+ 0.5. 如下圖舉例的路徑可以用 ((1, 4, 6), (3, 3, 2)) 表示.

¯ s1

¯ s2

¯ s3

¯t1

¯ t2

¯t3

1 4 6

3 3

2

可以知道對於一條合法的路徑, 他的路徑表示是唯一的. 觀察後可以知道一條合法路徑 的路徑表示 (A, B) 會有以下性質.

• |A| + |B| = k + h = n + i − j, 這可以由計算得知.

• 1 ≤ ai≤ 2n − 1.

• ai+1≥ ai+ 2,這是因為 ai 表示你已經從 x = ai− 1 走到 x = ai+ 1了, 由於路徑 的 x 座標遞增, 可以知道 ai+1 必須大於等於 ai+ 2.

• 1 ≤ bi≤ 2m − 1.

• bi+1 ≥ bi− 1, 這是因為每次往右下走一次, y 座標只會減少 1, 如果繼續往右下走的 話 bi+1= bi− 1, 而如果到下一次往右下走之間曾向右上走過, 顯然 bi+1≥ bi− 1.

巧妙的是如果一個路徑表示 (A, B) 滿足以上條件, 他就會唯一對映到一條合法路徑.

令 fk,h 表示滿足 1 ≤ ai≤ 2k − 1, ai+1 ≥ ai+ 2,且 |A| = h 不同的序列 A 的個數, gk,h

表示滿足 1 ≤ b ≤ 2k − 1, b ≥ b − 1, 且 |B| = h 不同的序列 B 的個數.

(19)

有了上述性質, 就可以推得在 Rect2m,2n 的情況時從 ¯si 到 ¯tj 的不同路徑數 ¯hi,j =

0≤k≤n+i−j

fn,k× gm,(n+i−j−k),即原本的矩陣 ¯Hm,n可以表示成兩個矩陣的乘積.

H¯m,n= Fm,n· Gtm,n

其中

Fm,n=





fn,0 fn,1 · · · fn,n+m−1

fn,−1 fn,0 · · · fn,n+m−2

... ... . .. ... fn,−m fm,−m+1 · · · fm,n





Gm,n=





gm,n gm,n−1 · · · gm,−m+1

gm,n+1 gm,n · · · gm,−m+2

... ... . .. ... gm,n+m−1 gm,n+m−2 · · · gm,0





Fm,n 和 Gm,n皆為 m × (m + n) 的矩陣. 注意到一些 fi,j 或 gi,j 顯然是不合理的, 此時 應等於 0.

5.2 路 路 路徑 徑 徑對 對 對偶 偶 偶

由上一節的討論我們可以知道 km,n= det( ¯Hm,n) = det(Fm,n·Gtm,n). 再由 Binet–Cauchy 公式, 可以知道

det(Fm,n· Gtm,n) = ∑

J([n+m]m )

det (Fm,n(1, ..., m|J)) · det(Gm,n(1, ..., m|J))

在這裡, 我們考慮一種特殊的圖 Φm,n,他的構造如下.

• 由上到下分別有 m + n 條水平線, 水平線的左端為起點, 右端為終點, 第 i 條水平線 的起點和終點分別為 ui, vi.

• 任兩個相鄰的水平線間都會有 2n − 1 條垂直線段連接兩條水平線, 並且任兩個相鄰 的水平線間的任何一條垂直線段到他右邊的垂直線段的間距都一樣.

• 第 i 條水平線和第 i + 1 條水平線間由左到右的第 1 條垂直線段的水平位置會在第 i− 1 條水平線和第 i 條水平線間由左到右的第 2 和第 3 條垂直線段之間.

以下為 Φ3,4 的圖示.

u1 v

1

u2 v2

u3 v3

u4 v

4

u5 v

5

u6 v

6

u7 v7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

而我們可以在這張圖上找到 F 矩陣和 G 矩陣中的元素的意義! 令 F (i, j) 代表 F 矩陣 第 i 列第 j 行的元素, G 矩陣同樣, 有 F (i, j) = fn,j−i, 即表示滿足 1 ≤ ai ≤ 2n − 1,

(20)

ak+1≥ ak+ 2,且 |A| = j − i 不同的序列 A 的個數, 而每一種符合的 A 序列都可以看作 是在 Φm,n一條從 ui 走到 vj 且只往右方和下方走的路徑過程中所依序經過的數字.

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

u7 v7

u6 v6

u5 v5

u4 v4

u3 v3

u2 v2

u1 v1

A = (1, 4, 6)

而由 Lindstrm’s theorem, det(Fm,n(1, ..., m|J)), J ∈

([n + m]

m )

就會變成是從 (u1, u2, ..., um)到 (vJ (1), vJ (2), ..., vJ (m))互不相交的路徑組的個數了!

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 2 3 4 5 6 7

u7 v7

u6 v6

u5 v5

u4 v4

u3 v3

u2 v2

u1 v1

J = (2, 5, 6)

相同的有 G(i, j) = gm,n+i−j,即表示滿足 1 ≤ bi≤ 2m−1 ,bk+1≥ bk−1, 且 |B| = n+i−j 不同的序列 B 的個數, 而每一種符合的 B 序列都可以看作是在 Φn,m 一條從 un+i 走到 vj 且只往右方和上方走的路徑過程中所依序經過的數字.

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

u7 v7

u6 v6

u5 v5

u4 v4

u3 v3

u2 v2

u1 v1

B = (4, 3, 5, 5)

(21)

同樣的由 Lindstrm’s theorem, det(Gm,n(1, ..., m|J)), J ∈

([n + m]

m )

就會變成是從 (un+1, un+2, ..., un+m)到 (vJ (1), vJ (2), ..., vJ (m))互不相交的路徑組的個數了.

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

u7 v7

u6 v6

u5 v5

u4 v4

u3 v3

u2 v2

u1 v1

J = (1, 2, 7)

更進一步的, 對於從 (un+1, un+2, ..., un+m)到 (vJ (1), vJ (2), ..., vJ (m)) 互不相交的路徑組 我們可以將它如圖所示對偶.

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

u7 v7

u6 v6

u5 v5

u4 v4

u3 v3

u2 v2

u1 v1

我們將起點改成 (u1, u2, ..., un),而途中只要碰到在原本路徑組中垂直的邊我們便往下走, 容易知道最後終點會是 [m + n]/J, 且對偶後的路徑組中的路徑都不會相交. 而注意到這 即是 det(Fn,m(1, ..., n|[m + n]/J)), J ∈

([n + m]

m )

,

即 det(Gm,n(1, ..., m|J)) = det(Fn,m(1, ..., n|[m + n]/J)), 我們便可以將原本兩個不同類 型矩陣的子方陣行列式的乘積變成同樣類型的矩陣!

5.3 Resultant

由上一節

det(Fm,n· Gtm,n) = ∑

J([n+m]m )

det(Fm,n(1, ..., m|J)) · det(Gm,n(1, ..., m|J))

= ∑

J([n+m]m )

det(Fm,n(1, ..., m|J)) · det(Fn,m(1, ..., n|Jc))

= ∑

J([n+m]m )

(−1)sum(J )+m(m+1)2 det(Fm,n(1, ..., m|J)) · det(Fn,m (1, ..., n|Jc))

= det [ Fm,n

Fn,m ]

(22)

其中 Fn,m 代表將 Fn,m矩陣中第 i 列第 j 行的元素都乘上 (−1)m+n−(i+j), 而第 3 個等 式使用了 Laplace 展開定理.

現在計算 Fm,n裡的元素, 第 i 列第 j 行的元素 F (i, j) = fn,j−i,表示滿足 1 ≤ ai≤ 2n−1, ak+1≥ ak+ 2,且 |A| = j − i 不同的序列A 的個數, 而這相當於從 1, 2, 3, ..., 2n − 2, 2n − 1 中挑出 j − i 個數, 使得挑出來的任兩個數字都不相鄰. 因此 F (i, j) =

(2n− (j − i) j− i

) . 因 此我們可以用組合數寫出矩陣, 為了方便說明我們舉 n = 4, m = 3 作例子.

[ F3,4

F4,3 ]

=

























 (8

0

) (

7 1

) (

6 2

) ( 5 3

) ( 4 4

) ( 3 5

) ( 2 6 ) ( 9

−1

) (

8 0

) (

7 1

) ( 6 2

) ( 5 3

) ( 4 4

) ( 3 5 ) (10

−2 ) (

9

−1 ) (

8 0

) ( 7 1

) ( 6 2

) ( 5 3

) ( 4 4 )

(6

0

) (

5 1 )

(4

2 ) (

3 3 )

(2

4 ) (

1 5 )

(0

6 ) ( 7

−1 )

(6

0 ) (

5 1 )

(4

2 ) (

3 3 )

(2

4 ) (

1 5 )

( 8

−2 ) (

7

−1 )

(6

0 ) (

5 1 )

(4

2 ) (

3 3 )

(2

4 ) ( 9

−3 )

( 8

−2 ) ( 7

−1 )

(6

0 ) (

5 1 )

(4

2 ) (

3 3 )



























而如果將顯然為 0 的值先填上去, 如 (x

y )

中 x < 0 和 x > y 的情況.

[ F3,4

F4,3 ]

=

























 (8

0 ) (

7 1

) ( 6 2

) ( 5 3

) ( 4 4 )

0 0

0

(8 0

) ( 7 1

) ( 6 2

) ( 5 3

) ( 4 4 )

0

0 0

(8 0

) ( 7 1

) ( 6 2

) ( 5 3

) ( 4 4 )

(6

0 ) (

5 1 )

(4

2 ) (

3 3 )

0 0 0

0 (6

0 ) (

5 1 )

(4

2 ) (

3 3 )

0 0

0 0

(6 0

) ( 5 1 )

(4

2 ) (

3 3 )

0

0 0 0

(6 0

) ( 5 1 )

(4

2 ) (3

3 )



























出現了一個 Sylvester 矩陣的結構.

令 fn(t) =

n k=0

(n + k n− k )

tk. 這個函數和 Chebychev 第二類多項式有以下關聯

fn(t) = (−1)nU2n (i√

t 2

)

這可以由帶入驗證得知, Chebychev 第二類多項式為 U2n(t) =

n

(−1)n−k (n + k

n− k )

(2t)2k.

參考文獻

相關文件

• Given a (singly) linked list of unknown length, design an algorithm to find the n-th node from the tail of the linked list. Your algorithm is allowed to traverse the linked

There is no general formula for counting the number of transitive binary relations on A... The poset A in the above example is not

For a 4-connected plane triangulation G with at least four exterior vertices, the size of the grid can be reduced to (n/2 − 1) × (n/2) [13], [24], which is optimal in the sense

Therefore, the purpose of this study is to propose a model, named as the Interhub Heterogeneous Fleet Routing Problem (IHFRP), to deal with the route design

Developing a signal logic to protect pedestrian who is crossing an intersection is the first purpose of this study.. In addition, to improve the reliability and reduce delay of

Developing a signal logic to protect pedestrian who is crossing an intersection is the first purpose of this study.. In addition, to improve the reliability and reduce delay of

Therefore, the purpose of this study is to investigate the hospitality students’ entrepreneurial intentions based on theory of planned behavior and also determine the moderating

The purpose of this study is to analyze the status of the emerging fraudulent crime and to conduct a survey research through empirical questionnaires, based on