Ad Network

Sponsored Links


あわせて読みたい

  • あわせて読みたい

« アマゾン・アフィリエイトの売り上げを一時的にだが数倍にする裏技 | Main | ミネラルウォーターの謎 »

できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす

060606_043633

 このブログでも何度か書いたことがあるが、ソフトウェアを書くのに高度な数学が必要なケースはマレで、ほとんどの場合は中学生程度の数学で十分である。ただし、中学生時代の数学を「公式の丸暗記」でしのいで来たような人ではなく、「難しい応用問題をエレガントに解くのが楽くてしょうがなかった」ような人が向いているというのが私の持論だ。

 例として、以下の二つの数学の問題を見て欲しい。

例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。

例題2.サイコロを2個、順番に投げることにします。1つ目のサイコロの目の方が二つ目のサイコロの目より大きい確率を求めてください。

 どちらも、中学生の数学を使って解ける問題ではある。例題1は方程式を使って解くことができるし、例題2は順列組み合わせの考えを適用すれば解くことはできる。しかし、それで満足してはいけない。

 プログラミングにしろ数学の計算にしろ、複雑になればなるほど「うっかりミス」は生じやすい。となれば、出来るだけミスの生じにくい、直感的でエレガントな解き方を見つけるべきなのである。極力バグを減らす。極力計算ミスをなくす。全く同じことである。その意味でも、「人間にミスはつきもの」という前提のもとで、「いかにミスが生じにくいような解き方・プログラムの書き方をするか」を常に真剣に考えるクセを身に着けておくことは大切である。

 ちなみに、ここまで読んで、「あれ、上の問題のエレガントな解法は教えてくれないのかな?」と思った人がいるとは思うが、あえて今日は答えは書かないでおくのでぜひとも自分で考えてみて欲しい。十分にエレガントな解き方にいたることが出来れば、計算は暗算でできるはずだ。別の言い方をすれば、どちらの問題も、紙と鉛筆を使わずに頭の中だけで、それも中学生程度の数学だけを利用して解けるのだ。

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c4f9853ef00d8345c6e8669e2

Listed below are links to weblogs that reference できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす:

» [Misc] エレガントな方法を常に考える from バリケンのHaskell日記
Life is beautifulさんの『できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす』というエントリで出てきた問題が面白そう! 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 回答:短針が一周するのにかかるのは12時間だよね。そのあいだ、長針が短針を追い越す(最後は追いつく)回数は11回だよね。で、追い越しの間隔は等間隔のはずだから、12時間を11等分すれば一回目に追いつく時間がわかるよね。 ということで、正解... [Read More]

