tech
U理論は科学的に正しいのか?──U理論・中土井 僚(6)/西尾 泰和の「続・エンジニアの学び方」
サイボウズ・ラボの西尾 泰和さんが「エンジニアの学び方」について探求していく連載の第27回(これまでの連載一覧)。U理論の伝道師、中土井 僚さんにお話を伺うシリーズ(6)です。
本連載は、「WEB+DB PRESS Vol.80」(2014年4月24日発売)に掲載された「エンジニアの学び方──効率的に知識を得て,成果に結び付ける」の続編です。(編集部)
U理論に関してこれが科学的に正しいのかどうか疑問に思う人もいるでしょう。対談(前編、後編)の際に、U理論の再現性を気にするライターの荒濱さんの質問に対して、僕がほとんど一人で喋ってしまった部分があります。これがその疑問の回答になるかと思いますので、対談記事に収録されなかったやり取りを、以下に掲載します。
今の話題(編集注:対談後編の最後にある「再現性がない方法論には意味がない?」のやり取り)に関して、U理論の本に書いてあったことから補足したいことがあります。「知識が正しいかどうかは、どうやって分かるんだ」っていう話が第5章にあるんです。それは思ってることを実現できたとき、他の人の役に立ったとき、自分が大切だと思う結果を生み出せたときだ、と。
あることを本当に知っていると分かるのは、どういうときか。自分の知の正当性を確認するのに、どんな基準が役に立つのか。
「私は自分の知が実行可能なとき、つまり、それを実現できるとき、本当にそのことを知っていると分かる」(クリス・アージリス)
「私は自分の知がその分野のさまざまな顧客や実践者に役立つとき、本当にそのことを知っていると分かる」(エドガー・シャイン)
「私は心から大切だと思う結果を生み出す能力が身についたとき、つまり、自分の知識で何かを創造することができるとき、本当にそのことを知っていると分かる」(ピーター・センゲ)
(「U理論──過去や偏見にとらわれず、本当に必要な『変化』を生み出す技術」p.137より)
ああ、はいはい。
これは、一言で言うと「有用性」を知識の正しさの根拠に置いているわけです。これに対して、自然科学では「再現性」を知識の正しさの根拠に置いています。実験が何度も繰り返されて確認されていること、そういう他者による検証が可能な主張であることが大事だと、自然科学者はそう考えるわけです。
そうですね。
有用性を正しさの根拠する定義と、再現性を正しさの根拠とする定義の2つがあるんですよ。でも、どちらも論理的には正しくない。例えば科学者が実験を3回して3回成功したとして、じゃあ「常に成功する」って断言できるのかと言うと、論理的には言えないんですよ。100回実験して、100回成功したとしても「101回目で失敗する可能性がないと言い切れるのか」と言われたら、論理的には言い切れない。
純粋数学のような、明確な定義から論理的に正しい推論だけを使って作ったものだけが論理的に正しいわけです。でも、それを要求されてしまうと、自然科学の大部分が正しくないものになってしまう。それでは困るので、科学者たちは「正しさの定義」を緩めたんですよ。「実験をして反証することができるならば、それは今の時点では正しいと認めよう」「実験を何度も繰り返して何度も成功すれば正しさの度合いが高まっていくと考えよう」とね。そうやって「再現性による正しさの定義」が生まれたわけです。
面白い。
で、同じことが「有用性による正しさの定義」にも起きたのです。例えば社会科学の一部とか、経営上の選択とか、人生の決断とかは、繰り返し実験ができないわけです。なのでそれらの分野では正しさの定義を有用性に求めるわけです。哲学の真理論の言葉では「プラグマティズム」(実用主義)っていうんですけれども。
これに対して「再現性による正しさの定義だけが正しい『正しさの定義』だ」と考えている人は批判をするわけです。「そんなの再現性がないから正しくない! 非科学的だ!」とね。でもこれは対称なお互い様の関係なんです。例えば「A案とB案のどちらがいいのかは、現時点では十分なデータがないので判断できない」というのは科学的には正しい主張ですが、これに対して「はっきりするまで待ってたらビジネスチャンスがなくなるだろ! 前例がないと動けないのかよ!」という反論もあるわけです。堅く言えば「再現性が明確になるまで行動しないという選択は有用性がないので正しくない」という考え方です。
なるほど、そういうことですね。
例えばエンジニア向けの例を挙げると……PDCAサイクルとか、KPTって分かりますか、キープ・プロブレム・トライ。
はいはいはい。
振り返りをキープ・プロブレム・トライの3つに分けて行いましょうっていう枠組みがあるわけです。で、この枠組みを使っているエンジニアもいっぱいいるわけです。だけど、この枠組みに関して何か科学的な証明があるのか、っていうとないわけです。
ないですね。
自分で実際に使ってみて「これはコミュニケーションする上でやりやすい」とか「プロジェクトがうまく回った」という実益を感じた人が使用を継続してるって状況にあるわけです。コミュニケーションという点ではデザインパターンなんかもそうです。ある種の設計に対して「メディエイター・パターン」なんて名前をつけたりする。頻出パターンに名前をつけただけなのだけど、そのおかげで「設計に関する議論がやりやすくなった」などの有益さを感じる人がいて、だから使われている。でも、有益さを感じない人もいるので再現性はない。U理論の4つのレベルや7つのステップも頻出パターンに名前をつけたものです。だから有益に感じる人もいるし、いない人もいる。
面白い。
僕は理学博士なので「科学的な正しさの定義」に慣れていました。U理論には有益さを感じるけども、一方では科学的には正しいと感じられない、この2つの考えの間に葛藤があったわけです。
なるほど。
筆者が「科学的に正しくはないが有益であるモデル」という存在を受け入れられたのは、機械学習を学んだことも理由のひとつかもしれません。例えばeメールのスパムフィルタなどに使われるナイーブ・ベイズという手法があります。この手法は大前提として「各単語の出現確率はメールがスパムかどうかによって決まり、メールに他のどんな単語が出現しているかとは独立である」というモデルを仮定しています。具体的に言えば「場所」という単語の出現頻度は、メールに「日時」「開催」などの単語が含まれているかどうかにかかわらず、スパムかどうかだけで決まる、という仮定です。この仮定は正しくありませんし、「正しくない」ということを再現性のある方法で示すことができます。ところが、ナイーブ・ベイズはスパムフィルタとして有用なレベルの性能を示します。科学的に正しくないが、有用なわけです。
モデルは、近似や抽象化が入って、現実とは少し違ったものになります。なので、現実がどう動いているか不明な場合、「このモデルは正しいのか?」という問いには、「分からない」か「正しくない」としか答えられせん。それが科学的態度です。しかしその状況でも「このモデルは有用なのか?」という問いに「有用だ」という答えはありえるわけです。
筆者はU理論をモデルだと捉えています。つまり、科学的には正しいとは言えない、と考えています。一方で、概念に名前がつくことによって「コミュニケーションが容易になる」「自分や他人が良くない状態であることに気づきやすくなる」などの有益さがあると考えています。(つづく)
「これを知りたい!」や「これはどう思うか?」などのご質問、ご相談を受け付けています。筆者、または担当編集の風穴まで、お気軽にお寄せください。(編集部)
謝辞:
◎Web+DB Press編集部(技術評論社)のご厚意により、本連載のタイトルを「続・エンジニアの学び方」とさせていただきました。ありがとうございました。
SNSシェア