2014/05/29 長年放置しておりまして、申し訳ございません。ここやVORCで書いていたような研究は現在、主に各種『ゲームサイド』誌に書き綴っております。よろしければご覧くださいませ。またそのほか最近の動向に関してはtwitter:@hallyvorcにてお知らせしております。いずれ更新を再開したいとは思っております。
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 |
05.20.2005
■[dawn] バベッジのゲームマシン (5)
「機械にチェスをプレイさせてみたい」という研究者たちの願望は、ハードウェアの完成前にチェスプログラミングの方法論が確立されるという、一種異様な事態を生み出しました (前回参照)。しかしこのようなソフト先行の時代は、それほど長くは続きません。ちょうどシャノンの論文「チェスをプレイするコンピュータのプログラミング」が発表された1949年3月に、実用段階に到達したといえるはじめての現代型 (プログラム格納式) コンピュータが、テストプログラムの実行に成功しています。
2種類のコンピュータが、期せずしてほぼ同時にこの快挙を成し遂げました。ひとつは英ケンブリッジ大学のEDSAC。そしてもうひとつは、米エッカート・モークリイ・コンピュータ社のBINAC。最初にゲームをプログラムする試みが行われたのは、このBINACでした。プログラマの名はエリザベス・ジーン・ジェニングス。ENIACの最初のプログラマとなった6人の女性コンピュータ (当時それは計算手に与えられた職業名だった) のひとりです。BINACが稼動した直後の社内レポートに、彼女がチェスやジンラミーのプログラミングに時間を割いていたという記述があるようです。しかしそれらが本当に完成したのかどうかは、いまのところ不明です。
■[dawn] 甦るチク・タク・ツー・マシン
実際に動作したことが確認できる最古のゲームプログラムは、意外なことに、死んだかに思われていたACEプロジェクトから生まれました。実はチューリングが去ったあとも、プロジェクトは少しずつ前進していたのです。そして1950年5月には、遅まきながら試作機を完成させ、簡単なテストプログラムを走らせるところにまで漕ぎ着けていました。
チューリングの不在を補うべくACEプロジェクトに奔走したひとりに、ドナルド・ワッツ・デイヴィスという新進気鋭の物理学者がいました。彼はチューリングと入れ替るようにしてプロジェクトにやってきたわけですが、すでにチューリングには大きな影響を受けていたようです。バベッジに興味を持つことになったのは、おそらくはそのあたりが縁だったのでしょう。彼はプロジェクトの合間を縫ってチク・タク・ツー専用コンピュータを製作し、ACEのお膝元である国立物理研究所で毎年開催される子供向けパーティに、それを提供します。この小さなパーティこそ、バベッジの挫折以来ほとんど忘れられていたチク・タク・ツー・マシンが、100年の時を経てついに復活を遂げた瞬間でした。かつてバベッジが目論んだとおり、それは子供向けのエンターテイメントでありながら、同時に大人たちの注目も集めます。1949年5月には王立協会の科学展示会に出展され、デイヴィスは翌年これについて論文を執筆しました。
チク・タク・ツー・マシンの成果は、ACE試作機が完成すると、すぐにそちらにも反映されたようです。この頃チューリングと共同でハンド・シミュレーションをやっていたドナルド・ミッキーは、1950年にACE試作機を見学し、ACEによるチク・タク・ツーの完全プレイが来訪者たちの目を釘付けにする様子を見ています (これには彼自身も勇気づけられました)。しかしデイヴィス自身は、これ以降ゲームに関する研究を行っていません。彼の興味はコンピュータの用途拡大というより広範なテーマへと向かい、やがてインターネット誕生の先駆的業績を達成することになります。ゲームプログラム研究においてデイヴィスのあとを継いだのは、クリストファ・ストレイチイ。コンピュータに趣味でプログラミングすることを許された最初の市民のひとりです。
■[dawn] ホビー・プログラミングの曙
ストレイチイはもともと通信工学に精通した技術者であり、戦時中は真空管の研究に携わっていました。それが縁でアナログコンピュータに興味を持ったりもしていたのですが、戦後は一線を退いて教職に就き、コンピュータとは無縁の生活を送っていました。彼に再び火を点けたのはウィーナの「サイバネティクス」です。これを読んで以来デジタルコンピュータへの興味が抑えきれなくなり、彼はつてを辿ってどうにかコンピュータに触れる機会を掴もうと画策しました。ついに念願叶ったのは1951年初旬頃で、以後彼は空き時間を使ってACE試作機でプログラミングすることを許されるようになったのです。
ストレイチイがACE試作機で感銘を受けたのは、なんといってもデイヴィスのチク・タク・ツー・プログラムでした。ぜひ自分でも同じようなものを作ってみたいという情熱に駆られて、ストレイチイのプログラミングスキルは急速に熟達することになります。そして1951年5月からドラフト (チェッカー) というチク・タク・ツーより数段複雑なゲームのプログラミングを開始しました。しかしこのコーディングはなかなかうまくいかず、しかも試行錯誤するうちにハードウェアの仕様が変更されるという災難にも見舞われ、結局プログラム全体が使いものにならなくなってしまいます。いずれにしても局面評価の方法に納得いっていなかった彼は、いったん開発を断念します。
■[dawn] ケヴェドを超えて
それから少し遅れて、マンチェスタ大学でもゲームプログラミングへの挑戦が始まりました。マンチェスタ大学のマークIは、実用化こそBINACやEDSACに少し遅れを取ったものの、試作機 (Baby) まで含めれば世界で最初に動作した現代型コンピュータです。同大学で自動チェス研究に勤しんでいたチューリングらハンド・シミュレーション一派は、じつはこの試作機の段階から、自分たちのアルゴリズムをプログラムする機会を窺っていたのですが、マークI開発チームのトム・キルバーンに反対され、断念せざるを得なくなっていました。どうもキルバーンには貴重な稼動時間の無駄遣いと判断されたようです。
そういうわけで、実用型マークIの完成後、ゲームプログラミングに挑戦する許可を最初に与えられたのは、ハンド・シミュレーションとは無関係な人間になりました。ディートリヒ・プリンツというフェランティ社 (マークIのスポンサ) から出向してきた研究者です。ケヴェドのアシェレシスタに詳しかったというプリンツは、汎用コンピュータでさらに高度なアルゴリズムができるかどうかを試そうとします。そしてチューリングの記したプログラマーズハンドブックを頼りにプログラミングに取り組みました。彼のプログラムは1951年11月に完成しましたが、それはニ手詰めのプロブレムを解くソフトで、ゲームをプレイする段階には到達していません。解決には15分を要したといいますが、プリンツは結果に満足し、少し改良を施したあとチェス研究から離れています。
■[dawn] ストレイチイの再挑戦
プリンツがチェス研究を終えようとしていた頃、ストレイチイはマンチェスタ大学を訪れていました。彼はそこでチューリングと出会い、彼と彼のプログラマーズハンドブックに励まされながら、マークIでもう一度ドラフトにチャレンジしようと決心します。移植と改良は驚くほど迅速に終わったそうで、一夜にして完成したという説もあるほどですが、ともかくストレイチイは遅くとも1952年の6月までに、高速かつ完全なルールでドラフトをプレイするプログラムを動作させることに成功しました。一手指すのに要した時間は2分程度だったといわれています。
ストレイチイはこのプログラムを携えて、その年の9月にカナダ・トロントで開催された第2回ACM会議に出席しました。こうして彼の快挙は北米にも知れ渡ることになります。当時IBM社員だったアーサー・サミュエルは、完成したばかりのIBM 701を使って、さっそく同様のプログラムを作成しました。彼はその後何年にもわたってこのプログラムを改良し続け、やがてジョン・マッカーシイやマーヴィン・ミンスキイらとならぶ初期人工知能研究の重鎮となります。
ドラフトの開発と前後して、ストレイチイは学習型アルゴリズムを持つニムなどもプログラムしていたそうですが、その後やはりゲーム研究から遠ざかっていきます。専門家以上のプログラミングスキルを身に付けた彼は、もはや単なるアマチュアではいられなくなってしまっていたのです。かくてストレイチイは再び現場復帰することになり、後年はプログラミング理論の大家として名を馳せました。
(参考まで………マークIにはチューリングの提案によって、乱数発生装置が取り付けられていました。スタン・アウガルテン著「BIT by BIT」には、マークI開発チームを率いていたフレデリク・ウィリアムズが、これを使って簡単なギャンブルプログラムを走らせていたという記述があります。0-9までの数からどれかひとつを選んで、それが何回カウントされるかを当てるというものだったそうで、開発時期は不明ですが、これが汎用コンピュータで動作した最初のゲームプログラムだった可能性もありそうです。ちなみにウィリアムズは自分の好きな数字が出やすいようプログラムに細工していたとか。アウガルテンに言わせれば「これこそ世界最初のコンピュータ犯罪」ということです)
■[dawn] コンピュータ・ビデオゲームの誕生
ストレイチイのドラフトと同じ1952年に、EDSACにもコンピュータゲームが登場しました。こちらはアレクサンダ・シャフト・ダグラスという大学院生の手がけたチク・タク・ツー・プログラムです。
プログラミング環境整備の重要性にどこよりも早く気付いていたケンブリッジ大学では、1950年頃からEDSACのサブルーチン開発要員として、数人の院生たちによるエキスパート部隊が編成されていました。彼らはハードウェアの奥底にまで通じた、いわばEDSACハッカーとなり、普通のユーザなら考えつかないようなプログラムをいろいろと考案しています。ダグラスのチク・タク・ツーもそのひとつといえるでしょう。
いやもちろん、チク・タク・ツー・プログラムそのものに目新しさはありません。ドナルド・デイヴィスの業績は、ケンブリッジ大学でも知られていたはずです。その翌年には、同大学の機関誌で、ワイヤーと空き缶で自作できる6ポンドのチク・タク・ツー・マシンなんていうものが紹介されたりもしていました。いまさらチク・タク・ツーをプログラムしたところで、誰も驚きはしません。
しかし彼のチク・タク・ツーは、他のコンピュータゲームとは決定的に異なる特徴を備えていました。それまでのゲームプログラムは、ドラフトにせよチェスにせよ、盤面あるいは駒の移動に関する情報を、テレタイプで紙面に出力していたのですが、ダグラスのチク・タク・ツーは、盤面をブラウン管モニタに表示し、入出力すべてをコンピュータだけで完結させていたのです。すなわち世界ではじめてのコンピュータ・ヴィデオゲームになっていたのです。
ブラウン管出力を備えた最初のコンピュータは、定説ではWhirlwind (1951) ということになっているので、ヴィデオゲームの起源がそれ以前のマシンにまで遡るといわれても、にわかには信じ難いかもしれません (なにしろEDSACの開発者であるモーリス・ウィルクスさえ、コンピュータゲームの元祖は「スペースウォー!」だと信じているくらいです)。しかしWhirlwindがはじめて備えたのは、あくまでグラフィックス専用のブラウン管出力であって、それまでのコンピュータにも別目的でブラウン管出力が用意されてはいたのです。
EDSAC操作部。EDSACは約2キロバイト相当のメモリを持っており、オシロスコープ1台で560ビット分を監視できた。中央に見えるのは光電式の紙テープ読み取り機。写真はComputer Laboratory Archive Photos (Universit of Cambridge) より引用。 | 最初期の汎用コンピュータは、まだメモリ素子の信頼性がそれほど高くなかったために、メモリの状態をブラウン管に映し出して監視してやるのが一般的でした (あるいはウィリアムズ=キルバーン管のように、ブラウン管がメモリそのものだった)。メモリはドットの集合で表されていたため、そこに展開される映像は、今日いうところのビットマップ・グラフィックスになっていたのです。ただしもちろん、解像度はとてつもなく低く、EDSACの場合だとわずか35x16ドットしか表示できません。当然ながらカラーは単色でした。 |
EDSAC完成後まもない頃に、誰かがこのドットを使って絵を描いていたと、ウィルクスは自伝で証言しています。また原始的なアニメーションプログラムも、非常に早い段階で作成されていました。ダグラスがチク・タク・ツーを組む頃には、ドットで絵を描くという行為もそれほど突飛なものではなくなっていたと考えられます。彼がこのようなグラフィックスをチク・タク・ツーと結びつけたのは、人間とコンピュータの相互関係について論文を執筆するためだったといわれています。しかしその論文が具体的にどのような内容だったのかは、よく分かっていません。
ダグラスの功績は、近年EDSACシミュレータが登場するまで、海外のヴィデオゲーム史研究者の間でもまったく認知されていませんでした。ダグラスに関する研究はその後もあまり進んでおらず、彼がほかにゲームを開発していたかどうかは分かりません。ただ、このチク・タク・ツー・プログラムに言及している文献がほとんど見当たらないという事実は、彼の功績が (少なくともケンブリッジ大学の外では) それほど話題にならなかったことを意味しているといえそうです。
「スペースウォー!」より9年早かったコンピュータ・ヴィデオゲーム。いったい何故これが人気を集めなかったのでしょうか? ダグラスを最初に評価した一人であるデヴィッド・ウインタは「EDSACがケンブリッジ大学にしか設置されておらず、したがって大学外にプログラムが出回らなかったからだ」と主張しています。しかしこれは誤りで、実際のところEDSACにはLEO Iという兄弟機もありました。またすでに述べたように、チク・タク・ツーのプログラミング自体はすでに目新しいものではなかったのですから、他機種で同じものを組むことも難しくはなかったはずです。けっきょく、ただ画面を使用するだけではアピール不足だったということなのでしょう。ブラウン管ならではの表現内容を持つまでに至らなかったことが、このプログラムを埋もれさせてしまった要因ではないかと思います。 | EDSACシミュレータで再現したダグラスのチク・タク・ツー。シミュレータではダイヤルを使って配置場所を指定するが、ダグラスの証言によれば、実際には紙テープの読み取り装置に手をかざし、光線をさえぎることによって移動させていたという。 |
■[dawn] その後のコンピュータゲーム発展史
バベッジのチク・タク・ツー・マシン構想は、かくしてヴィデオゲーム時代の幕開けにまで連綿と受け継がれたわけですが、では彼の本来の夢、すなわちチェスをプレイするコンピュータは、結局いつ頃実現したのでしょうか? 簡単にその足取りを追って、締め括りにしたいと思います。
もっとも早かったのはおそらくソ連です。1956年、ソ連のBESMが動作させたというチェスプログラムについてのわずかな情報が、アメリカにもたらされました。これは故意でなければ人間が負けることはないという程度の腕前だったそうです。具体的な仕様は今日なお解明されていません。いっぽうアメリカでも、この年はじめてチェスをプレイするプログラムが、MANIAC Iで動作しました。まだ6x6に縮小したチェス盤でしか戦うことのできないものではありましたが、初心者相手なら勝利を収めることができたそうです。そして1958年には、MITのアレックス・バーンスタインという研究者がIBM 704を使って、ついにアマチュア級の強さを持つ完全ルールのプログラムを実現します。ここからチェスプログラムの研究は米ソ冷戦の、そしてチェス世界チャンピオン争いのもうひとつの舞台ともいうべき様相を見せながらヒートアップしていき、やがてあの「ディープ・ブルー」を生み出すことになるわけです。
このような状況は、とくにアメリカにおいて、ゲーム研究の正当化を後押しすることになったといえるでしょう。職場や研究機関でおおっぴらにゲームを開発していても非難されなかったアメリカの環境は、相当に特殊なものだったといえます。少なくともそれは、他のコンピュータ先進国 (イギリス、日本、フランスなど) では考えられない状況でした。冷戦はまた、シミュレータというコンピュータゲームのもうひとつの起源を育むものでもありました。冷戦、サイバネティクス、そしてバベッジ。アメリカでコンピュータゲーム文化が産声をあげる環境を準備したのは、つきつめればこの三要素だったといえるかもしれません。
[参考リンク]
- Simon Schaffer "Babbage's Dancer" ―――オートマトンを軸にしたバベッジ評伝。本連載を始めるうえでのヒントにさせていただいた。
- David Singmaster: "Sources in Recreational Mathematics An Annotated Bibliography"―――チク・タク・ツーやニムに言及している文献を追跡・網羅したSOURCE2.DOCは大変参考になる。バベッジがチク・タク・ツーの実質的な命名者だったことを指摘しているのは興味深い。
- Antonio Pérez Yuste "The First Wireless Remote-Control: The Telekine of Torres Quevedo"[PDF]―――ケヴェドの開発した無線コントロール技術の解説だが、その生い立ちについても詳しい。英語で読むことのできるもっとも詳細なケヴェド伝かもしれない。
- Lewis Stiller "Multilinguar Algebra and Chess Endgames" [PDF] ―――チェスの終盤戦はエンドゲームと呼ばれ、チェスとプロブレムの狭間にひとつの分野を形成している。これはその数理的研究の歴史を紐解いた貴重な論文。
- Arthur Norberg "Software Development at the Eckert-Mauchly Computer Company Between 1947 and 1955" ―――エッカート・モークリ社の歩みをソフトウェアサイドから辿っている。エリザベス・ジーン・ジェニングスのゲームプログラミングに言及。
- Steve Lopez "The Silicon Schachmeister" ―――黎明期のチェスプログラミング事情を分かりやすくまとめた連載エッセイ。現在非公開。
- David Winter "Noughts And Crosses - The oldest graphical computer game" ―――「ポン」研究の第一人者によるダグラス版チク・タク・ツー紹介。
- Jack Copeland "What is Artificial Intelligence?" ―――チューリング研究の専門家による最初期のゲームプログラム紹介。
- "Recollections of early AI in Britain: 1942-1965" [PDF] ―――ドナルド・ミッキーのインタビュー。
- Derek J. Smith "Short-Term Memory Subtypes in Computing and Artificial Intelligence Part 4 - A Brief History of Computing Technology, 1951 to 1958" ―――クリストファ・ストレイチイの経歴が詳しい。
おことわり: 20世紀以降のイギリスでは「チク・タク・ツー」より「ノーツ・アンド・クロシズ」のほうが一般的な名称になっていますが、本文中では便宜上「チク・タク・ツー」で統一しました。
シャノン論文とか,サミュエルのチェッカーとかいろいろなことがバベッジの系譜につなげられ,たのしく読ませていただきました.
人工知能研究のわかりやすいテーマとしてチェスが注目された経緯についてコメントです.
人工知能(Artifitial Intelligence)プロジェクトと冷戦については
Paul Edwards
http://www.si.umich.edu/~pne/cw.htm
の「クローズド・ワールド」
http://www.asahi-net.or.jp/~QJ5S-FKY/cwj.html
にも書かれていたかと思いますが,
早い段階に人工知能研究がテーマとして設定されたのが決定的だった.
さらに人工知能批判側もゲームに注目していたのがアメリカの特徴だと思います.
とりわけLevy の「ハッカーズ」に描かれているように,「コンピュータチェ
スは人間には勝てない」と断言した哲学者が登場したのも大きかったと思いま
す.あれでチェスが人工知能のベンチマークだと社会的に認定された.
現場のゲーム研究者にとっての仮想敵はソ連よりも哲学者の人工知能批判
だったんじゃないでしょうか.
そういうすばらしい学者はアメリカ以外の国には出現しませんでした(^^).
ソ連と哲学と、どっちが本当の敵だったかは分かりませんが、現場レベルでのソ連の影響は確かに大きなものがありました。とくに1966年にMITのチェスプログラムがソ連のプログラムに負けた一戦は、コンピュータ史におけるスプートニク・ショックとしてかなり尾を引くことになります。少なくともこの時点で、アメリカのチェス研究は決定的に後戻りできなくなってしまいました。
「Space War!」から「Computer Space」の間の空白期には、コンピュータグラフィックスが飛躍的な進歩を遂げた時期でもあるので、影響があったとすればピンボールよりもこちらではないかなと思います (当時はピンボール禁止条例下の暗黒時代ですし)。まあでもいちばん大きいのは、「Spacewar!」というゲームそのものが、方向が分からないとお話にならないシステムだったということでしょうね。
ピンボール禁止条例というものがあったのですか! ピンボールのほうもメチャクチャ興味沸いてきました。コンピュータグラフィックの発展も大きい時代だったのですね。そちらも当たってみます。ありがとうございます。
Space War!はそうですね。Space War!自体はMITで開発されていたSAGEシステムの画面表示にヒントがあったのかな、と思っています。