サイバネティクスとオートポイエーシス―コンピュータは生命の領域にどこまで踏み込めるのか?

システム論 | 2007/04/02

コンピュータやネットワークどういう意味で生命と同じで、どういう意味で違うのしょうか。このことは、人工知能の実現可能性ともかかわる重要な問題であり、情報技術にかかわる多くの人が興味を持つところではないかと思います。今回の記事では、サイバネティクスを起源として生まれてきたシステム論である「オートポイエーシス理論」を手がかりして、このことについて考えてみたいと思います。

○目次

(1) オートポイエーシスと文脈
(2) 作動としてのコンピュータ
(3) システムの相互作用と環境概念
(4) サイバネティクスとオートポイエーシス
(5) オートポイエーシスにおける情報概念
(6) コンピュータは生命になれるのか

/////

(1) オートポイエーシスと文脈

オートポイエーシスについては、前回の記事で基本的な説明をさせてもらいましたので(*1)、詳しくは元の記事を参照してほしいのですが、いくつか重要なポイントをまとめることにします。

オートポイエーシスは、システムを何らかの「作動」の集まりとしてとらえることで、システムを閉じたものとしてとらえるという特徴を持ったシステム論です。たとえば、コミュニケーションのつながりが社会を作っているととらえたり、タンパク質やDNAといった物質の産出プロセスのつながりが生命を作っているというように考えるわけです。

ここで重要なのは、システムの「作動」を、単に空間的にある場所に収まるものとしてとらえるのではなく、作動の文脈の全体、つまり、世界全体とかかわるものとしてとらえているという点です。作動が世界全体とかかわるものとしてとらえているとき、作動の集まりであるシステムは常に「閉鎖的」ということになるでしょう。

ただし、オートポイエーシスに大きく分けて二つの立場があります(*2)。一つはマトゥラーナ&ヴァレラのように、システムの作動を「物質の産出」に限定するとらえ方、一方、もう一つは、ルーマンのように、「物質の産出」に限らない作動を考える立場があります。この違いは、コンピュータとオートポイエーシスの関係を考える上で非常に重要なのです。

*1 オートポイエーシスと時間
http://informatics.cocolog-nifty.com/blog/2007/03/post_7571.html

*2 上記の記事の (5)のあたりを参照。ちなみに、前回の記事では、主に「時間的/非時間的」という軸でオートポイエーシスを議論しましたが、今回の記事では「物質的/非物質的」という違いがメインになります。

(2) 作動としてのコンピュータ

PCを自作したことがある人なら、コンピュータはCPU、ハードディスク、マザーボード、メモリといった要素に分解できるものだと考えるかもしれません。このようにとらえる限り、コンピュータはオートポイエーシスではないでしょう。この場合、システムは作動としてではなく、単に「もの」の集まりとしてしかとらえられていないからです。

しかし、全く別のとらえ方をすることもできます。たとえば、パソコンのCPUでは機械語の「命令」が次々に解釈されています。一つ一つの命令の解釈は、最終的にメモリやハードディスクへの読み書きにつながったり、計算につながったりするわけですが、CPU自体は、ひたすら命令を解釈しているに過ぎません。そして、次にどのような命令を解釈するかは、一義的にその前の命令の解釈の結果によります。コンピュータの起動によって最初の命令が解釈され、その命令によって次々に新しい命令が解釈されるというプロセスの全体としてコンピュータをとらえることができるでしょう。これを「命令解釈のシステム」と言うことにします。

一方、同じようなことは、もっと別のレベルでも行われています。一般にプログラムは、「関数」と言われるプログラムの小さなまとまりの集まりとして書かれているのですが、プログラムが動くときには、常にさまざまな関数が呼び出されています。関数を呼び出すのは、別の関数であり、関数呼び出しの全体としてプログラムが動いているのです。コンピュータのOSが起動するとき、最初の関数が呼び出され、それを契機としてさまざまな関数が呼び出され続ける、そういうシステムとしてコンピュータを考えることもできます。これを「関数呼び出しのシステム」と言うことにします。

