いや、ツイッターで適当に投げかけるような問題じゃないから。。。
ちょっと前、ツイッターヤンキーに絡まれた。ほら、解いてみろよって。
※以下、n回目のラウンド終了時のうさぎ、ハンター、追跡装置の場所はA(n)、B(n)、P(n)と表記します。
その時は出典を知らなかったから、力技で解いたんだよ。
(あと今回図とか数式とか一部書くのめんどくさかった部分写真にしてます。てかこのブログ数式書くのに不向きすぎないか?)
【解答1】
うさぎとハンターは条件を満たす限り最大の距離を取り続けるとする。
すなわち、
A(n)、A(n-1)、B(n-1)の3点が一直線上にある。
P(n)とA(n)の距離は1である。
線分P(n)A(n)と線分P(n)B(n)は直交する。
の3点を満たすとする。
これで解いてみると、
こんな感じの関係式が出てくる。
cosθはd(n-1)で表せるので、d(n)をd(n-1)で表せた。
もちろんこんなのまともに処理できるわけないけど、式さえ出ればこっちのもので計算機を叩けば
たったの676611回で100mを越えることがわかる。
よって答えは「できない」である。
(解答1終了)
はいはいお疲れって感じで一件落着と思いきや、出典をあとで知って
「IMO2017 国際数学オリンピック 第3問」
だったわけ。
これはまずい。
世界中の高校生がペンを走らせてる中、僕だけ機械を使ってしまった。
ということで、手計算での回答に挑戦することとなった。
しかし僕はすでに大きな情報を持ってる。
「この問題、かなり雑に評価してもいけそう。」
まあこのくらいはちょうどいい逆ハンデってもんさ。
【解答2】
あるラウンド終了時うさぎとハンターとの距離がxの時、次のラウンド終了時のうさぎとハンターの距離をx+ d’(x)とする。
d’(x)はうさぎとハンターの動きによって様々な値をとるが、そのうち最大のものをD’(x)とする。
この時D’(x)はxについての減少関数である。
またd’(x)は-2以上D’(x)以下の全ての実数値をとり得る。
ゆえに、x≦100の時
d’(x)= D’(100)
となるようにうさぎとハンターは動くことができる。
1億×D’(100)>100
であるため、答えは「できない」である。(以下参照)
(解答2終了)
結果、くそ適当な評価でもいけちゃいました。
手計算の範囲に収まるような簡易モデルを作れればなんでも解けそう。
とはいったものの簡単には思いつかない。
他の解答ってどんな感じなんだろうと思ってググってみたんだけど日本語のページが出てこなかった。カンニング失敗。
掲示板でみんなが英語で自分の答えを言ったり議論したりしてる。国際感がすごい。
数オリの解説書とかには載ってるんだろうけどわざわざ買いにいくのもあれなので、しぶしぶサイトを読んでみることに。
何言ってるかわかんないんだけど、数式は世界共通。雰囲気でなんとなくわかった。
そのうちの1つを紹介してみる。
【解答3】
以下のようにうさぎ、ハンター、追跡装置は動くものとする。
うさぎとハンターを通る直線をLとする。
うさぎはLに対して一定の角度で進む。
追跡装置はうさぎとの距離が1以下でL上の点を示す。
ハンターはL上を進む。
うさぎとLとの距離が1となった時、うさぎとハンターを通る直線をL’とし
うさぎはL’に対し一定の角度で進む。追跡装置も同様にL’上の点を示しハンターはL’上を進むことをはじめる。
(以下図参照)
解答1の方法が現実的でないのは計算量が果てしないからで、それはハンターとうさぎが毎回角度を変えてちょこちょこ動くからである。
この解答ではうさぎとハンターの移動を極力直線的にしている。追跡装置の都合上限界があるのでうさぎとLの距離が1となるところまでというシンプルな形を取っている。
上の図においてnがわかりにくいかもしれない。これはうさぎがLに対してある角度で動き始めてからnラウンド動いたということだが、もう少し言えばnはうさぎの動く角度を規定している。LとAA’との角度をθとすればsinθ=1/nである。
nをどのように定めればよいかがこの解答の焦点となる。(nはdによって定まる関数n(d)などと表記する方が適切かもしれないが解答が読みにくくなるのでnと統一する。)
すると、n≧4dのとき
d’^2≧d^2 +1/2
であることがわかる。(以下参照)
この結果は非常に強力で、nを4d以上の自然数に設定することでうさぎとハンターの距離の2乗が「1/2」という定数だけ大きくすることができる。4d≦n<4d+1を満たす自然数nをNとする。
Nラウンド行うことを「1回の試行」とした場合、「k回の試行」後のうさぎとハンターの距離をd(k)とする。(このkは問題のラウンド数と一致しないことに注意)
問題の開始時、A(0)=B(0)でありうさぎとハンターの位置は同じである。
うさぎが1m動き、追跡装置がハンターと全く同じ位置を示した場合、ハンターはランダムに1m動きそれがうさぎの方向と真逆であったとすれば両者の距離は2mでありこれをd(0)と定義する。
d(0)=2よりN=8であり試行を1回行う。
この時d(1)^2≧d(0)^2+1/2=9/2
次の試行は4d(n+1)≦n<4d(n+1)+1を満たす自然数をNとし試行を1回行う。
d(2)^2≧d(1)^2+1/2
である。
またこれらよりd(k)^2≧4+(k/2)
であることがわかる。
d(k)=100の時k=19992であり、
「19992回目の試行」で始めてd(k)が100を越えるとしても(全ての試行においてN≦400)、総ラウンド数は1億を超えないため1億回以内にうさぎはハンターから100m以上離れることができる。(以下参照)
(解答3終了)
綺麗な解答。
この解答が言っていることは、無限にこの試行を行えばうさぎはハンターからどこまででも離れることができるということ。lim(k→∞) d(k)=∞だから。
アキレスは亀に追いつけるけど、ハンターはうさぎに追いつけないわけですね。
話はこれでほぼ終わり。あとは蛇足。
理論上は無限に逃げられることはわかったけど、「実際に」そんなことありえるの?という話。
つまりはこの問題の設定通りにうさぎ、ハンター、追跡装置が動いたとして1億回のラウンド終了後うさぎはどのくらいの確率で100m離れているのかなあということ。
これに関してはバチっと正確な値を出すのは無理そうなんで(シミュレータを使うとしてもかなりの時間がかかる)だいたいで話してみよう。
① うさぎがランダムに1m動く場合
この場合、うさぎが100m以上離れるのはほぼ無理。
だって考えてみたらうさぎがランダムに動くということはうさぎはハンターの姿が見えなくて適当に動いているということ。それに対してハンターはうさぎの姿は見えなくても追跡装置とかいう便利グッズを持ってそれに基づいて動けるのだから爆アドである。
例えばうさぎとハンターが50m離れていた時、どんなにうさぎが頑張って逃げて、追跡装置が限界までポンコツだったとしても約0.0002mしか逃げられないのである。そもそもそれだけ逃げられるだけで奇跡であり、間違ってうさぎがハンター側に動いてしまった場合(確率1/2)ハンターの移動を含めれば1m以上近づかれる。このくらい離れていると、天文学的な確率で1m離れたとしても1/2という確率1回で水の泡になってしまう。100mも離れるというのは、言ってみれば安定段位4段の人が天鳳位になるとか(それでも見合わない気がする)ぐらいの爆運うさぎクレイジーじゃないと到達できない世界だと思われる。
② うさぎがハンターから1m逃げる場合
うさぎには意志があり、ハンターがどれだけ遠くにいてもしっかり1m離れる場合を考えてみる。ハンターは1m以上近づくことができないため、これだと毎回うさぎはハンターから幾分か離れていくことができる。追跡装置はランダムに示すとする。ランダムとはいえうさぎの周囲1m以内を指すわけだからかなり有効ではある。最もうさぎに近づかない方向に追跡装置が示した場合うさぎが1ラウンドでハンターから離れる距離をdとした場合、1ラウンドでハンターは0〜dだけうさぎから距離が大きくなるわけである。その平均値がわかればいいわけだがそのためにはそれぞれの「確率」がわからないといけない。確率は、まずうさぎを中止とする半径1の円を描き、ハンターを通る様々な傾きの直線を書く。この時直線が円を切り取った時、その切り取った長さに比例した確率だけ直線上をハンターが進むと考えられる。
そう考えると平均値はd/2よりは小さくなりそうですが、僕には求められないですね。
ただ関連しそうな話として半径aの半球の重心は中心から3a/8の距離にあることを考えるとだいたい今回の平均も3d/8から大きくは外れないだろうということで(適当w)考えてみると、100m離れるのに必要な試行回数は最小値の8/3倍程度。解答1では70万回以内に100m離れたことを考えればこの場合も平均200万回程度で100m離れることはできるのではないでしょうか。またこの場合でも試行回数を無限に増やせばうさぎはハンターからどれだけでも離れることができそうですね。
以上です。それではまたいつか。