『ヴァーチャルとは何か?』という題名のピエール・レヴィの著書(※1-1)が大阪哲学学校の討論会での参考図書に取り上げられた。「ヴァーチャル」という言葉について、哲学的な反省をしてみようという問題意識が私に高まったのは、これがきっかけであった。 ところで、欧米語を使っていない生活をしている私にとって、この言葉は、もちろん日常用語として接するものではなかった。といって、哲学用語として接したわけでもない。多くの日本人と同様、コンピュータ用語として、すなわち、「仮想」という訳語が与えられた形で出会った。「ヴァーチャル・リアリティ(仮想現実)」などのコンピュータ技術の発達は、この言葉を一般に広く普及させた。私は、1980年代にコンピュータソフト開発の仕事についていたので、「仮想現実」(Virtual Reality)のような高度な技術以前に、「仮想記憶装置」(Virtual Memory)、「仮想マシン」(Virtual Machine)のようなソフトウェア技術を通じてこの言葉に接していた。 「仮想記憶装置」とは、便利だけれど、ビット当たりの単価が高価なため少量しか搭載できない半導体メモリに、それに比べて安価なハードディスクを組み合わせることで、あたかも、膨大な半導体メモリが使えているかのような状態をソフトウェアで実現する技術で、当初は企業向けのたいへん高価な機械にしか搭載されなかったけれど、今ではどんな安価なパソコンにも当たり前のように備わっている。「仮想マシン」というのは、現存するコンピュータに、別の仕様のコンピュータと同様の動作を実現するソフトウェアを組み込むことで、別仕様のハードウェア環境を低コストで、実現する技術で、これも昔から広く使われている。このように実際にありはしないけれどソフトウェアによって「仮想的」に実現されたものを表現する言葉、それが私にとっての「ヴァーチャル」である。 だが、欧米語にとって、「virtual」は、IT用語である以前に日常語として使われてきたものである。日常語としては、「(名目上はそうではないが)実質上の、事実上の、実際上の」といった意味で使われている。語源をたどれば、「力のある,効力のある」といった意味もあったようだ。(※1-2) 日本語の「仮想の」という訳語からは、ともすれば、「にせものの(imitational)」とか「空想の(imaginal)」とかの語を連想してしまいそうだが、これらとは、かなりニュアンスは異なると見ねばなるまい。少なくとも、「virtual」にはネガティブなニュアンスはあまりない。「現実(real)」ではないが、「実質的(virtual)」なもの。「名目上(nominal)」とはうらはらに「実質上(virtual)」のこと。人間は、世界を単にrealに把握することのために認識活動を行ってはいない。より強く生き残るために、何らかの目的意識との関連で、物事を把握しようとする。「virtual」という概念には、「目的」というフィルタ機能が関与しているのではないかと私は考える。 世界には、目的に適うものも、目的に反するものも、それとはおよそ無関係のものも、すべていっしょくたに混在している。それが「リアル(real)」な世界である。だが、生の「リアル(real)」なものに対しては、人間はなかなか具体的なアクションが起こせない。そこで、何がしかの理想モデルを、概念として世界に当てはめようとする。そこに、「名目上(nominal)」の世界が構築される。そして、この「名目上(nominal)」の世界には、何がしかの目的実現への期待が結び付けられる場合が多い。たとえそれが現前には見られなくても、条件次第では「可能(possible)」な世界がそこにあるはずだ、と。さもなくば、それは単に「空想上(imaginal)」のことでしかないだろう。しかし、実際には、条件が整わなくて、その期待が裏切られることも少なくない。「現実(actual)」の世界にはそういう思い通りにいかないことも含まれている。その一方で、「名目上(nominal)」では、期待できそうもないにも関わらず、「実質的(virtual)」には、目的を実現できてしまうこと、場合によっては期待以上の成果を得られてしまうこともある。そのような実効性、力をもたらしてくれるもの、それが「ヴァーチャル」ではないだろうか。だから、単に外見上似ているだけで、実効性を伴わない、「にせもの(imitation)」という概念とはおよそかけ離れているのだ。 だから、「仮想記憶装置」はまさに「ヴァーチャル」なものなのだ。今すぐに半導体メモリを必要としているアクティヴなデータやプログラムと、当面どこかにしまってあればよくて、すぐには高速メモリを必要としないデータやプログラムとを随時、判別して、入れ替え処理を行う仕組みが組み込まれたコンピュータは、全て半導体メモリを贅沢に使って実現されているコンピュータと実質上、動作は変わらないし、コストパフォーマンスという点では、むしろ優れているとも言えるのだから。 私は、「ヴァーチャル」という概念をさしあたってこのように捉えている。これは、情報技術の世界での用語の使われ方としっくりあてはまるように思えるし、「実質的な」という日常語の意味ともうまく馴染むのだ。 だがこれだけでは、単に言葉の意味を確認したというだけのことであって、「ヴァーチャル」という概念を理論的概念として昇華していく方向に踏み出せているとはとても言えない。もっと本質的に踏み込んだ把握が必要だ。 |
それで、冒頭に紹介した、ピエール・レヴィの『ヴァーチャルとは何か?』の哲学的展開に、注目してみようということになるのだろう。この著作、高い評価を受けているようなのだが、正直、率直な感想を言ってしまうと、私には、なんか響かなかった。もちろん、なるほどと思わせる記述もあちこちにあり、哲学史的な観点からの叙述をはじめ、学ばされることも豊富にあって、高く評価されてしかるべき著作だとは思う。少なくとも単純にリアルとヴァーチャルを対立させて論じるだけの平凡な議論を踏み越えているわけだし、「脱領土化」のような用語も興味深い。しかし、読んでいて、どこか問題意識のずれのようなものを感じ、すっきりとした読後感が持てなかった。 まず、引っかかるのは、「ヴァーチャル」なものの「アクチュアル」化という点が過大評価されていないかと思われる点だ。確かに、「ヴァーチャル」なものは、「アクチュアル」化するだろう。だが、「ヴァーチャル」でないものも、「アクチュアル」化する。 例えば、遺伝子工学に基いたヴァーチャルモデルに従って、遺伝子組み換えをする。「ヴァーチャル」なものが「アクチュアル」化する一例であろう。しかし、遺伝子の組み変わりという現象は、自然史の過程においても突然変異と淘汰などを通じて生起する。これも、歴然たる「アクチュアル」化だ。しかし、この場合は、「ヴァーチャル」なものが「アクチュアル」化したとはみなされない。どちらも、DNAの塩基配列の変更という一般的モデルに対する具体的現実化である。両者の違いは明白だ。そこに人間の「目的」や「意図」が介在しているかどうかである。 また、「ヴァーチャル」なものは、「アクチュアル」化において、その意図が裏切られたり、思いもよらぬ展開に巻き込まれたりする場合もあり、そうなるとそのヴァーチャル性は評価されなくなってしまう。「アクチュアリティの反逆」とでも言おうか、例えば、ヴァーチャルな経済モデルに基づいた金融商品は、それがアクチュアル化の過程で一人歩きしだすと、その経済モデルでは手に負えなくなってしまい破綻してしまうことは、めずらしくない。破綻した金融商品をヴァーチャルな、すなわち実効性のあるものと誰が評価するだろうか。つまり、「目的の実現」ができているかどうかということは、「ヴァーチャル」であることの基本要件とも言えるのだ。 レヴィは、「ヴァーチャル」の「汎化」という側面ばかりに着目していて、それは、それで大変重要な側面ではあるけれども、「目的性」という側面への着目が弱いように思える。 結果として、「ヴァーチャル」をメカニズムとして把握しきれていないのだ。「ヴァーチャル」は、そのメカニズムが解明されてこそ、普遍的に誰もが理論的展開を試みていける礎が築ける。 この著作は、結局のところ、(ハイパーテキストとか「脱領土化」した経済とかのような)「ヴァーチャル」の諸現象に対する、気取った「言葉」の当てはめだけで終わってはいないだろうか。スコラ的伝統哲学への配慮やポスト構造主義の諸概念に引きずられすぎていないか。 「リアル」、「ポシブル」、「ヴァーチャル」、「アクチュアル」という概念の関係を解明するというスタイルで、論を展開しているようだが、これだけでは、「ヴァーチャル」について、あまり建設的な理論展開は望めないと私は思う。ただ、「ポシブル」や「アクチュアル」という概念を絡ませたのはユニークで面白い。折角、この四つの概念がクローズアップされたので、ここで私自身の存在論的、認識論的観点からこれらの概念をどう捉えているかについて、簡単に述べておこう。私は、存在論的には、四次元主義を取るので、「リアル」なものとは、人間の認識や願望とは独立に、(少なくとも)四次元的に広がった時空存在そのもののことだと理解する。そして、それが、人間(たち)の体験の世界に具体的に展開されたものが、「アクチュアル」なものだ。人間はリアルなものに対して、抽象的な世界モデルを対応させ、条件次第で色々な可能性を内包する「ポシブル」なものの体系として世界把握をする。(※2-1) その上にさらに、自分たちの意図や目的を実現できる「ヴァーチャル」なものの創造的な展開活動を通じて、強くたくましく地球上に繁殖することに成功した。私のこの四つの概念に対する了解は、およそこんなところである。だが、このような形式の議論だけでは、「ヴァーチャル」をメカニズムとして解明することには踏み込めないだろう。(※2-2) |
それでは、どうのような形で立論していけば、「ヴァーチャル」をメカニズムとして解明していけるだろうか。 「ヴァーチャル」ということが、現代的な意味でクローズアップされた背景には、コンピュータ技術の発展と普及があることは明白なわけで、まず、コンピュータとは何かと問うことから始めるのは順当であろう。それも、幅の広い展望を持とうとするのであれば、出来る限り、原理的な形式で捉えるのが、望ましい。コンピュータサイエンスの世界では、コンピュータは、「オートマトン」として原理付けるのが定説である。これは、外部からの入力、外部への出力、並びに内部状態の保持、変遷、という観点でシステムを抽象把握する。チューリングマシン(※3-1)は、その代表例で、「オートマトン」は数理的な理論として確立し、言語システムの原理的解析などで多くの実績をあげている。 ただ、これは還元的な論理であり、この視点だけでは、思想としての豊かさが確保されえないまま、貧相な還元主義で終わってしまう可能性が高い。それを克服するには、具体性を状況に応じて付与していける構成型の論理手法が必要だ。そこで着目したのが、「オブジェクトモデル」である。これは、オブジェクト指向というソフトウェア開発手法での概念である。 コンピュータのプログラム、すなわちソフトウェアの開発は、当初は機械指向で、いかに貴重なハードウェア資源を節約しながら効率よく使えるかという問題意識で進められていたが、ハードウェアは低価格化が格段に進む一方で、ソフトウェア開発の需要とコストは膨れ上がり、いかに効率よくソフトウェアを生産するかが問われるようになってきた。その過程で、まず産業界に普及したのは、「構造化プログラミング」の考え方で、効率よりも、可読性、再利用性が重視されるようになった。だが、まだこの段階だと、「コンピュータという機械に、プログラムという命令セットを与えて動かす」、というパラダイムからは抜けきれていない。 オブジェクト指向は、プログラムで機械を動かすというよりも、(もちろん、最終的には基底部分でそういうことをするわけだが、設計思想としては、)サイバー空間に、ヴァーチャル(仮想的)な、何がしかのモデルを構築するということが、ソフトウェア開発の本分だと考える。この考え方は、決して新しくはなく、1970年に既にsmalltalkというプログラミング言語で実現されていたものだが、産業界に普及・定着するのは、メモリが贅沢に使えてCPUが格段に速くなった1990年代くらいからで、2009年の現在では、ほぼ、ソフトウェア開発の標準手法になっている。 ここに至り、もはや、ハードかソフトかなんて切り口は、システム設計の観点としては時代錯誤である。実際、ハードは仮想機械でソフトウェア化していたりするし、ファームウェアなるチップに焼きこまれたソフトや、ミドルウェアなるOS機構部分があったり、要するに、より基底部分の仕組みとより上層部の仕組みとが幾層にも連なる階層構造があって、それぞれの層での要件に合せて各種の仕組みが構築されていっているのである。 オブジェクト指向は、システムを高い抽象度で捉え、柔軟な設計を可能にする。すべての「もの」は、Objectという抽象クラス(分類概念)から派生したサブクラスと捉える。サブクラスは、包含関係でより上位に位置するクラスに対し、より具体的な属性・機能が与えられる形で定義される。例えて言えば、「哺乳類」というクラスにあれこれの属性、機能が付加されると「人間」というクラスが出来上がるような関係である。「人間」は、「哺乳類」を継承しているから、哺乳類クラスに共通の属性・機能をゼロから作らなくても、人間クラス特有の部分だけを構築すればいい。こうして開発の効率を高める。システム設計は、生物の分類系統図のようなクラスの体系を作ることで進められる。 クラスは、「普遍概念」である。メモリという肉を得て、実際にサイバー空間に放たれ活躍するのは、クラスをインスタンス化した個別のオブジェクトたちである。それらが、互いにメッセージを交わし、コラボレートする。このようなヴァーチャルな世界を構築することがシステムエンジニアの仕事なのである。 では、最初にあげた抽象概念「オートマトン」はどうなったかということになるが、実は、それぞれのオブジェクトが、オートマトンなのである。各オブジェクトは、内部に状態を保持し、外部との入出力をやりとりする過程でその内部状態を変遷させていく。生物の個体が細胞で形成されているように、より大きな括りのオブジェクトが構成成分たる幾多のオブジェクトで成り立っている場合もある。このより大きなオブジェクトもまた、ひとつのオートマトンである。オートマトンは再帰的な階層構造を持つ。 私は、この「オブジェクトモデル」を「ヴァーチャルとは何か」を考える上での基礎概念に据えたいと考えている。お気づきのことと思うが、この「オブジェクトモデル」は、その実体が、コンピュータ関連のものである必然性はもっていない。情報処理系すべてに普遍的に妥当するモデルなのである。これは、素材とかメディアとかとは独立に、情報処理系は互いにシミュレートできる可能性を秘めているということも意味している。 この地球で最初に発達した第一の情報処理系は遺伝物質を基礎に発達した生命系である。それを土台に、とりわけ脊椎動物で発達した脳神経系などが第二の情報処理系である。その最高の形態が人間の言語システムを土台にして築かれた文明社会であろう。そして、第三のものが、その文明発展の過程で出現したコンピュータを中心とした情報処理技術である。これらが三大情報処理系と言えるだろう。情報システムは、生命系や脳神経系のシミュレーションに向かい始め、その一方でDNAや神経細胞(のモデル)を利用した計算機の模索も始まっているが、「オブジェクトモデル」の抽象的普遍性の観点からすれば、それは、いたって自然な、むしろ必然的ともいえるような流れだとは言えないだろうか。 「シミュレーション」、これこそが重要なキーワードである。コンピュータとは何か?それはその始まりにおいては、文字通り、計算する機械であった。ほどなく、それは、計算もできる、汎用データ処理機と把握されるようになる。だが、オブジェクト指向の観点に立てば、計算もデータ処理も含めたありとあらゆる仕組みを、汎用的にシミュレートする機構のことだと把握できよう。コンピュータとは、汎用シミュレータなのである。 「ヴァーチャル」をメカニズムとして探求するには、まず、この「シミュレーション」とは何かについて考察を進める必要があると私は考える。 |
「シミュレーション」とは何かを問題にする前に、まず、情報表現とは何か、言い換えると、対象のデジタルな模写とは何かについて考えてみる。 例えば画像。これは、ピクセルと呼ばれる小さなドットを平面的に並べたものとして表現される。各ピクセルの位置は、縦横の座標で指定できる。ピクセルには色や明度の属性が与えられるわけだが、これは、例えばRGB(赤緑青)という色光の要素の混ざり具合を数値化して表現する。RGBそれぞれに256通りの強度を割り当てれば、表現できる色の組み合わせはその三乗の16,777,216通りになる。これだけの色の区別をすれば、それに当てはまらない色など、普通の人間には識別できないわけで、実質的にリアルな色彩を表現しているとみなしてフルカラーと呼ばれている。あとは、ドットの目をいかに細かくしていくかで、画像のリアルさは強化していける。 音のデジタル表現については、電気信号化した音波を短い時間間隔でサンプリングして、音の波長、振幅、波形に対応した数値データに変換してこれを保持し、再生時はそれを所定の速さで電圧の変化に変えてスピーカを鳴らすという方式がとられる。サンプリングの密度をきめ細かくすれば、いくらでもリアルな音に近づけていける。 動画は、映画のコマに相当する静止画の連続的なつながりで実現する。これも各コマの密度をある程度まで高めれば、残像効果のため人間の目にはリアルな動きとして映る。言い換えると、非常に高密度で録画した動画は、スローモーションにしなければ、その詳細を感知できない。 これらの記録情報は、ビットという情報単位で表現される。1ビットとは、(等しい確率とみなせる)2通りの状態のうち、いずれであるか、についての情報である。2ビットは、4通りの、3ビットは8通りの、百ビットは、2の百乗通りの状態のうち、いずれであるかを表している。情報量は、厳密には確率論に基づいて論じなければならないのだが、ここでは、各状態は等確率とみなすことにして、ごく簡単に情報量とは何かについて述べると、その情報は何通りのパターン中の一つとして位置づけられるのか、そのパターン数の規模を(2の対数を使って)表した数値が情報量、ビット値なのである。だから、きめの細かい画像は、きめの粗い画像では区別できないものを区別できるようにしているから、より多くのパターンの一つとして捉えることができるから情報量は多いと言えるわけだ。ビットの基本、それは状態を区別することにある。 動物は、鳴き声や仕草で、区別すべきものを区別して表現し行動する。人間は、それに加えて、音声や文字のような記号の構造的組み合わせ、すなわち言語を使用して、非常に多くのものを区別することに成功した。文字というのは、何通りの中の何かを示す記号である。だから、漢字はアルファベットに比べると必要とするビット数が多くなる。さらに、文字が組み合わされるとたくさんの場合の数に応じた単語が表現できる。それを所定の文法に基づいて組み合わせれば、さらに限りなく多くの場合の数に対応した表現を実現していける。情報表現の基本は区別なのだ。言い換えれば、区別の必要のないものは、情報として表現されない。橙は、赤と区別されるからこそ言葉として定着している。それに対し、紫外線は、波長の長短、かなり幅があるのに、紫外線という言葉しかない。人間の視覚によっては違いが区別できないからだ。しかし、リアルな世界は、認識主体側の事情とは独立に存在しているわけで、認識主体側が区別するしないにかかわらず、しかるべきものとして存在しているはずだ。だが、認識主体は、判断や行動がしやすいようにリアルな世界を取捨選択し情報加工して取り入れている。われわれは、近年の情報機器に頼る以前から、リアルなものに対して「実質的に」区別可能なものという形でしか接していない。その意味では、そもそも、認識とは、「ヴァーチャル」なものなのだ。 いや、さらに言えば、われわれの認識はそもそもヴァーチャルだからこそ、ヴァーチャルなものをリアルなものとして感じとることができるのだ。私は「リアルであること」と「リアルだと感じること」とは明確に区別すべきだと考えている。VRとは、ヴァーチャルなリアリティを作り出す技術とみなされているが、実は、(よりリアルに叙述すれば、)人間認識のパーマネントなヴァーチャリティにアーティフィシャルなヴァーチャリティをシンクロナイズさせる技術のことなのである。 さて、ここまでは、固定したデータについて語ってきた。動画にしても、映画のような確定した流れでしかない。これでは、シミュレーションとは言えない。シミュレーションがシミュレーションたりえるためには、条件に応じて、可変的な展開が可能になっている必要がある。 そこで、次に着目するのが、先ほどのオブジェクトモデルの「属性・機能」である。これはそのオブジェクトが所属するクラスを特徴づけるものである。オブジェクトをオートマトンとして捉えた場合、「属性」は、内部状態であり、「機能」は外部との入出力や、内部状態の変遷に関与するものである。オブジェクトの動的モデルというのは、ある段階での状態に対し、入出力条件を受けて、次の段階の内部状態を決定し、かつ外部にも次の段階の条件を発信していく過程の連続として描かれる。きめの細かな動きはこの「段階」と「段階」との時間間隔を縮めることで実現できる。(ここでCPUの処理速度が重要になる。) さて、ここで、「機能(function)」とは、「関数」とも訳される。オブジェクト指向のプログラミング言語では「メソッド(method)」とも呼ばれるが、ここでは「関数」という言葉を使うことにしよう。(※4-1) 関数とは、外部の入力、並びに内部の状態に対し、与えられた規則(アルゴリズム)に基づいて何がしかの情報加工をし、外部への出力、並びに内部の状態の変更を行うものである。入出力の対象、並びに内部に保持する情報は形式を問わない。数値やベクトルのような数学的対象はもちろん、顧客リストでも、音声や画像でも、あるいは自分の所属するクラスの別インスタンス(「人間クラス」の例で言えば、「他人」オブジェクト)でもいい。置かれた環境情報を書きためたコンテキストオブジェクトの場合もある。 この関数への入力情報のことをパラメータと呼ぶこともある。「パラメータ」という語には、任意に(調整的に)変更可能な、というニュアンスが含まれている。つまり、パラメータには自由に操作可能な対象、もしくは明確に人間が把握しえる対象が選ばれるわけで、それを関数に媒介させて、オブジェクトの振る舞い(=外部出力と内部状態の変更)を制御できる、という関係が成立している。実際、システムの設計にあたり、制御可能な情報を引き金に、ある関数の出力を促し、その出力が別の関数の入力となるような媒介的連鎖を通じて、システム全体をしかるべく制御していくという戦略をとる。 人間は、リアルな世界を把握する上でも、この関数モデルを適用することは頻繁にある。代表例が物理学で、数理的な関数の体系として構築されている。だが、究極的な意味でのリアルな世界に、実体的に関数なるものが存在しているのかという問題については、私は懐疑的な立場を捨てきれない。 それはさておき、パラメータで制御可能なシステムというのは、あれこれ別のパターンを試せるという構造を持つ。ここにポシビリティを内包しているという意味でのシステムのヴァーチャル性を見出せるかもしれない。あるいは、そこに「力」としてのヴァーチャル性を見出す人もいるかもしれない。リアルな人生は、一回こっきりだが、ヴァーチャルなゲームはリセットして、何度でも別の条件でやり直せるのだ。 ここで、当節の表題の「シミュレーションとは何か」という問題に立ち返ろう。シミュレーションとは、まず、対象を必要な精度の区別立てができる仕方で模写できる仕組みを用意する。そして、関数モデルの体系として、システムを構築し、パラメータ化された条件の設定をいろいろ変えることによって、対象のさまざまな形の具現化を試みること、これである。 これによって、リアルな体験以前に疑似体験をしたり、リアルなものの代用をしたり、さらには、リアルな世界にはありえないものを具現化(アクチュアル化)したりできるのだ。 そして、このシミュレーション技術こそが、ヴァーチャル世界を産み育て繁殖させていく原動力なのである。 |
ここまで、ヴァーチャリティをメカニズムとして捉え分析していくフレームワークとして、オートマトンの階層的集合というオブジェクトモデルを提示してきた。その機能は、関数が担っている。これに着目する形で、ヴァーチャリティの諸特性について考えてみよう。 (1)関数と環境 一般に、関数は、単独で機能するものではない。それは、自らを構成する別の関数を内に含んでいると同時に、自らも、より大きなシステムの構成部分の一つとして含まれていたり、他の関数とコラボレートしたりしながら機能している。また、その関数が正常に機能するには、それが可能な前提条件が、インフラストラクチャとして提供されていなくてはならない。これも階層構造を持っている。 関数は、自分自身と、入力情報さえあれば、出力が正常にできるかのような姿を主張している。だが実際には、関数を包み込む環境もまた一種の入力条件であるはずなのだが、それらは、通常、不変なものとみなされる。もし可変で、かつその変化が実質的に無視できないものであるならば、パラメータ化して明示的な入力条件とするだろう。 例えば、携帯電話。これは内部に膨大な関数を含んで構成されているそれ自体を一種の関数とみなすこともできる。所定のキー入力に対し、しかるべき出力(音声とか、メールとか、Webサイト画面とか)が出力される。だが、これらはそれを支えるインフラがなくては全く機能しない。だがこういった環境条件は関数の入力とは通常意識されない。 しかし、リアルな世界では、環境の不変性は必ずしも保証されるわけではなく、ときとして、ヴァーチャルなものがアクチュアリティの反逆を被るのも、それ故であろう。例えば、ネットワークサーバが大量アクセスでダウンしたときとか。携帯電話なんて、地下に入っただけでアクチュアリティの反逆をうける。 ヴァーチャルなものたちが生きて行けるためには、その機能(関数)の正常な動作を可能にするそれなりの環境が整っていなくてはならない。アーティフィシャルなヴァーチャリティのためには、アーティフィシャルな環境が不可欠である。携帯電話の機能は、手元にある小さな機械だけの機能ではない。電波やネットワークの基盤設備の機能でもある。さらには、それを設計、製造、メンテナンスし、流通させ、といった人間の活動、その材料を生産し、流通させる活動、もっと言えば、生産とのトレードオフで遂行されるパーマネントな環境の破壊(レアメタル採掘のための森林伐採等)、それらリアルな総体が支えている機能である。しかし多くの人は、手元の機械そのものの機能であるかのような感覚でとらえてしまう。端末フェティシズムの到来だ。 当初、空調設備付の専用ルームに設置されていたコンピュータは、机上や膝の上、手のひらサイズにまで小型化した。その小型・軽量・低価格化はさらに進み、モバイルからウェアラブルに進化している。さらには、人体に埋め込まれるところまで進もうとしている。IT機器はオフィスや家庭のいたるところに分散し、ネットワークで連携し、アーティフィシャルなヴァーチャリティの森はますます深くなっていく。その森に生まれ育つ住人が、その森こそが自然だと思うこともまた、自然なことなのかもしれない。 (2)入出力の進化と身体について ヴァーチャリティの森の最前線は、入出力機構の開発である。 当初、コンピュータへの入力はキーボード、あるいはパンチカードや紙テープなど機械寄りのものであったが、マウス、音声入力、OCR、モーションキャプチャなど、多様化し、人間の出力形態により都合よく適合できるように進化してきた。極めつけは、脳との直結であろう。人間の意思による筋肉への指令を感知し動くことのできる義手などはすでに実現されている。また、人間の能力では感知できない情報を感知し入力情報として取り込む技術も日進月歩である。一言で言えば、これらは、センサ技術である。センサ技術は人間とのコミュニケーション、人間の代用、人間を超える感性をサイバー空間にビット情報の形式でもたらし、諸々の関数への入力のフロントエンドとして活躍している。また、ネットワーク技術で空間的時間的制約を劇的に取り払った。 一方、出力については、当初は、印刷や画面表示での文字情報の出力形態に頼っていたのが、音声や画像、画像も動画へと進化し、特殊な映像装置で立体的な遠近感も再現できるようになった。味や匂いの出力装置も研究されている。ここでも、究極は、脳との直結で、視覚や触覚等に関わる神経に信号を渡して人間の感覚として、機械が取得した情報を表現する技術も実現されつつある。 人間の感覚をターゲットにした出力が出力のすべてではない。モーターや人工筋肉への出力を媒介にした、機械のリアルな空間内での運動も、情報出力の表現形態の大きな分野であり、ロボットなどは、そのような出力装置であるとみなすこともできるだろう。 ネットワーク技術は、出力についても、空間的時間的制約を大きく取り除いたわけで、遠隔地にある、自分の身体の代わりを務めるアンドロイド?のヴァーチャルな感覚を受けつつ、ヴァーチャルにそれを動かすようなことも研究されている。 ここに至り、人間の身体と非身体との区別が曖昧になり始めている。そもそも、道具は身体の延長であると言われてきた。ある種の操作(入力)に対して所定の効果(出力)を提供してくれるものであるから、道具は一種の関数とみなすこともできるかもしれない。一方で、身体の各部分も、意思に対し、道具ないし関数という役割を果たしているところがある。だから、「機能」という観点からは、身体と道具は連続している。しかし、これまでは、身体(の部位)は着脱できず、道具は、意識的な身体の運動を媒介にしてしか操作できないという自然的制約があって、身体と非身体との境界は明瞭であった。だから、道具は身体の延長と言っても、それは比喩的な意味でしかなかった。だが、脳神経系との直接的結合で、各種の道具が操作可能になってくると、一体どこまでが自分の身体なのか微妙になってくる。さらにサイボーグ技術が発達して、道具は身体の代用として、内部にも入り込んできて(医療として、この技術は確実に定着していくだろう)、さらに微妙な状況が進行していくことが考えられる。素材がタンパク質などでなければ身体と言えないのかどうか。 この議論をさらに突き詰めていくと、脳自体は、それも道具としての身体の一種と見るべきものなのか、身体に対峙しうる究極の砦としての主体性そのものとみなすのか、だが、そもそも主体性は脳だけで成立しうるものなのか、などといった問題にまで及ぶかもしれない。もとより、この種の問題は、本稿の範囲で扱いきれるものではないが、できれば、別の機会で、私なりに議論を試みてみたいと思っている。 (3)無駄の排除と冗長性 最後に、関数モデルは、無駄を省ける構造を本来的に持っているというという点にも注目しておきたい。関数は、結果がすべてだ。与えられた入力に対応して、期待される出力を外部、並びに内部状態にもたらすことが出来さえすれば、そのプロセスがどうあるかは、関数の仕様という点においては関係がない。もちろん、プロセスはより効率よく経済的な方がいいわけだから、所定の仕様を実現するに際し、無駄なプロセスは排除するように進む。例えば、原稿という入力に対して、印刷された新聞や雑誌という出力が求められている自動化システムにおいて、活字を組むという工程は、絶対に必要なわけではない。活字を組むようなロボットなど開発をしなくても、まったく別のやり方で印刷工程そのものを変えてしまっても印刷物はアウトプットされる。このように、ヴァーチャルなものの関数モデルは、合理化追求の基礎を提供する。 一方、リアルな世界は、そもそも、意識的に限定された目的に規定されて成立しているわけではないので、一般に、冗長である。つまり、無駄が多い。例えば、生命の遺伝情報は、現在の形質(生体構造や機能)に対応しているのは、ごく一部で、大部分は表現されていない言わば無駄な情報である。これが、全細胞にコピーされて保持されるという、大変冗長な情報の持ち方をしている。しかし、この無駄なあり方こそが、環境の変化や危機に対して柔軟な適応を可能にしている。無駄とは、ゆとりなのだ。 人工的に形成されたヴァーチャルな世界は、実質的な機能実現がなされれば、それでよいという観点で成立しているから、無駄、すなわちゆとりが少ない世界だと言えるだろう。だが、世界のもろもろの運動は、人間の意図を超えた状況を創発しながら展開されていく。無駄の少なさは、その過程で、自らの脆さを体験していくことにもなるだろう。 情報技術の世界では、そこを踏まえて、あえて冗長性を持たせていく手法も、さまざまなレベルで追求され、効率性と柔軟性とのバランスが模索されている。 さらには、先に述べた、冗長な生命系のありかたそのものを真似てしまおうという研究も進められている。人工生命と呼ばれる情報技術は、「セル・オートマトン」や「遺伝的アルゴリズム」で、理論的基礎付けもされ、多くのシミュレーション研究が蓄積されている。この分野では、もはや、機械は、設計・製造されるものから、育成、培養、淘汰による進化によって生まれてくるものになろうとしている。人間の意志は、淘汰の条件を調整するといった程度の関わり方に限定される。このように「発生」した機械は、人間にとってわかりやすく整った論理構造を必ずしも持ってはいなく、人知を超えた造りになってしまっている。だが、鍛え抜かれて力強く柔軟な活躍をする可能性を秘めているのだ。 |
以上、ヴァーチャルというものについて、本稿は、「オートマトン」、「オブジェクトモデル」、「関数」という基礎概念で、分析していくことを試みた。そこから、メカニズムとして、ヴァーチャリティの持つ、実質性、仮想性、力能を導き出し、かつ、内包された、限界性や可能性を分析できないかという提案である。 下手に、いわゆる「哲学概念」を押し付けるよりも、情報技術の世界で充分にこなれている概念を使って考察する方が、哲学的に得られるものは多くなるのでは、と私は思うのだ。 ヴァーチャルな世界は、今後、われわれの予想をはるかに凌ぐ勢いで進化していきそうである。そして、哲学的にも深刻な問題を、突きつけてきている。哲学が、現実の進行にただ振り回され、うろたえているだけでは、情けない。内在的な批判力を鍛えていかねばなるまい。本稿の執筆はそんな思いで試みたのだが、荒削りで、もっと洗練させねばならないだろうと思う。 |
(※1-1) ピエール・レヴィ『ヴァーチャルとは何か? デジタル時代の存在論をめぐって』(Pierre Levi “QU’EST-CE QUE LE VIRTUEL” 1995) 米山優 監訳 昭和堂 2006年 (※1-2) ちなみに、手元にある、ジーニアス英和大辞典で”virtual”を引くと、以下のように出ていた。 virtual [初14c;中世ラテン語 virtualis(力のある,効力のある).「実際に[事実上は]」は17cから.cf. virtue] 1[限定](名目上はそうではないが)実質上の、事実上の、実際上の 2[光学]虚の、仮の(←→real) 3[物理]〈粒子が〉仮の、仮想の. 4[コンピュータ]仮想の 5[機械]仮想の 6《まれ》効力[効果]のある. レヴィは、「ヴァーチャルという言葉は、中世のラテン語のvirtualisウィルトゥアリスに由来しており、virtualisという言葉自体もvirtusウィルトゥス、すなわち、力、潜勢態から来ている。」と紹介している。(前掲書p2) 同様のことは、フィリップ・ケオー(Philippe Quèau)の『ヴァーチャルという思想 (力と惑わし)』(西垣通監修、嶋崎正樹訳 NTT出版1997年)でも指摘されている。 「スコラ哲学においては、ヴァーチャルとは可能的に存在するものであって、現実に存在するものではない。ヴァーチャルなものは、アクチュアル化されることを目指しているが、それは実効的な、あるいは形相的な具体化という状態に置かれることはない。木は、ヴァーチャル的には種子の内にある。哲学的に厳密に言うと、ヴァーチャルなものは、リアルなものではなくアクチュアルなものに対置される。ヴァーチャル性とアクチュアル性は、単に二つの異なった存在様式にすぎない」(前掲書p2) (※2-1) possibility(可能性)は、人間の思考の産物の中にのみあり、realな世界には、存在しないと言えるかどうかは、微妙だ。確かに、私の四次元主義的存在論からすれば、(少なくともこの宇宙については、)過去から未来にわたって完全に決定された存在があるだけだから、その意味で実体的な「可能性」なるものが活躍して世界を創造していくという論理は成立しない。しかし、そこにある種の可能性が多いのか少ないのかについて(人間等に)判断される状況の有無そのものについては、realな世界の属性として捉えるべきだろうと考えている。 (※2-2) (※1-2)で、挙げた、フィリップ・ケオーの『ヴァーチャルという思想 (力と惑わし)』についても、やはり、ヴァーチャルなものについての、表層的な哲学的言辞の当てはめばかりが目立って、結局のところ「ヴァーチャル」とは何かについては、さっぱりわからない書物だと思った。ヴァーチャルなもののあれこれの紹介は、例えて言えば、生命とは何かを探るために、密林を探検するようなものだ。それはそれとして価値はあるとしてもそれだけでは、細胞や遺伝子の仕組みなどには迫れないだろう。「ヴァーチャル」のメカニズムには迫れていないのだ。後半の、ヴァーチャル芸術論のアフォリズムは、作者の思いつきメモの一種のコラージュ的作品として鑑賞すべきものなのか。 (※3-1) (Turing Machine)コンピュータの生みの親であるアラン・チューリング(Alan Mathison Turing,(1912-1954))の考えた、計算機を原理的に考察するための仮想の機械。無限に長いテープ状の記憶装置と読み取りヘッド、内部状態を保持するメモリ、という単純な構造を持つ。計算機で原理上解ける問題はチューリングマシンで解ける問題と同等であることが証明されている。ただし、実際の計算機は、効率を高めるため、複雑な構造になっている。 (※4-1) プログラムの機能を実現するためのロジックが記述される部分は、プログラム言語などによって様々な呼ばれ方がされる。procedure とか、routine とか、function とか、method とか。Javaなどのオブジェクト指向言語では、method が一般的だが、Lisp や、C言語では、function(関数)が一般的である。本稿では、オブジェクトの「機能」を担っている部分という意味で、あえてfunction(関数)という用語を使って統一的に叙述することにした。ここで、関数への明示的な入力情報はパラメータ(引数)と呼ばれ、出力情報は、関数自身の戻り値として返される。ただし、出力情報を引数に設定したり、関数の外部に定義された変数の値を直接書き換えたりする形式で渡す場合もある。プログラムロジック自体は、データ構造とアルゴリズムによって実現される。 |