おはようございます。
プログラマーのG.Iです。
今年も、暑くじめじめした季節がやってこようとしています。
あっという間に2015年も半分すぎてしまいましたね。
本日は、いろいろな問題の解決における大切な思考というか
考え方についての話をしようと思います。
おそらく、ゲーム開発以外でも役に立つのではないでしょうか。
それは、、ずばり"可能性の削除"です。
意味を理解していれば、全く難しいことではないし何でもないことです。
特にプログラマーなどは、すでに自分の作業の中で自然と意識している人も
いると思います。
簡潔に説明すると、これは正しい道を調べるために、ほかの道の可能性を削除
すなわち限りなくゼロに近づけるということです。
例えば、ある問題の原因の候補が2つ(A、B)がわかってたとします。
となると
今の情報から、最終的な原因は以下のパターンが考えられますよね
・Aが原因
・Bが原因
・AとB両方が原因
・AとB両方が原因ではない
今回の問題が、これらのうちどのパターンなのかは
結局のところAとBを1つづつ調査していくしかありません。
そこは、皆さんもやっていると思うし別になんてことはないです。
ただ調べる上で、ひとつだけ重要な点があります。
それは、初めに説明しましたが "可能性を限りなくゼロ" にするという点です。
そこを常に忘れずに意識しておいてください。
そんなの当たり前で大丈夫です、という人はいると思います。
ただし、今回の例ではAとBの候補は2つだけとしていましたが
その後、まったく別の要因Cが原因の候補となったり、初めから10個くらいの
原因候補があったりする場合があります。
もちろん、それでも可能性をゼロにしていくことは重要で、やるべきことです。
ですが、どうしても時間がかかってしまいます。
個人の能力やセンスによって変わりますが、必ずまじめにやっていると
膨大な時間がかかる問題がでてきます。
その場合は、結局のところ当たりをつけて、原因の可能性の高いものから見ていくか
まったく当てもないのであれば、原因ではないのかどうかを突き止める前に
ある程度の調査のみで先に進むことになります。
Aをある程度まで調査を進めて、その途中結果で問題の原因候補からはずして
Bの調査に移るということですね。
要するに、可能性を残したまま調査を進めていくということです。
これは、結果としてきちんと原因を突き止めることができるとすれば
特に変なことではありません。
私の個人的な経験だと、むしろその場合のほうが多いのではないでしょうか。
でも、そうなると初めに言っていた"ほかの道の可能性を限りなく0"というのは
無理な場合もあるのでは?と思う人がいるかと思います。
実は、そうなんです。
場合によりますが、いろいろな都合ですべてを調べきるなんて無理な時もあります。
なので、意識することが重要なのです。
本来は、他の要因すべての可能性をゼロにしないと物事の問題は100%解決して
いないということを忘れないでおきましょう。
意識している人は、それが当たり前ではなく、本来のあるべきすがたが
見えているので、積み残した問題を記憶したり理解すること、早く問題を
解決すべく効率化へ必ず目を向けます。
そうすることで、ほかの人よりも早く成長できると思います。
すごく回りくどくなってしまいましたが、皆さんもぜひ心がけておいてください。
最近のコメント