ここで、重要なことは、命令解釈や関数の呼び出しを、世界全体とかかわっているものとしてとらえることができるという点です。たとえば、今、あなたのコンピュータでどのような命令が解釈され、どのような関数呼び出しが起きるかは、あなたの行動はもちろん、そこから離れた場所にいる筆者の行動にも大きく影響されています。私がこの記事を書かなければ、あなたのコンピュータは今とは別の命令を解釈しているのは間違いないでしょう。一方、あなたのコンピュータの命令解釈や関数呼び出しは、あなたの行動に影響を与えるし、それによって世界を変えることがあるかもしれません。コンピュータの命令解釈や関数呼び出しをこうした形でとらえるのなら、それは明らかに自律的な作動であり、その全体としてのシステムは、オートポイエーシスとしてとらえることができるでしょう。(*1)

このことは、コンピュータだけではなく、ネットワークについても成り立ちます。ネットワークは、分かりやすいところで言えば、パケットと呼ばれるデータのまとまり(携帯電話の課金システムと関係しているので、専門家ではなくても、多くの人が知っていることでしょう)の送信のシステムとみなすことができます。たとえば、Webサーバーに「これこれこうしたデータを送って」というパケットを送れば、それに対して、要求した内容のデータが送られてくるわけです(*2)。ここで、送られてきたパケットの内容次第で、次に送られるパケットが決まるという意味で、パケット送信のシステムとしてのネットワークシステムは自律的なシステムと言えます。

ここでも重要なのは、送られてきたパケットの内容次第で、次に送られるパケットが決まると言っても、前に送られてきたパケットの内容だけから、次のパケットの内容が決まるわけではないということでしょう。そこには、コンピュータを操作する人間を含めた、さまざまな要素がかかわっています。たとえば、イラク戦争が勃発すれば、世界中のネットワークで、イラク戦争とかかわるパケットが送られるわけです。また、たった一つパケットによって、世界が混乱に陥ることだって考えられるでしょう。こういった世界全体とのかかわりを含めてシステムの作動=パケット送信としてとらえれば、それは自律的なシステムとしか言いようがないわけです。こういう意味で、コンピュータのネットワークもまた、自律的なシステム、オートポイエーシスと言うことができると思います。

*1 本文では、機械語レベルの命令解釈と、関数呼び出しという2つの例を出したわけですが、実際にはもっと多くの階層からなっています。一部のCPUでは、機械語としての命令を解釈するために、内部で別の命令(マイクロコード)が解釈されているし、Windowsのシステムであれば、COMモジュールの呼び出しやDLLの呼び出しなどがあります。これらの中にはコンピュータが起動している最中、ずっと自律的に作動しているものもあれば、そうではないものもあるわけですが、いずれにせよ、何らかの形で自律的なシステムを作っていると考えることもできます。

*2 ネットワークは通常もっと複雑な階層からなるシステムとしてとらえられます。Webサーバーの作動は、通常もっと高次の階層でとらえられるわけですが、ここでは全てパケットに単純化しています。

(3) システムの相互作用と環境概念

オートポイエーシス理論で言われる「環境」の概念は、通常の用法と違っていて分かりづらいので、あまり使わないようにしているのですが、一般的な議論と接続する上で、簡単に指摘しておくことにします。

オートポイエーシスの作動には、「環境とシステム自身を区別する」という働きがあるわけですが、これはコンピュータについても成り立っています。作動は、作動がそれ自体作動であるのに対して、作動ではないものが作動ではないと言う意味で、「環境とシステム自身を区別する」からです。一部では、「環境とシステム自身を区別する」という言葉が一人歩きして、生気論的、神秘的なものとして理解されているような気がするのですが、これは本来、作動の定義から必然的に導かれる考え方であって、完全に機械論的なものです。いすれにぜよ、オートポイエーシスとそうではないものを区分するようなものではないわけです。(*1)

こういう立場からすると、システムの相互作用についても明確に理解することができるでしょう(*2)。前述したさまざまなシステムは、それぞれ他のシステムから見ると「環境」となるわけです。一般に、異なる2つのシステムは相互にとって環境だとするのが、オートポイエーシスの考え方です。

