連載:ハッカーの系譜⑦ビル・ゲイツ (4/7) 学業よりも賭けポーカー

牧野武文

August 26, 2016 10:00
by 牧野武文

ゲイツは自分の将来を決めかねていた。コンピューターとビジネスは確かに面白い。でも、それは自分の一生の仕事とすることなのだろうか?他の可能性を捨てて選ぶほど価値のあるものなのだろうか。数学の研究者にもなってみたかった、脳科学の研究も面白そうだ。

ゲイツが残した数学への功績「パンケーキ問題」

ゲイツは、数学の研究者になることを目指して、「数学55」というハーバード大学の中でも、最もレベルが高い講座をとった。この講座に出席する学生のほとんどは、SATの数学で800点満点をとっているような者ばかりだった。もちろん、ゲイツも800点満点をとっていた。実際、ゲイツは数学の研究者の道を歩んでも、歴史に名を残すレベルに到達できたかどうかはともかく、優秀な研究者となったことだろう。大学在学中にすでに論文を発表するレベルに到達していた。その論文は、「離散数学」1979年の9月号に発表されたもので、パンケーキソーティング問題の解法を発見したという内容だ。

パンケーキソーティングとは次のような問題だ。「私たちのレストランのシェフは仕事が雑で、大きさがまちまちのパンケーキを積んでしまう。私は、それをお客にだす前に、いちばん上に小さなもの、いちばん下に大きなものがくるように並べたい。しかし、パンケーキの山のどこかにヘラを差しこんで、そこから上の数枚のパンケーキをひっくり返すことしかできない。n枚のパンケーキがあったとしたら、最大何回この操作を行えば、パンケーキをきちんと並べ替えることができるだろうか?」というものだ。

コンピューター的にいえば、要は乱数列のソート問題なのだが、パンケーキの山の上から数枚をまとめてひっくり返すという操作しかできないというのがミソだ。

一般的な解法は、隣接性に注目して代数的に最小回数、最大回数を導こうとするものだった。隣接性というのは、パンケーキを大きさ順に並べたときに、その間に別のパンケーキがこないような状態だ。たとえば、パンケーキのサイズが1、2、3だとすると、(1,2)(2,3)のふたつの間に別のパンケーキは入らないので「隣接性がある」ことになる。ところが、パンケーキが2、3、1と並んでいた場合、(2、3)の間は隣接性があるが、(3、1)の間には2が入れるので隣接性がない。

ヘラを差しこむのは、この隣接性のない場所だ。(2、3、1)の場合、(3、1)のところにヘラを入れ、ひっくり返すと(3、2、1)となる。これですべての間に隣接性が生まれたが、小さい順には並んでいない。このような場合は、いちばん下にヘラを入れて全体をひっくり返す。これで全部が小さい順に並ぶ。

このように隣接性に注目して、ヘラによる操作を1回行うと、非隣接部分が解消されて隣接性が1増える。このようにして、最小回数、最大回数を求めていくことになるのだが、さまざまな例外処理が生まれてきて、一筋縄ではいかない。たとえば、いちばん大きなパンケーキがいちばん下にあるときとないときでは、考え方を変えなければならないのだ。

そこでゲイツは、この問題をプログラムと同じように、アルゴリズムを考案する方法で解いた。代数的な手法ではなく、アルゴリズムであれば、条件分岐を使って、例外処理までもれなく数えることができるからだ。この論文の共著者であり、ゲイツの指導教官であったクリストス・パパディミトリュー教授は「15年ほどは、ゲイツの解法がこの問題における最先端だった」と語っている。

数学者をあきらめ、賭けポーカー三昧の日々

ゲイツは数学者になることを諦めた。今まで、自分より数学ができる人物など見たことがなかった。数学に関してはいつも「いちばん」だった。しかし、ハーバード大学にきてみたら、自分より数学のできるやつがゴロゴロいる。それも、わずかな差などではなく、圧倒的な才能の違いを感じさせられる。彼らは数学の天才だが、自分は数学の優等生でしかなかったことに気づかされたのだ。数学ではとても「いちばん」になれないと悟ったのだ。

さらに、ビジネスの方でも危機にさらされた。トラフォデータ社の仕事は順調だったのに、あるとき突然終わりを告げた。ワシントン州政府が交通量調査のシステムを開発し、地方自治体の交通量データの処理を一括して行うようになったのだ。トラフォデータ社の仕事は一瞬で不要になってしまった。カナダの自治体の仕事は継続することになったが、それだけでは利益はほとんどあがらない。ブラジルのある企業がトラフォデータ社のシステムを買収したいという話もあったが、その契約はうまくいかなかった。トラフォデータ社は事実上休眠状態となった。

