午後のひとときに、畳の敷き詰め問題を考えてみる。
日本人だと馴染みのある畳。
ある間取りにおいて、畳の敷き詰め方は何通りあるのか?
という疑問に答えるには、動画のように小さな間取りから少しずつ変化させて、計算パターンを見出すことになるだろう。
すると、数列が隠れていることが解る。
上段の長方形の左上隅が欠けた間取りが3行2列の6マスずつ増えていく。
下段の長方形も間取りが3行2列の6マスずつ増えていく。
それぞれの畳の敷き詰め方は何通りあるか。
上段の数列をA、下段の数列をBとすると、
A[1]=1
A[n]=A[n-1]+B[n-1]
B[1]=3
B[n]=B[n-1]+2A[n+1]
という関係性が見いだせる。
他にもこういう関係性のある形は無いのだろうか?
先の問題と違うところは、上段は半畳の畳を1つだけ使うことと、行が1列少ないこと、増える列数が2行1列であること。
上段の数列をC、下段の数列をDとすると、
C[1]=1
C[n]=C[n-1]+D[n-1]
と数列Cは前回と同様に表せましたが、数列Dは前回と違います。
ただ、この数列、よく見ると馴染みのある数列です。
そうです、フィボナッチ数列ですね。
D[1]=1
D[2]=2
D[n]=D[n-2]+D[n-1]
これは、面白い発見ですね。
さて、畳というと日本の文化で、海外では畳の敷き詰め問題と同様の問題が存在しないかというと、実はそうではありません。
海外では、ドミノ・タイリング、ドミノ倒しとか、ドミノ・ピザのドミノです。
ドミノとは、n-ミノというn個の正方形を辺で繋げた形の、n=2のときです。
n=1 モノミノ
n=2 ドミノ
n=3 トロミノ
n=4 テトロミノ
n=5 ペントミノ
n=6 ヘキソミノ
n=7 ヘプトミノ
n=8 オクトミノ
n=9 ノノミノ
n=10 デコミノ
…
のように続いていくポリオミノの一つにすぎません。
落ち物ゲームのパイオニアであるテトリスとか、ある意味敷き詰め問題でもあるわけです。
敷き詰めパズルとして、ペントミノが難易度的にも面白いようで、多くのパズルを販売していたりします。
今回は畳ですので、ドミノにフィーチャーしてみましたが、半畳を使わない、半間(畳の短辺)を1として、m×nの間取りの部屋に、畳を敷き詰める計算式というものが存在します。
2式書きましたが、どちらも結果的に同じ値を示します。
半畳の畳を使わないということは、m×nが偶数に限るということです。
Π記号は、添字の範囲だけ掛け算を繰り返す記号です。
Σ記号の、掛け算バージョンですね。
それにしても、なんで畳の敷き詰め方のパターン数は自然数なのに、実数のコサインの掛け算が出てくるのか不思議ですよね。
https://ja.wikipedia.org/wiki/ドミノタイリング
明日は、この数式を使うプログラミングでもしてみましょうか。
ではでは