2009-04-05

"コンピュータ科学者がめったに語らないこと" Donald E. Knuth 著

本屋をぶらぶらしていると、なんとなくクヌース先生の講義が受けたくなった。ここに掲載される内容は、1999年、神とコンピュータに関する講義シリーズの一環として行われたものである。その副題には「信仰とコンピュータの相互作用」とある。コンピュータ科学では宗教や感情を議論することはタブーとされるが、あえて真逆なテーマを扱うところがいい。そして、論理的で客観的な領域にも、感情的で主観的な部分があることを教えてくれる。また、宗教や美学を語りながら著者自らの生き様をさらけ出す。おそらく、おいらが20代に読んでも、そのおもしろさは、それほど感じないだろう。それも、若い頃は論理的思考を重視する傾向にあった。論理的ではないことに目くじらを立てて立ち向かうことさえあった。だが、今読むと感情的なものや情緒的なものに、なにやら懐かしいものを感じる。若さとは、感情的になりやすい分、精神は論理性や客観性を求めるのかもしれない。では、だんだん歳を重なると客観的に見えてくる分、精神は感情的なものを求めるのだろうか?なるほど、歳をとると涙もろくなると聞く。

コンピュータの専門家だからといって、パソコン入門を教えるのに適しているわけではない。逆に、宗教の専門家ではないからといって、独自の宗教論が語れないわけでもない。むしろ、専門家ではないことが分野に特化した様式に囚われず、雑念の抜けた純粋な思考が現れるだろう。討論の場では「この分野について、よく知りもしないくせに!」と罵倒する輩を見かける。最初から、純粋な意見に耳を傾ける気がなければ、議論する時間は無駄というものだ。だが、往々にして、こういう発言をする人に限って、自らの場を理解できていない。完全にその世界のカルトに嵌ってしまって、それすら気づいていない。宗教は神に対する定義に専念させて儀式を重んじる。それは人間のために語られているのかも疑わしい。神を形式化し、死後の世界を用意してくれるような親切な宗教ほど胡散臭いものはない。一方で、科学者が研究の挙句に神学に憑かれるケースは多い。彼らは神の形式に囚われず独自の宗教論に到達しているかのように映る。これは科学もイケてる宗教の証なのかもしれない。科学者が語る宗教は、宗教家や神学者が語るものよりも、よぽど哲学的に思える。宗教家は、何の根拠もないのに信じることを強要する。この強要こそが宗教の最大の特徴であり弱点である。信仰の自由を唱えながら、自らの信仰を強要し、自らを矛盾の渦へと誘い込む。科学者が語る信仰は、自らの理屈で勝手に語っているだけである。

神学の研究が、科学に直接影響を与えることはないだろう。しかし、著者は科学のアイデアをより理解することに役立つと主張する。昔々、科学と神学がそれほど隔たりのない時代、アイデアの源泉を信仰に求めていた。やがて、科学は宗教的思考が中心だった人間社会に、冷静に思考する機会を与えた。今日、科学と神学の隔たりが大きくなったことで、逆に、科学に人間性を求める役割を与えるのだろうか?科学の進歩が絶頂の時代には、人間はあらゆる自然現象を科学で解明できると狂信していた。しかし、多くの解明できない科学的問題の出現によって人間の傲慢さを認識させられる。コンピュータ工学に接している人々は、宗教とは無縁ではないことを実感しているだろう。プログラム言語には、熱心な布教活動があり、狂信的な信者が出没する。プログラム構造には、コーディングルールが存在し、中にはカルト化したものもある。フレームワークやツールに依存性の高い設計手法が登場すると、宗教じみた開発方法や組織文化に支配される。人間社会の複雑化にともない世界はますます専門化が進む。その中で、物理学者と数学者が違った考え方をするように、同じ数学者でも離散性と連続性で相反する立場がある。更に、アルゴリズムを研究するコンピュータ科学者も、彼らとは違った考え方をする。代数学では無限を神に崇め、解析学では自然数を神に崇めるように、それぞれの宗教的立場に違った神が存在する。おもしろいのは、コンピュータが単なる道具であるにもかかわらず、コンピュータ工学という独立した学問が生まれたことだ。これは、コンピュータ構造、あるいはプログラミング構造が、人間の思考方法に他ならないからであろう。こうした同じアナロジーを理解する人々が、知識を構造化し共有している。本書は、コンピュータプログラミングの説明として、作家ドロシー・セイヤーズの言葉を紹介している。
「創造物の存在したいという欲求が優勢なときにはいつでも、他のあらゆるものが道を譲らざるを得なくなる。創造者は、それ以外のすべての呼び声を脇へ押しやり、喜びと憤りが入り混じった気分でその仕事に取り掛かる。」
著者は、これはほぼ完璧な説明であると絶賛している。創造性とは常に疑問を持ちつづけることであろう。一つの問題を解決すると新たな問題が発生する。次の疑問を持たなくなった時、あるいは解決方法がパターン化してしまった時に思考は停止する。人間は、凝り固まった思考を破壊し、新たな創造を求め、永遠にこれを繰り返す宿命を背負っているかのようである。