このことは、当然のことながら、コンピュータ以外のものを含めたシステムとの関係についても成り立ちます。たとえば、コンピュータとユーザのやりとりのシステムを考えたとき、このシステムは、命令解釈のシステムとしてのコンピュータからすると「環境」ということになります。もちろん、コンピュータとユーザのやりとりというシステムからすると、命令解釈のシステムは、環境になるでしょう。

*1 詳しくは「オートポイエーシスと時間」(4)を参照
http://informatics.cocolog-nifty.com/blog/2007/03/post_7571.html

*2 この前の段落の「オートポイエーシスの作動には、」以降、この注の箇所まで、追加しました(2007/4/4 15:45)。

(4) サイバネティクスとオートポイエーシス

さて、こうしてコンピュータをオートポイエーシスとする見方は、オートポイエーシスの常識からかけ離れていると思う人がいるかもしれません。というのも、マトゥラーナとヴァレラは、オートポイエーシスを生命論として提示したのであり、コンピュータがオートポイエーシスとするのは、この前提を完全に覆すものだからです。

しかし、私は決して変わったことを提案しているわけではないのです。この記事の冒頭に掲げたように、オートポイエーシスには二つの解釈があります。マトゥラーナとヴァレラは、「物質の産出」としてのオートポイエーシスを考えたのに対し、ルーマンはより広い意味でのオートポイエーシスを考えました。マトゥラーナとヴァレラは、システムの作動を「物質の産出」に限定することで、オートポイエーシスを生命論として構築しようとしたのであり、この条件を外したルーマンのようなオートポイエーシスは、すでに生命論とは言えないということができるでしょう。

要するに、コンピュータ・システムやネットワーク・システムの作動は、新しい物質を産み出すようない以上、マトゥラーナとヴァレラの言う生命論的なオートポイエーシスではありません。しかし、それがルーマン的な意味での非生命論的なオートポイエーシスであることに、何ら問題はないのです。

ここで重要なのが、オートポイエーシスが、歴史的にサイバネティクスを踏まえて提示されたものであるということです。つまり、オートポイエーシス理論において、コンピュータをシステムとするような見方はすでに前提になっていたのであり、それをモデルとした上で、「物質の産出」を条件とする生命論としてのオートポイエーシスが提示されたと言えるでしょう。特に、ヴァレラは、オートポイエーシスを、積極的にサイバネティクスのモデルで説明しています(*1)。そして、このことは、特にヴァレラが、ルーマンのようなオートポイエーシスの拡大解釈に批判的だったことと関係しているかもしれません。「物質の産出」という条件を外してオートポイエーシスを考えるルーマンの議論は、ヴァレラにとっては、「先祖返り」のようなものであり、感覚的にも許し難かったのかもしれない、という解釈ができるからです。(*2)

その意味で、コンピュータがオートポイエーシスだというのは、決して特殊な結論ではなく、歴史的に見て当然のことであるとも言えるでしょう。これは、オートポイエーシスを非物質的なものにまで拡大したことの必然的な帰結と言うことができるからです。

*1 ヴァレラがオートポイエーシスのモデルにサイバネティクスを採用していることについては、[Varela 1979 : 9]。ちなみに、[Maturana & Varela 1973]では、サイバネティクスとの関係について触れられていません。

*2 余談ですが、機械語の命令(instructions)は、命令の種類を示す、オペコード(operation code)と、その命令が対象とするデータを表すオペランド(operand)に分けられるとされます。自然言語における動詞と目的語の関係で、動詞に相当するのがoperation code、目的語に相当するのがoperandです。要するに、機械語の命令というのは、そもそもoperationを行うものであるわけですが、operationという単語は、オートポイエーシスの作動を示すoperationでもあります。これについてVarelaは何も指摘していませんが、機械語は『形式の法則』より以前、コンピュータのかなり初期からあったものであることを考えると、単なる偶然ではないかもしれません。

(5) オートポイエーシスにおける情報概念

では、コンピュータと社会システムはどういう意味で共通していて、どういう意味で異なるのでしょうか。これを考えるために、もう一度、オートポイエーシスの議論について整理しておくことにしましょう。

