2002/07/07
その後のあみだくじの話2
続きです。
私の作成したプログラムは、あみだくじの以下のような性質をもとに作成されました。「あみだくじは、極限まで広げれば、(縦棒の数−1)×横棒のBOOL行列で表すことが出来る」。まず、縦棒の数−1というところから説明しましょう。ある縦棒の右側に出ている横棒の数はその1つ右の縦棒から左側に出ている横棒の数と等しくなります。これはあみだくじを原理から考察すれば、容易にわかりますよね?このことから、縦棒の右側に出ている棒の数だけを調べれば、その右横の縦棒の左側に出ている棒の数は調べる必要はありません。すなわち4本の縦棒で構成されるあみだくじなら、左から1番目、2番目、3番目から出ている右棒の数と位置を調べれば、最後の4番目の棒を調べずに再現できるのです。次に行列の列が横棒と等しくなることを説明します。例えばI-I=Iというようなあみだくじがあったとします。このあみだくじは、右、左、右に3本の線の出る3列のあみだくじというのは容易に想像できると思います。行列として記述すると(0,1)(1,0)(0,1)となります。ではI-I=I-Iのような、同じ行に複数の横棒が存在するあみだくじはどうでしょうか。これは重なっている列のどちらかを上下にずらしてやれば、4行の行列になります。つまり(0,1,0)(0,0,1)(1,0,0)(0,1,0)あるいは(0,1,0)(1,0,0)(0,0,1)(0,1,0)という形で表すことができます。あみだくじはたとえ横棒が同じ行に何本入っていようと、同じようにずらしてやることで行列として表すことができるのです。そして、この行列は、実は一つの数字として表すことも出来ます。行列の行に注目すると、ある行に対して1となる列は1列しかありません(そのような形に展開したので、当たり前)。よって、1番左の列が1なら0、2番目なら1、3番目なら2・・・という具合に1つの数字で表すことが可能となります。上記の3×4の行列をこのルールに従って数字化すると、1201あるいは1021として表すことが出来ます。そして、これは3進数の数字(ただし桁が逆)なのです。
続きます。


 

Topへ