「3進法の箱」の手数を計算する

1 はじめに

 

2000年だったと思いますが、小田原市で開かれた木製品のイベントにパズルの有名な芦ケ原さんが来られました。その際に324回という回数について「なぜ3のn乗ではないのか?」と質問をされました。これはどういう事でしょうか?

 

実はこの指摘はこの作品の本質を突いたものです。この作品の回数は「3のn乗」では表せませんが、この作品が持つ局面数は「3のn乗」で表されるのです。ここで言う局面とは、作品を開けて行った時に、各面がそれぞれどの程度開いているか(あるいは閉まっているか)の組み合わせを、各瞬間で切り取ったもののことです。結論として、この作品の局面数は729、手数は324です。729は「3のn乗」で表せますが(3の6乗)、324は表せません。どうしてこうなるのでしょうか?その不思議を計算して見ます。

 

2 理論上の局面数・理論上の手数

この作品の理論上の局面数は以下の計算式で求められます。

 

理論上の局面数=3×3×3×3×3×3=729

 

3が6回掛けてあります。3の6乗です。各数字が3なのは、各面に「閉まっている」「半分開いている」「完全に開いている」の3つの状態があるからです。6回掛けてあるのは面が6つあるからです。最初に動く面を1番として各面を6番までの番号で呼んでいますが、この作品は、例えば3番を初めて動かす時には、その前に1番と2番の(開き具合の)全ての組み合わせを、必ず1回ずつだけ通ります。これは4番以降でも同様です。ですから、理論上の局面数は組み合わせの数と同じになり、上の計算式となります。

 

ところで、手数は局面から局面へ推移する回数なので、局面数より1少ない数となります。よってこの場合は729から1を引いて、理論上の手数は728となります。

 

3 実際の局面数・実際の手数

さて、理論上の局面数と手数は計算できましたが、実際の局面数と手数はこのままとは行きません。問題は2つあります。

 

3-1 「通過してしまう局面」の問題

1つ目の問題は1番に関するもので、「通過してしまう局面」があるという問題です。この作品を、各面には3つの状態があると意識しながら開け始めると、すぐにおかしなことに気付きます。各面には「閉まっている」「半分開いている」「完全に開いている」の3つの状態があるはずなのに、1番だけは、「閉まっている」「完全に開いている」の2つの状態しか無いように感じられるのです。

 

2番以降では、ある面が半分まで開くと、その面は一度そこで強制的に止まってしまいます。これは正常な動作です。そして次に必ず他の面を(1回または複数回)動かす操作が入り、その後に残りの半分が開きます。ところが1番は、半分で強制的に止まる事がありません。連続して動いてしまうのです。意図的に止めない限り、半分の局面で止まる事はありません。理論上は1番にも3つの状態があると捉えることが出来ますが、遊び手にとっては2つの状態しかないように感じられるのです。

 

これを局面数の計算式に反映させると、先の(理論上の局面数を求める)3を6つ掛けた計算式において、最初の3から順に1番、2番、3番…に対応するものとすると、1番に対応する最初の3が2に変わる事になります。

 

3-2 「使わない局面」の問題

2つ目の問題は6番に関するもので、「使わない局面」があるという問題です。6番は1番とは異なり確かに3つの状態があります。ですが困った事に、6番が3つ目の「完全に開いている」状態になると、その時点でゴールになってしまうのです。その後はいつでもふたが取れます。機能としては、6番を開けた後も他の面を動かす事は出来ます(※)。ですが、ふたは既に開いているので、手数を数える上では意味はありません。その後の局面は「箱を開ける」という目標に対しては不要となり、「使わない局面」となるのです。ですから、実際の局面数はその分だけ少ない数になります。

 

(※)6番を開けた後は他の面を動かす事が出来なくなる設計で作品を作ることも可能ですが、実際には、6番を開けた後も他の面を動かす事が出来る設計で作っています。この方が理論上すっきりするように感じられたため、このようにしています。

 

これを局面数の計算式に反映させると、先の計算式において、6番に対応する最後の3が変わる事になります。まず、6番の「閉まっている」「半分開いている」という2つの状態については、これらに対応する他の面の組み合わせを全て含むことになります。それらの組み合わせの合計は、先の計算式の最後の3を2に変えた計算式で求められます。そしてもう一つ忘れてはいけないのは、6番が「完全に開いている」状態についてです。この状態となる局面は、最後にふたを開けようとする際に1回だけ現れます。よって、局面数が

その分として1増える事になります。

 

これらを整理すると、先の計算式の最後の3を2に変え、更に全体に1を加える事になります。

 

3-3 計算式への反映

以上から、この作品の実際の局面数は以下の計算式で求められます。

実際の局面数=(2×3×3×3×3×2)+1=325

 

先ほどと同様に、手数は局面から局面へ推移する回数なので、局面数より1少ない数となります。よってこの場合は325から1を引いて、実際の手数は324となります。

 

この計算では、局面数の計算を通して手数を計算したことから、最後に1を足してから1を引く事になりました。ですが、これは少し分かりにくいので、普段はこれを予め相殺・省略して、シンプルに以下のように書いています。

実際の手数=2×3×3×3×3×2=324

 

以上、いかがだったでしょうか?