1. ランダム性の概念
ランダム性には公平性と平等性の概念があると語られる。ところで、真の乱数って存在するのだろうか?完全に無作為な自然科学的なランダム性ってなんだろうか?こういう疑問には、どうしても素数分布の本質が潜んでいるとされるリーマン予想と重ねてしまう。人間は、多くの知識を身に付けようと努力しても、その勉強方法や行動には限りがある。そこで、本書は時間を使う有効手段として「ランダムサンプリング」を紹介している。例えば、多くの本から良書を選択する方法で、何ページ目を読むか決めて判断するといった話をよく耳にする。著者は「ヨハネによる福音書3:16」が気に入っていることから316ページ目を読むそうな。選挙運動では、最も効果的な資金の使い方は、無作為に選ばれた市民を招いて懇意になることとしている。世論調査が、無作為に選ばれた人々によってなされるならば、これもランダム性による効率化と言える。だが、人間は無作為に行動するのが苦手である。サイコロを振るにしても、なんとなく力の加減が変わる。コンピュータに実装されるランダム関数にしても、作成者の作為がなんらかの形で影響するかもしれない。システムの構造的な性格によって、作為的に作用することもあるだろう。ただ、擬似ランダムであっても、実用レベルでは大した問題にはならない。現実に、コンピュータの実数演算は近似で誤魔化されているが、実用性に困ることはない。インターネットの検索方法のように、優れた計算アルゴリズムの多くはランダム性に基づいている。ランダム性を要求しても、その方法を選ぶのは人間である。では、第三者による作為ならば、より純粋なランダム性へと近づけるのだろうか?政治家は事あるごとに第三者委員会を設置するのがお好きだ。しかし、その委員会のメンバーは誰が選ぶのか?その選出も第三者か?第三者の第三者の...が永遠に続けば「ランダム性」は「無限」の概念にも通ずる。これは、社会システムが妥協によって成り立つことを示しているようなものだが。人間の感情や気まぐれもランダム的である。もしかしたら、真のランダム性が解明された時、人間の感情や社会システムや宇宙モデルといった複雑系を説明できるのかもしれない。だが、神は真のランダム性を永遠の課題として与えているように映る。

2. 聖書の数秘術
それにしても、「ヨハネによる福音書3:16」の3:16という数字は凄い。3は三位一体を表し、16は完全平方、しかも3.16の二乗は約10になる。聖書では、数のパターンの偶然性を多く発見することができる。しかし、章と節の数は聖書が書かれたずっと後に付加されたもので、数秘術に陥らないことだ。アラビア数字が登場する前は、ヘブライ語とギリシア語の文字で数字を表していた。そこに隠される偉大な意味が見出されるのも、数秘術を得意とする宗教の作為がある。なるほど、聖書は暗号で満ちている。聖書は実に多くの書き写しによって伝えられたものであり、多くのバリエーションが混在し、どれがオリジナルなのかも見分けられない。もし翻訳できたとしても、ニュアンスまでも再現された完璧な複写などありえない。そこには翻訳家の作為がある。

