ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2009-12-09

ギークが己の世界観で語る、コミュニケーションが論理的になりすぎてはいけない理由。

論理的なコミュニケーションをしろと言ったりするなと言ったり、お前は一体どっちなんだ?!と突っ込みたくなるところをぐっと抑えて、まずはこの記事を最後まで読んで欲しい。話はそれからだ。

論理は手段(ツール)であって目的ではない

ある記述が論理的に正しいことは、論理的なコミュニケーションの場ではとても重要なことであり、言わば論理的であることはコミュニケーション(主に議論)を建設的なものにすることの前提条件であると言って差し支えない。理論的なことを思考するにはもの凄い集中力が必要なので、ついつい議論に集中し過ぎて「自分の主張の正しさ」だけを追求してしまい、話が噛み合わず不毛な時間を過ごしてしまうということになりがちである。人と人が何かについて話合ったり議論したりするということは、「今抱えている問題を解決したい」「建設的な意見を出し合ってプロジェクトを進めたい」などの目的があるはずであるから、「論理的な議論」というのは目的達成のための手段であるに過ぎないのである。目的を忘れて「論理の正しさ」ばかりに集中してしまうと、頓珍漢なやりとりを繰り広げてしまうことになるのである。

会話がちぐはぐになるだけならまだいい。しかし理論的な正しさばかりを追求すると本来の目的を見失うどころか、逆にとんでもない弊害をもたらすことがあるので注意が必要だ。例えばサポートエンジニアが論理的な正しさばかり追求することに白熱してしまい、

「お客様のおっしゃることはまちがっています。なぜなら、理由はxxxxxだからです。問題が解決しないのはお客様の認識が間違っているからです。」

などという意味のことを言った場合を想像してみて欲しい。かなりの高確率でクレームを頂き、クレーム対応という理不尽な世界≒地獄への片道切符を手に入れることになるだろう。そもそもサポートエンジニアの役割はお客さんの問題や悩みを解決することであって、理論的なアプローチはそのための手段でしかない。単に論理的なアプローチが効果的だから選択しているに過ぎないということである。従って極論してしまえば問題が解決してしまえば理論的な正しさなどどうでもいい。理論的な正しさを優先させてお客さんを怒らせてしまうと悲惨な結末が待っている。まさに「どうしてこうなった?」と言わんばかりの結末が・・・。

くれぐれも理論的な正しさを追求するあまり、本来の目的を見失ってはいけないのである。

論理的思考の限界

論理的なコミュニケーションを行うには論理的に物事を考える必要があるのだが、そもそもその論理的思考には限界があるということについてここで紹介したい。

ところで、理論的に正しい記述というのはどのようなものだろうか。極力誤解のないようにストレートに表現すると、「論理的に正しい記述」というのは「論理学的に正しい記述」と言い換えることが出来る。論理学的に正しいとは、ある命題(前提)から別の命題(結論)を演繹(えんえきと読む。≒論理演算)だけを用いて導出できるということだ。つまり、演繹だけで構成された記述だけが、論理的に正しい記述と言えるのである。(ただし、演繹をショートカットするための定理は用いても可)それ以外の記述はすべて論理的な記述ではない。「なんだって?!そんなバカな!?だったら論理的な文章なんて殆ど存在しないじゃないか!!」と思われるかも知れない。いや、実はまさにその通りなのである。世の中に存在する「論理的な見た目を装った文章」の99.9999%は実は論理的ではない!!と俺は断言する。殆どの文章は論理的な見た目を装って自分の主張をタレ流しているだけである、と。

そもそもであるが、論理的に正しい記述をするというのは気が遠くなるほど地道な作業である。そのことを説明するために例として演繹の代表格である「三段論法」について考えて見よう。言わずもがなであるが、三段論法とは次のようなものである。
  • Aが正しいならばBも正しい
  • Bが正しいならばCも正しい
  • よってAが正しければCも正しい
三段論法によってもたらされるものは命題A、B、Cの関係性だけである。三段論法では大前提であるAの正しさについてはどこでも言及されていないところがミソだ。三段論法を用いて何か論理的に正しい主張をするとしよう。「Aという事実がある。AならばBなので、よってCというのは世の中の真理である」と。この主張が論理的に正しいことを証明するためには、大前提のAが正しい命題でなくてはならない。果たしてAの正しさを我々はどのように証明するべきなのだろうか。