» _ UTF-8環境でのrefe 今までリファレンスはriを使っていたんだけど、 やっぱ日本語だよね! ということでrefeを使い出してみた。 from SINKINGDOM
_ UTF-8環境でのrefe 今までリファレンスはriを使っていたんだけど、 やっぱ日本語だよね! ということでrefeを使い出してみた。 しかし… UTF-8環境だと文字化けする。 refe自体を書き換えて対応してた。 (はじめにやった対応は俺の環境だと /usr/lib/ruby/gems/1.8/gems/refe-0.8.0.3/lib/refe/searcher.rb の22行目をNKF.nkf('-Ew',str)に変更した。�... [Read More]

» ????????? from atsushifxの七転八倒
(via Life is beautiful: ???????????????????Ĥ??????ä????????餹 ???????????Ĺ???û?????????????礦???å????Ť???????????å????Ť??Τ????????礦?? ???????????????ġ?????????????????????????Υ??????????????????Υ?????????????礭????Ψ???????????... [Read More]

» Life is beautiful何分で解けるかな from Dragonfly
00:00 START!Life is beautiful: できるかぎりエレガ [Read More]

» 数学的な問題を考える from レビログ
長針も短針も、スムーズに動くタイプではなく、60分の1刻みでしか動かない時計だったので1時5分 1つめが6しか書いていないサイコロ、1つめが1しか書いていないサイコロなので100% ... [Read More]

» エレガントな解法 from biaslookの日記
できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす(Life is beautiful) において、面白い問題があったので、明日が引越しだというのに、時間をつぶす。 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時... [Read More]

» プログラマ的エレガンス from Public Diary 2.0
時計の長針と短針が重なる回数について検討してみました。こういう問題は、愚直にもいったんシンプルな方法で考えたほうが、いろいろと可能性を考えられるような気がします。 [Read More]

» エレガントな解法 from 裏日本
Life is beautifulさんでエレガントな解法についてのエントリーを読んだのです。 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 例題2.サイコロを2個、順番に投げることにします。1つ目のサイコロの目の方が二つ目のサイコロの目より大きい確率を求めてください。 kikの解法は・・・... [Read More]

» エレガントな解法 from デジイチはじめました
読んでいるBLOG"Life is beautiful"の「できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす」というエントリーから算数の問題。 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 例題2.サイコロを2個、順番に投げることにします。1つ目のサイコロの目の方が二つ目のサイコロの目より大きい確率を求めてください。 私の答えは .. 1.の私の回答 次の12時までに長針と短針は11回重なります。 重なってから... [Read More]

» エレガントさと対称性 from 諸悪の根源は物理的
小ネタが続く今日この頃。 Life is beautiful:できるかぎりエレガントな解法を見つけて「うっかりミス」を減らすより。 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 例...... [Read More]

» エレガントな解法? from Hawk's Laboratory
気になった。(via atsushifxの七転八倒) 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 できるかぎりエレガントな解法を見つけて「うっかりミス」...... [Read More]

» [math]短針と長針 from 平々毎々
例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 Life is beautiful: できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす 「短針が1周する間に長針が追いつくのは11回」という定理?を使えば... [Read More]

» アンエレガントに解いてみた from nullpo.printStackTrace();
エレガントに解けといわれるとアンエレガントに解きたくなる。おいらはヒネクレ者。 例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。 できるかぎり...... [Read More]

» エレガントな解法 from 和人
”Life is beautiful: できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす”より 数学問題は大の苦手。やっぱ着想がよくないのだろうか。 とりあえず一問といてみる エレガントさと対称例題1.時計の長針と短針は、12時にちょうどピッタリと重なります。次... [Read More]

» 試行錯誤のススメ from naotakegymnasium::mt
試行錯誤する、という事はすなわち 「自分で考える」ということそのもの。 できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす ミネラルウォーターの謎 それぞれのエントリを見ながら思ったsatoshiさんのやりたかったことを考えてみた。... [Read More]

» 遅ればせながら参戦 from ここギコ!
できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす -Life is... [Read More]

» [雑記]もっとエレガントでない解答を考える from 後天性無気力症候群
 右の絵は一つ目のサイコロと二つ目のサイコロです。  こんなものを描いたきっかけは、次のような記事を見たことです。 http://satoshi.blogs.com/life/2006/06/post_3.html 例題2.サイコロを2個、順番に投げることにします。1つ目のサイコロの目の方が二つ目のサイコ... [Read More]

» エレガントな解答 from 備忘録
エレガントってのは個人的もしくはある職業や業界に共通にする感覚ですね。 だから、数学のエレガントな解答、物理のエレガントな解答、SEのエレガントな解答はそれぞれ違うと思います。 私にとってのエレガントな解答とは「うまい」解答。「うまい」は美味い、上 手い、巧い、旨い。単に直感的でわかり易い解答だけではないです。直感的な ところだけ信じると、時として(数学でいう)病的な現象を見逃すこともありま す。 発展性や拡張性があったり、新しい視点をもたらす解答、制約条件をうまく使 う解答、意外な道具を使う解... [Read More]

» [寺子屋教育的]算数おもしろい from だから問題はコミュニケーションにあるんだよ by com-lab
旅人算8問で20分 相変わらず、息子の算数のテキストを一緒になって(というか競争しながら)やっている。小学校4年とはいえ、なかなかに手強い。でも、だんだんおもしろくなってきた。 たかが旅人算とあなどるなかれ。 時系列での人の動きを考えていくことは、意外に仕... [Read More]

» エレガントな解法 from M O N O L A B L O G *
Life is beautiful : できるかぎりエレガントな解法を見つけて「... [Read More]

Comments

Naotake

試行錯誤を恐れない姿勢と、常にWhyを考える思考のスタイルは
大事にしていきたい、子供に伝えていきたい事ですね。
自分が父親にそう教えられたように、物事の背景となりたち、
「なぜそうなるのか」を考える事が最近のテーマです。
コメント欄に回答例を書くのは無粋なのかな…

kuro

数学より算数のほうが難しい。という典型的なやつですね。
この手の図形で考えるとアイディアがわいてくる問題は大好きです。
#例題はちょっと簡単過ぎるかもしれませんが・・・

しん

楽しく問題を解かせて頂きました。

トラックバックを打たせてもらったのですが、
トラックバックの概要入れ忘れて打っておかしなトラックバックうってしまいました…
堪忍してください。

つ

出題者の想定した回答で満足してはいけない、という意図が伝わっていないようです…。
例えば、サイコロは正六面体であるという思い込み。
正四面体と正六面体のサイコロを順不同で投げたときに、1つ目のサイコロの目の方が二つ目のサイコロの目より大きい確率を考えてみると、意外な発見があったりします。
「1~Xまでの数字が書かれた正X面体と1~Yまでの数字が書かれた正Y面体(X≧Y)のサイコロを順不同で投げたときに、1つ目のサイコロの目の方が二つ目のサイコロの目より大きい確率」を紙と鉛筆を使わずに頭の中だけで解いて、最後にX=Y=6を代入してみせるというのはいかがでしょう?

satoshi

 いかにも「つ」さんらしいコメントですね。「私は正24面体のサイコロ二つでも同じ方法で解けますか?」という拡張質問までは用意していましたが、異なる面の数のサイコロのことは考えていませんでしたね。こんな風に自分で問題を考える能力は、とても大切ですよね。与えられた問題を解くことだけをトレーニングする今の日本の受験勉強のシステムでは、そんな人が育つのかが疑問ですが。

つ

X≧Yの場合、任意の正Y面体の目に対して、正X面体の目が一致する確率は1/Xなので、一致しない確率は(X-1)/X。
順不同で投げた場合、1つ目が2つ目より大きい確率と小さい確率は同じなので、先に求めた確率を半分にして(X-1)/2X。
X=Y=6の場合は、5/12。

なんと、小さい方が何面体かは、答えには影響しないんです!
これを言いたくて、蛇足ながら解答例を載せてしまいました。

hana

異なる面数なんて考えもしませんでしたが、「つ」さんと同じような考え方で出した答えが15/36。あれ?答えが違う!?約分してなかった...。

Post a comment

If you have a TypeKey or TypePad account, please Sign In.