2024年からの展望(2):責任あるAIってなんぞや?

2024.07.01


電卓からスーパーコンピュータに至るまでのすべてのコンピュータの中枢にある「CPU(中央演算装置)=人間の大脳に相当する」が理解できるのは、「0と1」からなる2進法の「機械語」だけです。
ゆえに、コンピュータに指示を与えるソフトウェアは、最終的に「“0と1”の機械語」に翻訳されてCPUに与えられます。
このアーキテクチャ(動作原理)は、世界最初のコンピュータと言われる「ENIAC(エニアック)」から現在のスーパーコンピュータ「富岳」に至るまで変わっていません。
 
以下の解説は少し長くなりますので、分かっておられる方は読み飛ばしてください。
最初のプログラムは、本当に「0と1」だけで組んでいましたが、あまりにも大変なので、「2の4乗」である16桁のコードでプログラムを組むようになりました。
しかし「0~9」の10種類の数字では足らないので、「10=A」、「11=B」・・・「15=F」と、10以上の数字はアルファベットで表現し、この16種類の数字の組み合わせでプログラムを組むようになりました。
これを「16進コード」と呼びます。
この16進コードを「0と1」の「2進法の機械語」に翻訳することを「compile(コンパイル)」と呼び、この翻訳を実行するプログラムを「compiler(コンパイラ)」と言います。
こうしてして「0と1」の機械語になった一連の命令がハードを動かすわけです。
実際、NECのSE時代、速度が要求されるプログラムは、この16進コードで組んでいました。
その結果、我々は、この16進コードを読む、書くだけでなく、口でしゃべる、聞き取ることまで出来るようになっていました。
つまり、自分の脳をコンピュータと同じ構造にすることが出来たというわけです。
実際、16進コードで夢を見た記憶がありますから、本当に脳がそうなっていたのですね。
 
この「2の4乗」コードのマシンが電卓です。
16種類あれば、数字と計算記号を表せます。
しかし、文字は無理なので、「2の8乗」にして256種類の表現ができるようにしたのが、初期のパソコンでした。
さらに、漢字を扱うため「2の16乗(これを2バイトといいます)」のコード体系が生まれました。
今でも、このコード体系は変わっていません。
 
JIS第1水準と呼ばれる当用漢字は全部で2965字ありますが、我々はこの半分くらいは暗記していました。
ゆえに、同僚とはこの16進コードで会話することもありましたから、他部署の社員からは「あいつらは宇宙人だ」と言われていました。
たしかに、16進コードで会話している人間なんて、ロボットか宇宙人ですから、気味が悪い連中と思われるのは当然ですね。
 
さすがに、この16進コードを使える人間は限られるし、生産性が上がらないので、さらに命令単位に言語化した「高級言語」と言われるプログラム言語が開発されました。
最初は「アセンブラ言語」と呼ばれる「move(動け)」とか「open(開け)」とかの原始的な言語でしたが、やがてFORTRAN(フォートラン)とかCOBOL(コボル)といった人間の言葉に近い高級言語が生まれ、普及していきました。
さらに、アセンブラ言語と高級言語の両方の機能を持つ言語である「C」や「PL/1」といった言語が生まれ、幅広い用途のプログラムが組めるようになりました。
 
また、大量のデータを効率よく扱うデータベース言語として「D-BASE」、「R-BASE」、「SQL」、「DB-MAGIC」といった言語が開発され、プログラム開発の生産性は飛躍的に向上して現在に至っているわけです。
 
こうしたプログラム言語の歴史を解説したのは、AIといえどもプログラム言語で記述されるので、根本の原理は変わらないからです。
ゆえに、私はAIを「人工知能」とは言わずに「AI-PG(プログラム)」と呼んでいます。
次回から、こうしたAIプログラムのことを解説していきます。