そこで登場するのが「公理」というものである。公理とは数学用語であるが、あらゆる命題を導きだすための大前提として用意された最も基本的な仮定のことであり、公理の集合を公理系という。公理を組み合わせて導き出された帰結が「定理」であり、定理の正しさは公理系によって保証されていると言える。従って、真に論理的な正しさを追求するならば、「公理からの演繹によって導き出された帰結以外は全て非論理的」と切り捨てなければならない。

ここで勘の良い人ならばもうお気づきだろう。「公理系の正しさはどうやって証明するんだ?」と。

実は完全無欠の公理系は存在しない!ということが既に天才数学者ゲーデルによって証明されている。かの有名な「ゲーデルの不完全性定理」である。不完全性定理を要約すると「完全な公理系を用いてその公理系そのものの無矛盾性を証明することはできない」ということだ。つまり、実は完全無欠の論理というのは端から存在しないということなのだ!!

な、なんだってーっ!!(AA略)

完全無欠の論理が存在しないということは、どのような命題でも論破出来るということである。よくネットで「ハイ、論破」などという表現を見かけるが、どのような主張でも論破出来ることは最初から分かっている(ゲーデルが証明した)ので「論破したよ!」などとアピールするのは全くもって無意味かつ自らの無知をさらけ出す行為であると言えよう。

従って、如何に論理的な記述を突き詰めようと思ってみても完全な論理体系というものは存在しないので、論理の正確さに固執しても仕方がないのである。

フレーム問題

論理的な思考の有効性を否定する問題がもう一つ存在する。それは俗に言うところの「フレーム問題」だ。フレーム問題とは人工知能学者が古くから直面している由緒正しき問題で、平たく言うと「人間にとってごく身近で易しい問題であっても、コンピュータを用いた演繹では解決できない問題が存在する」というものである。以下はWikipediaからの引用で、フレーム問題、つまりコンピュータが解決出来ない問題についての有名な例である。

状況:洞窟の中に、ロボットを動かすバッテリーがあり、その上に時限爆弾が仕掛けられている。このままでは爆弾が爆発し、ロボットは動かなくなってしまうので、洞窟の中からバッテリーを取り出してこなくてはならない。ロボットは、「洞窟からバッテリーを取り出してくること」を指示された。

人工知能ロボット1号機R1は、うまくプログラムされていたため、洞窟に入って無事にバッテリーを取り出すことができた。しかし、1号機はバッテリーの上に爆弾が載っていることには気づいていたが、バッテリーを運ぶと爆弾も一緒に運び出してしまうことに気づかなかったため、洞窟から出た後に爆弾が爆発してしまった。これは、1号機が、バッテリーを取り出すという目的については理解していたが、それによって副次的に発生する事項(バッテリーを取り出すと爆弾も同時に運んでしまうこと)について理解していなかったのが原因である。

そこで、目的を遂行するにあたって副次的に発生する事項も考慮する人工知能ロボット2号機R1-D1 (D = deduce (演繹) ) を開発した。しかし、このロボットは、洞窟に入ってバッテリーの前に来たところで動作しなくなり、そのまま時限爆弾が作動してロボットは吹っ飛んでしまった。2号機は、バッテリーの前で「このバッテリーを動かすと上にのった爆弾は爆発しないかどうか」「バッテリーを動かす前に爆弾を移動させないといけないか」「爆弾を動かそうとすると、天井が落ちてきたりしないか」「爆弾に近づくと壁の色が変わったりしないか」などなど、副次的に発生しうるあらゆる事項を考え始めてしまい、無限に思考し続けてしまったのである。これは、副次的に発生しうる事項というのが無限大にあり、それら全てを考慮するには無限大の計算時間を必要とするからである。ただ、副次的に発生する事項といっても、「壁の色がかわったりしないか」などというのは、通常、考慮する必要がない。

そこで、目的を遂行するにあたって無関係な事項は考慮しないように改良した人工知能ロボット3号機R2-D1を開発した。しかし、このロボットは、洞窟に入る前に動作しなくなった。3号機は、洞窟に入る前に、目的と無関係な事項を全て洗い出そうとして、無限に思考し続けてしまったのである。これは、目的と無関係な事項というのも無限大にあるため、それら全てを考慮するには無限大の計算時間を必要とするからである。

このようにR2-D2の実現は難しいのである。