この頃、ゲイツが熱中したのはポーカーだった。ハーバード大学の寮で、毎晩賭けポーカーに熱中した。徹夜するのも当たり前で、ポーカー中毒の状態になった。ポーカーの勝負が終わると、ゲイツはスティーブ・バルマーの部屋にいき、勝負の話をする。ゲイツは睡眠時間が極端に短いが、バルマーも睡眠時間が短い。ポーカーが終わる朝方、起きているのはバルマーぐらいしかいなかった。

ゲイツとバルマーは気があった。ゲイツは興奮すると恐ろしく早口になり、周りがついていけなくなることが多かったが、バルマーはゲイツと同じ速度で聞き、話すことができた。二人は、これを「高帯域コミュニケーション」と呼んでいた。

アルテアから始まったパーソナルコンピューター革命

将来自分はどの道に進むべきなのか、それを模索していたゲイツに大きな転機が訪れた。ボストンのハネウェル社で働いていたアレンは、インテルの4004チップに注目をしていた。これは電卓用のチップだったが、ソフトウェアを組込むことにより、さまざまな電卓を設計することができるというものだった。この4004チップの発展形である8008が登場すると、アレンはじっとしていられなくなった。自分専用の小さなコンピューターがつくれるのではないかと考えたのだ。BASICを8008に移植することはできないだろうか。

そのことをゲイツに相談すると、ゲイツの答えは冷ややかなものだった。「処理能力が低すぎる。やっても悲惨なことになるのじゃないか」。そして、「時間の無駄だよ。もっと高性能のチップが登場したら教えてくれ」と言って去っていってしまった。

この2人は、いつもこんな調子だった。アレンが新しいニュースを仕入れて、夢を描き、ゲイツに相談する。ゲイツは、冷ややかにそれを否定する。その否定の仕方が的を得ているものだから、アレンも反論のしようがなかった。

1974年の春に、さらに改良された8080が登場した。アレンは、再びゲイツのところにいき、これにBASICを乗せられないかと相談した。ゲイツの答えは、以前とはすこしばかり違っていた。「悪くないアイディアだ。でも、チップだけではBASICを走らせることができない。8080を積んだマシンが登場したら教えてくれ」と言って去っていってしまった。

Intelから発売された8080 Photo by Wikipedia

アレンは、1975年の「ポピュラー・エレクトロニクス」の1月号を読んで、飛びあがった。表紙にMITS社のアルテア8800の写真が掲載されていたのだ。8080チップを搭載した世界初のパーソナルコンピューターだった。アレンは、すぐにゲイツのところにいき、興奮して「おい、見ろよ。BASICですごいことをやるチャンスだ!」と叫んだ。

ポピュラー・エレクトロニクス 1975年1月号の表紙

ゲイツは、テクノロジーの進化があまりに速すぎると驚いた。「僕たち抜きで、世の中が進もうとしている」と感じ、すぐにでもこの世界に飛びこまないと間に合わなくなってしまうと焦り始めた。

MITSの創業者エド・ロバーツは、空軍に入隊しながら、自宅のガレージを改造して、模型ロケットや模型飛行機用のテレメトリー機器の通信販売を始めた。そのため、モデル・インストルメンテーション・アンド・テレメトリー・システムズ(MITS)という会社を設立した(モデルは後にマイクロに変更される)。除隊した後、新しく登場した電卓に注目し、電卓の組み立てキットの販売を始めた。これが大当たりをし、MITSは従業員100名の中堅企業に成長したが、テキサス・インスツルメンツ社が電卓の販売を始めると、低価格競争が始まり、MITSは倒産寸前にまで追いこまれた。

ロバーツは、電卓で扱ったマイクロプロセッサが進化し、コンピューターとしても利用できるインテルの8080が登場したことで、これを使ったコンピューターの組み立てキットを販売することにした。価格は397ドルに設定した。これは法外な低価格だった。なぜなら、インテル8080の価格は350ドルだからだった。ロバーツは、インテルと交渉して大量購入することで、一個あたりの価格を75ドルにまで下げる交渉に成功していたのだ。ロバーツは、このキットに「アルテア」という名前をつけた。テレビ番組「スタートレック」で、宇宙船エンタープライズ号が目指している星の名前だった。

この「アルテア8800」は伝説的なマシンとなり、売上も好調だったが、それはあくまでもエレクトロニクス好きのマニアの間での話だった。なぜならだれにでも使いこなせるものではなかったからだ。今日のコンピューターにはソフトウェアがインストールされ、それを使うことでコンピューターに仕事をさせることができる。しかし、アルテア8800にはソフトウェアというものがなかった。マイクロプロセッサに直接命令をするしかなかったのだ。

アルテア8800 Photo by Wikipedia

革命に必要だったBASICなどの高級言語

