■パズルワールド散策(その7)

 ポリオミノの最も簡単な例はドミノです.ドミノは2つの正方形をくっつけた1×2の長方形です.ドミノで長方形を作る問題は和室の畳の敷き方と同じ問題であって,私たち日本人にはなじみ深いものです.

 1点に4枚の畳の角が集まるのは不安定な畳敷きであって,和室の間取り(四畳半,六畳,八畳,・・・)にはみられませんが,寺の大広間や柔道の道場にような大部屋ではむしろその敷き方のほうが当たり前になります.

===================================

[Q]n畳間に畳を敷き詰める方法は何通りあるか(n×2mの長方形の部屋にn×m枚の畳を敷く場合の敷き方は何通りあるか)

[A]m=1の場合はやさしい.n枚の畳を鰻の寝床のように細長いn×2の間取りに敷くその敷き方の数Fnになる.半畳の正方形の1辺を単位として数えると,敷き方の数はnを1と2に分割する組み合わせ数(n段の階段を一歩で1段または2段昇ることにする昇り方の数)に一致し,それは

  Fn=Fn-1+Fn-2

の関係になるから,フィボナッチ数列(初項1,第2項2)

  1,2,3,5,8,13,・・・

  Fn=1/√5[{(1+√5)/2}^n+1−{(1−√5)/2}^n+1]

