12

ハンターと見えないうさぎを解いてみた

1067
0

この記事は9割以上が以下の問題のネタバレによって構成されています.

  • JMO春合宿2022 第12問(2021 IMO Shortlist C6)
  • IMO2017 第3問

12月11日, Advent Math Calendar2023 11日目です. 私は最近解けた(と思う)ハンターと見えないうさぎ問題の解答を書いてみます. 両方とも今まで解いた中でかなり好きな部類に入っています.
ちなみにMathlog初投稿です. 読みづらい箇所が多いかもしれませんがどうぞお付き合いください.

JMO春合宿2022 第12問(2021 IMO Shortlist C6)

問題(要約)

 ハンターと見えないうさぎが無限に広がるマス目でゲームをする. はじめハンターは正整数 k を選び, 各マスに k 以下の正整数を書き込み, うさぎと共有する. うさぎはあるマスに潜んだ後, 現在居るマスに割り当てられた整数をハンターに伝え, まだ訪れたことがなく, 辺を共有するマスに移動することを繰り返す. うさぎが動けなくなるか, ハンターがうさぎが最初に潜んだマスを特定できたとき, ゲームは終了する.
 うさぎはハンターの行動によらずゲームが終了しないように行動し続けることは可能か.

予想としては, ハンターの方に必勝法がありそうなので, その前提で進めていく.
以下, ハンターは適当に1マスを決め, そこから右にxマス, 上にyマス進んだ所にあるマスを (x,y) と呼ぶ.
問題のゲームをゲーム0 とし, ハンターが正整数mを選び, 各マスにm個の有限な正整数を順番付きで書きこめるようにルールを変更したゲームを ゲーム1 とする.

ゲーム1でハンターに必勝法があるならば, ゲーム0でもハンターに必勝法がある.

ゲーム1において, ハンターが必ず勝利できるような盤面が存在すると仮定し, そのうちの一つをAとする. Aの全てのマスについて書かれた整数の最大値をMとする. 各マスについて書き込まれたm個の整数を順にa1,a2,amとして, それを一つの整数a1(M+1)m1+a2(M+1)m2++am(M+1)0に書き換えた盤面をBとする. (つまり(M+1)進法表記として解釈する.)
MBが与えられたとき, Aを一意に復元することが可能であるから, Aを用いてゲーム1をすることはMBを用いてゲーム0をすることと等価である. よって, ゲーム1でハンターに必勝法があるならばゲーム0でもハンターに必勝法がある.

以下では, (マスに整数がいくつか書けて嬉しいので)ゲーム1でハンターに必勝法があることを示す.

各マスに2個の正整数を書き込んで, うさぎがそれぞれの移動でどの方向に進んだのかわかるようにできる.

マス(x,y)について, xy(mod3)を書き込み(図A), x+y(mod3)を書き込む(図B)事を考える.(ただし0の代わりに3を書き込む.)
図Aに書かれた数から, うさぎが左または上か,右または下のどちらに進んだかがわかる. さらに, 図Bに書かれた数から, うさぎが右または上か, 左または下のどちらに進んだかがわかる. よって, これらを組み合わせればうさぎが各移動で上下左右のどの向きに進んだかがわかる.

ハンターはうさぎの移動の向きを知ることができることがわかった. つまり, ハンターはうさぎが今いるマスが, 最初にうさぎがいるマスから見て左右及び上下に何マス進んだ位置にあるかを常に知ることができる.
この情報を使ってうさぎがいたマスを特定していく. (感覚的なお話:上下左右のうち一つの方向には無限に進んでいくことを使って, )x座標またはy座標が特定できることを示す.

ハンターはうさぎが最初にいたマスのx座標またはy座標を特定可能である.

aを正整数とする
x座標が2aで表せるようなマスの集合をSa, 2aで表せるようなマスの集合をSa+1とし, 全てのaについてSaの和集合をS, Sa+1の和集合をTとする. それぞれのマスについて, Sに属すなら1を, T に属すなら2を, どちらにも属さないなら3を書き加える.
つぎに,y座標が2aで表せるようなマスの集合をUa, 2aで表せるようなマスの集合をUa+1とし, 全てのaについてUaの和集合をU, Ua+1の和集合をVとする. それぞれのマスについて, Uに属すなら1を, V に属すなら2を, どちらにも属さないなら3を書き加える.
任意の整数b,cについて, Sb1,Sb+1,Uc1,Uc+1に属すマスで囲まれた部分にあるマスの数は有限個であるため, うさぎはこの範囲だけで無限に移動を続けることはできない. よって, ある整数b,cについて, うさぎはSbに属すマスとSb+1に属すマスの両方, またはUcに属すマスとUc+1に属すマスの両方を通る.

前者の場合について考える. ハンターはうさぎが最初にいたマスからみて, うさぎが左右方向にどの向きに何マス離れたマスにいるか常に知ることができるから, うさぎが最初にいたマスのx座標をXとして, 異なる整数d,eについてX+dX+eが, 2aで表せる, あるいは2aで表せるという情報が得られる.
このとき, X+dX+eの間に2aまたは2aで表せる整数は存在しないと仮定して良い.(①)
s,tを非負整数とする.

  1. X+d,X+eのうち, 一方が2s,もう一方が2tと表せるとき
    ①よりs=t=0と定まる. よって, X+d,X+eのうち大きい方が1と等しいので, Xは一意に定まる.
  2. X+d=2s,X+e=2tと表せるとき
    deよりstである.
    d<eであるとき, s<tであるから, ①よりt=s+1. よって, 2s+12s=ed. つまり2s=ed.
    2sは狭義単調増加であるから, sは一意に定まる. X=2sdより, Xも一意に定まる.
    d>eの場合も同様にXは一意に定まる.
  3. X+d=2s,X+e=2tと表せるとき
    上と同様にして, Xは一意に定まる.

