算数問題をコンピュータで

blogの左側に並ぶカテゴリーリストを見ると、コンピュータとかサイエンスなんてのが見えますが、日々雑感をblog化して三ヶ月、殆どエントリーがありませんね。農業とアメリカ生活の愚痴ばかり言ってるのもなんなので、今夜は「算数」の話題。

Peter Franklという数学もできる大道芸人(違う!)がおりますが、先週のAERAに彼が出した算数問題が載っています。転載してよいのかちょっと微妙ですが、元々の問題が小学生向けコンテスト問題からの転載なので、まあ構わないでしょう。こんな問題です(少し変えてます)。

幅50mの3つのマンション、A,B,Cが左から順に並んでいる。
Aには50人、Bに28人、 Cには100人が住んでいる。
この並びのまえにバス停を作る時、そこまで歩く平均時間が
最短になるのは、Aマンションの左端から何mの所か。
マンションの出入り口は、建物の真ん中にある。

紙と鉛筆を用意して、ごりごりと計算してみてください。小学生の問題ですよ!

さて、ふと考えたのが、この問題をコンピュータを使って解いてみようというもの。式を立てて、それをパソコンで解くのでは面白くない。面倒な式は一切忘れて、とにかくマンションABCから人をバス停まで歩かせてしまうという方法。これはモンテカルロ法と言って、自分の様なズボラな人間には持って来いの方法です。

やり方は簡単。まず、サイコロを振って、マンションA,B,Cのどれか一つを選びます。次に、バス停の場所もサイコロを振ってランダムに決めます。どこでも構いません。とにかく3つのマンションの前の何処かです。選んだマンションの出口からバス停まで人を歩かせて、その時間を測ります。人の歩く早さは時速4km。

このサイコロ振りを一億回繰り返します。もちろん本物のサイコロを使ったんじゃ永久に終わらないので、コンピュータの中での話。一億回と言っても、僕のノートパソコンで一分程度で終わってしまいます。ランダムに決めたバス停と、そこまでの所要時間を記録しておいて、その平均が最短になる所をみつけるわけです。

結果はこのグラフ。横軸はマンションAの左端からの距離、縦軸はマンションから直角方向の距離、色は平均徒歩時間を表します。それぞれのマンションの出入り口は、X軸上25,75,125mのところにあります。

もとの問題ではマンションの真ん前にバス停を作ることになっていたので、図の一番したの部分(Y=0m)がこれに該当。答えは125mで、マンションCの出入り口前となります。つまり、Cに住んでいる人は全く歩かなくて良く、Aの人達は100mも歩く必要があるわけ。

バス停が道の反対側にあると、状況は変わります。道幅20mくらいのときは、バス停の位置は100mくらいで、B,Cの間が答え。もっともこれは横断歩道が無くて、マンションの出口からまっすぐバス停に歩く場合。

久々にLife in Los Alamosにしては濃いめ(?)のサイエンスネタ。査読係の家内からは「ぜーんぜーんわっかりませーん」のコメント。

FacebooktwittertumblrmailFacebooktwittertumblrmail