が現れることになる.

 細矢治夫先生によると,この問題は不思議なことに物理学の問題と深く関係しているという.物理学研究者の2つのグループが1961年に独立に発表した結果では,

  K(n×2m)=2^2m[(n+1)/2]Π(k=1~m)Π(l=1~[(n+1)/2]{cos^2(lπ/(n+1))+cos^2(kπ/(2m+1))}

 とくにm=1のときは

  K(n×2)=Π(l=1~[(n+1)/2]{1+4cos^2(lπ/(n+1))}

という式が出てくるが,これはフィボナッチ数列の三角関数表現になっているとのことである.

 フィボナッチ数列は指数関数的に増加するから,K(n×2m)は爆発的に増加するはずである.プログラムは簡単であるから自分で計算してみると

m/n 1 2 3 4 5

1 1 2 3 5 8

2 1 5 11 36 95

3 1 13 41 281 1183

4 1 34 153 2245 14824

5 1 89 571 18061 185928

 m=2の段を見れば

  6畳間に畳を敷き詰める方法は11通り

  8畳間に畳を敷き詰める方法は36通り

  10畳間に畳を敷き詰める方法は95通り

あることがわかる.ただし,ここでは回転や鏡映で重なるものを別々のパターンとして数えている.

===================================

 以下では,平面分割・空間分割の局所条件を安定な分割という観点から考えてみることにする.まず,平面分割の問題を掲げる.

[Q]正多角形は無限に多く存在するが,それでは,互いに合同な正多角形を隙間も重なりもないように並べて平面を完全に埋める仕方が何通りあるか? また,安定な平面分割は何通りあるか?

[A]平面充填形が正三角形,正方形,正六角形の3種類に限ることは昔からよく知られている.このうち正方形のは碁盤,正六角形のは蜂の巣などでおなじみであろう.

 しかし,正三角形と正方形による平面分割は頂点だけで接している多角形があるので,ある方向に力を加えた場合に全体が変形する可能性をもっている.すなわち,ボロノイ分割に対して安定とはいえない.点のわずかな動きによって,ボロノイ分割が激変してしまうからである.したがって,ボロノイ分割の意味で安定なものは六角形による平面充填だけということになる.

===================================

 それでは,3次元ではどうだろうか?

[Q]安定な空間分割な何通りあるか?

[A]立方体以外の単一多面体による空間分割(空間充填体)としては,菱形十二面体や切頂八面体がよく知られている.両者はしばしば対比され,どちらも単独で空間充填可能な立体図形であるが,菱形十二面体が面心立方格子のボロノイ図であるのに対して,切頂八面体は体心立方格子のボロノイ図となっている.立方体(f=6),菱形十二面体(f=12),切頂八面体(f=14)はよく知られた空間充填立体であるが,単独空間充填形となる多面体はこればかりではない.

 平行多面体とは平行移動するだけで3次元空間を埋めつくすことのできる単独の空間充填多面体であって,立方体,6角柱,菱形12面体,長菱形12面体,切頂8面体の5種類しかない.これら5種類の図形(平行多面体)は3次元格子の幾何学的分類であり,5種類の正多面体(プラトン立体)ほどよく知られていないが,少なくとも同じ程度に重要であると考えられる.

 このうち6角柱,菱形12面体は4次元立方体,長菱形12面体は5次元立方体,切頂8面体は6次元立方体を3次元空間に投影したものと一致している.また,切頂8面体(f=14)の辺を点に縮めることによって,長菱形12面体(f=12)→菱形12面体(f=12)→6角柱(f=8)→立方体(f=6)ができると考えることができる.

 このうち,1点に4個の多面体が会してボロノイ分割に対して安定なものは切頂八面体だけなのであるが,立方体や菱形十二面体は切頂八面体の辺を点に縮めることによって得られるので,頂点や辺だけで接している多面体を生じるというわけである.

 空間分割の局所条件は,1つの細胞のある方向の移動を他の3つの細胞が支持して止めるというメカニズムの表れと理解することができる.すなわち,このことは安定な力学的平衡が得られるための条件であることは直観的にも明らかであろう.3次元の単純立方格子状配置(角砂糖の箱の封を切ったときに見えるパターン)では1つの細胞の格子線方向の移動は他の1つの細胞が支持して止めるので力学的に不安定なのである.

===================================

[補]フィボナッチ数列

 初項1,第2項1から始まり,隣り合う2項の和が次の項となる数列

  1,1,2,3,5,8,・・・

をフィボナッチ数列とよびます.

 一般に,数列{Xn−αXn-1}が公比βの等比級数になるものと仮定すると,

  Xn+1−αXn=β(Xn−αXn-1)

すなわち,

  Xn+1−(α+β)Xn+αβXn-1=0

根と係数の関係から,α,βは

  x^2−(α+β)x+αβ=0

の根でなけれならないのですが,このことから,この数列は2つの等比級数の1次結合

  Xn=cα^n+dβ^n

として表されます.

 フィボナッチ数列の一般項Fnは,3項漸化式:

  Fn=Fn-1+Fn-2

の特性方程式

  x^2−x−1=0

の2つの解:

  α=(1+√5)/2,β=(1−√5)/2

より,

  Fn =1/√5[{(1+√5)/2}^n−{(1−√5)/2}^n]

    =1/√5{φ^n−(−1/φ)^n}

     (F0 =0:φ=(1+√5)/2)

のように黄金比φを使って表すことができます.

 この式は1765年にオイラーが初めて発表したものですが,みんなに忘れられていてそれを再発見したビネにちなんでビネの公式(1843年)と命名されています.整数の数列に無理数である√5や黄金比φが出現する不思議に驚かれた経験をお持ちの方の少なくないでしょう.かくいう小生も心理的抵抗感を禁じ得なかったひとりです.

 第1項は等比級数的に増大し,第2項は符号が入れ替わりながら等比級数的に減少します.nが大きくなるほど第2項{(1−√5)/2}^nは0に近づきますから,この項を無視するとフィボナッチ数列は黄金比を公比とする等比数列に次第に近づくことになります.

  Fn 〜φ^n/√5

 また,フィボナッチ数列の各項はパスカルの三角形の対角線上の数の和に一致しています.2項係数とフィボナッチ数の間にも多くの関係があるのですが,この他にもフィボナッチ数は多くの性質をもっていて,以下にいくつか紹介しておきます.

  Fn・Fn+2=Fn+1^2−(−1)^n   (カッシーニの公式)

  F1+F2+F3+・・・+Fn=Fn+2−1

  F1+F3+F5+・・・+F2n-1=F2n

  F2+F4+F6+・・・+F2n=F2n+1−1

  F1^2+F2^2+F3^2+・・・+Fn^2=Fn・Fn+1

 有名な幾何学的パラドックス<64cm^2=65cm^2>は,「不思議の国のアリス」の作者であるルイス・キャロルが創ったとも,パズルの大御所であるサム・ロイドが創ったともいわれているパズルです.きっと,いろいろな本でみたことのある方も多いと思います.

 このトリックは一直線をなすように使われた2つの線分の傾き3/8,5/13の相違がわれわれの視力の限界外となる錯覚を利用したもので,もっと先の数,たとえば8/21とかを使えばより巧妙なトリックになります.公式

  Fn・Fn+2=Fn+1^2−(−1)^n   (カッシーニの公式)

は,3つ並んだフィボナッチ数の真ん中の数の平方は前後の2つの数の積より1大きいか小さいかのどちらかで,このトリックパズルのもとになっています.

===================================

 隣り合う2項の和が次の項となる数列はフィボナッチ数列の名で有名ですが,フィボナッチ数列{Fn}の通常型母関数f(x)は

    f(x)=F0+F1x+F2x^2+F3x^3+・・・

   xf(x)=   F0x+F1x^2+F2x^3+・・・

  x^2f(x)=       F0x^2+F1x^3+・・・

また,Fn=Fn-1+Fn-2より

  f(x)=x/(1−x−x^2)=ΣFnx^n

と簡単な式になります.

 さらに,1つの項の和がその前の3つの項の和になっている

  Tn=Tn-1+Tn-2+Tn-3

で定義される数列

  1,1,1,3,5,9,17,・・・

は,フィボナッチ数列の拡張とみなせるので,フィボナッチ(Fibonacci)をもじってトリボナッチ(Tribonacci)数列と呼ばれます.

 この数列でも連続する2項の比はある決まった値

  1/3{3√(19+3√33)+3√(19−3√33)+1}=1.839・・・

に収束します.これは

   x^3−x^2−x−1=0

の実根です.トリボナッチ数列は3次のフィボナッチ数列ですが,k次に一般化することもできるでしょう.

[補]通常型母関数と指数型母関数

 数列は補助変数xを用いてベキ級数としてうまく表すことができます.数列{an},すなわち,a0,a1,a2,・・・に対して,

  a0+a1x+a2x^2+・・・=Σanx^n=f(x)

で表される関数f(x)をその通常型母関数といいます.

 一方,

  a0/0!+a1/1!x+a2/2!x^2+・・・

を数列{an}に対する指数型母関数と呼びます.exp(x)は数列{1,1,1,・・・}の指数型母関数です.

 フィボナッチ数列{Fn}の指数型母関数

  f(x)=ΣFnx^n/n!

は微分方程式

  y”=y+y’

を満足するので,

  y=Aexp(λx)+Bexp(μx)

の形となります.

 ここで,λ,μは2次方程式

  x^2=1+x

の解ですから,

  λ=(1+√5)/2,μ=(1−√5)/2

また,A,Bを定めるためには

  f(x)=Aexp(λx)+Bexp(μx)

  f’(x)=Aλexp(λx)+Bμexp(μx)

において,x=0とおくと,A=1/√5,B=−1/√5

 以上より,

  φ=(1+√5)/2,−1/φ=(1−√5)/2

とおくと,指数型母関数は

  f(x)=1/√5[exp(φx)−exp(−x/φ)]

となります.

===================================