パソコン AX他 月刊ASCII 1987年10月号2)ASCII EXPRESS( [月刊アスキー廃棄(スクラップ)]
ASCII EXPRESS からパソコン関係の記事をスクラップする。
IBM PC/ATコンパチの統一日本語仕様「AX」が固まる 来春にも各社から発売か
【ASCII1987(10)b02AXキーボード_W768.jpg】
NECのPC-9801に対抗するためこのAXパソコンが出たのだがPC-9801には敵わなかった。その後、DOS/V機が登場して日本のパソコン市場を席巻した。
松下電器 PANACOM M500/700
互換機はPC-9801だけではなく、FMRにもあった。すっかり忘れていたけど。
存在意義がわからない。
月産5000台はどう評価すればよいのか。多いのか?
富士通がFMRシリーズに80386マシンなどを投入
40Mbytes HDDを内蔵して100万円を切る
本家のFMRは80386マシンを発表した。100万円を切るのがセールスポイントとは34年前、みんな金持ちだったのか。1987年だからバブル景気が始まったころか。
日立がラップトップ型のB16LXを発売
日立もパソコン事業から撤退したのだが、34年前そんなことは想像できなった。
リコーがラップトップの「Mr.マイツールLX」を発売
月産1500台を予定していた。
34年前は各社パソコンを作っていた。
ユニバック,パソコン機能搭載のワープロを発売
日本ユニバック情報サービスって会社全く知らなかった。現「日本ユニシス株式会社」でいいのか?
米空軍向けゼニス社パソコンは三洋のOEM製品
34年前は三洋もパソコンを作り米国で商売ができていた。
IBM,PS/2に2機種を追加
CPUの情報すらない。これで記事になっていたのが不思議だ。
IBM PC/ATコンパチの統一日本語仕様「AX」が固まる 来春にも各社から発売か
【ASCII1987(10)b02AXキーボード_W768.jpg】
NECのPC-9801に対抗するためこのAXパソコンが出たのだがPC-9801には敵わなかった。その後、DOS/V機が登場して日本のパソコン市場を席巻した。
松下電器 PANACOM M500/700
互換機はPC-9801だけではなく、FMRにもあった。すっかり忘れていたけど。
存在意義がわからない。
月産5000台はどう評価すればよいのか。多いのか?
富士通がFMRシリーズに80386マシンなどを投入
40Mbytes HDDを内蔵して100万円を切る
本家のFMRは80386マシンを発表した。100万円を切るのがセールスポイントとは34年前、みんな金持ちだったのか。1987年だからバブル景気が始まったころか。
日立がラップトップ型のB16LXを発売
日立もパソコン事業から撤退したのだが、34年前そんなことは想像できなった。
リコーがラップトップの「Mr.マイツールLX」を発売
月産1500台を予定していた。
34年前は各社パソコンを作っていた。
ユニバック,パソコン機能搭載のワープロを発売
日本ユニバック情報サービスって会社全く知らなかった。現「日本ユニシス株式会社」でいいのか?
米空軍向けゼニス社パソコンは三洋のOEM製品
34年前は三洋もパソコンを作り米国で商売ができていた。
IBM,PS/2に2機種を追加
CPUの情報すらない。これで記事になっていたのが不思議だ。
パソコン広告(月刊ASCII 1987年10月号1) [月刊アスキー廃棄(スクラップ)]
もう一度読み返し、スクラップする。
裏表紙の 荻野目慶子 が小さくなった。機械はFMRシリーズで新たにトランスポータブルのFMR-30BXと32ビット機のFMR-70HDが登場した。
10月号の広告から、まず表紙見返し。
前号のほぼ使いまわし。
PC-88VAの広告にはイメージキャラクターに斉藤由貴を起用している。この号は夏の装いっぽい。
シャープのMZ-2861
シャープのX68000
富士通のFM77AV40は前号の使いまわし。
富士通のFMRシリーズのイメージキャラクターは荻野目慶子。
SONYのNEWS
横河ヒューレットパッカードのVerctra-Dは前号の使いまわし。
キヤノンではなくAppleコンピュータによるMacの広告はHyperCardだった。使ったことがなく、なんだかよくわからなかったがHyperCardとは凄いソフトだったらしい。
右頁がエプソンのPC-286の広告。控えめな広告であった。
左頁がパナファコムのC-250EX。「パナファコム(株)は、4月1日、株式会社PFUとしてスタートしました。」とのこと。
(株)デジタルアーツのフルカラーフレームバッファ CGフレーム<98>は16,777,216色表示できるが定価168,000円もした。
左頁がロータス1-2-3の広告
一太郎の広告は毎月オシャレだった。
花子の広告もオシャレだ。
日本アシュトンテイトのdBASE II PLUSの広告は見開き4ページと力が入っていた。
日本アシュトンテイトのFRAME WORK IIの広告は見開き4ページと力が入っていた。だがFRAMEというソフト記憶にない。
この雑誌はソフトバンクの雑誌。「80年代最高の成功者『ビル・ゲイツ』」に惹かれてスクラップした。
裏表紙裏のFUJI FILMのフロッピーディスクの広告
ログインの広告。この号もつまらないマンガだ。
裏表紙の 荻野目慶子 が小さくなった。機械はFMRシリーズで新たにトランスポータブルのFMR-30BXと32ビット機のFMR-70HDが登場した。
10月号の広告から、まず表紙見返し。
前号のほぼ使いまわし。
PC-88VAの広告にはイメージキャラクターに斉藤由貴を起用している。この号は夏の装いっぽい。
シャープのMZ-2861
シャープのX68000
富士通のFM77AV40は前号の使いまわし。
富士通のFMRシリーズのイメージキャラクターは荻野目慶子。
SONYのNEWS
横河ヒューレットパッカードのVerctra-Dは前号の使いまわし。
キヤノンではなくAppleコンピュータによるMacの広告はHyperCardだった。使ったことがなく、なんだかよくわからなかったがHyperCardとは凄いソフトだったらしい。
右頁がエプソンのPC-286の広告。控えめな広告であった。
左頁がパナファコムのC-250EX。「パナファコム(株)は、4月1日、株式会社PFUとしてスタートしました。」とのこと。
(株)デジタルアーツのフルカラーフレームバッファ CGフレーム<98>は16,777,216色表示できるが定価168,000円もした。
左頁がロータス1-2-3の広告
一太郎の広告は毎月オシャレだった。
花子の広告もオシャレだ。
日本アシュトンテイトのdBASE II PLUSの広告は見開き4ページと力が入っていた。
日本アシュトンテイトのFRAME WORK IIの広告は見開き4ページと力が入っていた。だがFRAMEというソフト記憶にない。
この雑誌はソフトバンクの雑誌。「80年代最高の成功者『ビル・ゲイツ』」に惹かれてスクラップした。
裏表紙裏のFUJI FILMのフロッピーディスクの広告
ログインの広告。この号もつまらないマンガだ。
次世代ワープロ(月刊ASCII 1987年9月号10) [月刊アスキー廃棄(スクラップ)]
今では考えらないだろうが34年前はワープロの特集ができた。
以下ワープロ専用機の写真をスクラップする。
価格198,000円
価格158,000円
価格188,000円
価格118,000円
価格100,000円
価格248,000円
価格198,000円
価格198,000円
価格158,000円
価格198,000円
パソコン(PC-9801シリーズ)より安いではないか。34年前はパソコンを買うよりワープロ専用機とファミコンを買った方がよっぽどコスパが良かった。パソコンでゲームとかやことも多かったけどファミコンのゲームの方がよっぽど楽しめたはずだ。
ワープロ専用機のまとめをスクラップする。
記事の最後の部分をスクラップする。
コラム記事の富士通、神田氏へのインタビュー記事をスクラップする。
こうして読んでみるとこのインタビューはそんなに面白いものでもなかった。多分入力を改善するとすべてが良くなるというのは幻想だったのだろう。今現在スマホでフリック入力する若者をみるとよくわかる。彼らはパソコンを使っているサラリーマンよりよっぽど速く文書を作成できるのではないか。記者会見で記者がノートパソコンをパコパコしている絵を見るが、若者がスマホで入力しても同様のことができるのではないか。ワープロソフトはたかが1つのアプリであって、他のアプリと比べそれほど重要なものではなく、同程度の重要度だと思う。
このASCIIの記事は、違和感ばかり残った記事だった。34年前でもこれには同意はできなかったはずだ。
なんとも、時代を感じる記事だ。34年前はこんなに真剣にワープロについて考察していた。それは、ワープロが発展途上の製品だったからだ。本特集の流れ
本特集では,我々にとって身近な「パ-ソナルコンピュータ用ワードプロセッサソフトウェア」,「普及型ワードプロセッサ」を中心に現状を把握することから始めたい.これは,一般に入手できる商品がどの程度の機能を持っているのか,といったことを明らかにするためである.そして,次に本誌読者がもっとも親しんでいるともいえる日本語入力FPに移る.ここではATOK6,VJE-3,NECRENなど,日本語入力FPのアプリケーションとの連動の可能性について考える.そして最後に,次世代の日本語ワードプロセッサについて考察する.
日本語ワードプロセッサは,今後,単なる文字入力装置から,真の意味での日-本語処理装置となるべきものである.現在の日本語ワードプロセッサの現状を認識し,こうした方向性を多少でも感じとっていただければ,と考えている.
操作性の問題で常々不思議に感じていることがある.マウスやキーボードの大きさである.日本の自衛隊は米国と共同行動をとるため,同じ鉄砲を使っている.それでも火薬の量は70%前後に押さえているという.日本人の体格に合せているわけだ。ところがキーボードやマウスについては,ぜんぜんこの種の配慮がなされていない.米国製品も日本製品もマウス自身の長さは約10cm.キーボードでいえば,QWERTYのQからYまでの長さはどちらも約18.5cm.手のひらのサイズが,たとえば平均で20%小さいのなら,20%小さい道具を試作してみたらどうか.おそらくわれわれにとってより使いやすい道具になるだろう.マウスは指先で利用してこそ細かい操作ができる.10cmのマウスでは,たなごころにつっかえてしまって動きが狭くなる.平均身長の日本人男性が,ホームポジションに指を置いて,キーボードの端から端まで指が届かないのである.ハードメーカーの技術者は何を考えているのか、なぜこんなところだけ互換性があるのか、理解に苦しむ.キーボードとマウスの大きさでこれほど強い意見を書いているのが不思議だ。34年前はそんなに不満だったのか。メーカーは「理解に苦しむ」とまで言われていた。34年後の現在はキーボードもマウスも小さいのが販売されている。これは日本人に合わせてのことではないと思われる。ノートパソコンに接続して使うとか、パソコンが小型化して机を広く使うためではないだろうか。
バグの問題だけではない.データを守るという姿勢自体が希薄だ予備用複製文書ファイルをだまっていても作成するという機能が一部のソフトにはある.ただしあくまでも少数派だ。特殊なケースだろうが,編集出版関係のように媒体におさめられたデータがそのまま商品であるという場合には,ファイル単位の複製と同時にフロッピー単位での複製まで自動で作成する機能がほしい.ワープロを終了する前につねに別フロッピーに複製をとらせる.販売管理や財務管理などのソフトでは,普通に見られるが,ワープロソフトでは皆無である.現在,5インチ2HDのフロッピーが,銘柄品でも300円前後で購入できるようになってきている.フロッピーはふんだんに利用できる.データを保護したいという慎重派も増えているはずだ.われらの気持も少しはおもんばかっていただきたい.これはワープロソフトの話だが、「5インチ2HDのフロッピーが,銘柄品でも300円前後で購入できる」という点に時代を感じる。バックアップくらい自分でしろよと思うのだけれど、バックアップがそんなにめんどうだったか?文書作成時にバージョン管理してなかったのか?「文書01」を作成後に追加、編集等して保存するときは「文書02」にしなかったのか?以前の文書の方が良かったとか、現在の文書では削除してした前の文書の記述をやっぱり使いたいとかなかったのか。この記事はとにかく文句を言いたいという姿勢で書かれた文書だという印象を持った。
ファイルを削除するなどの重要決定時の操作確認については,かなり多くの製品が考慮し始めた.ただしこれもただY/Nの関所をもうければいいというものではない。多少の工夫はほしい.たとえば,Multiplanでは呼び出したファイルが,なんの手も加わっていないものなら,破棄する際にもわざわざY/Nなどと聞いてこない.更新されている場合のみ確認がでる.ちょっとした工夫だが使いやすい.確認がわずらわしいので無意識にYを押してしまい,うっかり殺してしまった文書ファイルをしのんで男泣きする.よくある光景だが,Multiplanタイプならこの手の事故も少なくなるだろう.
価格については高いなと思っていたが、販売店の事情については考えが及ばなかった。ソフトはパソコンを買ったときに同時に購入することが多いはずでソフトはおまけのようなもので安いソフトでも良かったのではないかと思ったが、安いソフトはユーザが少ないので使い方を人に教えてもらうことができず、解説本もなくやはり「一太郎の方がいいですよ」になったのか。価格
5万8000円から下がっていくか
利用者から見れば,当然だが価格は低いほうがいい、作る側だってそれで数がはけるなら安くても差し支えはない.ただし,間に入る商売の事情があって,一太郎の5万8000円はある限界を示しているようにも思われる.かつて16ビット用で9800円というワープロがあった.機能も十分に2~3万円クラスに匹敵するものだと思われたが残念ながら売れない.ショップに売れなかった理由を聞くと,「9800円はパソコンを買ったオマケの値段で,単品として売れる価格ではない.6本売って一太郎1本分にしかならないのなら,一太郎を売りますよ」という返事だった.もっともな話である. 最近登場したもののなかには2~3万円という製品も結構ある.しかし,例えば2万円の商品を15%分引きで売ったとして1万7000円.定価の30%引きで仕入れている店の儲けはわずかに3000円.これで電話での問いあわせなどに応じていたら完全に損がでてしまう.利用者の質問はソフトハウスに向かうよりもショップに対するもののほうがずっと多い.よほど大量に売れるような要因がないかぎり,安い商品の浸透はむずかしいだろう.利用者側から見れば,このような価格破壊は大歓迎なのだが,店頭でボチボチとしかソフトが売れない現状では,これより下がるとしてもそのテンポはそうはやいものではないだろう.ちなみに米国のベストセラーMicrosoft Wordが実売価格で230ドル前後,150円で換算して3万4500円だ.一太郎Ver.3の実売価格が約4万3000円といったところか.もうそう大きくは下がらないだろうという予測が立つ
この辺もちょっと記憶と違う。一太郎(Ver.3 別名三太郎)の時代だけどそんなに使いにくかったか?ワープロごときに32bit機が必要だったか?違うと思う。34年前ワープロソフトがそんなに使えないソフトではなったはずだ。最後に
利用者参加のソフト開発を
現在のワープロは、さんざんの悪口にもかかわらず,ほとんどの製品が一応実用に耐える性能を持っている.特に,作成する文書サイズが小さいものに対しては十分使い物になる.
ただしそれも専用機のまねにすぎない.紙の文書を作成し,印字するというごくごく限られた世界で,先達にようやく追いつきかけたというだけである.オリジナリティについて,ここで蒸し返すつもりはないが,専用機のマネだけしていればいいというものではあるまい.
楽しみなのは,32ビットの時代がもうすぐそこまでやってきていることである.今までは,機械の制約があってできなかったことが,かなり多く実現可能になっていくだろう.ソフトハウスの本当の力が試されるときでもある。技術力もそうだがワープロはどうあるべきかという考えかたそのものが問われる.
利用者もどしどし意見を提供すべきである.ソフトハウスの技術者は,作る人であって,使う人ではない.われわれ利用者がさまざまなグチをこぼすことによってかれらはヒントを得るだろう.今までの機械側の制約がなくなれば,仕様の決定ひとつとっても容易ではないどんな人のためにどんな機能をどういった形で装備すればいいのか.彼らは手探りで進むしかないのである.
利用者はソフトハウスに対して好き勝手に言いたい放題をいうべきである.ソフトハウスからは感謝され,自分たちは便利になり,しかもストレスが解消する.なんだかいいことずくめのようである.われわれ利用者はせいぜい声を大にして青年の主張をすべきだ.
以下ワープロ専用機の写真をスクラップする。
価格198,000円
価格158,000円
価格188,000円
価格118,000円
価格100,000円
価格248,000円
価格198,000円
価格198,000円
価格158,000円
価格198,000円
パソコン(PC-9801シリーズ)より安いではないか。34年前はパソコンを買うよりワープロ専用機とファミコンを買った方がよっぽどコスパが良かった。パソコンでゲームとかやことも多かったけどファミコンのゲームの方がよっぽど楽しめたはずだ。
ワープロ専用機のまとめをスクラップする。
ワープロ専用機とパソコンを使うのは二重投資ではなかろうか。パソコン買ったのにワープロ専用機を買う人はまずいなかったと思う。ワープロ専用機を買った人がパソコンを買うというのはあった。記事を読むとたかがワープロにそこまで熱くなるのかという感じだ。されどワープロとはいかない。どれだけワープロで凝った文書を作りたいのかという感じだ。34年前の幹部にはワープロで印刷した文書を嫌がる人がいた。手書きで早くしろということがその理由だ。それは、その幹部がワープロに疎く、自分では使えないからワープロを否定していたのだと思う。ワープロとかパソコンを使って仕事をしていると、遊んでいると思われていた。34年前はそんな時代だ。1-2-3で簡単に仕事をすると、電卓で検算しろと言われていた時代だった。おわりに
個人向けのワープロということで,独特の特徴を持ったマシンが多い.そしてメーカーの独自性が前面に出るあまり,操作方法,各種機能キーの配置などがあまりにも違う.特に,変換キーの位置,各機能の呼び出し方は使い勝手や個人の好みによる所が大きく,実際に触って相性のよいものを選んだ方がよいだろう.とはいえ,カナ入力キーについてはJIS,50音が主流であり,特殊な方式を採用しているのはOASYSのみであった.かつては,さまざまな方式が議論されていたろう.通信機能が充実したワープロ専用機であれば,現在のパーソナルコンピュータがカバーしている領域の一部を確実に代用することができる.逆に,そうした用途には専用機を使いながら、パーソナルコンピュータと併用するといった使い方もあるだろう.
記事の最後の部分をスクラップする。
パソコンのワープロソフトは断じて欧文のタイプライタなんてレベルではない。最大の利点は過去の文書を再利用できるということだった。仕事は大体毎年繰り返しの仕事となる。そのとき、去年作成した文書を再利用できるということがどれほど役に立ったことか。1回苦労すると次回から楽できるのがパソコンで仕事をする理由だった。ソフトウェア面からみた変化
日本語ワードプロセッサの現在の評価は,「日本語の入力においては,欧米のタイプライタと同程度」といったところだろうか.これは,入力装置(機構)としては,十分な実用レベルに達したということである.
さて,今後考えられる変化の方向としては,真の意味での「日本語の処理」である.編集機能のところで多少触れたが,日本語の言語構造に基づいた処理を行うことが,これからの日本語ワープロの使命であろう.
こうした方向性にそって開発されたのが,シャープの発表した文書校正システムの試作機である.このシステムは,カナ漢字混じりの文字列を受け付け,単語の係り受け関係をチェックし,用語統一を行うものである.現在のカナ漢字変換では,文節と文節の関係はある程度考慮されるものの,その常識的な正当性のチェックまでは行われない.
ワープロで作成した文書には「変換ミス」と呼ばれるワープロ特有のミスが多く見受けられるが,こうしたミスをなくそうというのが,この試作機のねらいだ.現在のワープロは単にキー操作で同音異義語を簡単に次から次へと選択できるがゆえに,1つキーを押しすぎただけで,手書きの場合には起こらなかったようなミスが出る可能性が高い。あるいは,送りがなの2種ある単語では,文章中にその2種が混在してしまう場合もある(例えば,「行う」と「行なう」など).同試作機は,こうしたミスの指摘,訂正を目的としたもので,日本語の文法的処理の具体的応用例である.
このような,文書作成中に起こりうるミスをチェックし,少なくとも,「文法的」には正しい文章の作成を支援することは,日本語ワープロに今後ぜひとも必要な機能と言えるだろう.
ワープロはコンピュータの必須機能
ワープロ専用機が,表計算やグラフ機能などパーソナルコンピュータ的な機能を取り込んでいくというのが,現在の1つの方向だが,逆にパーソナルコンピュ-タもワープロ専用機の機能を取り込むといった方向もある.たとえば,MZ-286(MZ書院)やFMRシリーズのFM-OASYS,東芝のJ-3100シリーズのRUPOなどがそうである.
情報を処理するすべての機械を考えるとき,「日本語ワードプロセッサ」機能――つまり,日本語の入力,編集を行う機能――は,必須のものになりつつあるといえるだろう.安価でポケットに入るような電子手帳などにも,日本語ワープロ的機能が採用されているように,情報機器の1構成部品にさえ日本語ワープロはなりつつある.
次世代の日本語ワードプロセッサの姿とは,このような情報処理機器の一部に組み込まれた「日本語ワードプロセッサ」機能と,機器本来の機能との結合により実現された,「日本語処理」機構といえるのではないだろうか.
コラム記事の富士通、神田氏へのインタビュー記事をスクラップする。
特別インタビュー
「富士通、神田氏に聞く」
ここでは,独自のキー配列を採用し,実績をあげている富士通のOASYSの開発者,神田泰典氏に,開発の経緯や日本語ワードプロセッサのありかたについて聞いてみることにする.
――なぜ,日本語ワードプロセッサを開発しようと思われたのですか?
我々が日本語ワードプロセッサの商品化を考え始めたのは,ちょうど10年前の昭和52年のことです.まず考えたのが,英語圏における,英文タイプライタの位置づけです.タイプライタは発明されてから,たかだか100年ほどしかたっていない道具ですが,欧米の事務現場のいたるところにタイプライタは入り込み,文書作成の効率化,標準化などに功を奏している.だれもが見たことがあり,多くの人が使っている.そして,コンピュータ付きのタイプライタとしてワードプロセッサがあり,コンピュータとの会話の道具として,キーボードという形になった.
ところが,日本を見ると,これに相当するものがないので,文書処理がいきづまるだけでなく,日本人とコンピュータの接点も生まれません.これではダメだということで,それまでに蓄積してきた大型機での日本語処理技術などを応用し,日本語文書を作成する卓上型の機械を設計したのです.最初に考えたデザインは,いまのFROM・9などにたいへんよく似ていました.
──ということは,最初は日本語のタイプライタを目指したということですか?
英語圏においてキーボードが果たした役割を考えて,我々としても日本語タイプライタを開発する狙いとして,当然2つの意味を考えていました.事務機器としての便利さを実現すること,そして日本語を介してコンピュータと会話する手段を得ることです.
特に後者はより大きく深刻な問題を含んでいました.ちょうどそのころは,コンピュータの開発において,ハードウェアの工数をソフトウェアの工数が追い越そうという時期でした.ソフトウェア危機という言葉が一般紙や雑誌にまで見られましてね.日本語というハンディを背負って,国産のコンピュータメーカーはソフトウェアを開発しなければならない.いま日本語の問題に積極的に取り組んでいかなければ,将来に禍根を残すだろうという切迫した気持もありました.
余談ですが,この感覚自体は形を変えながらずっと続いています.まだまだ日本語で自然にコンピュータに話しかけられるようにはなっていない.それだけに,非常に興味あるテーマですね.
──10年前に考えていた2つの意味は今でも変わっていませんか?
ええ,変わりません.よくいわれるように,コンピュータは素材にすぎません.大きな潜在能力を持ってはいますが,その力を引き出してやるのはソフトウェア技術者や利用者などの人間側です。対話をよりスムースにし,コンピュータという知的なエンジンを上手に運用するために,日本語入力は大きな存在意味を持っていると思います.
しかし,実際の市場ではさまざまな変化が起きています.当初,パーソナルコンピュータが安くなれば,家庭に浸透し,それが「キーボードとの遭遇」の役を果たすはずでした.ところが,BASICを習った人の10人中9人がギブアップするという現実がわかってきたし,家庭ではフ*ァミコンというゲーム専用機にその位置を奪われました.そこで,家庭でのキーボード普及の立て役者として、ワープロ専用機が売れはじめたのです.
パーソナルワープロは単能機ですから,初めてキーボードに接する人にも抵抗が少ない.日本語の文書を作るというのは,日常的な作業ですから.
汎用機なら1台でいろいろな目的に使えて、場所もとらないという声もありますが,あれは違います.必要なものなら,自分の寝る場所がなくても買う人は買う.例えば,1つのモーターを使って,扇風機にもなり,髭そりにも使え,掃除機にもなる機械があっても,みんなもっと便利な専用機をたくさん揃えるでしょう.うさぎ小屋と呼ばれる日本の家の中は電化製品で一杯の上,弾きもしないピアノがかざってある.本当に必要なら,寝る場所がなくなっても買う人はいるのです.
――それは,オフィスでも同じでしょうか?
パーソナルコンピュータは,オフィスでも汎用機という存在ではなくなっていくでしょう.「なんでもできる」というのは一種の幻想で,バケの皮がはがれてきたとみるべきかもしれません.あれにもこれにもと活用されているケースは非常に少ない.パソコンを導入したが,伝票発行機とか顧客管理機,あるいはワープロ専用機としてだけ働いている場合が多い.これからは,それぞれの仕事に専用機を使うことが多くなるでしょう.
――当誌としては,ちょっと耳の痛い話になってしまいましたが,最後に,将来のワープロ専用機の姿はどうなるとお考えでしょうか.
現在のワープロは,「日本語タイプライタ」として,すでにかなり高い完成度を持っています.日本語へ変換する能率もほとんど不自由がない水準まできている.編集その他の機能も充実がいちじるしい.日本語の辞書は,そのままスペルチェッカーとして機能していますし,手前味噌のようですが,実用性のきわめて高い機械です。だから,基本はあまり変らないとみています。10年前の自動車も今の自動車も,車輪が4つあって前に走るのは同じだが,運転のしやすさは格段に良くなりました.それと同じで,基本はもう固まっていますから,よりソフィスティケートされていくと思います.
もちろん,今後も商品としての魅力を付けるため,さまざまな機能が追加されていくことでしょう.デスクトップパブリッシングやCD-ROMなど,現在すでにその片鱗が見られ,発展が期待されるこの種の未来像の多くは,やがて実現されるでしょう。
ただ,入力がらみで話題に上る,音声入力に関しては疑問があります.音声を発するのは指先を利用するよりはるかに疲れますし,だいいちはた迷惑でうるさい話者の知識の範囲やバックボーンまで考慮して,思考の脈絡まで汲み取って正確な日本語に直すことができれば,タイプライタのライバルになるかもしれません.しかし,単に発する声をカナに変換するだけでは,使い物にならないし,補助として必ずキーボードは必要でしょう.
欧米でのタイプライタの歴史はほんの100年です.このままいけば,パーソナルワープロは,日本語タイプライタとしてずっとはやく生活のなかに溶け込んでいくと確信しています.
こうして読んでみるとこのインタビューはそんなに面白いものでもなかった。多分入力を改善するとすべてが良くなるというのは幻想だったのだろう。今現在スマホでフリック入力する若者をみるとよくわかる。彼らはパソコンを使っているサラリーマンよりよっぽど速く文書を作成できるのではないか。記者会見で記者がノートパソコンをパコパコしている絵を見るが、若者がスマホで入力しても同様のことができるのではないか。ワープロソフトはたかが1つのアプリであって、他のアプリと比べそれほど重要なものではなく、同程度の重要度だと思う。
このASCIIの記事は、違和感ばかり残った記事だった。34年前でもこれには同意はできなかったはずだ。
ニューラルネットワークは実現するのか?(月刊ASCII 1987年9月号9) [月刊アスキー廃棄(スクラップ)]
ニューラルネットワークは実現するのか?
ASCIIは、このような読みごたえのある記事がよくあった。
この記事の20年余り後に、ディープラーニングが出てきてAIが格段の進歩を見せた。AIが完成したと言ってもいいと思う。機械学習の本が豊富にあり、素人プログラマでもAIで問題解決をできるようになった。
この記事をスクラップしてAIがどのように萌芽したのか味わいたい。
ASCIIは、このような読みごたえのある記事がよくあった。
この記事の20年余り後に、ディープラーニングが出てきてAIが格段の進歩を見せた。AIが完成したと言ってもいいと思う。機械学習の本が豊富にあり、素人プログラマでもAIで問題解決をできるようになった。
この記事をスクラップしてAIがどのように萌芽したのか味わいたい。
有力企業が次々とニューラルネットワークの開発に乗り出している
人間の歴史における,最初の情報革命は,コンピュータやシリコンチップから生まれてきたわけではない.それは,感性を持った人間の頭脳と神経組織から生まれた,人間の脳は,今でも究極の計算能力を持っているし,あのナメクジでさえ,神経を使うことによってスーパーコンピュータ以上に複雑な演算を行っている.こうした天然のコンピュータが,どのように動いているのか,研究者たちが理解できるようになるまでには,まだ相当時間がかかりそうだ。しかし一方で,神経生物学者や物理学者,数学者たちが,神経の電子的なモデルを試作しており,まったく新しいコンピュータ原理が,そこから生まれようとしている.これらのモデルは,ニューラルネットワーク,コネクショニズム,アダプティステム,ニューロコンピューティングなど,さまざまな名称で呼ばれている.
ニューラルネットワーク(神経網=神経網コンピュータ)の初歩的な研究は大学で行われてきたが,最近では,Texas Instruments社やAT&T社,IBM社,Bendix社,TRW社,BDM社,General Electric社など,大手のハイテク企業が,ニューラルネットワーク研究プロジェクトを事業化している.同時に,Nestor社(ロードアイランド州プロビデンス)やHecht-Nielsen Neurocomputer社(サンディエゴ),Synaptics社(カリフォルニア州サンノゼ),Neural Tech社(カリフォルニア州ポートラバレー)といった専門の会社が次々と設立され,活発な投資が行われつつある.この内,Nestor社とHecht-Nielsen社は,今年中に何らかの関連製品を発売する計画だ。
ニューラルネットワーク製品の形態は,必ずしも一つではない.例えば,神経の並列構造をモデルにして,それらが相互接続したような製品を作る場合を考えると,個々のプロセッサとコミュニケーションリンクを組み合わせたハード的な形をとることもあるし,部分的に並列構造を持ったハードと,神経網の働きに近い動きをするように設計されたソフトで構成される「ニューロコンピュータ(neurocomputer)」の形をとることもある.あるいは,神経網の動きをシミュレートできるソフトを、既存のコンピュータで走らせるといった方法もある.
これらの製品がカバーしようとしているアプリケーションは、多種多様だ。その中でも重点が置かれているのは,“あいまいな(あるいは予測し難い)データを処理するアプリケーションである.例えば,日常会話や手書きの文字を理解するといった処理能力を装備したものだ。
これらのアプリケーションは,明確なルールやデータでは定義しづらいため、既存のコンピュータのアルゴリズムを使うことは,不可能に近いとさえ言われている。現在,もっとも一般的に考えられているアプリケーションは、ニューラルネットワークを、既存のコンピュータと,複雑な現実世界のデータとの間に介在するインターフェイスとして使うというものだ。
AIの入門本ではとっつきにくいことが、この記事ではすんなり読んでいくことができる。AIはこうあるべきだという入り方が理解しやすいということだろう。もうできているAIを解説されるとかえって理解しにくくなる。ニューラルネットワークはこんなことを可能にする
ニューラルネットワークは,脳細胞とその相互接続の論理的なモデルに基づいて作られている.問題は,脳細胞同士の接続が,電子的なデバイスのスイッチングに比べてはるかに遅い(シリコンチップが1秒間に10億パルス以上扱えるのに対し,生物の神経は毎秒約1000パルスしか扱えない)にもかかわらず,どうして複雑な計算ができるのかという点にある.神経の機能や複雑な並列構造を,電子的に完全にシミュレートするのはまだ不可能だが,それを単純化し,ニューロン(神経細胞)の間での電子的なパルスのやりとりだけに絞って作られたモデルは、学習や記憶といった能力を持つようになってきている.ここで,ニューラルネットワークの諸機能の内,特徴的なものをいくつか挙げてみよう.
●あるニューロン(プロセッサ)が記憶を失っても,それを補って記憶を取り戻せる能力.
これが可能なのは,記憶された情報が多くのプロセッサや,その相互接続に分配されているためだ。だから,あるプロセッサの記憶に欠落が生じたとしても,実行には少々支障が生じるものの,取り返しがつかなくなることはない.
●扱う情報に関するデータを持っていない場合,それに“最も近い”データを活用して認識を行う能力.
例えば,Aという文字を認識しなければならない時,その書体がメモリ中のものと違っていても,それがAという文字だと認識できる能力.これが可能なのは,記憶されている文字について,高度に普遍化されたデータを持っているからだ.
●新しく入力された情報に応じて,すでに記憶されている情報に変更を加える能力.
ニューラルネットワークは,記憶されている様々なルールの関係から,潜在的なルールを表現できるような形でデータを蓄えている.例えば,Aという文字に異なる書体があるように,新しいデータに出会った場合,これらのデータが持つ潜在的なルールが呼び出されて,対処できるようになっている.
●壊れてしまった情報やバラバラになった情報を,元の形に復元する能力.
例えば,絵の断片から,その全体を連想・復元したり,リンゴから,果物やアイザック・ニュートンなどを連想できるような能力.
●記憶の中から,統計的にある特徴を検索する能力
例えば,ニューラルネットワークが種々な種類のリンゴを知っていた場合,新しいタイプのリンゴの色を考え出せ,と命令されたとすると,考えられる色は赤か,そうでなければ緑や黄色もあるというように答える能力.
●選択可能な答えが幾通りもあって,(既存のコンピュータなら)暴走を誘発するような問題から,きちんと回答を引き出せる能力.
この能力は,AT&T社のJohn HopfieldとDavid Tankが,試作のニューラルネットワークを使って実験をしている.会話とか対象認識といった人間に近い仕事をする時の計算も,この手の暴走を引き起こしやすい性質を持っている.
ほう、34年前既にエキスパートシステムはビジネスとして成功していたとは知らなかった。私達がPC-9801で一太郎や1-2-3で仕事をしていた頃すでにAIがそんなに使われていたのか。ニューラルネットワークと人工知能
前述の特徴からも分かることだが,ニューラルネットワークは、エキスパートシステムをはじめとする人工知能と似たアプリケーションをめざしているように見える.たしかに,両者は研究費の争奪戦を演じてきた.しかし,実際には競争するというよりも,むしろ補間する場合が多い.ニューラルネットワークが,生物の情報処理のプロセスや,その構造をシミュレートしようとするのに対し,人工知能のプログラムは、ロジックや言語学に基づいて,高度な概念の処理やそれらの関係付けを把握し,計算しようとするものだ.こうした相違は明確になりつつあり,現在では,研究者たちもその境界線を心得た上で,研究・開発を行っている.
エキスパートシステムは,ビジネスとしてみるとかなりの成功をおさめている.そのアプリケーションは、明確に決められたルールと,限定された分野のデータ集合だけを扱う.予測が難しい現実世界の生のデータに関わるような,柔軟さと強靭さが求められるアプリケーションは、エキスパートシステムには不向きである.一方,ニューラルネットワークは,こうした変化に富んだ対象に適している.そのため研究者は,画像や会話の認識,ロボットの制御といったものにニューラルネットワークの方向性を見出そうとしている.
神経網をシミュレートする
生物の神経網は,無数の単純なニューロン(神経細胞),すなわちプロセッサ(生物のものであれ,シミュレートされたものであれ)から構成されており,それらは複雑に相互接続されている.このプロセッサは「活性」と「不活性」の2種類の信号だけでコミュニケーションを行う.そこには反応(応答)を活性化するか,不活性化するかという2種類の動きしかなく,それ以上に高度な意味を持った記号やメッセージのやりとりはない.
あるニューロンは,他の無数のニューロンから入力を受けることができ,これらの入力の値の和が一定の限界を超えると,そのニューロンは「活性」状態になり,その値が信号として出力される.この出力は,他のニューロンへと伝送される.また,種々な出力の値を持つようにプログラムされたニューロンもある.例えば,ニューロンAは「活性」状態になると,1.0という値を出力し,Bという二ューロンは,1.25という値を出力するようプログラムされているといった具合だ。
さらに,ニューロン間の接続は,すべて「重量」あるいは「接続強度」と呼ばれる値を持っており,これが各出力の値に影響を与え,つながっているニューロンへ伝送される信号の値を決定するようになっている.これらの「重量」が,不変の値に固定されている神経網もあれば,神経網の動きに合わせて増減するものもある.
神経網のソフトウェアによるシミュレーションでは,各ニューロンの連接の「重量」は数値で表され,伝送される信号の強度は,二ューロンの出力とこの「重量」の積によって得られる.例えば,二ュ-ロンAが1.0の「重量」で信号を出力し,そこからニューロンBへの接続が0.25の強度を持っているとすると,ニューロンBが受け取る信号の大きさは,(1.0×0.25=)0.25になる.ニューロンBが,0.25の信号を受け取るということは,「活性」ではなく「不活性」の働きをニューロンAから受け取るということになる..ニューラルネットワークをハードウェアの形にした場合,この連接の「重量」は,各接続線を通じて電子的に伝達される.そして,信号の「重量」は,種々なレジスタを通過することによってコントロールされる.
ニューラルネットワークの初期の研究者たちには,ランダムにつないだデバイスから,ある種の知性が作り出せるのではないか,と考えていた.しかし現在では,ニューラルネットワークには、極度に辛抱強く設計されたアーキテクチャが必要だという考え方が一般的になっている.今までに,ニューラルネットワークの基本的なモデルは12種類ほど作られているが,それらは,連接点を接続する方法や,異なる入力信号に応じて出力信号を作り出すためのルールなどが,それぞれ異なっている.例えば,すべてのプロセッサが相互にまんべんなく接続されているネットワークもあれば,ツリー状や階層状の構造になっているものもある.
ニューラルネットワークのデータ表現
ニューラルネットワークの最も際立った特徴は,情報が,1つのプロセッサに記憶されたコードから構成されるのではなく,「重量」を持ったニューロン同士の接続の中に分散された形で表現されるということだ。
単純な例を挙げてみよう.まず,Aという文字が,10ビットの2進法コードで表されるとする.ニューラルネットワークでは,10個の入力用ニューロン(1ニューロン当たり1ビットとする)がこのデータを受け取り,「重量」を持った連接を通じて次の層のニューロンにデータを渡す.この第2層目のニューロンは,それぞれ4個の入力用ニューロンと接続されていて、受け取った信号の和が,1以上になるとパルスを発生すると仮定しよう.
ここで,入力用ニューロンと第2層目の二ューロンを結ぶ連接の「重量」が1だったとすると,第2層目のニューロンが1という値のビットを持つためには、4個の第1層ニューロンのうち,最低1個が1という値を持っている必要がある.もし,連接の「重量」が0.5だったとすると,入力用二ュ-ロンのうち,少なくとも2個が1の値を持っていなければ,第2層への入力は行われないことになる(図1を参照).
第2層からの出力信号は,「重量」を持った連接を通じて第3層へ送られ,そこでまた同じプロセスが繰り返されることになる.このプロセスは層の数だけ,つまり信号が出力層達するまで繰り返される.この最後の層のニューロンが,それぞれ「活性」か「不活性」のどちらかのパターンを表すことによって,それが最後の反応,例えば「これはAという文字だ」という認識を形成することになる.入力される10ビットの配列の違いが,ネットワーク中の異なる連接パターンを経由することによって,固有の出力パターンを生み出すわけだ。
こうした信号の伝送パターンを作り出すことによって,さまざまなデータのタイプを表現するという方法は,特定のニューロンに完全に頼らずに,ネットワーク全体の実行性能を保証できるという点で,非常に優れている.例えば,ある入力用ニューロンがミスを犯した場合や,入力されたパターン自体が不正確だった場合でも,ほかのニューロンによって発生されたパターンだけで正しい出力を行うことも可能だ。
連接の「重量」設定
ニューロンの連接の「重量」は,信号伝送のパターンを決定する際に,非常に重要な役割を果たすが,これを設定するには2つの方法がある.まず1つ目は,ある問題を計算するために必要な特性をネットワークに与える前に,連接に不変の「重量」を設定してしまう方法である.そして2つ目は,ネットワークを「自己学習」可能なものとして,学習のためのルールを持たせ,それによって,連接が状況に適応できるようにする方法である.後者の「自己学習」可能なネットワークでは,学習効果によって実行性能をアップしたり,学習から独自にデータを組み合わせたり,といったことが可能になる.
最初から「重量」が固定されている構造を採用しているニューラルネットワークで,もっともよく知られているのは「Hopfieldネット」だろう.名前の由来になったJohn Hopfieldidは,Caltech社とAT&T社のベル研究所の共同研究事業で活躍している生物物理学者兼化学者だ。彼の「ニューラルネットワークの計算特性における数学的な分析」は,1982年に,連邦科学アカデミーの報告書の中で発表され,この分野で大きな関心を呼ぶと同時に高い評価を受けた.この論文で彼は,「コンピューテーショナル・エネルギー(計算エネルギー)」と呼ばれるニューラルネットワークの計算特性について触れている.彼は,山の尾根と谷のうねりという比喩を用いて,ニューロンの連接の「重量」を掛け合わせていくと,(計算の)解は常に谷間に沈み込む傾向があると述べている.物理的なシステムと同じように,ニューラルネットワークは,常に「最も低いエネルギー状態」を指向するので,あらかじめ設定されている連接の強度を通じて,新しく入力されたパターンを,ネットワーク中にすでに存在しているパターンと照らし合わせることができるというのだ.
Hopfieldのニューラルネットワークは,欠落のある入力や不正確な入力から,完全な形を再構築できるシステムだ。例えば,10ビットの入力列は,縦横が10×10のマトリクス状のネットワークに記憶される.彼のアルゴリズムでは,マトリクス中の各項目の値は,入力されたビット列の各値の関係に応じて決まる.3番目と4番目のビットが両方とも0なら,第3列の4番目に位置する項目は-1になり,両方とも1なら+1になり,一方が0でも他方が1なら0になるといった具合だ。こうしておけば,システムが不完全な入力を受け取った場合,つまり,4番目のビットが欠けていたといったような場合でも,マトリクスの項目に記憶されている値から再現することが可能になる(図2を参照)。
自己学習能力を持ったシステム
「自己学習」可能なニューラルネットワークは,Hopfieldのニューラルネットワークはど構造がきちんと決まっていない.そのかわり,学習のルールを内蔵しており,それが不的確な反応を切り捨てながら、的確な反応へと導いていくという方法をとっている.こうした学習アルゴリズムの多くは,1949年に神経生理学者のDonald Hebbが考案したルールに基づいている.このルールは,2つのニューロンが同時に「活性」の状態にある場合は,これらをつないでいる連接の強度がより強くなり,「不活性」の状態にある場合は,連接の強度が弱くなるというものだこのルールでは,ニューラルネットワークは反応のパターンを、発生回数が多いほど強化することができ,こうした回数による経験から学習するという特性を持つことができる.
自己学習能力を持ったプログラムの1つ,NETtalkは,語学的なルールをあらかじめプログラムされることなしに,英語の文章を朗読でき,その認識度は各文字の95%を正確に把握できるところまできている.生物物理学者Terrence Sejnowskiと,プリンストン大学の研究者Charles Rosenbergによって生み出されたNETtalkは,わずか231の二ューロン(連接数は1万346)を3つの層に構築したシステムである.
NETtalkの入力を受ける層は,ニューロンが5つのユニットに分かれており,これらが29の記号(26のアルファベットとスペース,カンマ,ピリオド)を29ビットのパターンとして伝送する.一方,出力する層は26のユニットからなり,これらが音と単語をコード化し、サウンド・シンセサイザを動作させて音を発生する.中間の層は,60のユニットから構成される.これらは,入力を正しい出力に結び付けるという能力を,学習に応じて高めていけるように設計されている.この中間層の各ユニットは,入力層と出力層の全ユニットと接続されている.
入力層は,文章から同時に5つの文字を読み取ることができる.次に,ニューラルネットワークは、5つの文字から真ん中の文字だけを抽出して出力パターンに結びつける.その両側の2つずつの文字は,とりあえずルールを無視して強制的に出力する.子供が言葉を覚える時のように,ニューラルネットワークは,まず訓練されていない状態からスタートするので、初めは意味のないつぶやき(バブバブ)を発するだけだ。そうした試みは,いちいち正しい出力と比べられ(人間がテキストを読みながら,正しい発音を吹き込んでいく),自分の出力が正しい発音とどれだけ違っているかを計測していく.それにしたがって,ニューロンの連接の「重量」が訂正されていき,エラーは徐々に少なくなっていく.さらにトレーニングを続けていくと,能力は格段に向上する.最初,意味のない発音を続けているうちは、語彙と語彙の間に空きを発見すると発音に詰まってしまったりするが,次第に母音と子音の違いがつかめるようになり,一晩続けさせておくと,(VAXクラスのミニコンを使って,きわめて非効率的な線状のシミュレーションを用いた場合でも),意味が理解できるような発音をするようになる.
パターン認識の可能性
研究者たちが強調するニューラルネットワ-クの能力とは,記憶・蓄積された情報を自分で組み合わせたり,未知のデータや互いに矛盾するデータを扱ったりできるというものだ.こうした能力から考えられるアプリケーションとしては,パターン認識が挙げられる.例えば,NETtalkの場合,開発はひと夏で終わり,10時間ほど学習させただけで,DECtalkレベルの実行性能を持つまでになった.テキストを音声で発生するためのプログラムは,制作に数年を要したが,今では,10年分の言語能力を蓄積している.
もっとも,DECtalkがすでに発売されている製品であるのに対し,NETtalkは,まだ研究段階のプロジェクトにすぎない.しかも,ニューラルネットワークが実用化され,既存のコンピュータの能力を追い抜くまでには、まだかなりの年数がかかりそうだ.Nestor社の最初の製品になる「Nestor Writer](発売は今年中)は,IBM PC/ATで動作し,部分的にニューラルネットワークのパターン認識システムを取り入れている.しかし,その能力は、手書き入力パッドから入力された文字を読み取れる程度だ。そのくらいなら,Pencept社の「Penpad」が既存の技術を用いて,もう実現している.もっともPenpadは、未知の記号に出くわしても,その時点で,自らそれを覚えるといったことはできないが……
Nestor社の設立者で,ブラウン大学の物理学教授でもあるLeon Cooper(1972年にノーベル物理学賞を受賞)と,Charles Elbaumは,文字の認識のためのルールを完全にプログラムしておく方法を捨てて,自分である程度のルールを考え出せるようなシステムを設計した文字を読み取るといったパターン認識を行うには,「対象(例えば文字)の分類境界線を,厳密に識別できなければならない.そのためには,対象のどの形状に着目すべきか判断しなければならない」とCooperは言う例えば,Nestor Writerが,Cという文字とOという文字の違いを識別する場合,文字の曲線が開いているか閉じているかを見なければならない.さらに,CとUの違いを識別する場合は,文字の向きを見分ける必要も出てくる.手書きの文字(例えば手書きのOは閉じた輪の形になっていないものもある)は、分類の境界線を非常に見分けにくくしてしまうというわけだ.
Nestor Writerは,特定ユーザーの筆跡を学習して,少数のユーザーの筆跡を認識・区別することができる.実験では,かなりクセのある文字でも,6回反復すると認識して,区別できたという.
同社のニューラルネットワークの最も際立った特徴は、手書きの漢字が識別できるという点だ。約2500の漢字について、90%の確度で読むことができ,書くスピードと同じ速さで認識するため,日本語ワープロでも実用化できるという
ニューラルネットワークが認識できるパターンは,書かれた文章や会話に限られるわけではない.TRW社やBendix Aerospace社,ペンシルベニア大学は,レーダーやソナーによって捕らえられたパターンから,標的となっている乗り物を識別する実験を,ニューラルネットワークで行っている.TRW社は,ドップラー効果を利用したレーダー追跡によって乗り物の種類を認識することを,学習によってマスターできるシステムを開発した.ペンシルベニア大学のNabil Farhat教授が開発したニューラルネットワークは,3~4種類の乗り物の完全なレーダー画像を記憶し,その形の10~20%の部分から,全体のパターンを識別できるという.
Bendix Aerospace社のR.Paul Gormanは,NETtalkのアルゴリズムを応用し,水面下の目標物をソナーを使って識別できる二ューラルネットワークを開発している.
ニューラルネットワーク専用ハードの開発
専用コンピュータがない,というのがニューラルネットワークの進歩を妨げている障害の1つだ.従来の線的処理を行うマシンでは、ニューロンの高度な並列構造のシミュレーシニョンに向いていない.しかし,この問題はようやく克服されようとしている.
TRW社は,「ニューロンコンピュータ」と呼ばれる専用コンピュータを2機種開発した.1つは,6万4000個のニューロンを内蔵したMARK III-1で,これは現在6万ドルで発売されている.もう1つは,25万個のニューロンを内蔵したMARK IVで,このマシンは,先進防衛研究計画局(Defense Advanced Research Projects Agency)が,トップシークレットのテストを行うため,独占的に使用している.この2機種は,部分的に並列構造のハードウェアを使って,ニューラルネットワークのシミュレーションを行っている.例えば,MARK III-1は,8つの物理的なプロセッサを持ち、その各プロセッサが,それぞれ約8000個のニューロンに相当する構造を持っている.開発当初の実験では,このマシンは,VAXミニコンの約21倍の速さでシミュレーションが行えたという.
TRW社の社員Robert Hecht-Nielsenが,同社を退職して設立したHecht-Nielsen社は,既存のコンピュータに接続して使えるプロセッサボードの形で,各種のニューロンコンピュータを発売していく予定だ.まず,IBM PC/RT用のコ・プロセッサボード「ANZA」を,今年中に1万5000ドルで発売する.同社によれば,ANZAは3万個のニューロンと30万個の連接点を持ち,毎秒2万5000一回のスイッチングを行うという.ユーザーの中には、早くもこの製品を使ってアプリケーションを開発し,3年以内に商品化までこぎつけようとしているOEM企業も数社ある,とHecht-Nielsenは語っている.
しかし,ANZAのように,膨大な数のニュ-ロンを搭載したニューロネットワークでさえ,アプリケーションを使ってリアルタイムの処理を行うためには,まだあまりに遅すぎるという.そのため,AT&T社やマサチューセッツ工科大学,Caltech社などでは,ニューラルネットワークをICの中に直接組-み込む方法を探っている.これは,各ニューロンを物理的なコンポーネントに置き換えた上で,「重量」を持つニューロン連接をレジスタのようなデバイスに置き換えて,接続線を回路の中に設けるといった方法を取ろうというものだ。例えば,AT&T社の「ENN(Electronic Neural Network)」チップは,256個のニューロン(トランジスタ)と,ニューロン連接に相当する1万個のレジスタを載せている.ニューロン同士の接続は,製造段階でチップに焼きつけられてしまうため,ここのチップが実用段階で行う仕事は,事前に綿密な設計をしておく必要がある.しかし,この種の回路は,使われるレジスタが小さいし,既存のメモリチップに比べるとリトグラフの層の数も少なくて済むため,チップには,1m2当たり5億個のニューロン連接を載せることができる見込みだ.
現在,ENNチップでは,ビデオ画像の周波数帯を圧縮するテストが行われている.これが成功すれば,ビデオ画像も電話回線を通じてリアルタイムで伝送できるようになる.その場合,色や階調を1ピクセルずつ送るようなことはしない.まず,画像を小さなフレームに分割し,各フレームごとに,それにきわめて近いシンプルなパターンを作って送るという方法を用いるため,システムは、大量のデータを送らなくても済むはずだ.また,これとは別に,AT&T社では,54個のニューロンで構成されるプログラム可能なチップもテスト段階に入っている.これは,連接の強度をプログラムによって変えられるチップで,実用化されれば,プログラム可能な連想記憶メモリとして使われることになるだろう.
他に,プロトタイプが完成しているニューラルネットワークチップとしては,VLSI設計の先駆的存在と知られるCaltech社のCarver Meadによって開発されたものがある.Meadは,センサーからの入力を感知して処理するアナログ/デジタル混合のコンポーネントを使い,「シリコン網膜」チップと呼ばれるものを作っている.
シリコン網膜は,動作を把握することにかけては他のどんな視覚システムよりも優れているという。例えば,このチップは、光の強さの変化に反応するので,チップは連続した動きを捕捉することができる.これに対して,TVカメラの技術をベースにした視覚システムでは、一定の間隔でスナップショットのような静止画像を1フレームずつとらえ,それを1ピクセルごとに比較しながら動作を追いかけていかなければならない.
Meadはごく最近,Synaptics社(本誌4,5月号EEXPRESS のTrend Letterを参照)に入社している.同社は,昨年1月に設立され,スタッフとして神経生物学のGary Lynch(カリフォルニア大学)やZilog社の設立者であるFederico Fagginなどが参加している新進気鋭の会社である.「わが社の出発点は、本物の生物学だ.(Meadのシリコン網膜は)きわめてすばらしい働きをするが,それというのも,これが本物の網膜とそっくり同じ機構で作られているからだ」と,代表取締役社長のLauren Yazolinoは語っている。同社では,ニューラルネットワークチップを設計するだけでなく,音声認識,ソナー画像認識,気体色彩認識などに対応するニューラルネットワーク製品を開発中だ.
最後は、もうなんという言われようかと思ってしまった。「ちゃんとした仕事をしてきた人でも,ニューラルネットワークに足を突っ込んだために,科学的に信用をなくしてしまった例がある」これは酷い。10年は確かに無理だったが、今こうして当たり前のようにAIを利用している状況から見ると、スタート時はAIとは胡散臭いものだったのかと認識した。果たして,本当にうまくいくのか?
ここまで見てきたように,数々の開発プロジェクトが進行してはいるものの,ニューラルネットワークは,市場での有効性が保証されたわけでもないし,その特性をまだ疑問視している業界関係者さえいる.例えば,Thinking Machines社の科学者であるDanny Hillsは,「この分野で言われていることには,誇張やナンセンスが非常に多い.ちゃんとした仕事をしてきた人でも,ニューラルネットワークに足を突っ込んだために,科学的に信用をなくしてしまった例がある.科学的に重要な進歩があったことは認めるが,現在では,見るべき成果もなく,大風呂敷の広げ合いが演じられているだけだ」と語っている.
一方,スタンフォード大学のWidrow教授は,「私は,すべての大風呂敷を信じる」と述べてはいるが,「過大な期待だけは禁物だ」と警告も発している。「私が心配しているのは,ニューラルネットワークを現実のものにすることがどれほど困難かということを,多くの人が認識していない点だ.研究所でうまく動いたものでも,市場で通用するような製品化にこぎつけるまでには,10年はかかるだろう」と彼は予測している.
(翻訳・原修二)
超電導の世界 見えてきたジョセフソン素子(月刊ASCII 1987年9月号8) [月刊アスキー廃棄(スクラップ)]
「超電導の世界 見えてきたジョセフソン素子」第2回をスクラップする。
前にも書いたが、高温超電導の「できた」という発表は胡散臭いのが多く、この連載も35年前はこれが事実だと考えられていたと理解すべきだ。俺はできた。お前ができなかったのは腕が悪いせいだと強弁できることが困ったものだ。実物を寄越せと言われてものらりくらりとかわし、挙句の果ては実験で消耗したと言われればどうしょうもない。
分野は違うが免疫関係でもあったと思っている。昔、免疫動物を使ってある物質を免疫して、ある物質の特異抗体を世界で初めて作製した。その結果はこの免疫反応の実験結果写真やグラフです。と発表されても理論的にそうなるだろうなという発表ならそれは事実として支持される。再現しようにも免疫動物には個体差があるので毎回必ず同じものができるとは限らない。できた抗体を分けてくださいと言われても微量だからとか、(抗体は生ものだから)保存中に変質してしまいました。と言われればどうしょうもない。
眉に唾を付けながらスクラップする。
コラム記事をスクラップする。
この表は信用できない。なんってたって室温で超電導だからもう35年前は無茶苦茶だった。
コラム記事をスクラップする。
リニアモーターカーはいいけど、超電導推進船はまだまだだ。実験船はあっても実用船、商用船はない。「超電導推進船は90%以上の推進効率が得られるという超電導体が商業ベースに乗った時,もっとも実用化が早いとされているのが,この超電導推進船である。音もなく、滑るように海を航行する船が登場するのも、そう遠い話ではないようだ.」あんたのそう遠い話でもないは50年後か?100年後か?少なくとも35年後はダメだ。まあ、前半の仮定「超電導体が商業ベースに乗った時」がダメ仮定だったのではないか。
35年後の未来から見ると笑ってしまう。ジョセフソンコンピュータなんかなくたって家庭用パソコンがスパコンのCrayを越えている。
Core i7 (Sandy Bridge) が 158.4 GFLOPS だ。
Cray X-MP(Cray Research) は 800MFLOPS だもの。
笑ってしまうのも無理はないだろう。
基本的にこの記事は実現しなかったことについて遠くない将来実現すると予想し、ジョセフソン素子がなくとも20~30年後に実現したことをジョセフソン素子とかの技術がなければ実現しないだろうと予想したことだ。原因については、自分の注目している技術には希望的予測をしてしまいその反動で他の技術の進歩を低く見積もるためだと思う。私は、コンピュータ業界とかは、こうなって欲しくないという未来ばかり実現したので、期待というものは裏切られるものだと思っている。
前にも書いたが、高温超電導の「できた」という発表は胡散臭いのが多く、この連載も35年前はこれが事実だと考えられていたと理解すべきだ。俺はできた。お前ができなかったのは腕が悪いせいだと強弁できることが困ったものだ。実物を寄越せと言われてものらりくらりとかわし、挙句の果ては実験で消耗したと言われればどうしょうもない。
分野は違うが免疫関係でもあったと思っている。昔、免疫動物を使ってある物質を免疫して、ある物質の特異抗体を世界で初めて作製した。その結果はこの免疫反応の実験結果写真やグラフです。と発表されても理論的にそうなるだろうなという発表ならそれは事実として支持される。再現しようにも免疫動物には個体差があるので毎回必ず同じものができるとは限らない。できた抗体を分けてくださいと言われても微量だからとか、(抗体は生ものだから)保存中に変質してしまいました。と言われればどうしょうもない。
眉に唾を付けながらスクラップする。
前回は,「超電導状態」と呼ばれる現象を引き起こす,極低温状況における超電導物質のメカニズムを中心に,超電導の基礎的な解説を行った.室温に近いという点が既に胡散臭いのだが、スクラップを続けていく。
今月は、室温に近い温度で超電導現象を起こす物質の開発状況とその問題点などを中心に,超電導物質の代表的な応用分野として、もっとも注目されている「ジョセフソン素子」のメカニズムやその開発状況などについて探ってみよう.
I
超電導体の特性
本題に入る前に,前回のおさらいをしておこう。
「超電導状態」は,オランダのライデン大学教授,カメリン・オンネスが,1911年に発見した物理現象である.金属などの物質を絶対0度(-273.15度)近くまで冷却すると,突然,その物質は電気抵抗がなくなり、内部に磁束が侵入できない状態となる。
これを「Superconductivity State」,つまり超電導状態と呼び,この状態にある物質を超電導体という、超電導体は、電気抵抗を生じないため,その物質だけで閉回路を作って1度だけ電流を流すと,電流は半永久的に流れ続ける(計算では10万年以上という数値が出ている).また,超電導体は内部に侵入する磁束を拒むため,磁石の上に置くと浮き上がってしまう.これらの性質は,
(1) 完全導電性(電気抵抗がゼロ)
(2) 完全反磁性(磁界の影響を受けない)
として,まとめることができる.超電導体は,この2つの特性を必ず持っている.
電気抵抗がなくなる原因は,1957年に米国の3人の物理学者,バーディーン,クーパー,シュリーファーが提唱した「BCS理論」によって,その大部分が解明された.BCS理論は,物質を組成する原子の格子配列間を,電子がペア(クーパ一対)になって一斉に移動するため,原子と電子が衝突した時に発生するエネルギー(電気抵抗)が吸収されて電気抵抗が消失する,というものだ。
また,磁束が侵入できないのは、外部から磁界が加わると、超電導体の表面に電流が流れて、外部の磁界と逆向きの磁界を形成するためである.表面に流れる電流の厚さは,物質によって異なるが,だいたい0.01~0.1ミクロンといわれる.この完全反磁性の特性は、発見者の名前にちなんで「マイスナー効果」と呼ばれる.
この2つの特性を利用した応用分野は広範で,すでに一部実用化されているものもある(これら以外にもいくつかの特性が認められているが,本稿では割愛する).
〔完全導電性を利用した分野〕
(1) 発電機や核融合発電に用いられる磁石
(2) 電力貯蔵システム
(3) 超電導送電
〔完全反磁性を利用した分野〕
(1) HSSTなどのリニアモーターカー
(2) 電磁シールド
こうした応用分野がありながら,商業レベルで,超電導体がなかなか製品化されないのは,その動作環境が“極低温”に限定される,という一点にある.
従来の超電導体(主にニオブ・チタンの金属化合物)は,絶対0度の近く(9K=摂氏-264.15度)で超電導状態になるため,液体ヘリウムを使って冷却してやらなければならない、ところが,液体ヘリウムを生成するために用いるヘリウムガスは,絶対量が非常に少ないことから,価格が1当たり1000~1500円と高く,供給地も米国に限られている.せめて、地球上に豊富に存在する水素から生成される液体水素の沸点(20.4K=摂氏-252.75度)よりも高い温度で超電導状態になる物質を発見できないか,というのが研究者の永年の悲願だった.液体水素で冷却できる超電導体が発見されれば,実用化への第一歩としては、大きな前進になるからだ。ところが,そういう物質が発見され始めたのである.
少し長くなってしまったが,以上が前回のおさらいである.超電導の詳細なメカニズムについては,本誌8月号を参照していただくとして,さっそく今世紀最大の発見と騒がれている「超電導フィーバー」のまっ直中に飛び込んでみよう.
コラム記事をスクラップする。
超電導体を作るには?まあ、こんな秘伝とかあるから、私はできたのにあなたができなかったのは腕が悪いからだが通じてしまう。
高温超電導体の開発レースが,これほど加熱したのは,その実験の簡便さによるところが大きい。新聞などでよく見受けられる「小・中学校の理科室にあるような実験用具で,最先端技術に参加できる」という言葉が,その方法をよく表している.
実験の手順は,セラミックスの材料(酸化イットリウム,炭酸バリウム,酸化第2銅など)を安い瀬戸物の乳鉢で混合し,市販の小型の電気炉で焼くだけでよいのだ。その後,液体冷却しながら電気抵抗や,反磁性効果を調べるなど少し込み入った作業があるものの,このような簡単な実験,趣味で七宝焼を作るような感覚で,ノーベル賞獲得レースに参加できるのである。
ただ,この実験にもいろいろな苦労と経験が必要だというのは、材料の混合の割合や,火加減――焼くときの温度や時間――といったビビッドな技術の部分である.これらの違いには,大学・研究所ごとの“秘伝”がいくつも存在するといわれている.
しかし,この「下手な鉄砲」的なレースも鎮静化し,現在では理論的裏付け,応用分野への展開といった方面に,科学者たちの興味が移行しつつあるようだ.
ちなみに,「超電導材料キット」なるものが数社から発売されて,人気を呼んでいる.フルウチ化学は,電気炉で焼結すれば超電導物質になる素材キットを,1kg5万円で販売している.さらに同社は,セラミックス系超電導体そのものを,魔法瓶やピンセット,磁石などとセットにして発売する計画だ。
コラム記事の表をスクラップする。II
“高温”超電導体の発見競争
本稿執筆中にも,『高温で動作する超電導体を発見』のニュースは,次々と飛び込んできている.超電導を研究テーマにしている大学の研究室では,昨年末から不眠不休の態勢を敷いて新物質の発見に全力を注いでいるところも多いという「徹夜明けの朝刊で新物質発見の記事を読んだ研究員が,あわてて同様の実験を試みたところ,その夜までには記事の記録を破ってしまった」というような,熾烈な発見競争を物語るエピソードもある.
週刊朝日の編集部員が,2万円ほどの投資で臨界温度100K(摂氏-173.15度)を越える超電導体を発見できるほど,セラミックス系超電導体の生成は簡単である(カコミ記事を参照).そして,こうした手軽さが、一連の発見競争に拍車をかけている。「保険勧誘員のノルマ達成表のように、前日の結果を一覧表にして,毎朝発表する企業の研究所がある」ほどだ。「とにかく、どんな組成が,どんな結果を生むのか,まったく見当がつかない.人海戦術で,片っ端から組成を変えて実験している」というのが,現在の状況である.
こうした新物質発見のきっかけになったのは,昨年の春、場所はスイスのIBM社チューリッヒ研究所である.同研究所物理研究部に籍を置くミューラーとベドノルツの両博士は,ランタン・バリウム・銅で構成される酸化物が,既存のセラ「ミックス系超電導体に比べて、格段に高い温度で超電導状態になることを学会誌に発表した.その時の臨界温度は約23K(摂氏-250度)で,これは,既存のニオブ3・ゲルマニウムの化合物が達成していた数値,23Kと奇しくも同じものだったのである。
しかし,この論文は,すぐに大反響を呼ばなかった.原因は, (1) 発見した彼らの研究テーマが超電導ではなかった,(2) (1)に関連して,マイスナー効果を十分に確認できなかった,(3) ニオブ3・ゲルマニウムの化合物が,13年間という長期にわたって臨界温度のトップを独占し続けていたため,セラミックス系物質に注目する研究者が少なかった――などが考えられる。
最初に,この論文に着目したのは,東京大学工学部の北沢宏一助教授のグループだった.彼らは,論文と同様の酸化物を使って,昨年暮に37K(摂氏-236.15度)という臨界温度を確認,同大学の田中昭二教授らと異例の記者会見まで行っている.しかし,この時点でも,“事の重大さ”を認めたのは,一部の研究者だけだった(ベタ記事の新聞報道が,それを物語っている).大勢は,半信半疑だったのである.ちなみに,37Kという臨界温度は,冷媒として液体水素が使えることを意味している.
セラミックス系超電導体の発見が,世界的に認知されたのは,今年3月にニュ-ヨークで開催された「米国物理学会シトンポジウム」の席上である。前出の田中教授が,ミューラー,ベドノルツ両博士の実験を再確認したうえ,この超電導体の結晶構造まで明らかにしたのだ。この研究結果の公表によって、超電導フィーバーの火蓋は切って落とされた(カコミ記事を参照)。
超電導体の発見年表
セラミックス系超電導体の第1世代はランタン系で、30~40Kあたりでデッドヒートを繰り広げた.その後すぐに,ヒューストン大のチュー博士グループが,第2世代となるイットリウム系を発見し,90~100K付近での現象を確認した.現時点では,120~130K付近のイットリウム系第3世代から,イットリウム系にストロンチウムやフッ素などを混合し,室温で超電導現象を示し始めるという第4世代へと移っている。
この表は信用できない。なんってたって室温で超電導だからもう35年前は無茶苦茶だった。
目が曇っていると状態だったと思う。超電導状態が完全に認められなくても「部分的ではあっても,高温で超電導状態を示す物質の発見は価値がある」には笑ってしまう。はい、はい、あなたにとっては価値があるのね。で、35年後それはどう価値があった?III
高温超電導体の組成
現在,工業用超電導体として使われているニオブ・チタン合金やニオブ3・スズは,臨界温度が9~18Kと低く,冷媒には当然,液体ヘリウムを使っていることは前に述べた。
これに対して,セラミックス系超電導体は,
(1) ランタン・バリウム・銅・酸素
(2) ランタン・ストロンチウム・銅
(3) イットリウム・バリウム・銅
などから組成される酸化物である.
このうち,現在もっとも有力視されているのは、(3)のイットリウム系超電導体である。
最初にイットリウムを使って実験をしたのは,米国ヒューストン大学のポール・チュー博士のグループである。彼らの作った超電導体は,臨界温度98K(摂氏-175.15度)を記録,初めて液体窒素の沸点77K(摂氏-196.15度)を越えた.続いて,中国科学院物理研究所が100K(摂氏-173.15度)を記録その後すぐに日本の科学技術庁金属材料技術研究所が,123K(摂氏-150.15度)という驚異的な数字を,イットリウム・バリウム・銅に,ストロンチウムやスカンジウムなど他の元素を加えた超電導体で達成している.
最新のニュースでは、米国エナジー・コンバージョン・デバイシズ社が280.35K(摂氏7.2度),住友電工が300K(摂氏27.15度),モスクワ大学が308K(摂氏35.15度)という高温を,それぞれ記録しているが,組成物質は明らかにされていない。
ただし,最後の3つのケースについては,物質のうち1%にあたる部分だけで電気抵抗がなくなっただけとか,マイスナー効果を確認できなかったとか、1週間後には超電導状態を示さなくなったとか,物性が非常に不安定だという報告が出ている.
このため,研究者の中には,「超電導体と正式に認められない」として,過度の実験報告に警告を発するケースさえ出ている.しかし,部分的ではあっても,高温で超電導状態を示す物質の発見は価値がある,とするのが研究者の一般的な見解になっている。昨年の春にミューラー,ベドノルツの両博士が発見した超電導体が,「マイスナー効果が十分に認められない」という理由などから、半年以上も省みられなかった事実は,現在の状況を考えると皮肉ですらある.
研究が進むにつれて,イットリウム・バリウム・銅の酸化物で作られた超電導体については,その結晶構造がわずかながら分かってきた(図1を参照).結晶構造は,銅と酸素で構成される3層のペロブスカイト(灰チタン石)型をしていると見られており,イットリウムやバリウムの層が,その間にサンドイッチ状に介在している.イットリウムやバリウムの層で,部分的に酸素が抜け落ちている謎は,まだ解明されていない(写真1を参照).つまり,なぜ高温で超電導状態になるのか,物理学的には何も解明されていないわけだ。冒頭で述べたBCS理論でさえ,高温超電導体のメカニズムを解明するには十分でない,と指摘する研究者もいるほどだ。ただ,部分的ではあっても,高温で安定的に超電導状態を示す物質の開発や,応用技術の分野では役立つ。
また,まったく他の元素を利用することも重要な研究課題になっている.各国・各研究機関が,イットリウムやバリウム以外の元素から各種の酸化物を作って実験を行っている.しかし,こうした新組成については,最近,にわかに浮上してきた開発特許問題によって,おおやけにされる機会が少なくなりつつある.熱に浮かされたような発表ブームが一段落した後は、一転して秘密主義の横行というわけだ(カコミ記事を参照).
“実験が先で、理論は後から”という構図を,そのまま地で行く分野だけに,今後の開発競争は,特許出願競争に“相転移"するものと見られている.
コラム記事をスクラップする。
超電導は特許の申請ラッシュ
セラミックス系超電導体の特許申請ラッシュが続いている.東芝が,線材加工技術や応用技術を含めて約80件,三菱や松下,日立,NTTなども同程度かそれ以上,住友電気工業にいたっては,なんと700件にのぼる特許を申請中だ。こうした申請ラッシュの背景には,米国IBM社やヒューストン大学のチュー博士らが申請した基本特許が,実用化の時点で日本企業の足かせになるのでは,という企業サイドの心配がある.少しでも,自前の特許件数を増やしておこうという考えだ。業界関係者の予想では,今回の超電導体に関する特許は,そのほとんどが米国側のものになる見込み出遅れた日本企業が,あわてているのも無理はない。
ただ,特許として認められそうなのは,物質組成の部分だけに限定されそうだという観測もある.つまり,イットリウムが10%,バリウムが20%といった“調合”の秘技だけが特許として認められるということだ。
それとは反対に,米国側の申請が,高温超電導体の包括的な特許かもしれない,という観測もある.どちらに転んでも損がないように,何でもかんでも特許にしてしまおう,というのが日本側の戦略だ。
IV
実現した場合の応用分野
100年近い間,満足な技術進展が見られなかった超電導体が,この半年あまりの間に,それまでのツケを相殺するような勢いで進歩したために,応用分野も急浮上してきた(カコミ記事を参照).
理論的には可能だが,実用化はちょっと……と言われてきた応用技術が,今,脚光を浴びている.そこで,これ以降は、高温超電導体が実現したものと仮定して話を進めていこう(この仮定は、ひょっとすると明日にも現実のものになりかねない)。
超電導体の主な利用分野は,冒頭で示したとおりである.ここでは,その中から完全反磁性の特性を利用した「超電導推進船」と,完全導電性の特性を利用した「ジョセフソン素子」について見ておこう。
1. スクリューがない超電導推進船
日本鉄道(JR)や日本航空が開発中のリニアモーターカーや,神戸商船大学や川崎重工などが実験中の超電導推進船は,超電導体の完全反磁性を利用した,次世代の交通手段である。
両者ともに,超電導体で作った磁石を利用して,それを動力に使うという基本原理は同じである.リニアモーターカー(図2を参照)が,超電導磁石のマイスナー効果を利用して車体を浮上させたうえ,リニアモーターで走行するのと同様に,超電導推進船は,海水に電流を流して,これに直角な磁場を超電導磁石によって与えてやることで動く。つまり,海水を後方に押し流すことで前に進むわけだ(図3を参照).だから、既存の船にあるようなスクリューはない.
こうしたアイデアは,1966年に米国ウエスチングハウス社が,常電導磁石を用いた電磁推進船を作って基礎実験に成功してから,実用化レベルでの検討が始まった.超電導磁石を用いた世界最初の実験船は,その翌年に神戸商船大学と川崎重工が開発,動作することを確認している。そして1979年には,本格的な実験船であるST-500が完成している(写真2を参照).ST-500は,超電導体にニオブ・チタン合金を使い,これを線状に加工してコイルを作った.冷媒は,もちろん液体ヘリウムである。
得られた推力は15ノットで,推進効率に換算するとわずか0.3%しかエネルギー変換をしていない推進効率を高めるには,磁場を強くして後方に流れる海水の量を増やしてやる必要がある。つまり,巨大な超電導磁石が必要になるわけだ.神戸商船大学の計算によれば,2000tクラスの超電導推進船を作る場合,超電導磁石のサイズは,内径が5m,総延長が120mになり,重量は2000tに達するという.つまり,排水量と同じ重量の巨大な超電導磁石が,必要になるというのだ。
ただし,この数字は,ニオブ・チタン合金で作った超電導体と,液体ヘリウムを封入した巨大な冷却装置を想定したもの.高温超電導体でコイルを作った場合は,格段に小さい装置で推進効率が高められることになるはずだ.スクリュー推進の船だと,最大推進効率は60%が精一杯だが,超電導推進船は90%以上の推進効率が得られるという超電導体が商業ベースに乗った時,もっとも実用化が早いとされているのが,この超電導推進船である。音もなく、滑るように海を航行する船が登場するのも、そう遠い話ではないようだ.
リニアモーターカーはいいけど、超電導推進船はまだまだだ。実験船はあっても実用船、商用船はない。「超電導推進船は90%以上の推進効率が得られるという超電導体が商業ベースに乗った時,もっとも実用化が早いとされているのが,この超電導推進船である。音もなく、滑るように海を航行する船が登場するのも、そう遠い話ではないようだ.」あんたのそう遠い話でもないは50年後か?100年後か?少なくとも35年後はダメだ。まあ、前半の仮定「超電導体が商業ベースに乗った時」がダメ仮定だったのではないか。
2. ピコ秒台のスイッチング速度を実現するジョセフソン素子
ジョセフソン素子については,1983年6~8月号の本誌でも開発状況をレポートした。当時は,米国IBM社が開発の先端を走っており,日本でもNTT(当時の電電公社)の超電導研究室が,容量1Kbitのジョセフソン型メモリの開発に成功していた.ところがIBM社は,この後すぐに,「当面,実用化の見通しが立たない」との理由から,ジョセフソン素子の開発>を断念している.それまで同社は,超電導体に鉛を使って研究を続けていた.前一回も説明したように,第1種超電導体の鉛は,マイスナー効果が働く臨界磁界が非常に低いため、強磁界に対して抵抗力が小さいという特徴を持つまた,鉛は物性変化が激しいため、安定的な状態を保持し続けるのは難しい.つまり,IBM社は超電導体としては,もっとも実用化が困難な部類に入る物質を使っていたわけだ.
一方の日本では、工業技術院の電子技術総合研究所をはじめとして,数多くの研究機関が,早くからニオブ・チタン合金に着目,これを使って小規模なジョセフソン・メモリを開発するなど,基礎技術を蓄積してきた.
その結果,IBM社が撤退を表明した後は,世界一のジョセフソン素子技術を持つ国として,内外ともに認められる地位を確保していたわけだ.
ところが今年4月に,IBM社ワトソン研究所が,液体窒素で冷却できる高温超電導体を薄膜に使って,ジョセフソン素子の開発に成功した,というニュースが入ってきた.これと前後して,日本電気もセラミックス系超電導体を使ったジョセフソン素子の開発に成功したことを発表して,状況はにわかに混沌の様相を呈してきた.
ジョセフソン素子とは?
ジョセフソン素子は、ジョセフソン効果をスイッチングに用いた素子の総称だ。ジョセフソン効果は,1962年に英国ケンブリッジ大学の大学院生だったブライアン・D・ジョセフソンが,理論的な計算から予言し,実証した物理現象で,量子力学で言われるトンネル効果の超電導バージョンである.
トンネル効果とは,運動している電子の行く手に障壁がある時,これを通り抜ける運動エネルギーを持っていない電子でも,ある条件下では,その障壁を“すり抜けて”しまうという非常に珍しい現象のことだ.障壁とは言っても,厚さは100Å(1Åは10-8cm)と非常に薄い.
この現象を超電導体に応用したのが,ジョセフソン効果である.例えば、2枚の薄膜状になった超電導体の間に,厚さ50A程度の薄膜状絶縁体をはさんで電圧をかけてやる(このサンドイッチ構造をジョセフソン接合という).通常であれば,絶縁体が間にあるために,電気は絶対に流れないはずだが,前述のジョセフソン効果が働いて,絶縁体の中を電気はすり「抜けてしまう、あたかも,絶縁体などなかったかのようにである(図4を参照).この場合,すり抜ける確率は,絶縁体の厚さに関係している.厚さは、薄ければ薄いほどよい.
この現象を利用して,電気が絶縁体をすり抜けた時は「ON」,すり抜けない時は「OFF」という,「1」と「O」のスイッチングに変換するのが,トンネル型ジョセフソン素子の基本原理である.ジョセフソン素子の作り方は、この他にも5種類以上あるが,もっとも実用化に適しているのは,上記の方法だと言われている。
ジョセフソン素子のメリット
既存のシリコン素子よりも構造が複雑なうえに,超電導体まで使わなければいけないジョセフソン素子が,どうして,注目されるのか、それは,
(1) スイッチング速度(動作時間)が,シリコン素子に比べて格段に速い
(2) 消費電力が極端に低く,熱も発生しない
といった理由があるからだ.
S-RAMなどのシリコン素子と比べてみると,動作速度は約50倍と高速で,消費電力は1000分の1以下に抑えることが可能である.この数値は,ガリウム・ひ素素子やHEMT(高速電子移動素子)といった常温高速素子よりも優れたもので,それゆえに実用化も切望されているわけだ。
ちなみに試作段階では、工業技術院電子総合技術研究所が,ニオブ・チタン合金(冷媒は液体ヘリウム)の薄膜状超電導体を使って、消費電力0.1マイクロワット,スイッチング速度5ピコ秒(1ピコ秒=1兆分の1秒)という論理回路を開発している.また,最新のニュースによれば,同じ電総研が,論理演算や加算作業を行うALUを,ジョセフソン素子を使って開発している.このジョセフソン素「子は,純ニオブの超電導体の間に酸化アルミニウムの絶縁層をサンドイッチしたものだ.
ジョセフソン素子の問題点
ジョセフソン素子が実用化されるまでには,乗り越えなければいけない大きなハードルが2つある.
1つ目のハードルは,高温超電導体を発見すること.これは,すでに述べてきたように,現実のものになりつつある.室温で動作する超電導体を使って,回路上の全部の素子を作れば(つまりジョセフソンコンピュータを作れば),既存の大型コンピュータなみの高速処理マシンを自分のデスクトップに置くことも夢ではない.そのうえ,発熱はほとんどないため,熱暴走も起こらない.
2つ目のハードルは,ジョセフソン接合の接点となる絶縁薄膜の形成技術である.なにしろ,厚さが数10Åという絶縁薄膜を,これも厚さが数10Åの超電導体でやんわりとサンドイッチしなければジョセフソン素子は実現しない.たとえ,安定的に動作する高温超電導体が発見されたとしても、ピンホールが絶対にない絶縁膜や超電導体を作れなければ,確実な動作は望めないのだ。セラミックス系超電導体が,こうした薄膜形成技術に耐えられるか,絶縁薄膜を損傷なくサンドイッチできるかどうか、これは、ターゲニットになる超電導体がまだ発見されていないだけに,未知の領域と言える.
現在は,目的の物質にアルゴンなどの不活性元素をぶつけて,物質からはね返ってきた原子を使って薄膜を形成するスパッタリング法が,もっとも一般的で,薄膜形成技術としても最有力視されている.螢光灯を長く使っていると,その量端が黒ずむのは,スパッタリングによる薄膜形成現象そのものである.
電総研は,最近,「クロス・ライン・パターニング」(CLIP)と呼ばれる微細加工技術を使って,幅が0.5ミクロン(1ミクロン=1000分の1mm)という微小ジョセフソン素子を開発している.CLIPは,スパッタリング法を応用した加工技術だ.その工程は,まず,縦方向に走っている超電導体をスパッタリングにより薄膜形成し,次にその上部に絶縁薄膜を同様に設け、最後に横方向に走っている超電導体をスパッタリングによって薄膜形成してやる(図5を参照).これによって,縦方向に走る超電導体と横方向に走る超電導体の交差(クロス)する部分に,絶縁薄膜がサンドイッチされる構造になる.この微細加工技術は,まだ開発段階だが,実用化されれば動作速度が10倍以上向上すると見られている.
他にも,スパッタリング法の応用技術はいくつかあり,どれも,ある程度の成功を収めている。
2010年にはCrayがあなたの机に
問題点として提起した2つのハードルは,高温超電導体の発見という宿題が前提になっている.しかし,大方の研究者の予想が,2010年までには液体窒素の沸点をクリアするような超電導体が実用化される,というものだったことを考えると,その誤差は,少なく見積もってもすでに15年ある.2つのハードルのうち,|1つ目のハードルが,すでに15年分稼いでいることは,2つ目のハードルにとって好材料である.
先にも述べたが,スパッタリング法の応用技術の確立は,高温超電導体の発見より多少とも進展しており,1つ目のハードルよりは高くなさそうだ.
ひょっとすると,23年後の2010年には,|デスクトップサイズになったCrayX-MPが,あなたの机上にひょっこりと置かれているかもしれない.
安定的な動作をする高温超電導体を発見することは,それほどインパクトを持った事業になりつつある.
35年後の未来から見ると笑ってしまう。ジョセフソンコンピュータなんかなくたって家庭用パソコンがスパコンのCrayを越えている。
Core i7 (Sandy Bridge) が 158.4 GFLOPS だ。
Cray X-MP(Cray Research) は 800MFLOPS だもの。
笑ってしまうのも無理はないだろう。
基本的にこの記事は実現しなかったことについて遠くない将来実現すると予想し、ジョセフソン素子がなくとも20~30年後に実現したことをジョセフソン素子とかの技術がなければ実現しないだろうと予想したことだ。原因については、自分の注目している技術には希望的予測をしてしまいその反動で他の技術の進歩を低く見積もるためだと思う。私は、コンピュータ業界とかは、こうなって欲しくないという未来ばかり実現したので、期待というものは裏切られるものだと思っている。
Core Wars システムとアセンブラ(月刊ASCII 1987年9月号7) [月刊アスキー廃棄(スクラップ)]
「MARSシステム,およびREDCODEアセンブラについて」をスクラップする。これをもとにプログラムを作れるはずだ。
前回も書いたが3つ以上のプログラムによるバトルロイヤル、すなわち戦国時代をシミュレートするようなプログラムを誰か書かないかな。
MARSシステム,およびREDCODEアセンブラについて
1. 概要
Core Warsを行う仮想のシステムをMARSシステムと呼ぶ.このシステムは,MARSシミュレータとREDCODEアセンブラからなり,ユーザーの書いたCore Warsプログラムを,REDCODEアセンブラで翻訳し,MARSシステム上で動作させる.
MARSシミュレータは,対戦する2つのプログラム“A”と“B”をメモリにロードし,最初に“A”の命令を実行すると,次は“B”の命令というふうに,交互にそれぞれのプログラムを処理していく.また,無効な命令コードを実行したプログラムの動作は,停止してしまう(正確には,SPL命令によって,1つのプログラムが複数のプロセスを持っているような場合,該当する1つのプロセスが停止する.最後の1つのプロセスが無効な命令コードを実行した場合,そのプログラムは,停止する).
十分なマシンサイクルを経過しても,決着がつかない場合は,引き分けとなる.また,両方のプログラムが,停止するまでに,同じ数の有効な命令を実行した場合も,引き分けとなる。
MARSシステムのメモリ空間については,7月号で述べたとおりであるが,現在,次のサイズのメモリ空間が考えられている.
a) 8Kword
b) 16Kword
c) 32Kword
d) 64Kword
本誌では,PC-9801シリーズ用に32Kwordのものを提供するが,8bitマシンについては,8Kwordバージョンとならざるを得ないだろう.このメモリ空間は、最高番地から,最低番地へサイクリックに連続している.MARSシステムのメモリ空間は,一般のコンピュータのように,1枚の板のようなものではなく,エンドレステープのような構造をしている.
すべての命令,およびデータは,いずれも1wordを占有する.アドレッシングは,基本的に相対指定からなっており,メモリ上の特定の番地をアクセスすることはできない.たとえば,1,000番地にデータを転送するといったことはできない.
メモリ上のどの番地も,つねにアクセスすることができるが,それは,相対番地指定によってである.プログラムは,具体的な番地を知らないことになる.
対戦する2つのプログラムは,乱数によって十分離れた番地にロードされ,実行される.競技の際には,実行するマシンサイクル数などが,あらかじめ決められる.
2. REDCODEアセンブラ
〈表記法〉
Core Warsプログラムは,MARSシステムの仮想的なマシンのための機械命令で書かれる必要がある.これは,REDCODEと呼ばれるアセンブラ言語によって記述し,REDCODEアセンブラによって実行形式ファイルを生成することができる.
REDCODEアセンブラは、非常にシンプルなアセンブリ言語である.ソースコードの1行が,1ステートメントに相当する.1ステートメントは,4つのフィールド(ラベル,オペレーション,オペランド,コメント)から構成される.
a) ラベルフィールド
ラベルは,そのステートメントのマシン語のある番地を,他のステートメントから参照するのに使用するために,使うことができる。
ラベルフィールドは、1ステートメント中の最初のフィールドであり,最初のブランクまでがラベルフィールドとなる.もしステニートメントの最初の文字が,ブランクであった場合は,ラベル無しのステートメントとみなされる(区切り文字としてのブランクとタブは,同等に扱われる).
ラベルは,英数字からなる1~8桁の文字列であるが,最初の文字は,英字でなければならない.また,大文字,小文字は区別されない。
b) オペレーションフィールド
オペレーションフィールドは、マシン語の命令を意味するオペレーションニーモニック,データ定義命令,アセンブラ疑似命令を記入するものである.このフィールドは、ラベルフィールドの次に位置し,少なくとも1桁のブランクの次に書かれる.また,大文字,小文字の区別はされない.通常10桁目から記入される.
c) オペランドフィールド
オペランドフィールドは、0~2個の,カンマ,またはブランクで区切られたオペランドからなる.このフィールドは、オペレーションフィールドに続く1桁以上のブランクに続いて記入され,ブランクで終る.
あるオペレーションは,1つのオペランドを必要とし,あるオペレーションは,2つのオペランドを必要とする.オペランドが1つの場合は,マシン語上“Bフィールド”と呼ばれるエリアに格納される(JMP命令を除く.詳しくは,MARSシステムの命令セットを参照のこと).オペランドが2つの場合,1つ目のオペランドは,Aフィールドに,2つ目のオペランドは,Bフィールドに格納される.
オペランドフィールドは、通常16桁目から記入される.各オペランドは,“+”と“-”で区切られた数値とラベルシンボルからなる式を記述することができる.式は,左から右へ評価される.特別なラベルとして“*”がある.これは,そのステートメントがラベルを持っているいないにかかわらず,現在実行中のステートメントの番地を意味する.また,オペランドは,4つのアドレッシングモードを持っているが,これについては,アドレッシングモードの項を参照のこと.
d) コメントフィールド
コメントフィールドは、オペランドフィールドの次にくる“;"から始まるフィールドである.REDCODEプログラマ,あるいは,他のプログラマに対する注釈として使用される.このフィールドは、生成されるオブジェクトに対しては,なんら意味を持っていない.
特別な使い方として,ステートメントが,";"で始まる場合は,ステートメント全体が注釈として扱われる.
〈アドレッシングモード〉
オペランドの評価に際して,MARSシステムは、オペランドのアドレッシングモードを見る.アドレッシングモードは,“イミディエイト(即値)”,“ダイレクト(直接)”,“インダイレクト(間接)",“オートデクリメントインダイレクト(自動減算・間接)”の4つがある.
各アドレッシングモードの使い方については,本文中で説明した.
a) イミディエイト
イミディエイトアドレッシングは,“#”によって示される.たとえば,#3は,数値の3を意味する.
b) ダイレクト
ダイレクトアドレッシングは,"$"によって示される.また,アドレッシングモードを示すシンボルがなかった場合も,ダイレクトアドレッシングとみなされる.ダイレクトアドレッシングの例は,-123やABCであり,これらは,現在実行中の命令からの相対番地指定として扱われる.
c) インダイレクト
インダイレクトアドレッシングは,“@”によって示される.ダイレクトアドレッシングと同様に番地を表すのに使われるが,文字どおり間接的にアクセスするものである。
相対番地によって示された番地に格納されている値を相対番地として評価する.このとき,値が格納されている番地からの相対番地指定となることに注意する必要がある.
d) オートデクリメントインダイレクト
オートデクリメントインダイレクトアドレッシングは,"<"によって示される.これは,インダイレクトアドレッシングと同様にポインタを使用して番地を指示するものである.インダイレクトと異なる点は,使用する前に,ポインタの内容が1引かれることである.
ここで注意が必要なのは,実行アドレスを計算するときには(ポインタの値-1)を使って計算し,実行アドレスを計算してからポインタの値を1減らす,という点である.この順番は,一見どちらでも同じことのように思えるが,2つのオペランドのアドレッシングモードの両方がオートデクリメントインダイレクトであるときにMARSシステムの動作が異なることがありえるので,システムを自作してみようというような場合は,考慮する必要があるだろう.
〈MARS命令セット〉
MARSシステムが実行する命令,あるいは,データを定義する命令について,オブジェクトのフォーマットも含めて,簡単に説明する.このオブジェクトのフォーマットについては,Core Wars Standard'86と'87では,若干異なる.もっとも,これは,大きなメモリをサポートするためのものであり,8Kwordバージョンについては,影響がないと考えて差し支えないように思われる.ICWS版のMARSシステムのオブジェクトのフォーマットは,オブジェクトについてを参照のこと.
すべての命令について,すべてのアドレッシングモードが使用可能である(ただし,分岐命令の飛び先でイミディエイト指定することはできない).
DAT B
この命令は,メモリを確保して,データを定義する.データの値は,B値に初期化される.もし、この命令を実行しようとした場合,そのプログラム,あるいはプロセスは,停止する.すなわち,DAT命令は,自分のプログラムのデータとして以外に,敵のプログラムの障害としての使用方法がある.
0 1 0 0 B値
MOV A,BA番地の値が,B番地に転送される.一般にA番地の1 word(5つのフィールドの内容すべて)が,B番地に転送される.注意しなければならないのは,A番地の指定がイミディエイトであった場合である.このとき,即値のAが,B番地のBフィールドに書き込まれる.したがって,0爆弾の記述として,“MOV #0, 1234"といった記述がされてきたものについて,最新のMARSシステムでは,0爆弾として機能しないものが出てくる可能性がある.
1 Aモード Bモード A値 B値
ADD A,B
A番地の値が,B番地に加えられ,B番地の内容が更新される.
2 Aモード Bモード A値 B値
SUB A,B
A番地の値が,B番地から引かれ,B番地の内容が更新される.
3 Aモード Bモード A値 B値
JMP AA番地がプログラムカウンタに移される.A番地からの命令が次に実行される.Bオペランドには,何があっても無効となる.
4 Aモード 0 A値 0
JMZ A,B
もし,B番地のBフィールドの値が0ならば,上記のJMP命令と同様に,A番地に分岐する.それ以外の場合は,これに続く命令に移る.
5 Aモード Bモード A値 B値
JMN A,Bもし,B番地のBフィールドの値が0でないなら、上記のJMP命令と同様に,A番地に分岐する.それ以外は,これに続く命令に移る.
6 Aモード Bモード A値 B値
DJN A,BB番地のBフィールドの値から1減算される.もし,その結果が0でない場合,A番地へ分岐する.0の場合には,これに続く命令に移る.分岐するしないにかかわらず,B番地のBフィールドの値は,1減算される.減算が行われてから評価されるため,この命令が実行される前に0だった場合は,-1(インプリメントされているメモリサイズ-1)になるため,分岐が実行されることになる.
7 Aモード Bモード A値 B値
別冊サイエンスの命令表には誤りがあるので,それを参照されている方は、注意する必要がある.
CMP A,B
A番地の値が,B番地の値と比較される.比較した結果,等しい場合には,これに続く命令がスキップされ,等しくない場合には,これに続く命令に移る.
8 Aモード Bモード A値 B値
A番地とB番地の1 word(5つのフィールドすべて)について比較する.ただし,一方が,イミディエイトアドレッシングしている場合には,相手のBフィールドの値と比較する.
この命令については,Core Wars Standard'86,および'87と,古い命令セットの判断基準が異なっているので,十分注意する必要がある.7月号221ページのANTIIMPというプログラムは,古い命令セットに沿って作られているために,現在の命令仕様では、動作しないことになってしまう.
SPL Bこの命令は,プログラムの実行を現在のプロセスと,B番地から開始するプロセスに分割する.つまり,プログラムの実行サイクルが兄弟プロセスに分配される.SPL命令で2回にわたって分割されたプログラムは,3つの兄弟プロセスを持つことになる.それぞれは,相手のプログラムと合わせて6サイクルに1回実行されることになる.
9 0 Bモード 0 B値
SPL命令の後,このサイド(競技する2つのプログラムを,それぞれ“サイド”と呼ぶ)で次に実行される命令は,B番地の命令であり,実行したSPL命令に続くステートメントや,他の兄弟プロセスではない。
各サイドは,64の兄弟プロセスを持つことができ,全体で128の兄弟プログラムがMARSシステムでは許される.すなわち,これを越えてSPL命令を実行しても、兄弟のプロセスは,新たに発生しない。このような場合でも,MARSシステムは,何らメッセージを表示しない。
〈疑似命令〉
疑似命令は,アセンブラに対する命令であり,オブジェクトコードは生成しない.
SPACE N,M
N行スキップし,同じページ上にM行残っていなかった場合,改ページする.
Mを省略した場合には,Nと同じ値が指定されたとみなす.SPACEは,リスティングを読みやすくするように,たとえば,次のように使用することができる.あるステートメントブロックが存在し,それが,3行のコメント行から始まる場合,そのステートメントブロックの前に“SPACE2,3”と記述しておけば,2行のブランク行を確保した後,3行のステートメントが必ず1つのページにリスティングされる(この命令は,アセンブラによっては、サポートされていないこの場合,この命令ステートメントは無視される).
END
END命令は,アセンブルの終りを示す.
3. オブジェクトについて
オブジェクト形式については,基本的にREDCODEアセンブラと,それで生成されたオブジェクトを実行するMARSシミュレータとの間で整合性がとれていれば問題なく動作するわけであるが,ICWS版MARSシステムのオブジェクトは,次のような形式となっている。
すなわち,テキストファイルの形として生成され,ASCII文字だけで表現されており,ヘッダレコード,コード,EOFレコードからなっている.なお,旧版のMARSシステムと異なり,命令wordを16進ダンプした文字イメージとなっている.これは,今回,MARSシステムのメモリ空間が広がったことに対応するためである.
〈ヘッダレコード〉
最初に実行する命令のプログラムの先頭からの相対番地,およびコード部分のword数を持っている.
〈コード〉
実際のプログラムのコード部分である.1命令は,次の構成からなる1 wordを16進ダンプイメージとした10桁のASCII文字列からなっている.
各オペレーションコードについては,命令の説明の中で示した.アドレッシングモード(modeA,modeB)は,それぞれ次のような値となる.
・イミディエイト: 0
・ダイレクト: 1
・インダイレクト: 2
・オートデクリメントインダイレクト: 3
また,古いシステムは,8,000番地のメモリ空間を持つものであったが,ICWS版では,2のn乗のメモリ空間を持つものとなっている.具体的には,各メモリ空間に相応して,オペランドの有効bit数が変化してくることになる.32Kwordバージョンでは,0~7FFFhまでが有効な値となる.
〈EOFレコード〉
EOFレコードは、コードと同じ長さを持つ10桁のASCII文字の0からなるレコードである.
具体的なオブジェクトの例を次に示す.これは,本文で紹介しているMICEのオブジェクトである.なお,ICWS版のMARSシステムでは、ソースコードについては“.RED",オブジェクトについては“.MOB”の拡張子を付ける.
4. MARSシステムの動作
MARSシステムを作成するような場合や,本格的な戦いに入ってしまったプログラマにとっては,MARSシステムのより詳細な動作について知る必要が出てくるだろう.
Core Wars Standardは,ICWSの入会者に配布される.ただし,現状では,Core Wars Standard'87の正式なドキュメントは届いていない.ここでは,問題となりそうな部分について述べることにする
〈オペレーションで使用されるフィールド〉
各命令で使用されるフィールドの数を示す.1は,フィールドの値のみが使われることを意味し,5は,1word全体の5つのフィールドが使用されることを意味している.
〈プログラムキューのメンテナンス〉
2つのプログラム(サイド)は,最初は,1つのプロセスしか持っていない.しかし,SPL命令によって,64個までのプロセスを持つことができることを先に述べた.このプロセスの管理は,プログラムキューによって行う.
プロセスが1つしかない状態では,そのプログラムのプログラムカウンタは,プログラムキューの最初のセルに格納されている.その後ろには,63個のプログラムカウンタのためのセルが用意されているもちろん、相手のプログラムのために,このプログラムキュ-は,もう1セット用意されている.最初のSPL命令が実行されると,2番目のプログラムカウンタが2番目のセルに格納される.
このキューをポインタが指しており,命令が実行されると次のプログラムカウンタが格納されているセルを指すようになっている.空のセルを指した場合には,1番目のセルを指すように制御される.
複数のプロセスが存在する状態で,SPL命令を実行した場合,そのセル以降のセルを1つずつ下に移動し,プログラムキュー上に空きを作る.Bオペランドによって示される番地の絶対番地がその中に入れられる.SPL命令実行後には,ポインタが次のセルを示すので,次のサイクルでは、今生成されたばかりのプロセスが実行されることになる.
プログラムが,実行不能な命令(データなど)を実行しようとした場合には,そのプロセスは停止する.プログラムキューのそのセルは削除され,それ以降のセルが1つずつ上に移動する.このとき,キューのポインタは更新されないため,次のサイクルでは、停止したプロセスの次に実行されるべきプロセスが,正しく実行される.
〈表示〉
各プログラムの実行状況は,本文中に写真で示したようにグラフィックに表現される.各番地は、画面上で1ドット(あるいは,それに準ずるドットの集まり)で表現される.何も書かれていない状態では,その番地に相当する部分は,黒である.
プログラムは,それぞれ色が決められており,プログラムのロードされた番地は,その色となる.また,プログラムによってデータ,または命令が書き込まれた番地も,同じ色となる.次に同じ番地を相手のプログラムが書き込みを行った場合には,上書きされる.また,実行中の番地は,点滅する.
ただし,ICWS版のMARSシステムでは,便宜的に,MOV命令を行った命令の番地が黒になるようになっているようである.これは,いわゆるIMP(“MOV 0, 1”の1命令からなり,これ自身を1番地先に複写しながら,制御を移して行く)が実行された後は,連続してどちらかの色で塗りつぶされてしまい,全体の状況が見にくくなるのを防ぐ働きをするものだろう.もっとも,この工夫は,Core Warsの本質的な動作にかかわるものではない.
前回も書いたが3つ以上のプログラムによるバトルロイヤル、すなわち戦国時代をシミュレートするようなプログラムを誰か書かないかな。
Core Wars(月刊ASCII 1987年9月号6) [月刊アスキー廃棄(スクラップ)]
月刊ASCII 1987年7月号に続きCore Warsの特集があった。
扉にある写真をスクラップする。
以下本文記事をスクラップする。
扉にある写真をスクラップする。
以下本文記事をスクラップする。
はじめて読むREDCODEアセンブラ
Core Warsは,現在のコンピュータシステムのほとんどが,それを基調とした思想の上に築いているvon Neumannのストアドプログラム方式を,もっとも具体的に示してくれるシステムにちがいない.
ストアドプログラム方式では,プログラムとデータは主記憶装置に格納され,プログラムカウンタで示される命令が,主記憶より1つずつ取り出されて実行される.
中央処理装置は,主記憶上に置かれた「買い物競争の命令カード」のようなものを順番に拾っては,その通りに実行していく。これは,結果的には,データや命令であるカードを置き換えたり,次に拾うカードの位置を変更することだけに限られている.
それは、はなはだ簡単なルールであるが,簡単であるだけに、純粋に思考的な作業空間を育むのに適した環境を提供するものである。
しかし,現実のコンピュータシステムでは,こうした実際の中央処理装置の活動を直接意識することは,あまりない.アセンブリ言語などで,それを指示することはあっても,命令を主記憶の中に配置するといった,もっともセンシティブな部分については、オペレーティングシステムや処理系が独占してしまっているのである.
Core Warsは,いわばCore Viewerもいうべき性格を持っている.
プログラムのどのステップが,実行され,どのようにメモリの中に作用するか?あるいは,自己増殖し,または,ちょっとしたデータの行き違いで,どのような突然変異種を生みだし,それが,具体的には,どのようなプログラムのステップの結果として発生するかを見て,考える場所を提供してくれる.
これは,ストアドプログラム方式が提供しうる,もっとも知的でイマジネーションを刺激する部分に違いないのだ。
Core Warsのプログラムは,REDCODEと呼ばれる専用のアセンブリ言語で書かれる.今回は,このREDCODEによるプログラミングについて,触れてみることにしよう.
アドレッシングモードについて
REDCODEの言語仕様について,リストページに掲載した.DJN命令,CMP命令,SPL命令の少々分かり難い点についても説明しているので,参照してほしい.
さて,アセンブリ言語の特徴は,機械命令の機能を直接操作できる点にあるが,プログラミングを行っていく上で,重要な意味を持っているものとしてアドレッシングモードがある.アドレッシングモードが理解いただければ,だいたいのプログラムは,読めるといっても過言ではない.
REDCODEには,次の4つのアドレッシングモードがある.
1. イミディエイト(即値)
2. ダイレクト(直接)
3. インダイレクト(間接)
4. オートデクリメント・インダイレクト(自動減算・間接)
イミディエイトは,数値(またはラベル)の前に"#"を付けたものであり,#3は,数値の3そのものを表す.また,#-5は,-5そのもの(8,000番地バージョンでは,7,995)を表す.
ダイレクトは,数値(またはラベル)の前に"$"を付けるか,何も付けない形で表わしたものであり,「その命令のあるアドレス+指定された値」となる.たとえば,
は,4,455という値を,1,230+10=1,240番地に格納することを意味している
1230 MOV #4455,10
インダイレクトモードは,“@"を付加することで表し,ダイレクトに参照される番地の内容を、さらにダイレクトモードのアドレスとみなすことを意味する.たとえば,のような状態で,1,230番地を実行すると,1,230+10=1,240, 1,240番地の内容は,700であるから,1,240+700=1,940番地に,2,233の値を格納することになる.
1230 MOV #2233,@10 : : 1240 DAT 700
また,オートデクリメント・インダイレクトは,“<”を付けて表す.これは,インダイレクトとほぼ同じであるが,実効アドレスを計算するためのポインタの値(前の例では,700)を,命令を実行する前に1減算する.たとえば,という場合,1,230+10=1,240, 1,240番地の内容は,700であり,1,240+7001=1,939番地に,2,233の値を格納する.この時,700番地の内容は,699に変化する.
1230 MOV #2233,<10 : : 1240 DAT 700
さて,REDCODEのアドレッシングについて,だいたい理解いただけただろう-か.では,次の練習問題をやってみてほしい。
この[?]の部分に,以下の(1)~(5)のステートメントがあり,それを実行した場合,メモリの内容は,それぞれどのように変化するだろうか.ちょっとした頭の体操になる.答はリストページにある。
DAT 2 DAT 10 DAT 100 [ ? ]
(1) ADDT -3,-3 (2) ADDT @-3,-3 (3) ADDT @-3,@-3 (4) ADDT @-3,<-3 (5) ADDT <-3,<-3
自己増殖とMICEのアルゴリズム
MICEは,1986年8月に行われた第1回国際Core Warsトーナメントの優勝プログラムである.
Chip Wendellという作者によるこのプログラムは,ある明解な目的のもとに作られたプログラムであった.それは,できるだけ早く自分自身のコピーを作り,増殖するということである.この点で,MICEは,他のどの参加プログラムよりも「攻撃的」でなかったにもかかわらず,ほとんどのプログラムを生存不可能にした.
MICEは,わずか8行のプログラムであり,Core Warsのゲームがスタートすると同時に,モニタの上に次々とコピーを作っていくのがうかがえる.まさに,MICEそのものであり,仮に相手のプログラムが,かなり強力なパワーを持っており,一時的に繁殖したMICEをかたっぱしから殺して2~3匹しか残らなかったとしても,ふと目を離している間に,ふたたび数十匹に増えていたりする!
現在のところ,自己増殖の考え方が,かなり重要なテクニックであることは,確かなようである.
自己増殖の方法論そのものは、けっして難しいものではない、自分のプログラム本体をデータとみなし,ある番地に転送する.そして,その番地にSPLしてやればよいのだ.一般的なプログラムで,データを連続して転送してやるように,カウンタを設けて,繰り返し処理をしながら,1wordずつ転送するわけである.
つまり,問題は,具体的なコーディングとなるわけであるが,MICEのソースは,次のようなものとなっている.
これは,どのように動作するのだろうか.
SPTR DAT 0 START MOV #12,SPTR LOOP MOV @SPTR,<DPTR DJN LOOP,SPTR SPL @DPTR ADD #653,DPTR JMZ START,SPTR DPTR DAT 833
まず,STARTからプログラムは始まる.SPTRに12を入れているが,この数は,これから転送しようとしているword数に相当する.次に,SPTRで示される番地からDPTRで示される番地へ,MOVとDJN命令を使用して転送を行っている.転送先は,DPTRが833なので,仮にSTARTのあるアドレスが1番地であるとすると,STARTのコピーされる先は,828番地となる.無事転送処理が終ると,SPL命令を実行して,コピーに「命」を吹き込む.そして,DPTRに653を加えて転送先を変更し,ここまでの処理を繰り返すわけである.
ここで,注目してほしいのは,転送をプログラムの後ろから順番に行っている点である.これは,REDCODEがオートデクリメントは持っているが,オートインクリメントは、持っていないことによる.また,ループカウンタと転送元アドレスを共用している点もキレイに処理されている.
何でもないようで,これだけコンパクトな自己増殖のシーケンスは,なかなか書けるものではない.
ところが,MICEは自己増殖プログラムとして洗練されたアルゴリズムで書かれているだけでなく,ちゃんとCore Warsのプログラム戦士としての性格も備えているのである!
まず1つは,7行目のJMZについてのものである.4行目にDJNがあり,SPTRが0になっていなければ,そこから下へはプログラムの制御は降りてこないわけで,このJMZは,一見無意味なように思える.実は、これは,「乗っ取り防止用のわな」になっているのである.
MICEの自己増殖の手続きは,プロセスの数が64個になったとたんSPLによるプロセスの増加は,行われなくなるが,本体のコピーは,続けられる.すると,この空き巣のMICEプログラムに,乗っ取り型のプログラムが飛び込んでくる可能性が,非常に高くなってしまう.これが,JMZによって,少なくともプログラムの後半に飛び込んだものについては,カバーできる.また,0爆弾などによって本体が破壊され始めている可能性があることを知り,自爆することによって,他の健康なMICEの増殖作用を早める働きをする.
また,2行目の#126,なかなか深長な意味合いをもったコーディングのようである.MICEは,8wordのプログラムであり,また,最初のDAT文はコピーする必要がないとすると,これは、たかだか#7で済むように思える.つまり,余分な転送をしているわけである.
これは,何を意味しているのかというと,一般的な0爆弾の発射ロジックよりも,はるかに簡単な方法で,0爆弾を落しているのと同じ効果をもたらしているのである.これは,MICEの占有している番地よりも後ろの4wordが,初期状態かDATに相当する内容であった場合,新しくMICEが増殖する時に,転送先でMICE本体よりも長い12wordを破壊できる.
この12wordや,転送先番地の初期値である833(これは,子,孫となっていくにしたがって少ない値となる),そして,転送先番地の増加分である653が,どのようなバランスではじき出されたかは,現在のところ分からない.
35年経っても面白い。頭の体操になる。誰かCore Warsを再現するプログラムを作ってはくれないだろうか。希望としては2つのプログラムを対戦させるのではなく3つ以上のプログラムを対戦させる戦国時代のようなゲームをしてみたい。MICEを倒すには?
そして,次の最強プログラムは?
当面の目標をMICEに置いて,プログラムを考えるのも良いだろう.実際のところ,相手がMICEと分かっていても,このプログラムを倒すのは容易ではない.
仮にMICEを駆逐するプログラムができたとしても,MICEとともに昨年のトーナメントで優勝を争ったCHANG1を抹殺できるかどうかは,保証の限りではない.
しかし,Core Warsは,どうやら,プログラムがどのように動作するかを考え,それに対して,どのようなアルゴリズムを対応させるかを考えるゲームのようである.MICEに勝てるプログラムを,そして,さらに強力なCore Warsウォリアーを作ってほしい.