まったり アイマス2

アイドルマスター2 超ライトユーザーのプレイ日記

446. 人工知能の衝撃

2013年08月17日 | 日記
 望月杏奈の所でちょっとした怪談風の記述をしてしまったので、その背景を説明してみます。こういうのはちゃんと言っておかないと無責任だし、私のような年代の者が言っておくべきでしょう。

 時は1950年代にさかのぼります。電子計算機が真空管(演算)と磁気ドラム等(記憶)によってやっと実用化されたばかりの頃。その頃にはC言語などは存在せず、機械語と呼ばれるビットパターンで直接計算機を動作させていました。この機械語という階層は今でも採用されていて、ここがハードウェアとソフトウェアの境界になっています。CPUのマニュアルを取り寄せるとコンピュータを操縦するための命令表が載っていて、この命令に対応するビットパターンが機械語です。
 しかし、機械語での開発はあまりに効率が悪く、科学者の思考を妨げたので、最初の計算機言語FORTRAN(フォートラン)が莫大な費用をかけて開発されました。科学者は数式をタイプするだけで計算機が計算するようになったのです。FORTRANは今ではC言語に置き換わりましたけど、数式が機械語に翻訳されるのは今でも同じ。そして、その翻訳をするプログラムはコンパイラと呼ばれています。

 初期のFORTRANコンパイラが吐き出す機械語は効率が悪く、アセンブラと呼ばれる機械語に直接対応する記述に勝てるわけない、と計算機技術者には評判が良くなかったのですけど、メモリと演算速度が増強されるとそんなことは誰も気にしなくなりました。そして、競争が始まり、コンパイラはどんどん高度になって行きます。
 コンパイラというプログラムは複雑ではあるものの、個人が書けないほどではありません。たしかに、単に命令を置き換えるだけでは効率が悪いので、さまざまなチューニングを施すことになります。初期の計算機科学はここに重点が置かれました。

 コンパイラが吐き出す機械語コード(命令の列)はどんどん効率が良くなり、そしてある日、開発者自身が見ても解釈が困難な効率の良いコードが出てきます。コンパイラ(機械)がアセンブラ(人間)を完全に凌駕してしまったのです。
 この経験は非常に強烈で、まるで計算機が自律して進化をし始めたみたいにも見えます。コンパイラは数学記号などの記号で書かれた文書を、機械語の文書に置き換える記号処理と呼ばれる領域に属し、人間が知識を扱う行動に似ているので、関連する分野を含めて人工知能と呼ばれるようになりました。

 タネを明かすと、C言語などで書かれるソースコード段階で効率よく書くのは、ある程度の記号処理の知識があれば困難ではありません。私のようにいいかげん古狸になって来ますと、コンパイラが解釈しやすい記述をして、出てくるアセンブラコードがそのとおりに解釈していると、にやっと笑ったりします。その程度の話です。
 でも、学校で習いたての律儀なC言語のプログラムが効率の良いアセンブラコードに翻訳されたら、それはそれで衝撃的に見えると思います。単にパターンのチェックで、効率の良い同等の記述が引っ張り出されただけなのですけどね。

 さて、お話はここで終わり。どう思われたでしょうか。なあんだそうだったのか、と思った方が多いと思います。しかし、私はこの領域にロマンを感じます。たとえば、新世代の家庭用ゲーム機PS4の作りは、今のパソコンを超えている部分があり、その操縦法には未知の部分があります。もちろんC言語で書けば効率の良い動作をさせることはできて、今の段階ではそうやってあの素晴らしい映像を出しています。
 でも、もっと分かりやすい記述をコンピュータが解釈してくれたら素敵だと思いませんか?。思わない…、どうも失礼しました。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 445. ミリオンライブのキャラ... | トップ | 447. 天空橋朋花(ミリオンラ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

日記」カテゴリの最新記事