この記事では、オートポイエーシスを、マトゥラーナとヴァレラのような物質的、生命論的ななものと、ルーマンのように非物質的、非生命論的なものに分けて議論してきました。ただ、正確に言うと、「物質的」ではないシステムの出発点は、ルーマンというわけではありません。前の記事でも書いたように、マトゥラーナとヴァレラは、非物質的なシステム、つまりオートポイエーシスではないシステムを扱っており、その例として神経システムを例示しています。ルーマンの非物質的なオートポイエーシスは、神経システムに近いものです。

ここで、コンピュータと神経システムはどのように違うのでしょうか。これを考えるためには、前の記事の最後ので指摘したようなシステム論と情報概念との関係について触れないわけにはいきません。

前の記事で指摘したように、(時間的な)神経システムとコンピュータ、さらに生命システム(狭義の物質的なオートポイエーシス)、ルーマン的システム(心的システムや社会システム)と言った「時間的システム」の全てに共通するのは、作動を「パターン」としてとらえることが必須だという点でした(*1)。そして、この点に関しても、結局のところ、コンピュータと神経システム、生命システム、ルーマン的システムに違いはないのは明らかでしょう。ただし、両者には「パターン」の性質に決定的な違いがあります。それは、コンピュータ以外の時間的システムにおいては、パターンの意味が可塑的であるのに対し、コンピュータの作動の場合、パターンの意味が固定的であるという点です。(*2)

これは、この記事の最初で論じた「文脈」という言葉の解釈と深く関係しています。すでに述べたように、システムの作動が世界全体とかかわって成立しているということ自体に注目するのなら、コンピュータの作動は文脈依存的でしょう。しかし、パターンとその意味の関係、要するに意味するもの―意味されるものという二つの「情報」の関係に注目すれば、コンピュータにおいて、意味するもの―意味されるものの関係が固定的であるのに対し、生命システム・神経システム・ルーマン的システムにおいては、この関係が可塑的、文脈依存的であることが分かります。そして、この点において初めて、コンピュータと、他のシステムの違いを見いだすことができるのです。つまり、コンピュータと生命システム・神経システム・ルーマン的システムの違いは、システムの作動を「パターンとしての情報」とし、意味するもの―意味されるものの関係としてとらえる情報学の視点によって、初めて理解されると言うことができるでしょう。

*1 以下の記事の(9)を参照。
オートポイエーシスと時間
http://informatics.cocolog-nifty.com/blog/2007/03/post_7571.html

*2 情報の意味の固定化のプロセスについては、[西垣 1999]に詳しいでしょう。西垣は、情報を「生命情報」「社会情報」「機械情報」に分類した上で、生命にとってのパターンである「生命情報」が固定化されて「機械情報」となっていくプロセスについて論じています。

(6) コンピュータは生命になれるのか

ここで、以上の考察をもとに、この記事のタイトルである「コンピュータはどこまで生命の領域に踏み込めるか」という問題について考えてみたいと思います。

コンピュータと、神経システム・生命システム、心や社会といったシステムとの間の本質的違いは、そこで扱われている情報の意味が固定化されているかどうかという点においてでした。ということは「意味」を固定化しないような情報を扱えるようなコンピュータを作れば、そこでは、神経システムや、生命システム、心や社会と同じ意味でのオートポイエーシスが実現されていると言うことができるでしょう。

人工知能の研究で名を馳せたウィノグラードは、後に自己批判として論理操作の体系としてのコンピュータが、こうした文脈の問題を簡単には扱えないということを論じます(*1)。これを、この記事の議論に引きつけて言えば、次のようになるでしょう。つまり、生命システムや人間の心が扱う情報、つまり、可塑的な意味を持つ情報は、たった一つの情報であっても、現在のコンピュータが扱うような固定的な情報で表すと、莫大なものになります。したがって、生命システムや神経システム、心や社会の働きは、コンピュータを擬似的に再現(エミュレート)するのに膨大な計算量が必要で、ごく単純なシステムであってもその一部しかとらえることができないでしょう。現在一般的な、論理操作をベースとするコンピュータを前提にする限り、何らかの形で生命のプロセスを擬似的に再現(エミュレート)することができたとしても、それはある限定的な状況においてでしかないのです。