マイクロプロセッサの命令は、大雑把に言って四則演算の命令と、メモリー操作の命令からできている。マイクロプロセッサの内部にはレジスタと呼ばれる場所が用意されていて、ここに計算したい数値を入れ、計算処理を行う。しかし、計算の終わった数値をレジスタに入れっぱなしにしておくと、他の計算ができないので、このレジスタの数値をメモリーに移して保管しておかなければならない。ちょうど、キッチンのまな板と食品棚の関係に似ている。食材は食品棚に並べておき、調理をするときはまな板の上に移動する。調理が終われば、いったん食品棚に戻して、次の食材をまな板の上に置く。レジスターは、後に、アドレス用などの専用レジスターが生まれてくるが、マイクロプロセッサの基本原理はこのようなものだ。

たとえば、1+1を計算するのにも、いくつもの命令を入力しなければならない。
 
(1)レジスターに1を入れる
(2)それをメモリー1に移動する
(3)レジスターに1を入れる
(4)メモリー1の内容をレジスターに加算する
(5)レジスターの内容を出力する

このような命令は、0から255までの数値に割り振られていて、命令表を見ながら、数値形式の命令をアルテアに入力していかなければならない。しかも、アルテアの場合、16本のトグルスイッチを使って、16進数形式で命令をひとつずつ入力していくしかなかった。計算結果も、16個の赤色ダイオードの点灯で表される。

このような仕組みでは、プログラムを書くのも、入力するのもたいへん手間のかかる作業となるが、それでも自分のコンピューターをもてるということは、マニアにとっては大きな喜びだった。

当時すでに、FORTRAN、BASIC、COBOLといった高級言語が、ミニコンなどでは利用できた。ゲイツもBASICを学ぶことから始めた。もし、このような言語であれば、さきほどの面倒なプログラムはたった1行ですむ。

PRINT 1+1

これだけでいいのだ。BASIC言語ソフトウェアというのは「PRINT 1+1」という文字列を解釈して、先ほどのマイクロプロセッサの命令に変換をして実行してくれるソフトウェアなのだ。そのため、アルテアが登場すると、だれもが「アルテアでBASICが動けばいいのに」と考えた。

大学生からかかってきた一本の“いたずら”電話

そのため、「アルテア用のBASICを開発する」というのは、ゲイツとアレンの独創ではなかった。むしろ、アルテアを見ただれもが思いつくことですらあった。事実、MITSのロバーツのところには50本近い電話がかかってきたという。みな「アルテア用のBASICを開発したが、買ってもらえないか」というものだった。

しかし、ロバーツは、口ではそういうものの、だれも開発に成功していないだろうと考えていた。なぜなら、アルテアには記憶容量が256バイトしかなく、追加の拡張メモリーボードをつけても4Kバイトしかないのだ。つまり、BASICプログラムをマイクロプロセッサ命令に変換するプログラムは、4Kバイト以下に収めなければならない。しかも、4Kバイトぎりぎりだと、それを使うユーザーが自分で書いたプログラムを入力するメモリーがなくなってしまう。BASICを3Kバイト程度に収めなければ使いものにならないのだ。マイクロプロセッサ命令は1つ1バイト必要なのだから、3000個程度の命令でBASICを実現しなければならない。そんなことは不可能だと思っていた。ロバーツは、そのような電話に「OK。最初に現物のBASICをもってきてくれた人と契約するよ」と答えていた。

そういう電話の中に、甲高い声の大学生がいた。ハーバード大学の学生だが、友人とアルテア用のBASICの開発に成功したという。ロバーツはいつものように答えた。続いて、その学生から手紙が届いた。やはりBASICの開発に成功したと書いてあり、ロイヤリティー契約を結びたいと書いてある。その手紙のレターヘッドには、トラフォデータ社のロゴが印刷されていて、電話番号まで記載されている。ロバーツは気になって、トラフォデータ社に電話をしてみた。ところが、電話にでたのは、レイクサイドスクールという高校だった。ロバーツは、高校生の手のこんだいたずらかもしれないと思って、このことを忘れてしまった。
 
(その5に続く)




ロシア下院が「VPNやプロキシを禁じる新しい法案」を採択

July 26, 2017 08:00

by 江添 佳代子

ロシア連邦議会下院は2017年7月21日、市民のインターネット利用を制限するための法案を全会一致で採択した。 これはロシアでのVPNやプロキシなどの利用を非合法化する法になると伝えられている。この採択を受け、モスクワでは2000人以上の市民が「インターネットの自由」や「ロシア当局によるオンライン監視…

中国北京市に大量の偽携帯基地局が存在する理由

July 25, 2017 08:00

by 牧野武文

以前、偽の携帯電話基地局から大量の広告ショートメッセージ(SMS)を発信した事件をお伝えした。その際、偽携帯基地局からのSMSは、発信元の電話番号を自由に偽装できるため、受信者側では本物のSMSなのか、偽物なのかの見分けがつかないという危険性を指摘した。案の定、中国で、偽携帯基地局から発信したSMS…