人間にとってこのロボットの思考は素っ頓狂であり、このような思考を展開することはまずない。何故ならば、我々は自然に「問題を解決するために必要なもの」だけを数多く存在する事象の中から瞬時に選択して行動することが出来るからだ。何故そのような能力が人間に備わっておりコンピュータでは簡単に実現できないか?とうことについては話が脱線するので書かないが、この話のミソは論理的な思考だけを突き詰めて行くと「論理的思考の持ち主の代表格」であるコンピュータと同様のフレーム問題に直面するということである。Xという問題を解決するのにYという事象が無関係であることを論理的に証明しなければならないとしたら、Y', Y'', Y'''・・・と永遠に全ての事象についても同様に無関係であることを証明しなければならず、我々の思考はそこで停止してしまうことだろう。

フレーム問題を考察によって得られるひとつの帰結は、皮肉にも「問題の解決策を探るのに必要なアプローチは論理的であってはならない」ということである。つまり、「Xという問題について考えよう!」となったとき、非論理的な思考を導入しなければ議論は一向に進まないのである。とはいえ、そのような非論理的な思考は我々が自然に発揮することが出来る能力だから我々がフレーム問題に直面する心配はない。

常識という暗黙の了解

これまでの話のポイントを(非論理的に)整理すると次のようになる。
  • ディスカッションの目的を見失ってはならない。
  • そもそも完璧な論理というものは幻想なので、そのようなものを追求するのは徒労に終わる。(根拠1:ゲーデルの不完全性定理、根拠2:フレーム問題)
  • ゆえに、論理的な正しさにこだわりすぎるのは良くない。
「それならばそもそも論理的に議論するということ自体が無駄じゃないの?」と思われる方も居るだろう。しかしそのような身も蓋もないことがまかり通ってはどのような議論も不毛なものにならざるを得ないし、このブログを読んで下さっている諸氏の時間を無駄にしてしまうことになるだろう。完璧な論理というものが存在しないと仮定した上で、我々が建設的な議論をする(もしくは単に論理的な思考をする)にはどうすればいいだろうか。

我々が何かについて議論、例えば「AならばCという命題が正しいか」どうかと言うことについて議論するとき、議論に参加しているメンバーは前提条件である「Aが正しい」という命題を無条件で肯定する必要がある。何故ならば、「そもそもAという命題が正しくない」となったら、「AならばC」という命題の正しさを考えるのは無意味だからだ。Aが正しいことを証明することは不可能だが、一般的な問題、例えば「日常生活におけるマナーについて」といったことを議論する場合、その前提となっている暗黙の了解は「常識」に基づいていると考えて差し支えない。つまり、「Aという命題が正しいこと」や、「Xという問題を解決するにはZというアプローチが有効である」というような思考は常識(ないしは前提知識)によってもたらされるわけである。

共通の前提知識が共有されている場合、論理的なアプローチによるディスカッションはとても建設的なものになるだろう。しかし逆に、ある命題についての認識が異なる場合(一方はAが正しいと思っていて、他方はAが正しくないと考えている場合など)は、ディスカッションは悲惨な結果にしかならない。俗に言う「水掛け論」の状態である。とは言え、個々人の常識などというものにはどうしようもない個人差が存在するので、実際のディスカッションではお互いの常識が同じかどうかということについては白黒ハッキリしないのが当然であり、言わば常に「前提がグレーな状態」で議論を交わすことになるといって差し支えない。そのような状態で議論を建設的なものにするには次のようなアプローチを取るのが良いだろう。
  • 相手との共通点を確認する。例:「xxxxxは正しいという認識で合ってますね?」
  • 相手の主張を受け入れる。例:「xxxxxという主張は自分は100%正しいとは思わないが、いったんその前提で話を進めようか。」
  • 議論を通じて共通の認識を構築する。例:「xxxxxという点は合意に至りました。それでは議論をさらに進めましょう。」
要するに、お互いの共通の認識の上にさらに次の共通認識を作り上げるというのが、建設的かつ論理的なコミュニケーションなのである。(同様に、ある命題を前提条件として、さらなる次の命題へと演繹によって発展させるのが論理的思考であると言えよう。)

まとめ

ここでさらに話を強引にまとめると、「やっぱり常識とかバランス感覚って大事なんだね!」ということに集約される。結局常識がなければ論理的なコミュニケーションは成り立たないのだから。最近の日本では常識というものが非常に多様化してきており、これまで島国という特殊な環境で(つまり価値観が非常に似通っているという状況で)過ごしてきた日本人にとっては少々厄介な世の中になってきていると言えるだろう。価値観が多様化すればそれだけ柔軟な思考、別の言い方をすると相手の常識や価値観を認めるというスキルが求められる。つまり謙虚さが必要なのである。

