パズルの国のアリス

子蜘蛛のジャンプ練習(解答)

坂井 公(筑波大学アソシエイト) 題字・イラスト:斉藤重之

 ちょっと意外に感ずる人がいるかもしれないが,目標地点に近づくために子蜘蛛が繰り返すジャンプ手順は,子蜘蛛の最初の位置にはまったく無関係に目標地点のみに依存して決めることが可能だ。

 その答えの説明の仕方はいろいろとあるが,座標を使うのが簡単そうだから,それで説明しよう。通常の直交XY座標を導入し,正方形の4つの頂点を占める祖父母蜘蛛の位置をそれぞれA(0,0),B(1,0),C(1,1),D(0,1)とする。また,手順を定めるのには必要がないと書いたが,子蜘蛛の最初の位置を(xy),おやつの虫がいる目標地点の座標を(ab)とする。もちろん子蜘蛛とおやつの虫の位置は正方形内の1点なので,xyabはどれも,0以上1以下の実数である。

 ここで,xyabをすべて「2進表記」してしまうのが,解法への近道だ。2進表記すると

x=0.x1x2x3…,  y=0.y1y2y3
a=0.a1a2a3…,  b=0.b1b2b3

となるとしよう。すべてのi=1,2,3,…についてxiyiaibiは0か1だ。

 さて,ここで子蜘蛛がジャンプした場合の着地点の座標がどうなるかを考えてみると,問題はほとんど解けたも同然だ。今,その子蜘蛛をA(0,0)にいる祖父が引き寄せたとしよう。すると,子蜘蛛の着地点の座標は(x/2,y/2)だから2進表記すると(0.0x1x2x3…,0.0y1y2y3…)となる。同様にB(1,0)にいる祖母が引き寄せれば着地点は(0.1x1x2x3…,0.0y1y2y3…),C(1,1)にいる祖父なら(0.1x1x2x3…,0.1y1y2y3…),D(0,1)にいる祖母なら(0.0x1x2x3…,0.1y1y2y3…)である。つまり,子蜘蛛の着地点の座標は,元の位置の座標の小数点以下1桁目に(どの祖父母が引き寄せるかに応じて)0か1が加わり,他の数値は右に1桁ずれるということになる。

 ここまでで戦略のための基本構想はご理解いただけたと思うので,あとは具体的な目標地点を例にして手順を説明しよう。例えば,おやつの虫がいる目標地点が(1/3,√3/2)であるとする。これを2進表記すると

(0.0101010101…,0.1101110110…)

となる(小数の2進表記の方法については「2進小数」と「変換」というキーワードでウェブ検索されたい)。このX座標とY座標それぞれの小数点以下1桁目の値,2桁目の値,……,8桁目の値をとって対にすると

 (0,1),(1,1),(0,0),(1,1),(0,1),(1,1),(0,0),(1,1)

だ。そこで,この対の列の右(8桁目の値の対)からそれぞれに対応する位置C,A,C,D,C,A,C,Dにいる祖父母がこの順に子蜘蛛を引き寄せると,子蜘蛛の位置座標は

 (0.01010101x1x2x3…,0.11011101y1y2y3…)

に変わる。よって,子蜘蛛の最初の位置にかかわらず,この一連のジャンプ後の子蜘蛛と目標地点の座標の差はX座標,Y座標とも1/28=1/256以下になるから,子蜘蛛と目標地点との距離は√2/256以下になる。もしこれでも距離が十分に近くないなら,考慮する目標地点の座標の桁数を8桁よりも大きくとって,再度やり直せばよい。

 この手法は,祖父母蜘蛛の占める位置が正方形ではなくて,平行四辺形の頂点であっても有効だ。その場合には,Aが原点でABとADを軸とする斜交座標を導入し,ABとADの長さをそれぞれ1とすればよい。

 しかし,一般化できるのはここまでで,四角形ABCDが平行四辺形でない場合,その内部の点で,同じく内部の点からジャンプしたのでは,ある程度までしか近づきえない場所が存在する。

 上図をご覧いただきたい。子蜘蛛が四角形ABCDの内部にいる場合,Aにいる祖父が引き寄せると子蜘蛛は相似比1/2の四角形AGRFの内部に着地する。B,C,Dにいる祖父母が引き寄せた場合,子蜘蛛はそれぞれ四角形GBHS,RHCE,FSEDの内部に着地するが,例えば図内の点Zは着地可能性のある4つの四角形のどれにも含まれていないので,四角形ABCDの外側からでなくては好きなだけ近くには着地できない。

問題はこちらです