3. 言語翻訳
プログラム言語は一種の形式言語であり、コンパイラが機械語へ完璧に翻訳する。一方で、自然言語は形式言語よりもはるかに翻訳は難しい。ただ、自然言語でも、専門分野の論文は、限られた単語を使う傾向があるので、まだしも手に負える。これが聖書となると想像すらできない。ところが、本書は、数学的思考方法から、ヘブライ語やギリシア語を知らなくても、翻訳できる可能性を示している。しかも、言葉の出てくる順番が分かれば、思考の流れも分かるというのだ。しかし、詩や隠喩などの文学的表現もあり、更に韻律のリズムや言語間のニュアンスの違いも現れる。やはり、形式的には完全な翻訳は無理なようで、著者の誤った例も紹介している。技術者の中には、翻訳ができても喋れない人は多い。しかし、翻訳能力を持った人は尊敬できる。こうした翻訳能力にはプログラム的思考を見せてくれる。ただ、文章の形式だけを追っかけるのでは、そこに隠された思想を解釈することはできない。著者は次のように語る。
「自分が理解できないことを明らかにするための紛れもなく最良の方法は、自分自身の言葉で表現してみようとすることです。」
おいらは、日本語の文献でさえ、そのニュアンスをうまく読み取ることができない。そもそも、文学作品が苦手なのは、こうした思考が劣っているからである。本は単に読むだけではダメ!自らの思考に加工できないとダメ!と指摘されているようで頭が痛い。

4. 美学
翻訳には「最高」とか「優れた」という基準がないという。それはあくまでも個人の基準であって、最高のプログラムは存在しないのと同じであると語られる。優れたプログラムには、作成者の美学を感じる。コーディングルールは、生産性の品質をある程度の基準に保つには有効であるが、それが最高というものではない。それを理解した上で規定するべきで、聖書も同じように神に崇めるものではない。このぐらいの心構えが具わった時、聖書を一度読んでみるのも悪くないかもしれない。著者の研究の根底には、芸術と美学といった美の概念があるという。そして、自分のしていることに美しさを感じ、誇らしく楽しい気分になるという。そこには一種のこだわりを感じる。美をテクノロジーと結びつけ、右脳と左脳が同時に働く世界を熱く語ってくれる。美の概念は、主観の領域にあり、客観性を追求する科学には相容れないところがある。感情的で非理性的なものを、理性的な手段で解明しようとしても難しい。どんな人間でも、美学を持った生き様があるだろう。美学と真理の共存があってこそ、楽しく生きられるのかもしれない。ここで昔から持っている疑問が蘇る。「芸術には完成形なるものがあるのだろうか?芸術家にはそれが見えるのだろうか?」美学や生き様は永遠に完成を見ることはできないだろう。そして、疑問の形が変化する。「そもそも、精神の領域にあるものに完成形を見出す必要があるのだろうか?」論理の領域にあるものでさえ、人類は完成形に到達していないではないか。科学に完成形を見ないことが、人類の傲慢さを抑制しているとも言える。もし、科学に完成形を見たら、人類は無限に支配欲を持ち、自らを神だと信じるだろう。芸術の目的は、感情を伝えることである。芸術家は、感じたことのない何かを人々に体験させてくれる。一方でコンピュータプログラムでも、芸術性を見せてくれる優秀なハッカーがいる。プログラムが感情を伝えるものとは思えない。それでも、優れたプログラムを読むと、そのエレガントさに感動したりする。そこには、文学のような美とは違って、プログラム構造の思想やコーディングテクニックなどに思考の本質を感じるような発想力がある。CPUの構造にしても、全ての命令セットが同一サイクルで動作するならば、並列パイプラインの構想は美しい。その一方で、オペランドによるアドレス指定で複雑化する間接アドレッシングなどは見るに堪えない。

5. 「自由意志」対「決定論」
あらゆる科学理論は、コンピュータによってモデル化しようとする。プログラムの作成自体が小さな宇宙の創造と言える。人口知能では、作成者はプログラムによってどんな結果が得られるかを知らない。ライフゲームでは、ほんの数個の条件を与えるだけで、生き物のように進化する。そこには、極めて決定論的な世界がある。そして、エントロピーは増大し、やがて無限へと広がる。偶然性と必然性、これが宇宙を創造している。しかし、そこから目的を作り出すことはできない。レイモンド・スマリヤンは、短編「Planet Without Laughter」で次のように語ったという。
「人間は子供のようだ。彼らに何かをさせることができる唯一の方法は、おこなっているのが彼らだと思い込ませることである。彼らのプライドはあまりに高いから、自由意志の幻想がなければ、彼らは決して取り掛かろうとせず、結局何もしない。」
この言葉とは反するが、本書は、自由意志は幻想ではないという立場をとる。量子理論は、ある観察結果が個別にはランダムであり、宇宙の全く異なる部分で同時に起こったとしても、その結果は一致しなければならないことを主張しているという。そこに確率的モデルが存在したとしても、自由意志を作り、物理学法則に違反することなく、結果が得られるという。んー!なんとなく不確定性原理を語っているようでもある。ところで、量子コンピュータは、霊とか魂とかいったものを説明できるのだろうか?意識に関する研究は、科学的にはほとんど解明されていない。その有力なアプローチに、意識を一種の遺伝子アルゴリズムとする考え方があるらしい。ライプニッツは、可能性があるすべての世界のうちで最高の世界に人類は生きていると主張した。自然法則は、最善の方向へ収束するようにできているのか?それが、ランダム法則なのか?神が、将来予見しうる世界を見渡したら、それほど多くの世界は見当たらないということか?