謙虚さを忘れず相手の意見を尊重し、建設的な意見交換を行いたいものである。

おまけ。Windows vs Mac vs Linux

議論を建設的なものにするには共通の認識、つまり互いの常識が重要であることは述べた通りであるが、逆に言うと常識が異なるもの同士が議論をするとロクでもないことになってしまうということが言える。ギークにとって最も代表的な水掛け論はOS論争ではないだろうか。Windows信者、Mac信者、Linux信者でそれぞれ価値観や常識が異なるのだから、お互いが例えば「どのOSの作業効率性が最も優れているか」について議論しても建設的になることはないだろう。

つまり、意気投合する者同士好き勝手喋ってろ!ということである。(あ、コレやっぱり身も蓋もないw)

4 コメント:

Unknown さんのコメント...

> さらに平たく言うと「矛盾のない公理系など構築するのは不可能!」

これは、ちょっとひどい誤りです。
ゲーデルの不完全性定理が述べているのは「無矛盾かつ完全な公理系は存在しない」であって、これと「無矛盾な公理系は存在しない」とは全く別物です。

もし仮に「無矛盾な公理系が存在しない」のであれば、背理法を使ってどんな命題でも証明できますので、確かに「どのような命題でも論破出来る」と言えます。しかし実際には、無矛盾な公理系は存在しますし、「どのような命題でも論破出来る」は、数学で通常用いられている公理系のもとでは誤りです。

「無矛盾な公理系が存在しない」というのは、数学自体の存在を無意味にするほどトンデモな主張なのですが…

Mikiya Okuno さんのコメント...

soda@sra.co.jp さん、

コメントありがとうございます。

平たく言いすぎて(?)誤った表現をしてしまったようです。「ω無矛盾かつ完全な公理系など構築するのは不可能!」に書き換えようと思いましたが、なんだか平たい表現ではなくなってしまうので本文からは該当の箇所をとってしまいました。

このエントリの論旨としては、現実の問題を「理論的」に解決することは出来ないということを言いたかったのですが、その点についてはいかがでしょう?もちろん、数学が如何に有益かは存じております。が、無矛盾な公理系は完全ではないので、「世の中のあらゆる命題を理論だけで片付けるのは不可能だ」というのがこのエントリの主張です。

Unknown さんのコメント...

> 本文からは該当の箇所をとってしまいました。

ありがとうございます。
しかしまだ、「完全無欠の論理が存在しないということは、どのような命題
でも論破出来るということである」という記述の部分が問題かと思います。
ゲーデルの不完全性定理を例にとるのであれば、ここは「完全無欠の論理が
存在しないということは、論理では立証できない命題が必ず存在することを
意味する」としなければならない筈です。
「どのような命題でも論破出来る」というのは、公理系が矛盾していることを
意味しますので、そのような公理系は数学の対象外でしょう。

現実的には、(厳密ではない論理を使ってある意味だまして)「どのような命題
でも論破出来る」というのは正しいかもしれません。
しかし、その論拠としてゲーデルを持ち出すことはできない筈です。

> このエントリの論旨としては、現実の問題を「理論的」に解決することは出
> 来ないということを言いたかったのですが、その点についてはいかがでしょ
> う?

できることもあるし、できないこともあるというのが私の意見です。
「出来ない」とった強い主張は、反例を一つ挙げれば誤りであると
言えるように思いますが、まあ自然言語の場合「理論的解決」というのが
何を意味するかでもめて、結局結論は出ないかもしれませんね。
現実的には、できないことが多いよねってことであれば、異論はありません。

Mikiya Okuno さんのコメント...

soda@sra.co.jp さん、

> 「どのような命題でも論破出来る」というのは、公理系が矛盾していることを
> 意味しますので、そのような公理系は数学の対象外でしょう。

うーん。難しいですねえ。。。これ以上本文をいじるとインパクトに欠けるので(正確性はあえて犠牲にしつつも)エントリはこのままにしておこうと思います。既に書いてしまったエントリですし。

> できることもあるし、できないこともあるというのが私の意見です。

これはつまり、
・論理的に解決出来る場合=数学的に矛盾のない公理系について扱う問題
・論理的に解決出来ない場合=上記以外
ということでしょうか。

> 現実的には、できないことが多いよねってことであれば、異論はありません。

恐らくですが、「現実の問題を数学の公理系に当てはめる事が出来ないので、数学的な論理的正しさをもって証明するのは無理」と言うべきだったかも知れませんね。

コメントを投稿