14 thoughts on “算数問題をコンピュータで”

  1. TAMAさん、小学生の問題ですよ。楽勝でしょ。
    寝る前に、紙と鉛筆、貸してあげますよー。よーく眠れますよ。

    # あるいは、夜中にうなされるかも。。。

  2.  いや〜酔歩理論でしたっけ?もうすっかり忘れましたよ。
    昔は大型計算機でしかできなかったですよねこんな計算。私が入社した頃は、計算機のメモリーが1メガを越えたとか言って驚いたような気がします。今やPCでもギガが普通ですよね、しかも速いし。
    そう言えば、2001年宇宙の旅に出てくるコンピュータ「HAL9000」のHALの次のアルファベットを並べるとIBMになるって知ってました。初めてこの話を聞いた時、こんなお洒落なスポンサーもあるんだと驚いた次第。

  3. 奥様と同じく「ぜんぜ〜ん、わっかりませ〜ん」、いや、わかろうともしていません。
    足し算引き算かけ算割り算ができりゃ、いいのよって、鼻息荒く吠えます。
    オットに言わせると、いや、他の事もできたほうが、人生渡りやすいって。そりゃ、スピーカーのなんちゃら、とか計算する人ですからね、私はそんな趣味、ないもんね〜。
    でも、グラフはきれいです。

  4. Sallyさん、そうそう、random walkの訳は「醉歩」でしたね。誰が付けたのやら。
    大型計算機の時代は、こんな計算(cpu time 60sec)一回走らせるだけで大金取られてましたね。今じゃあっという間です。
    IBMの一歩先を行くHALっていう話、Arthur C. Clarkは公式には認めてなかったんじゃなかったでしたっけ。
    確か原作ではHeuristic Algorithm in Logicの略と書いてあったと思うんですが、確証なしです。

  5. 方程式立ててみたら一次式になって最小値が端っこで現れる(Cの目の前)
    ので妙だなと思ってたら、それが答えなのですね。
    道を渡らせると歩く距離が直角三角形の斜辺になるので3平方の定理から2次式が現れ、
    どこか途中で極値が出るんですね。もし横断歩道で道を渡らせたら、
    1次方程式だから結局Cの目の前が最短になるんでしょうか。

    でも小学生の問題ってことは、ほんとは方程式とか立てちゃいけないのかな。
    もっともその点ではMonte Carlo使うのも同罪か・・・。

  6. nyfさん、スピーカのインピーダンス計算は重要ですよ。これを間違えるとボイスコイルを焼き切ってしまいます。
    でも、それを知ってたから人生渡りやすいかどうかってなると、どうなんでしょ?
    ちなみにこの問題、足し算引き算かけ算割り算ができれば解けますよ。

  7. hiroさんだけですね。本当にチャレンジしてくれたのは。
    多分、ピーターフランクルが言いたかったのは、Cの真ん前というちょっと変な答えが出て来るということでしょう。
    僕も直感ではBとCの間かなと思ってたんですが、式にすると全部一次式で答えはCになってしまいますね。
    式を立てずに答えを出せと言われると、ちょっと辛いです。もちろんMonte Carloは禁じ手ですが。

  8. きれいな色のグラフですねぇ。
    藍色から赤紫へのグラデーションが吸い込まれそうにきれい…
    ぎざぎざの放物線の細い線がアクセントですね。 zzz

  9. そそそ〜なんですか・・。
    一応、数学は成績、悪くなかったですけど、文系のみの頭なんで・・。
    でも、父は有機分析、母方の叔母は数学をやっていて、叔父は医者、従兄弟も化学や、数学、医学の専攻。親戚を見ると私だけが純文系なんですよね。ちなみにオットはドイツ語と美術の教師ですが、Abiturのクラスでは、物理と数学を専攻したそうです。変なやつだ。

  10. nyfさん、そーなんですよ。だって小学生の問題だし。
    それにしても、なんとも理系な家系ですね。
    ドイツ語、美術の先生でありながら、物理と数学を勉強するあたり、
    「他の事もできたほうが人生わたりやすい」を本当に実践しておりますね。

  11. Mooseさんもやってみました?
    Excel使うのは反則ですよ。僕はちゃんとプログラム作ったのに。
    流れ分布ですか。マンションの出口から、住民数に応じた流量の水を流すと、
    こんな速度分布になるかもしれません。

  12. 一次式になるんですね〜。
    モンテカルロ方式も、エクセルとか使うとあっという間ですね。

    管理人さんのグラフを見ていたら、有限要素法で計算した流れ分布みたいな感じに見えてきました。 Pentium Pro 200で計算していた頃は60分程かかっていた式も、今では2,3分程で終わってしまいます。

コメントは停止中です。