
帰納的な推論と発見的な推論(アブダクション) は、私たちがソフトウェア開発の現場/実務で(知らず知らずにでも)駆使している思考の形です(それどころか日々の暮らしでも使っています)。
それほど“自然な”思考の形ですが、どんな考え方で、どんなところに注意すると質の高い思考ができるのか、基本知識を押さえておくと実務のレベルアップにつながります。
<実務三年目からの発見力と仮説力 記事一覧>※クリックで開きます
今回はアブダクションをする時の注意点です。
各回で触れてきたことのおさらいも含めて確認しておきましょう。
おさらい・「よい仮説」の4つの条件
4つの条件(再掲)
第6回で触れた「「よい仮説」が持つべき性質」と、第7回で述べた「パースによる「よい仮説」の判定基準」の表を再掲します(図10-1)。
(説明は当該回の記事を参照してください)


もっともらしさと検証可能性
4つの条件はそれぞれに重要ですが、「もっともらしさ」と「検証可能性」は欠かせません。問題の事象を説明できないものは論外ですし、飛躍や矛盾を含む説明は納得度が(著しく)低いでしょう。
正しいかどうか確かめる方法がないのなら、いくらもっともらしくても空論の域を出ません。故障の原因説明に地縛霊とかを出されても困るわけです。
(この業界では不可解な現象や「なぜかできていた」作業などが「小人さんのしわざ」とされることがまれにしばしばありますが……筆者も小人さんにはずいぶんお世話になりましたが……)
もっとも、検証可能性の点では弱くても(実際に確かめるのが難しくても)、もっともらしい原因や過程はあり得ます。
(ソフトウェア故障で言えば、たとえば「実行や同期のタイミングに起因する故障」や「コンパイラの吐くコードに起因する故障」「外部からの割込みに起因する故障」など)
調べ尽くし考え尽くした末に、「こう考えれば説明はつく」(そのような原因しか考えられず、他の点で飛躍や矛盾がない)場合は、検証可能性はいったん措いておくことになります。
もっともらしい説明であるには:
- 根拠や前提が確かなものか、事実に基づいて説明できるか。
- 因果関係の説明が合理的で筋が通っている(飛躍や矛盾を含まない)か。
が重要となります。
事実を大事に
事実を集める
「その時目の前に見えている材料」だけで仮説を作ろうとしない
「何が原因か」「どのようにしてこの結果が生じたか」を考え始める時は、得てして「その時見えている事実」だけで仮説を考えがちです。(図10-2)。
しかし、問題の事象に附随して起こっている事象のうち、何が関係していて何が関係しないかは、特に仮説検討の初期には判らないことも多い筈です。
問題の事象とかけ離れているように見えるからといって、うっかり切り捨てないように気をつけましょう(次節「先入観と向き合う」も参照)。
- 目の前に見えているものは、原因を考えるのに必要な全てと言えるか
- 「取るに足りない」と思い込んでいるものはないか

先入観と向き合う
先入観(や、各種の認知バイアス)は、
- 仮説案を“裏づける/強化する”事実にばかり注意が向いてしまう
- 仮説案と合わない(邪魔になる)事実に目が曇る
といったことを引き起こし、因果関係の誤謬(図10-4)につながるおそれがあります。
先入観からフリーでいるのは誰にとってもたやすいことではありませんが、自分にバイアスがかかっていることに気づければ、対処はしやすくなります。
考え始めには
- 「自分は今どんな前提で考えようとしているか?」
- 「最初に思いついた仮説案は、何を前提としているか?」
- 「その前提は妥当なものと言えるだろうか?」
など、
また、仮説案と整合しないような事実を見た時には
- 「仮説の方が間違っているのでは?」
- 「この事実と両立するように仮説を修正できるのでは?」
などと、自分に問いかけてみる習慣をつけられるとよいでしょう(図10-3)。

因果関係の説明だから
因果関係推定の落とし穴
原因から結果に至る過程の説明を考える際には、因果関係の推定に関わる落とし穴(誤謬)に気をつけましょう(図10-4)。
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。