2006/07/19

確率と網羅性

先日、知人のマイミク日記に書いてありました。
n人でじゃんけんして「あいこ」になる確率っていくつだろう・・・
何を思い立ったか、久しぶりにこのような確率の問題を解いてみたくなり、紙と鉛筆で計算してみました。高校数学からは久しく遠ざかっていたため、二項定理をすっかり忘れており、コンビネーションのΣまでで止まってしまったのですが、それでも久しぶりに普段使わない部分の脳の末端を運動したかんじで気持ちよかったです。この問題では、「あいこになる全ケースをどうやって数えるか」がポイントですね。

Dominoの技術者をしていると、「ドメイン設計」や「運用設計」「移行設計」などに関わることも多いかと思います。そのような時に、各ドメインの特徴を理解した上で、例外ケースを見逃すことなく、網羅性のあるデザインをするのは重要ですし、またこれは非常に難しくもあります。実はこれらは、上記のような確率の問題を正しく考えることとわりと近い能力が要求されるのではないかと思いました。(二項定理のような数式変形はどうでもよいのですが、漏れなく場合分けして数えるというところ。数学証明の場合分けも似たようなものだと思います)
私の脳も、長らくご無沙汰でさび付いたものですが、たまにはこのようなことをするのもよいかもしれないと思った次第です。

よく、ベストのデザイン方法を探すときに、いくつかの候補があがった上で、「他によい方法はないですかね」という質問ももらいますが、これも上手く網羅性の観点から考えると、「他にはない」ということが証明出来ることもあります。
こういう質問のとき、私はわりと、「Xか、Xでないか」の2種類に分割して、深く考えていくことが多いです。例えば、「ドメインを1つにする方法と、分割する方法と2種類が考えられますよね。1つにすると・・・」など。この時点まででは、全ての解決方法は必ず網羅されているといえます。で、さらにそれぞれのケースを掘り下げていっては「×マーク」をつけています。

きっと、これだけビジネス本が普及している世の中ですので、世の中には確立されたよいメソッドがあると思うのですが、私の整理も含め、ふとDomino技術者として思ったことを書いてみました。

0 件のコメント: