川村渇真の「知性の泉」

コンピュータと、論理的思考との関係


 コンピュータは、論理的なデータ処理が極めて得意である。パソコンの普及により、コンピュータを使うのが当たり前になってしまったため、思考作業の手助けとしても使っている人がいるだろう。では、コンピュータと論理的思考とはどのような関係があるのだろうか。それを知るためには、コンピュータの特徴を明らかにしなければならない。

ユーザーから見たコンピュータはソフト込み

 関係を知るためには、コンピュータの特徴を明らかにしなければならない。一般のユーザーから見たコンピュータは、アプリケーションなどのソフトを含めたものとなる。直接操作するのはマウスやキーボードだが、アプリケーションを使うことが中心となるし、ユーザー自身もアプリケーションと対話する意識で使っている。
 アプリケーションを使う際には、何かのデータを入力してから処理内容を指定し、アプリケーションが処理結果を出す。その処理結果を人間が用いる形で、コンピュータを利用することが多い。主体となるのは、あくまで人間だ。
 コンピュータがどんな処理結果を出すかは、使ったアプリケーションで決まる。表計算ソフトなら計算が中心となるだろうし、データベースならばデータの整理や抽出が中心となる。また、複数のアプリケーションを組み合わせて、より複雑な処理を実現することもできる。
 こうしたアプリケーションの内部では、どのような処理を行っているのだろうか。一般的には、データの加工である。あらかじめプログラムされた処理内容のとおりに、コンピュータが実行して結果を出す。途中で判断する場合も、決められた条件式に値を入れ、その結果によって続く処理を選んでいるだけだ。
 遠い将来は分からないが、現時点においては、コンピュータは思考しているのではなく、決められたプログラムを実行しているに過ぎない。一般ユーザーが使うアプリケーションにおいては。もし思考しているように見えるアプリケーションであっても、そのように見せているだけだ。
 コンピュータが決められた処理を実行しているに過ぎないことは、融通性のなさという形で表面化することが多い。業務などの問題領域で発生する例外へは、あらかじめ考慮されたものしか対応できず、予想外の例外が発生すると、使い勝手が低下したり使いものにならなかったりしている。

コンピュータはソフト次第で間違いも犯す

 ここで少し、コンピュータの中身に目を向けてみよう。頭脳に相当するCPUは、極めて論理的な処理を高速で実行する。曖昧な部分など1つもない。ただし、実行できるのは、相当に原始的な処理だけなので、そのままでは一般ユーザーが使えない。仕方なく、専門家がアプリケーションを作成して、ユーザーが利用できる状態に仕上げている。つまり、ユーザーとコンピュータ本体の間には、アプリケーション(より正確にはソフト)が存在するわけだ。
 では、アプリケーションが入ることで、コンピュータの論理的な正しさは、どのように変わるのだろうか。この点こそ、非常に重要な部分である。特徴を分かりやすくするために、極端な例を挙げてみよう。2つの数字を入力して、加算した結果を表示するアプリケーションだ。表向きは足し算のアプリケーションだが、内部では変な機能が組み込まれている。2つの数字が同じ値の場合は、片方の値を3倍して出力する機能である。これを実行すると、1+2=3では正しい結果を出すが、2+2=6だと間違った結果になる。
 誰でも分かるように、この状態では足し算のアプリケーションとして正しくない。それはそうだが、ここで注目すべきなのは、こうした処理を作って実行できてしまう点と、コンピュータ自体がこの間違いに自分で気付かない点だ。処理内容が間違ったアプリケーションであっても、拒否などせずに実行してしまう。つまり、コンピュータには、物事の良し悪しの判断はできないのだ。
 この特徴は、人工知能の分野でも変わらない。人工知能の応用分野の1つであるエキスパートシステムでも、間違ったルールを与えると、間違った判断結果を出してしまう。ここでも、コンピュータは内容が正しいか判断せずに動いている。
 さらに、たいていのプログラムにはバグが含まれている。バグは人間のミスであり、間違った箇所なのだが、そのバグにもコンピュータは気付かない。バグが含んだままの処理内容を忠実に実行するだけだ。バグが含まれる処理では、人間が期待した処理結果すら出力できず、正しくない結果を出力したり、途中で異常終了や停止したりする。
 とはいっても、コンピュータがエラーを発見したり、人間の操作ミスを指摘した状態を見たことがあるだろう。これが可能なのは、そのようにプログラムを作っているからで、コンピュータ自体が思考して判断しているためではない。エラーの発見やミスの指摘も事前に作られた処理内容であり、そのとおりに動いているだけだ。
 以上の話から分かるように、コンピュータは賢いわけではない。バカが付くほど真面目に、用意された処理内容を高速で実行しているに過ぎないのだ。

処理結果に意味付けしたり判断するのは人間

 前述の足し算の例なら間違いは容易に気付くが、処理内容の複雑さが増すほど、本当に正しく処理しているのか分かりにくくなる。
 では、正しいかどうか、どうやって判断するのだろうか。基本的には、人間が判断するしかない。もちろん、簡単な内容であれば、別のコンピュータ(実際にはアプリケーション)に判断させることも可能だが、その判断が正しいかどうかは、やはり人間が評価しなければならない。
 以上の話を整理し、重要な項目を順番に並べると、次のような形になる。ソフトの構造を示すときには、ハードウェアを一番下に置くが、今回の場合の流れでは、一番最後が人間の解釈になるので、ハードウェアを一番最初に置いてみた。

コンピュータ利用における処理結果の解釈の構成
・コンピュータ(ハードウェア)
・プログラム(人間が作成し、バグなしを証明するのは困難)
・プログラムへの入力と実行結果
・入力と実行結果を見た人間の解釈(ここが思考する作業)

 この4つの構成要素のうち、思考を行っているのは最後の1つだけ。コンピュータの処理能力が高まり、実現した機能も増えてはいるが、思考するレベルまでは達していない。思考というのは、まだまだ人間が担当する作業といえる。

正しく判断できる人はごく一部

 コンピュータの処理結果を解釈したり判断に利用するのは、人間の役目だ。思考するのはこの部分だが、どんな風に思考しても構わないわけではない。正しい解釈や判断を得るためには、論理的な思考が必要となる。
 ここで言う論理的な思考とは、広い意味で捉えたものだ。考えた内容が論理的なだけでなく、考慮すべき大事な点が漏れていないとか、適切な評価方法を採用するとか、実現可能な中から最良の解を選ぶとか、物事を検討する際の重要な要素も含む。
 別な視点で見ると、論理的な思考を次のようにも捉えられる。自分の思考内容が適切かどうか、論理的な観点から検査する道具だと。思考は本来自由なので、とんでもない内容から、優れた内容まで扱える。しかし、良く仕上げるためには、マトモな人を納得させられる内容でないとダメだ。そうなるように、どんな点をどのように検査したら良いのか、枠組みを与えるのが論理的な思考である。思考の過程では様々なヒラメキを思い付くだろう。それを検査し、良くないものがふるい落とされ、通過したものだけが良い内容として残る。こうした過程こそ、論理的な思考である。
 論理的な思考は、適切な解釈や判断には欠かせないが、実際にできる人はごく一部に限られている。その大きな理由は、どうすれば論理的な思考を実現できるのか、まったく知らない人がほとんどだからだ。知らない状態でいる大きな原因は、本来なら学校で教育すべきなのに、何も教えないからである。この点こそ最大の問題だが、教育関係者のほとんどが気付いてないか無視しているため、近い将来に改善する見込みはゼロに等しい。

処理結果と一緒に根拠も示さなければならない

 コンピュータの処理結果が正しいかどうか人間が判断できるためには、処理結果だけを示したのでは難しい。処理に使った全部の入力データ(資料データベースなどを参照して得られたデータも含む)はもちろん、途中での重要な値なども、処理結果と一緒に示す必要がある。また、重要な値は、数値などのデータだけとは限らない。複数の処理方式を選択して使うようなソフトなら、どの方式を採用したかも一緒に示す。つまり、処理結果とともに、その根拠も示すわけだ。
 人間が使うアプリケーションを設計する際には、こうした点も考慮しなければならない。将来は今までよりも難しい処理をコンピュータで実現するので、このような設計がもっと重要になる。
 たとえば、コンピュータが「アナタの卒業後の進路ですが、希望しているファッション業界ではなく、ワニのハンターにすべきです」などと処理結果だけ言ったら、どう感じるだろうか。「その結果が導き出された根拠は?」と質問したくなるだろう。処理結果を最終的には人間が利用するので、処理結果が適切かどうか判断する材料が必要となるからだ。
 同じ考え方は、人間が処理した内容にも当てはまる。別な人に処理結果を示すとき、その根拠も一緒に説明しなければ、相手は納得しない。重要度が高い内容ほど、より詳しい根拠が求められる。
 処理結果と一緒に示す根拠は、利用する人間の判断材料として使われる。処理結果が正しいかどうか判断するためなので、それに役立つ内容を含めなければならない。こうした視点で検討すれば、根拠としてどんな項目を用意すればよいのか、論理的に求められるはずだ。

 おそらく遠い将来には、コンピュータが思考する能力を持つだろう。その際にも、コンピュータの思考結果は人間が利用するので、処理結果だけでなく、その根拠を示す必要がある。もちろん、そんな時代のコンピュータだと、どんな根拠を示せばよいのかを、コンピュータ自身が自分で求められるだろう。

(2002年4月30日)


下の飾り