ただし、これは論理的には、将来、より生命に近いコンピュータが実現する可能性を否定するわけではありません。ウィノグラードの議論も、上記の私の議論も、あくまで「論理操作」をベースとするコンピュータの話であり、将来、そうではないタイプのコンピュータが出現すれば、この前提自体が覆されるからです。具体的には、意味の可塑性を、エミュレートとしてではなく、直接的に扱う技術が開発されれば、従来の人工知能の枠組みを超えた、新しいタイプのコンピュータを作ることができるでしょう。

そうなったとき、私たちはコンピュータと知的な会話を楽しんだり、新しい製品を開発させたり、小説を書かせたりすることができるのでしょうか。あるいはそのとき、コンピュータは、人間と対等に意見を言ったり、権利を主張したりするのでしょうか。

これについては、今ここで答えることはできません。というのも、今のところ「意味の可塑性」を直接的に扱うコンピュータが開発されているという話は聞いたことはなく、その意味で、「コンピュータは生命になれるのか」とい問いも、未来に属するものと考えるほかないからです。

*1 [Winograd & Flores 1986]。ちなみに、ウィノグラードはこの中でマトゥラーナの神経システムやオートポイエーシスについても言及しています(同書、第4章)。

○参考文献

Maturana, H. R. et Vaerala, F. J. 1973 "Autopoiesis―the Organization of the Living in [Maturana & Varela 1980]

Maturana, H. R. et Varela, F. J. 1980 "Autopoiesis and Cognition: the Realization of the Living" D. Riedel Pub.

Varela, F. J. 1979 "Principles of Biological Autonomy" Elsevier

西垣通 1999『こころの情報学』ちくま新書

Winograd, T. et Flores, F. 1986 "Understanding Computers and Cognition: A New Foundation for Design" Ablex Pub. 平賀譲訳 1989『コンピュータと認知を理解する―人工知能の限界と新しい設計理念』産業図書

オートポイエーシスと時間/情報学ブログ
http://informatics.cocolog-nifty.com/blog/2007/03/post_7571.html

はてなブックマークに追加 del.icio.usに追加 POOKMARK Airlinesに登録 livedoorクリップへ追加 @niftyクリップへ追加 Buzzurlにブックマーク newsingにピックアップ Choixに投稿 Furlへ追加 Blinklistへ追加 Redditに投稿 twitterでReTweet

固定リンク | コメント(2件) | トラックバック(0件)

コメント

残念ながらオートポイエーシスの一番の原義が抜けています。それは、みずから自分として環境を自分から区別し立ち上がること。したがって、プログラムが人間の手によって書かれている限り、コンピューターがオートポイエーシス・システムであることはありえません。

投稿: 山人 | 2007/04/03 13:14:21

> オートポイエーシスの一番の原義が抜けています。
> それは、みずから自分として環境を自分から区別し立ち上がること。

当然、そういうことも考慮した上で書いています。一部には、「環境とシステムを自ら区別する」というような表現が一人歩きして、生気論なものとしてとらえるような節があると思うのです。しかし、本来「環境とシステムを自ら区別する」という表現そのものは、機械論的なものなのです。これを根拠にして、コンピュータと神経システムを区別するのは、不可能だというのが、この記事のポイントだとも言えます。

これは、前回の記事で書いたものなので、この記事では詳しく触れませんでした。詳しくは、以下の記事の(4)のあたりを参照してもらえればと思います。

オートポイエーシスと時間
http://informatics.cocolog-nifty.com/blog/2007/03/post_7571.html

ちなみに、このことについてこちらの記事で全く触れないのは、分かりづらかったのではないかと思い、(3)に一部追記させてもらいました(元の文章の内容を明確にするため、追加した箇所は、(3)の注に明記しています)。そういう意味で、ご指摘には、大変感謝しています。

投稿: 情報学ブログ | 2007/04/04 15:57:41

コメントを書く

トラックバック

この記事のトラックバックURL:
(トラックバックは記事投稿者が公開するまで表示されません。)

情報学ブログをRSSで購読する

Googleで購読 はてなRSSで購読 livedoor Readerで購読 Bloglinesで購読 My Yahoo!に追加

その他のRSSリーダー

管理人のつぶやき