(不完全な言語の世界ゆえにこそ人間存在の意義も)
科学理論の根底を支える数学という学問もまた、特殊な記号類(ある意味でそれらは記述用語の「漢字」にも相当する)を用いて展開される一種の言語の世界であり、それゆえに、絶対不変の存在ではないという話をしてきました。実際、そうだからこそ、その世界には常に様々な難題が待ち受けてもいるのです。「数学には必ず正解があるから」などとよく言われますが、それは大変な誤解で、一歩専門的数学の世界に踏み込んだ途端に、生涯をかけても容易には答えの見つからない問題、答えらしきものが得られてもそれが現実には何を意味しているのか皆目不明な事態、さらには、絶対的な正解そのものが存在しないらしいという状況などが次々と立ち現れてくるのです。
たとえば、一般には数直線は連続しているものだと考えられがちなのですが、実のところ話はそう容易ではありません。整数、分数、無理数などを全て動員すれば数直線は完全に埋まるのではないかと思われるかもしれませんが、厳密に考察を進めていくと決してそうではないのです。それゆえに超限数などといった一般の人々にとっては極めて難解な数の定義などが創出されたりしたわけですが、それらをもってしても問題を完全解決することはできません。数直線に生じる不連続点を埋めていくにはさらに高度な数の新発見や新定義が必要となってくるのですが、現実にそれを行うのはどんな天才数学者の能力をもってしても困難至極なうえに、この問題にはきりがないことも知られています。
なお、この数直線の問題は、「無限」という概念の世界に「濃度」という新たな付帯概念を導入し、「無限」にも様々な段階があることを論じていく契機にもなりました。難しい話なのでごく表面的な事例を簡単に述べるだけに留めますが、見方によってはなかなかに興味深い問題なのです。役に立つか否かとかいった次元の議論を超越した世界の話なので、どうでもよいことのようにも思われるのですが、人間の知的好奇心や思考の深さを窺い知るにはそれなりに有意義な事例ではあるのかもしれません。
まず数直線上における整数列を考えてみましょう。……-3・-2・-1・0・1・2・3……と続くこの整数列の要素の数は無限大です。次にこれらの整数列の間を埋める「b/a」のような分数表記の数列を考えると、それを構成する要素の個数はやはり無限大です。続いて、分数(有理数)表記の数では埋めることのできないn乗根のような無理数表記の数列を考えてみると、これまたその要素の個数は無限大です。しかしながら、整数列、分数列、無理数列それぞれの要素の個数を比較すると、整数列のそれより分数列のそのほうがずっと多く、さらに、分数列のそれよりも無理数列のそのほうがさらに多くなっています。同じ無限大個でもそこに包含される要素の密集度(個数)に違いがあるので、それを無限集合における「濃度の相違」という新概念で把握しようとしたわけなのです。
ともかくも、整数、分数、無理数、さらには超限数といった数の定義やその奥に潜む無限集合の濃度の相違にまで及ぶ人間の知的考察力とは大変なもので、現在の人工知能が自動的にそのような数を定義したり、無限濃度の概念を自ら発想したりすることなど到底不可能だと言うしかありません。表現を変えて端的に述べれば、各種のゲームにおいて人工知能が人間に勝ることはできても、新たなゲームそのものを自ら考案することは容易ではないのです。それはまた、与えられた宇宙科学研究分野の高度な微分方程式を人間には不可能な速度で解くことはできても、コンピュータ自らが研究対象を設定しその事象解明に不可欠な微分方程式を自主的に立てることなどはできない状況にも通じる話です。
(IT用言語の抱える問題点)
数学の言語性について述べてきましたが、数学的記号言語とも相関性をもつ重要な記号言語がいまひとつ存在しています。それが、コンピュータの操作にとって不可欠なプログラム用言語であることは言うまでもありません。先端科学研究に貢献するスーパーコンピュータや当世流行の人工知能、さらには一般に普及しているパソコンやスマートフォンなどを機能させるにはソフトウエアが必要なのですが、それを記述するのがプログラム用言語と呼ばれる一種の記号言語なのです。初期のコンピュータ用プログラム言語は0と1を用いた2進法表記に直接依存するシンプルなものでした。しかし、急速にコンピュータが発達した現在では複雑な階層性を持つ高度な記号言語が開発され、一見しただけではその根底基盤が2進法数列群によって構築されているとはわからないレベルに到達しています。
しかも、そのプログラム記述用の記号言語は分岐発展を遂げ、今では様々な種類のものが存在しており、目的に応じた使い分けもなされています。その状況は、人類史上において、時代の推移とともに多種多様な言語が誕生していった過程と類似しているのです。そんな訳ですから、ある言語で記述されたプログラムを他の言語で記述する必要が生じた場合には、英語を日本語に翻訳するような作業が欠かせなくなってきます。もちろん、その場合には、変換不能(すなわち翻訳不能)な事態や、誤変換(すなわち誤訳)などの事態も生じざるを得ません。それが言語の宿命であり、また言語の本質でもあるからです。
パソコン類もスマートフォーン類も、さらにはスーパーコンピュータも人工知能も、結局は人間が記号言語を用いて記述したプログラムに従って作動しているわけで、人間のように自らの意識や思考、自主的な目的性などをもち、自立的に機能しているわけではありません。そして、その本質が言語であるかぎり、どこかに不完全さを内在したままで時流のなかで変遷し変容していかざるをえないのです。コンピュータシステムのハッキングやウイルス感染が社会問題になっていますが、コンピュータ用プログラムが記号言語による記述に基づいている以上、それらを完全に防止する手立てはありません。根幹プログラムの制作者と同等、あるいはそれ以上の能力を持つ人物にとっては、いくらセキュリティを強化してみたところで、ハッキング(データの盗視や書き換え)もウイルス(正規のプログラムを変更したり機能不全にしたりする特殊プログラム)挿入も可能だからです。比喩的に述べるなら、それは日本語のなかに新奇な造語や諸々の外来語が紛れこんで一体化し、日本語を大きく変容させたり機能不全にしてしまったりすることにも相当しています。
さらにまた、ある意味でそれらよりも手が悪いのは、もともと搭載されているコンピュータ用ソフトウエア(プログラム用言語で記述された諸機能制御体系)や演算処理機能専用チップのプログラム中に、その開発者自身にしかわからないデータ盗視やデータ破壊用の特殊コードが組み込まれている場合です。最早常態化しているとも思われるこの「トロイの木馬」と称される高度な手口を発見防止することは、まず不可能だと言えるでしょう。