
帰納的な推論と発見的な推論(アブダクション)は、
私たちがソフトウェア開発の現場/実務で(知らず知らずにでも)駆使している思考の形です(それどころか日々の暮らしでも使っています)。
それほど“自然な”思考の形ですが、どんな考え方で、どんなところに注意すると質の高い思考ができるのか、基本知識を押さえておくと実務のレベルアップにつながります。
<実務三年目からの発見力と仮説力 記事一覧>※クリックで開きます
今回は仮説を考える時の進め方の解説です。
仮説は拙速を貴ぶ――とは限らない
コニャンくんがソフトウェアXで起こる故障F(第3回など参照)の原因について考えを巡らせています(図7-1)。

アブダクションは杖ひと振りでよい仮説を手にする魔法ではありませんし、そもそもよい仮説がすぐに見つかることは稀です。
アブダクションの進め方・パースの「ふたつの段階」
ホップ、ステップ、よい仮説
パース(第6回参照)は、仮説はふたつの段階を経て形成されるとしています。
(参考:『アブダクション 仮説と発見の論理』。以降『アブダクション』)
- 第1段階:心に思い浮かぶ仮説を列挙する
- 第2段階:最も正しいと思われる仮説を選ぶ

第1段階では、対象について考えを巡らせ、判っていることや調べたことをもとに、説明仮説を考えていきます。
この段階で素晴らしい仮説を思いつくかも知れません。
しかしそこで決めてしまうのでなく、事象を説明できる仮説は他にも考えられないか、検討します。
(思いつきがイマイチならなおさらです)
時にはいわゆる閃きや天啓といったものの助けもありますが、それが降りてくるよう、対象を詳しく調べたり理解を深めたりしながら考えることが大切です。
『アブダクション』では洞察的な段階とも言っています。
第2段階では、第1段階で挙がった仮説を、後述の4つの基準で総合的に評価し、最も理にかなっていると思われるものを選定します。
『アブダクション』では熟考的な段階とも言っています。
「最も正しいと思われる仮説」の選定基準/条件
「最も正しいと思われる仮説」の選定の基準ないし条件として、パースは次の4つを挙げています。
(参考:『アブダクション』)

- (1) もっともらしさ(plausibility)
問題となっている事象や因果関係について、理にかなった説明を与えるものであること。 - (2) 検証可能性(verifiability)
仮説は事実に照らして検証可能(真偽を判断できる)であること。
反証可能であること(偽であると判定できること)も含みます。 - (3) 単純性(simplicity)
(1), (2)が同程度の仮説が複数ある場合は、より単純な仮説であること。 - (4) 経済性(economy)
仮説の検証にかかる思考の努力や、時間やコストが少なくて済むこと。
総合的に見て「最も理にかなっている」と思えるものを選定します。
これらの基準は、第6回で挙げた「よい仮説」が持つ性質に対応します。
(「検証」の意味も第6回に準じます)

なお、パースのいう単純性は、論理的な単純さ(原因から結果まで一本道/短い、過程が入り組んでいない、etc.)よりは「説明が自然で考えやすい」「受け容れやすい」といった“自然さ”を意味しています。
また、経済性は第6回で挙げた仮説の性質の4番目とは若干異なりますが、「少数の仮定から整合的に説明できる」ならパースのいう経済性の条件にかなうと言えるでしょう。
念のため
「最も理にかなった仮説」が選ばれたとしても、それはまだ仮説です。
仮説が事実に対して正しい(不整合がなく、過程や結果をよく説明している)かどうかは、その後の検証(ソフトウェアの場合、最終的には動的テストなど)に委ねられます。
「ふたつの段階」の取り組み方
二重ループでイテレーティブに
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。