6. コンピュータと自由意志
コンピュータ科学の中心はプロセスの研究である。その中で、プロセスの記述方法であるプログラム言語の研究があり、プログラムに意図を持たせるセマンティクスの研究がある。記憶領域にあるデータは、ただ存在するだけであるが、目的のために使われた時に存在意義を発揮する。人間社会の構造が、プログラム構造のヒントになることはよくある。著者は、単純なRISCコンピュータ用チップをデザインしていた時、驚くことに気づいたという。それは、最も簡単で最適な方法が、後で必要のないものも含めて、全て処理させることだという。クロックサイクル毎に、内部演算は同時に処理を始める。加算、減算、乗算といった演算が同時に発生する。そして、一つの結果を選択して、次のステップで使用される。指示するまで演算をしないとか、余分な演算を抑制するなどの処理を組み込めば、ハードウェアに大きな負荷をかける。こうした仕組みは、人間社会に関するメタファに感じられる。科学は、実に多くの研究者によって様々なケースを試行する。その中から、わずかな有効な結果のみが次世代に受け継がれる。人間の存在意義とは、そうしたものなのかもしれない。世界は実に無駄な時間を過ごしている人々で成り立っている。その無駄の結集が、大衆の叡智となり、真理へ近づくプロセスを形成しているのかもしれない。チューリングマシンは、単に状態を遷移させていく計算の道具である。では、その状態遷移を引き起こすきっかけは?効果的に計算させるための方法は?そこには、人間の目的や意識、自由意志なるものを感じる。

7. 科学と信仰
聖書に限らず思想の解釈には中途半端なものが多く、しかも、それが主流となっている。歴史では、徹底した研究による解釈がなされないまま、後世に伝えられる例は実に多い。現在ですら、部分的な言葉の揚げ足による報道で、実体が伝わらないか、あるいは正反対の情報を伝えているではないか。聖書というものは、神の視点からものを言っているかのように伝えられるが、言っているのは司祭たちである。宗派をめぐって争いが起こるのも、各々の神は共存できないことの証である。ならば、まだしも無宗教の方がいい。宗教に対する人々の態度は多様であり、解釈も多様である。人々を精神の苦悩から解放してくれるならば、宗教に頼るのも一つの選択肢である。ただ、宗教に頼らなくても、自らの信仰や思想で苦悩から逃れることができる。司祭たちはなぜか?その解釈を統合しようとする。そもそも、宗教とは人々の苦痛を取り払うためのものではないのか?異教徒というだけで、なぜ相手に苦痛を与えようとするのか?不都合なことが起これば、全てイエスのせいにでもするかのように。不都合な行いを、全て宗教のせいにすればいいと考えるのは楽である。人間には、自分自身が良いと思うものを他人に勧めたいという衝動が付きまとう。成功者が、自らの体験談を広めたいと思うのも、そうした心理が働くのだろう。真似をして成功するならば、全員が成功して、もはや成功という言葉の意味も無くす。人間は少なからず信仰を持つ。いや信仰を持たないと生きてはいけない。信仰を宗教に頼る人々がいる一方で論理的思考に求める人々がいる。果たして、人間に完全な論理の組み立ができるだろうか?論理は人間の都合により捻じ曲げられ、利己的な立場へと進化する恐れがある。そして、無理やり感情を遠ざけようと躍起になり、やがて強情となる。どうせなら、感情を取り入れるゆとりを持ちたい。自らの感情を認めなければ、感情の冷静な分析などできない。古い時代、物理学者は自然哲学者と呼ばれていた。再び科学は哲学へ引き戻される感がある。

0 コメント:

コメントを投稿