以上より, ハンターはうさぎが最初にいたマスのx座標を特定できることが示された.

同様にして, Ucに属すマスとUc+1に属すマスの両方を通る場合, ハンターはうさぎが最初にいたマスのy座標を特定できることが示される.
したがって, ハンターはうさぎが最初にいたマスのx座標またはy座標を特定することが可能である.

(上下か左右のどちらかの座標がわかった. これを斜めにしたやつも重ねればマスを特定できそう. )

ハンターはうさぎが最初にいたマスのx座標とy座標の和または差を特定可能である.

aを正整数とする. 各マスのx座標, y座標をそれぞれx,yと表し, うさぎが最初にいたマスのx座標, y座標をそれぞれX,Yとする..
x+y2aと表せるようなマスの集合をSa, 2aで表せるようなマスの集合をTa+1とし, 全てのaについてSaの和集合をS, Sa+1の和集合をTとする. それぞれのマスについて, Sに属すなら1を, T に属すなら2を, どちらにも属さないなら3を書き加える.
つぎに,xy2aで表せるようなマスの集合をUa, 2aで表せるようなマスの集合をUa+1とし, 全てのaについてUaの和集合をU, Ua+1の和集合をVとする. それぞれのマスについて, Uに属すなら1を, V に属すなら2を, どちらにも属さないなら3を書き加える.
このようにすれば, 補題3と同様にしてX+YまたはXYが特定可能であることが示せる.

ハンターはうさぎが最初にいたマスのx座標またはy座標と, うさぎが最初にいたマスのx座標とy座標の和または差を特定できたので, うさぎが最初にいたマスのx座標とy座標をともに一意に特定できる. つまり, ゲーム1はハンターが必勝である.
以上より, ゲーム0ではハンターが必勝である.(終)

IMO2017 第3問

問題

 ハンターと見えないうさぎが平面上でゲームを行う. うさぎが最初にいる点A0 とハンターが最初にいる点B0 は一致している. n1回のラウンドが終わった後, うさぎは点An1 におり, ハンターはBn1 にいる. n回目のラウンドにおいて, 次の3 つが順に行われる:
(i) うさぎはAn1 からの距離がちょうど1 であるような点An に見えないまま移動する.
(ii) 追跡装置がある点Pn をハンターに知らせる. ただし, PnAn の距離が1 以下であるということだけが保証されている.
(iii) ハンターはBn1 からの距離がちょうど1 であるような点Bn に周りから見えるように移動する.
うさぎがどのように移動するかにかかわらず, またどの点が追跡装置によって知らされるかにかかわらず, ハンターは109回のラウンドが終わった後に必ずうさぎとの距離を100以下にすることができるか.

(多分, できなさそう. うさぎと追跡装置が協力すればハンターからいくらでも離れられそう.)
線分BnAnAn側の延長上にPn+1があるとき, ハンターにとっての最善の行動はPn+1の向きに進むことである.
A0=B0=(0,0)とする. A1(12,32),P1(1,0)とすると, ハンターはB1(1,0)とするのが最善. このとき, うさぎとハンターの距離は1.
ところで, An(d,0),Bn(0,0)(ただし1d100)とし, この時点でハンターはうさぎの位置をわかっているものとする. mを正整数とし, θsinθ=1mとなる実数とする. 1kmを満たす正整数kについて, An+k(d+kcosθ,ksinθ),Pn+k(d+kcosθ,0)とする. このとき, ハンターの最善の動きはBn+k(k,0)とすることであり, そのように動けばAn+m(d+m21,1),Bn+m(m,0)となっている. このとき, (An+mBn+m)2=(dm+m21)2+1である. l=mm21とおくと, (An+mBn+m)2=(dl)2+1と表せる.

ここで, l14dとなる場合を考える.
(An+mBn+m)2=(d14d)2+1=d2+12+116d2より, (An+mBn+m)2(AnBn)212.
また, l=mm21よりmm2114d. これをmについて解いて, m2d+18d. 1d100より, m201であればこれは常に満たされる.
以上より, 任意の正整数nについて, AnBn100であるならば(An+201Bn+201)2(AnBn)212となるようにうさぎは行動できる.

(A1B1)21となるよううさぎは行動できるから, (A(20119999+1)B(20119999+1))21+1999912=10000.5となるようにできる.
20119999+1<109より, うさぎは109回の行動の後にハンターとの距離が100より大きくすることができる. つまり, ハンターは109回のラウンドが終わった後に必ずうさぎとの距離を100以下にすることはできない. (終)

感想など

両方とも最小値を求める問題じゃなくてよかった. 結局どちらも有限回で終わるらしいが, 1秒に1回行動したとして10億回行動すれば32年になるらしい. うさぎの平均寿命は8年, 人間の平均寿命は80年くらいらしいので, 終わる前にうさぎが亡くなりそう. そもそも, 無限に広がるマス目だったり, 無限に広がる平面だったり, ここは地球上ではないのかもしれない...
将来, 万が一ハンターとうさぎの問題がShortlistとかで出たら追記するか, 別の記事を書くことにします. かなり変な記事になりましたが, 最後までお付き合いいただきありがとうございました!

投稿日:20231210
更新日:29日前
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

SigmaArf
SigmaArf
33
3178

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中