所羅門的寶藏 ─POLYOMINOES
一書的啟示
作者:高文山 by Wen-Shan
Kao 最後修改日期:2000/12/01
Last update
網址 My Web Sites: 亞卓市 edu site Mirror site : pchome
首先感謝高所長核准本人參與本次研討會,今天我是來玩數學拼圖遊戲,不能算是發表論文,這就是我的E-Mail申請書(1)。在座各位如果是『臺灣組合學群通訊錄』成員者,或『台灣組合數學網』(中研院數研所的李國偉博士架設的組合學專家網頁)網友名單者,可能我的E-mail有打擾的地方尚請見諒。個人才疏學淺,所以網站架設以後,到處找數學界的先進討教(國內外都有)。還好高所長給我的肯定,所以選擇在此發表個人網路研究的心得報告,以及新作品的首度公開發表。
當網際網路興起之後,我才在WWW的帶領下,進入浩瀚的網路世界。又拜搜尋引擎"Altavista"之賜,找到了很多五格骨牌(或稱五方垛片或五方塊)"Pentomino"的相關資料,也開始了個人在網路上之拼圖研究。在創作了幾篇相當有自信的作品之後,曾尋求國內幾個著名的數學或科教網站的合作,但幾乎是石沉大海。還好後來輾轉認識了『窩狼居』站長 ( 金山完全中學:陳坤松老師 ),他指導我網頁設計的技巧。還有國內人氣鼎盛的數學網站『bee美麗之家』( 彰化高中:謝銘峰老師 ),在他的網站給我相當大的鼓勵(拼圖好站)。在此也要一併致謝!
我在亞卓市educities 及PCHome 的個人網站,有這樣一段介紹:『假如數學課可以玩拼圖遊戲,同學都不會打瞌睡了?』。所以基本上,數學這個學門,給人的感覺是枯燥無味的。今天我把少年時期的玩具五格骨牌( Pentomino ) 拼圖,擺到這個學術殿堂來討論,各位不妨輕鬆一點,少談數學理論,而研究怎樣能把艱深的數學觀念生活化、遊戲化,更而為我們的下一代打造一個健康的網際網路環境。我不是數學系或資訊系科班出身,恐怕功力不夠,所以在此必須先給自己打打氣,希望諸位先進不吝指教。
美國最大數學謎題網站『 Mathpuzzle.com 』,在收到我的請教E-Mail之後,在MATH LINKS的Other Links區 " Covering the cube with pentominoes " 即給予超連結。又美國著名的幾何學園網站『 Geometry Junkyard - Polyominoes and Other Animals 』," See also proteon's polyomino cube-unfoldings . "也給我連上了( proteon是我在亞卓市的註冊名字)。當然我的好朋友,義大利老兄 Livio Zucca 先生,是第一個刊載我的作品並邀請我合作。他的老問題被我"一兩撥千斤"就給搞定了。他的『 To cover a solid 』網頁有這樣一段," In an old problem the pentominoes are folded to cover a cube. Wen-Shan Kao has many others." ,加上國外的肯定更可以說是個人網頁的定心丸。
Solomon W. Golomb教授在1953年,對多方塊 ( Polyominoes ) 連結的觀念及理論有相當重大的發明,並在1965年出版了多方塊( Polyominoes )一本書。其中就12片五格骨牌 ( Pentominoes ) (2),填滿矩形的可能組合有:3*20、4*15、5*12、6*10等四種,其解答數(basically distinct solutions)各有:2、368、1010、2339組,而這四組解答數是不包括翻面(flip)和旋轉(rotate)的解答。荷蘭的電腦工程師Gerard Putter先生,於1982年時,用Pascal語言在Apple II 電腦上,花了三個禮拜的時間解答出來。後來在1988年,他又用ANSI C 寫了一個萬用多方塊求解引擎程式 ( Universal polyominoes solution engine ),它功能強悍,不但可以各級多格骨牌混合求解,並可定義骨牌出現次數、骨牌是否翻轉、畫面解析度等參數,更可以解答任意形狀之外框。 而上述的四組解答數,在Power Macintosh G3電腦,大約一分多鐘的時間就解出來。如此一來大慨所有的多方塊舖面 ( Polyomino Tiling 或 Put Together ) 的問題,應該都可以迎刃而解了?
Solomon W. Golomb多方塊一書,附錄B第23號題目(3),刊載一位讀者將12片五格骨牌,組合成一個奇怪的圖形,而它卻可以摺疊黏貼成一個正立方體,但是外框不規則剪貼也不方便。於是我將相鄰的三個單位小正方形搬動一下,如此剪貼的邊緣均是1比3的斜邊,這樣一來將更容易剪貼而且外觀也比較整齊。在1999年12月19日的下午,我突然發現這個圖形竟然是由六個全等(congruent)的 "Z" 圖形所組成的。於是順便考考我的小孩及外甥女,結果國三學生五分鐘答對,國一學生七分鐘答對,兩位國小五年級共同研究也在十分鐘內答對。
恰巧看到義大利Livio Zucca先生,也在網路上貼了類似的一道問題:如何去計算它的解答,和總共有多少組合呢?因為那時我已經用Gerard Putter萬用引擎,解答了許多組合,於是便寄了一組答案給他,沒想到隔天就把我的答案公佈在他的網站上(4)。此後幾個月的期間,我持續的解出其他多種的展開圖(cube-unfolding or unfolded cube or cube net),總共找到三個基本樣式(5),至於是否還有第四個圖形呢?我沒有把握。於是便興起了自設網站,貼出問題求教的念頭。其命題為(5):如何用12片五格骨牌,面積共有60個的單位小正方形,去佈滿正六面體的表面。由於須要劃出摺疊線,所以限定所有展開圖的14個頂點(vertices)(6),必須至少與一個單位小正方形的頂點重疊,並規定展開圖必須由六個全等的十格骨牌( Dekominoes & no holes)圖形所組成。這不就是組合數學所追求的最優化 ( optimization ) 的標準嗎?回到最前頭
個人網頁真情告白 My puzzle note in detail.
個人首頁(7)採用中英文對照的方式,如果老外沒有繁體中文(Big 5)環境,也可以靠英文摘要和圖表來瞭解內容。因為本人英文不是很行,所以中英文『黑白切』以看懂為原則,網站在今年 ( 2000年) 6月19日生日當天開張。第一個商標就是蕃薯台灣『打拼新台灣』( The Puzzle Map of Taiwan ),總共用35個六格骨牌填滿台灣的馬賽克地圖,當然那是Gerard Putter萬用求解引擎程式的傑作。那也是在2000年初總統選戰打的如火如荼時,我所做的一項得票預測?第二個商標是『Z、鴨子、左手槍』( "Z"&"Duck"&"Left Hand Gun" ),這三個十格骨牌( Dekominoes )就是"Note1" 的精髓,它們 (同一型式六片)可以連結成正六面體的展開圖呢?第三個商標是『35個六格骨牌包覆正六面體盒子』( 35 Hexominoes covering a cube with buckles ),那是高階的Z圖形,更是畢氏定理(商高定理)的應用題呢?
那麼如何排列組成正六面體的展開圖呢?最簡單的方法就是從 35 個六格骨牌,找出11種正六面體的基本展開圖模式(8),再從 4,460 個 ( simply connected )十格骨牌( Dekominoes )圖形找出基本圖形,再用相同的圖形六片連結組成展開圖的外框,然後用12片五格骨牌去填滿。一般而言十格骨牌( Dekominoes )共有 4,655 個,扣除 195 個 ( = 182 個包含單方塊洞 + 13 個含雙方塊洞 )含空方塊者( multiply connected )等於 4,460 個。
網路上另外有一個12片五格骨牌專屬的求解引擎,那就是Vincent's 的 快樂五格骨牌程式( Happy Pentominoes ) (9)。其操作介面處理圓熟又簡便,更可取的是速度飛快,很受網友的喜愛,也是本專題得以完成之最大功臣,在此特別致謝!進入網頁後,敲擊"START"鍵,就開啟另一個視窗。選"Board"預設相近之外框值,再調整右下角為所需的外框值( HxW ),再搬動外框的小方塊蓋掉要求解的展開圖之外圍(注意:最外一圈為圖框無法搬動,不計算在HxW值內),然後敲擊"RUN"鍵(鍵名就變為"STOP"可以停止求解),就可以欣賞答案一一展現,不但速度飛快而且是彩色的哦!
接下來看看"Z"型(10)和"鴨子" ( Duck ) 型展開圖(10)的對照,兩者排列方式均相同。以最常見的"十字架"的展開圖討論,先把"Z"型排列方式編碼,順時鐘旋轉90度 "+1" 標示,一共只有兩種排列方式。各取兩個 "相間" 排列成一長梯,第二個 "Z" 上下再各放一個 "Z",如此十字架的展開圖就完成了。依樣畫葫蘆,"鴨子"( Duck )型的十字架展開圖,也可以很輕易地完成。
如何設計這個 "左手槍"( Left Hand Gun ) 的奇怪圖形?網路上有各級多格骨牌圖樣及其佈滿平面之資料可供下載。這是第 4 至 12 級多格骨牌圖樣列表 List of polyominoes of order 4…12。還有第 1 至 17 級多格骨牌圖樣列表Polyomino tiling,及佈滿平面之圖樣,並且詳細分類刊載。
至於"左手槍"( Left Hand Gun ) 的展開圖(11,12,13,14)呢?先把它加上 1:3 的摺疊虛線(正方形框線)。因為它是個非對稱圖形 (asymmetry),所以有四種排列方式,分別以阿拉伯數字編號,為了易於辨識並加底線。採用順時鐘旋轉90度 "+1" 標註,反時鐘旋轉90度 "-1" 標註。先選"1"及"2"圖形連結排成一個"長長的階梯"(要能排的愈長愈好),上下再各放一個可以在上面正確滾翻的圖形,然後對照數字編號,即可輕易組成好幾個"T字"或"十字架"形狀........的展開圖。這裡要強調的是,連結的時候必須實體形狀和摺疊虛線方框都要緊密結合,不得有任何空隙,我暫且把它稱作:連結長梯及滾動定理 ( The double connected long ladder and rolling method )(11)。
為了將展開圖外框準確地排放在Vincent's求解程式畫面中,特將所有形式做一循環排列(12,13)。以 a , b , c , d , a , b , . . . . . 或 a , b , c , d . e , f , g , h , a , b , . . . . 循環順序標示。因為求解程式畫面中,僅有外框的小正方形才可以搬動。所以先在求解程式畫面中,正確的做出"Fig.7a" 圖。按"Run"鍵,可惜沒有解答。 在 "Fig.7a" 圖中,搬動所有外框 "a" 方塊至 內框"b" 的位置,即可成為 "Fig.7b" 圖。 若在 "Fig.7b" 圖中,搬動 "b" 方塊至 "c" 位置,即可成為 "Fig.7c" 圖。 . . . .以此類推 . . . 若在 "Fig.7h" 圖中,搬動 "h" 方塊至 "a" 位置,又可循環變成為 "Fig.7a" 圖。
如此掌握了所有"T"字形狀的展開圖後,其他的10 種展開圖可以由此"T"字形狀的展開圖"變裝"求得(14)。先看看"Fig.7a" 圖的"T"字型的頭部,順時鐘方向旋轉90度,可以產生"Fig.6a" 圖。再看看"Fig.7a" 圖的"T"字型的頭部,反時鐘方向旋轉90度,可以產生"Fig.6Ba" 圖。數字後面加大寫"B"則表示,非對稱基本展開圖背面(翻面flip)的圖形。回到最前頭
我目前找到的三種十格骨牌( Dekominoes )圖形中,最優美的圖形就是"Z"圖形,因為它的剪貼外框是最整齊的。後來我才發現,由畢氏定理的證明方法之一,可以導出這個"Z"圖形(15)。所以就做了簡單的結論:任意兩個非零的正整數,在 b 不等於 a 的條件下,六個全等的 "Z" 圖形,可以連結成正六面體的展開圖(16)。雖然 b = a 的情形下,中央方塊邊長L = 0 ( 沒有中央方塊 ),這個基本的圖形就不是標準多方塊的連結 (multiply connected的情形Golomb教授把它另稱作pseudo-n-ominoes ),但是相同的六個圖形仍然可以連結成正六面體的展開圖,只是展開圖會有不相連的區塊產生。至於有沒有解答(用低階的多方塊填滿),就要看使用的多方塊種類而定,一般而言愈高階的多方塊由於形狀怪異,愈難填滿方塊型的區域?
後來又在George E. Martin先生的一本也是多方塊( Polyominoes 九章出版社有進口)為書名的第153頁,"The Z's"一節對各種"Z" 圖形的表示方式 ,有很詳細的定義。這一節更討論各種的 "Z" 圖形如何舖滿平面,其中的第一種 "Z",Z ( b,b,a,a ) 正是符合上述的推論,而舖滿平面的方式也跟我的展開圖完全一致,只是George E. Martin先生沒有發現,其中部份相連的六個圖形,是可以摺疊成正六面體?!
兩個非零整數平方和問題,許志農教授的數學講義:“算術” 24. 平方和問題,很值得參考,但是數學理論我真的有點怕怕。倒是找到了中國大陸肖剛先生的如何『 將一個正整數分解為2個整數的平方和 』線上立即服務程式。於是把AT&T的Integer Sequerces Research網站上的Sum of 2 nonzero squares,including repetitions 數列(A024509)通通放進去求解,哈哈得來全不費功夫。網際網路上只要多花點時間,還是可以找到很多寶貴的資料哩!
現在可以開始構思更高一階六格骨牌(Hexomino)如何覆蓋正六面體的表面(17)這個問題了吧?選 a=3, b=5, L=2 由上述的兩樣工具我們可以查得,每一個面的面積 34 = 3^2 + 5^2 ,六個面共 204 個小正方形,再加上兩個扣環共 210個正方形。因為 24個『奇』(odd)屬性的六格骨牌是黑白平衡的 (balanced),所以不必再考慮。 11個『偶』(even)屬性的六格骨牌,黑白均相差2是不平衡的 (unbalanced)。所以安排兩個扣環,必須詳細計算,使黑白方格相差 2, 6, 10, 14, 18, 22?(最多可以相差22 對吧?因為有11個『偶』屬性的六格骨牌) 運用上述原理及黑白棋盤(checkerboard coloring)定理可以推算出: 35 塊六格骨牌,佈滿一個正立方體盒子展開圖的外框。為了達到盒子的功能,注意剪貼時有三塊空白三角形不可以上膠,然後再把一對扣環扣緊,正是不折不扣的一個正立方體盒子哩! 如果不想要一對扣環呢 ? 擦掉黑格: 4個及白格: 2個,不就搞定了 ? ( 剩下黑格:104 白格:100 ) 。
高興之餘就在Livio Zucca先生刊載我的五格骨牌作品之後,又寄了這個創意圖形E-mail給包括Livio Zucca(義大利)、Miroslav Vicher (捷克)、Andrew Clarke(澳大利亞)、Gerard Putter(荷蘭)、Ed Pegg Jr.(美國)等五大數學拼圖網站。試圖尋求是否有更好的解答?結果義大利Livio Zucca先生竟然回信E-mail(18)邀請我合作,又增加副本給Scott Kim 及 David Eppstein(美國)兩位先生,並說是我首創把35個六格骨牌去包覆正立方體的表面。但又提出了兩個問題,第一個問題是:34個六格骨牌就可以覆蓋一個正六面體,你可以把第35個六格骨牌藏在正立方體裡面呀?(就當作是猜謎吧?)是否每一片的六格骨牌都可以這樣呢?第二個問題是:3*3*16、4*7*7、5*5*8等三個立方體,表面積都是210個單位小正方形,你可以用35個六格骨牌包覆它們的表面嗎?有了上述的定律,這兩個問題應該都可以是有答案的吧?只是需要花一點時間去慢慢嘗試吧了!這裡我整理了『偶』屬性(even)的11個解答(19)供各位參考。其他的解答等過一陣子有空再試試看囉?回到最前頭
吉拉氏萬用多方塊求解引擎 The mighty Gerard's Universal solution engine.
Gerard Putter先生的求解引擎程式(如果要自創骨牌必須在此下載程式)(20)短小精幹,只要掌握幾個重要參數值,就可以解遍任何多方塊填滿任一形狀區域的問題,所以我把Gerard Putter稱為萬能(mighty)。首先定義一個謎底矩形的寬(PuzzleWidth)及高(PuzzleHeight),再定義片數(NumPieces)、是否翻轉(true/false)、出現次數(no.)、每一片的大小(no.)、每一片個別的定義座標(X,Y)、外框(Holes)座標(X,Y)等參數。而每一片個別的定義座標則是以,單位小正方形的中央點座標標示(21),再用"逗點"(,)串聯起來。"外框座標"這個參數則表示,不需要多方塊型片去填滿的區域。如果圖形怪異,像我們現在討論的展開圖,外框座標(X,Y)就非常的多,必須要有點耐心一一標示,一樣用"逗點"(,)串聯起來,把它一起放進求解程式中"Holes"參數即可。如果是填滿一個矩形,如3*20、4*15、5*12、6*10等四種這個參數就是空白不用。而畫面解析度 ( WIDTH & HEIGHT of pixels ),則可以讓你調整畫面展示的區域,考慮得真是多麼週到呀!
這個HTML檔案的編修,用微軟提供的FrontPage Express或一般的文書編輯程式就可處理。六格骨牌(Hexomino)及五格骨牌(Pentomino)型片定義,可拷貝作者提供的範例程式(Solver 66 & 23)來進行,或者自行定義隨心所欲,這才是最快樂的事了。回到最前頭
簡單就是美 More simple more beauty ─ Simplify your puzzle.
網路上中國古代的七巧版,或類似七巧版的拼圖非常的多,玩法卻是天馬行空,隨憑玩家自行想像可謂百家爭鳴,不過追根究底,每一個型片卻都是等腰直角三角形所組成的。這裡有三個拼圖分別是15片、16片、17片,詳細觀察計算每一型片的基本單位也都是等腰直角三角形,但每一型片的面積有的拼圖是全部相等,有的則是部份相等,但組合完成的圖形都是正方形,只是每一型片的等腰直角三角形接合的方式不同罷了。這種不規則的接合方式太複雜了,不在今天的討論範圍,僅提供各位參考。
所以簡單的說:要把多個全等的等腰直角三角形,等長的邊要完全接合,則可以組成一定數量的"等面積不同造型的多邊形型片"。再用所有的型片(或者只選擇部份的型片),去填滿一個固定的形狀,卻有很多種的排列組合方式。但此類比較有系統整理的網站並不多,德國Peter F. Esser先生最近剛架設一個Polyaboloes專屬網站,可以找到部分型片組合成的矩形或是部分型片組合成自身圖形,其他的幾個網站以下會陸續超連結來介紹。
把四個全等的等腰直角三角形組合的型片稱作Tetraboloes ( 或稱Tetratans),一共有14片,Henri Picciotto數學教授,把它們命名為『超級七巧版』( Super Tangrams)(22)。他在1989年發現(也出版書籍),14片的『超級七巧版』,可以組成兩種不同的對稱圖形,並問到底有多少凸多邊形的組合呢?英國Eternity拼圖製造公司又把其中的一種對稱圖形命名為Delta,有人在網路上公佈了所有的解答(23)供網友查閱。可是我卻發現第1及952號解答,卻是不折不扣的鏡射圖形。那到底正確的解答是多少呢?這是捷克 Miroslave Vicher 教授在網路上公佈的正確答案?他說 14片Tetratans的組合只有(only)八種凸多邊形(convex polygon)(24),其中對稱的(symmetric)圖形也只有兩個,而八種組合的解答總數也都公佈出來了,各位請注意一下,這八個圖形中有四個圖形比較趨近於正方形者(或圓形者?),解答總數特別的多,幾乎是其他解答總數的 2.4倍至 22.7倍,是否有相關的理論可證明呢?這裡有Miroslave Vicher教授整理的多種各級(class)不同型片(polyform)總表,非常詳細有心研究的人可以細細品嚐。回到最前頭
18巧板拼圖樂 The 18 ProTangram tiling game.
我就在這個觀察的驅使下順手計算看看,把多個全等的等腰直角三角形,等長的邊完全接合,可以組成等面積不同造型的所有多邊形型片 ( Polyaboloes或 Polytans)檢視一遍,發現 4片的 Triboloes ( Tritans)面積共有6個單位正方形,加上上述的14片的『超級七巧版』Tetraboloes ( Tetratans)面積共有28個單位正方形,總面積共有34個單位正方形,如果想把它們組合起來,應該是 6*6的正方形區域再去掉四個角隅三角形的八邊形圖形(octagon)。澳大利亞的Andrew Clarke先生則把30片的Pentaboloes ( Pentatans) 則可以組成兩個正方形 ( pentaboloes in two squares ),還有107片hexaboloes(加一片重複使用)組成正方形的呢?這些組合如果沒有電腦程式來協助我想是相當困難達成的。
為了要描述各種形狀的 Polyaboloes ( Polytans) 的造型片,我想出了以"英文字母外加數字編碼"的方式來代表各種Polyaboloes排列方式。如此可以簡單的紀錄各種組合完成的圖形及其多重的解答,更可以藉此文字檔案迅速傳送與同好互相交流,避免了傳送圖形檔案耗時及圖檔類型不相容的困擾。
一個等腰直角三角形(25),就以三角形triangle的 " T " 代表。並以XY十字軸為鏡射線,再用阿拉伯數字代表不同象限的排列情形以利區分。
兩個等腰直角三角形的組合共有 3片(25),分別以造型酷似英文字母的 E、O、N 來表示。特別要注意 "O" 這個型片,因為是由兩個等腰直角三角形的斜邊 ( hypotenuse簡稱 h)接合成為正方形(s*s)。如果把它應用在解答編碼時,則必須遵循"先左上後右下"或者"先左下後右上"的原則來進行。
三個等腰直角三角形的組合共有 4片(26),分別以造型酷似英文字母的 A、B、C、D 來表示。又四個等腰直角三角形的組合共有 14片(27),分別以造型酷似英文字母的 F、G、H、I、J、K、M、Q、R、S、V、W、X、Z 來表示。同樣以XY十字軸為鏡射線,順時鐘方向次序再用阿拉伯數字 0,1,2,....5,6,7加底線,代表不同象限的排列情形。我再把不同象限的型片編碼,標示在每一型片的左下角第一個直角三角形內,如此完成一組解答的當時,就可以很迅速地紀錄該組解答的編碼,而不需要再去對照該型片的象限編碼,這個創見在網路上亦是很少見的。我並把這18片中文命名為『18巧板』,英文則取原型七巧板 ( prototype of Tangram) 而稱之為『ProTangram 』,也可以說是職業玩家的七巧板吧!
特別要注意 "X" 這個型片,因為是由四個等腰直角三角形的底邊 ( side簡稱 s),接合成為正方形( h*h),上下翻、左右翻都一樣,正好可用來定義各種玩法盤面之 "X型片"可能擺放的位置(28),再給予0,1,2,3,....數字編碼。這裡我只舉三種盤面以18片( 4片Tritans +14片Tetratans) 的玩法來討論。
標準 (Standard)(29)的玩法:總面積 34 = 6*6-4*0.5。紀錄由左下角原點開始記載,依 XY 座標的X1Y1、X2Y1、... X6Y1、X1Y2、X2Y2、... X5Y6、X6Y6次序,記下正方形內左下角三角形之編碼,而X型片在 0,2,3,4,5 位置時,須翻轉或旋轉使英文字母排序最小為其唯一的解答。眼前的這個例子解答應該就是:B0F4A6R3V1D3Q5H0M2X5J2K4S2W2G7C1I1Z1
多一片 (Double One) 的玩法:總面積 36 = 6*6。紀錄方式與上述相同,惟X型片不可能在 "0" 的位置。這裡我整理了多一片 Tetratans (FGKQRVWX)又恰巧在盤面正中央者(30),甚是有趣。各位不妨動動腦,是否有兩個"H型片"或兩個"W型片"恰好在正中央呢?
少一片 (Lost One) (31) 的玩法:總面積 32 = 4SQR(2)*4SQR(2)。外盤的正方形要旋轉90度,紀錄方式與上述原則雷同,依 XY 座標的X4Y1、X5Y1、 X3Y2、X4Y2、......X8Y4、... X4Y8、X5Y8次序,記下正方形內左下角三角形之編碼。但是如果這個解答正好少一片 "X" 型片怎麼辦?我想到了以正方形盤面四個頂點所有的型片代碼,把其中英文字母排序最小者那個頂點,旋轉或翻轉盤面使該頂點擺放到最底層,這不就解決問題了嗎?(那 "X" 型片的定義就可以省略囉?我目前還沒有定論?)這裡我整理了少一片Tetratans (FGHIJKMQRSVWXZ ) 的14種解答(32)供各位參考,有空動動腦也是蠻好玩哩!
以上簡單報告到此,敬請諸位先進多多批評指教?回到最前頭
1."POLYOMINOES" puzzles, patterns, problems, and packings, revised edition by SOLOMON W. GOLOMB , Princeton university press.
2."POLYOMINOES" A Guide to Puzzles and Problems in Tiling by GEORGE E. MARTIN , Published by The Mathematical Association of America.
3."MATHEMATICAL MAGIC SHOW" by MARTIN GARDNER. Chapter 11.
4."數學魔術館" 沈永嘉 譯 大夏出版社 第11章。
5."數學大觀" 歐陽絳 編著 曉園出版社 第12章。