パズルの国のアリス

アイスクリームケーキの怪(解答)

 当然だが,中心角が360°をk 等分するようなものであれば,ケーキは,k回目でバニラが全部上になり,2k 回目で再び上にチョコレートが全部戻る。それ以外にそういうことは起きないだろうか? もちろん,他にもそういうことはある。しかし,もし読者の答えが「中心角は360°の有理数倍」というようなものだったとしたら,「残念でした! 引っかかりましたね」と言わせていただこう。

 正解は,「どんな中心角でも,いつか必ずケーキは元に戻る」というものである。切り出す断片と全体の比が無理数の場合,切り口が前と同じになることが決してなく,当然それを境にしてチョコレートとバニラが接することになり,上面が全部チョコレートになることなどないかのように錯覚させるのが,この問題のミソである。ケーキ片を裏返すとき,その部分では上下が入れ替わるだけだと思うのが錯覚の原因だ。

 実は上下だけでなく,左右も反転することに注意する必要がある。そのせいで,中心角が何であろうと,新しい切り口が前のといつかかならず同じになるのだ。

ケーキ全体を時計回りに角xだけ回転させる操作

 このパズルを分析するには,ケーキを切り出す部位が少しずつ回転していくと考えるより,切り出し箇所は一定で,ケーキが回転していくと考えるほうがわかりやすい。

 つまり,「12時の半径とそれを反時計回りに角xだけ回転した半径2つに沿った面で,ケーキから断片を切り出し,反転して元に戻したあと,ケーキ全体を時計回りに角xだけ回転する」という操作Fを考えよう。Fを繰り返すのは,実質的にはチェシャ猫のいたずらと同じになるが,切り出す断片の位置はいつも一定である。例えば,最初の3ステップでは上の図のように操作が進む。点線が新しく入る切り口で,角度は時計回りに12時の線から測ることにする。

 図には,チョコレートとバニラのどちらが上なのかを描いていないが,その配置がいわばケーキの「状態」で,実は,それが有限種類しかないことを示すのが,この問題のポイントである。

 何が起こるかを見るには,ある整数kについて,切り出すケーキ片が全体の1/kより少しだけ大きい場合を考えてみるのが,一番わかりやすい。ケーキ片がいくつ集まれば丸いケーキ全体が作れるかを考え,それに必要な最少数をkとしよう。言い換えれば,kkx≧360°を満たす最小の整数である。kx = 360°なら,先に見たようにk回の操作で上の層は全部バニラになり,もうk回の操作でまたチョコレートに戻る。kx>360°の場合を考えよう。その場合,k回目では,操作はケーキを一周し,切断面は最初に切り出したケーキ片の中に入る。

 ちょっと考えればわかるが,角θのところに以前の切断面があるとすると,問題の操作により,一般にその切断面は,θx<360°ならθxの位置に動き,θx ≧360°なら360°-θ に動く。

 したがって,操作を進めると,ケーキの切断面は,最初0°とxに生じ,以後2x,3x,…,(k-1)xと次第に増えていく。kステップ目では,最初の切断面は360°-(k-1)xに移動し,以後360°-(k-2)x,…,360°-xへと移動していく。しかし,次の第2k-1ステップでは最初の切断面はxに戻り,これ以上新しい切断面は生じなくなるのだ。

120°<x<180°の場合のケーキの状態遷移

 実際,生じうる切断面の全体Sが,操作Fのもとで閉じていて有限であることを確認するのはやさしい。つまり,操作は,0<ik-1の場合に角i xを(i+1)x に移し,(k-1)x を360°-(k-1)xに移す。また,1<ikの場合に角360°-ixを360°-(i-1)xに移し360°-xxに移す。12時すなわち角0°の切断面は,操作で不動だと考えられるから,S={0°,x,2x,…,(k-1)x, 360°-x,360°-2x,…,360°-(k-1)x }となり,生じうる切断面は全部で2k-1カ所である。

 ここまでの議論で,有限回の操作後,ケーキは同じ状態を繰り返すことが結論できる。というのは,隣合う2つの切断面の間では,上にあるのがチョコレートとバニラのどちらか一方に定まっているので,そのパターンの総計が22k-1を超えることはない。だから,この操作の列は,長さがせいぜい 22k-1の周期を含まねばならない。しかも,操作は明らかに可逆だから,(全面で上がチョコレートの)最初の状態にかならず戻ってくるといえる。もし,最初の状態を経由せずに,ある別の状態Cが再現するようなら,次にCになる状態が 2種類あることになるが,それは可逆性に反するからだ。

 実際のところ,どういうことが起こるかを正確に描き出すのも,難しくない。zkx-360°とすると, Sに属する切断面の間には,中心角がxz=360°-(k-1)xとなる領域がk個と,中心角がzの領域が k-1個生ずる。前者をA1A2,…,Ak,後者をB1B2,…,Bk-1としよう。

 Aの領域では,操作の初めのうち,順にバニラが上になっていき,k回目の操作が全A領域でバニラが上になる。その後,またチョコレートが順に上に戻り,2k回目では全A領域でチョコレートが上に戻る。その間,B領域でも順にバニラが上になっていくが,B領域は,k-1個しかないので,k-1回で全部がバニラになり,2k-2回目で元に戻る。

 したがって,A領域とB領域のすべてでチョコレートが上に戻るのに必要なステップ数は,2kと2k-2の最小公倍数,すなわち2kk-1)である。こうして,この問題に対する完璧な答えは「kx>360°の場合,チョコレートが上に戻るためには2kk-1)回の操作が必要だ。またkx=360°の場合,B領域は存在しないから,2k回で十分だ」というものになる。120°<x<180°の場合,k=3だから 2kk-1)=12だ。その場合のケーキの状態遷移を図示すると左ページの下図のようになる。

 実は,このパズルは,さらに意外なことに次のように一般化できる。チェシャ猫は,ケーキ片をいつも前のすぐ右隣から切り出していたが,適当な角yだけ空けていつも切り出していたとしても,やはり,いつかチョコレートが全部上に戻るのである。このy もまた任意であり,元の問題はy = 0の場合を問うていたことになる。この一般化された場合を分析するには,先のFの操作のあとさらに時計回りに yの回転を加えるとよい。そうすることで,この場合も操作は一定になり,ケーキの状態だけを考えれば済む。また,生じうる切り口の角度は,ある整数kについて(360°を法として)kxkyまたは kx+(k+1)y の形に書けるものだけで,しかもkの値としては有限の範囲だけを考えればよいことが示されるので,元の問題と同様に,切り口の集合Sは有限である。ただし,考えるべきkの範囲や具体的な周期は,xy の値によりいささか複雑な様相を呈するようだから,詳細は読者への宿題とさせていただこう。

問題はこちらです