ハッカーの系譜(10)マービン・ミンスキー (6) MITに集まったハッカーの庇護者

牧野武文

March 3, 2017 08:00
by 牧野武文

ミンスキー率いるハッカーたちは、しだいにMIT人工知能研究所の母体となっていった。といっても、具体的に人工知能を研究していたわけではない。それぞれが自分の好きなプログラムを書くことに没頭していたのだ。

ミンスキー自身はプログラミングがあまり好きではなかったようだ。「プログラムをしていると、別のことを考えてしまうんだよ。帰りに牛乳を買わなきゃとか、そういうつまらないことに気を取られてしまう」という。その意味で、ミンスキーはコンピューターハッカーではなかった。しかし、頭脳の明晰さ、常に湧きでるアイディア、奇想天外な機械づくりに熱中する体質はハッカーそのもので、MITに集まったハッカーたちから尊敬されていた。ミンスキーは第1世代ハッカーたちの庇護者であり、兄貴分であったのだ。

プログラミングがあまり好きではなかったミンスキーだったが、ハッカーたちがPDP-1でさまざまなアルゴリズムを考案するのに惹かれて、彼らの中に入ってプログラミングを楽しんでいる。それだけでなく、そこからミンスキートロンと呼ばれる不思議なプログラムまで発案している。

高速プログラムを書くことにこだわるハッカーたち

ことの起こりは、ハッカーたちが考えだした渦巻きを描くプログラムだった。しだいに広がっていく渦巻きを描くには、X^2+Y^2=r^2という円の方程式のX、Yにそれぞれ三角関数のsinとcosをそれぞれ代入してやればいい。しかし、当時のPDP-1は計算速度が遅かったので、ハッカーたちは三角関数を使わないアルゴリズムを考案していた。
 
LOOP{
NewX=OldX-epsilon*OldY
NewY=OldY+epsilon*OldX
}

というアルゴリズムだ。1回計算するごとに、NewX、NewYの値をOldX、OldYとして、新しいNewX、NewYの値を求め、描画していくと外に発散していく渦巻きが描ける。epsilonは1以下の係数が使われるが、一般的には、1/8、1/16などが用いられる。

このアルゴリズムの素晴らしいところは、整数演算だけで渦巻きが描けることだ。しかも、高速に処理できる加減算しか使っていない。epsilon*OldXのところで乗算が使われているように見えるが、epsilonが1/16などであることに注意していただきたい。実際の処理は、OldXを4桁ビットシフトさせる計算がおこなわれている。つまり、数学で習う円の方程式を考えなしにそのまま使うと、乗算がなんども登場することになり、当時のコンピューター性能では処理速度が遅くなってしまうが、このアルゴリズムでは、処理速度の速い加減算とビット演算だけで渦巻きを描いているのだ。

HAKMEMに残されているミンスキーのアルゴリズム

ミンスキーはあるとき、手下のハッカーたちに混ざって、この渦巻きアルゴリズムを書こうとした。しかし、帰りに牛乳を買うことにでも気をとられていたのだろう。つまらないミスをして、こんなプログラムを書いてしまった。
 
LOOP{
NewX=OldX-epsilon*OldY
NewY=OldY+epsilon*NewX
}

2番目の計算式の最後をOldYとすべきところを、NewXとしてしまった。

不思議なことに、このアルゴリズムを使って描画をしてみると、渦巻きではなく、正円が描けてしまった。周囲にいたハッカーたちが声をあげ、ミンスキー自身はなにが起きたのか把握するまでに時間がかかった。

正円が描けたからといって大喜びしているようなハッカーたちは、現在の目から見れば滑稽かもしれない。しかし、彼らにとってはおおごとだった。なぜなら、円を描くには、円の方程式X^2+Y^2=r^2を利用して、乗算をなんどもおこなうのろまなアルゴリズムしか知らなかったからだ。ところがミンスキーが偶然発見したアルゴリズムでは、高速の加減算とビット演算しか使われていない。

ミンスキーが主催していたMIT AI研では、このようなハッキングの成果をHAKMEMという文書に整理している。そのプログラミングハックの149番目のハックとして、このミンスキーの発見したサークルアルゴリズムが記載されている。

HAKMEMに記録された149番目のハック

次の世代に大きな影響を与えたミンスキートロン

ミンスキーは、すっかりこのアルゴリズムに魅了され、ハッカーたちとさまざまにいじくりまわした。そして、PDP-1のグラフィックモニターに、3つの点が絡み合いながら幻想的な模様を描いていくプログラムをつくりあげた。PDP-1のモニターには、スクロールさせたり、周波数を変化させるトグルスイッチがついている。ミンスキーのプログラムを走らせて、トグルスイッチをオンにしたりオフにしたりすると、幻想的な文様が描かれるのだ。

この美し描画プログラムのイメージは、後のスクリーンセーバーなどにも使われることになる。ミンスキーはこのプログラムを、トライポス(TriPos)と呼んだが、ハッカーたちは発見者であるミンスキーに敬意をこめてミンスキートロンと呼んだ。

このミンスキートロンは、現在でもmass:werkにシミュレーターが残されている。ぜひ、アクセスして、画面下のトグルスイッチをいろいろといじっくってみていただきたい。

ミンスキートロンのシミュレーター http://www.masswerk.at/minskytron/

なお、このミンスキートロンに触発されたスティーブ・ラッセルという学生は、抽象的なミンスキートロンではなく、もっと具体性のあるプログラムをつくりたいと考え、世界初のコンピューターゲーム「Spacewar!」を書きあげた。このSpacewar!を見たノーラン・ブッシュネルは、商品化して販売するためにアタリを起業した。アタリの社員だったスティーブ・ジョブズは、パーソナルコンピューターを商品化するためにアップルを起業した。アップルのパーソナルコンピューターには、ミンスキートロンとはやや趣きが異なるが、幾何学模様が描かれるスクリーンセーバーが必ず搭載されている。
 
(その7に続く)

BugBounty.jp

システムに内在するリスクをチェックセキュリティ診断(脆弱性診断)

提供会社:スプラウト

企業や組織のWebアプリケーション、各種サーバー、スマートフォンアプリケーション、IoTデバイスなどの特定の対象について、内外の攻撃の糸口となる脆弱性の有無を技術的に診断します。外部に公開す るシステムを安心かつ安全に維持するためには、定期的なセキュリティ診断が欠かせません。

BugBounty.jp

サイバー空間の最新動向を分析脅威リサーチ

提供会社:スプラウト

サイバー攻撃に関連した機密情報や個人情報が漏洩していないかをダークウェブも含めて調査し、もし重要な情報が発見された場合は、その対応策についてもサポートします。また、サイバー攻撃者のコミ ュニティ動向を分析し、特定の業種や企業を狙った攻撃ツールやターゲットリストが出回っていないかなどの特殊な脅威調査も請け負っています。

自動車ナンバープレートの「良番」が大量に手に入る理由

April 17, 2018 08:00

by 牧野武文

四川省涼山州公安の交通警察は、自動車ナンバー取得システムに侵入し、「88888」などの縁起のいいナンバーを公開直後に不正取得し、転売をしていた犯罪集団56人を逮捕したと『新京報網』が報じた。 自動車ナンバープレート約13億円 中国人は、数字に異常とも言えるこだわりを見せる。例えば、携帯電話の番号にも…

中国ホワイトハッカーのお給料はおいくら万円?

April 10, 2018 08:00

by 牧野武文

中国のセキュリティエンジニアは、どのくらいの給料をもらっているのか。中国情報安全評価センターは、「中国情報安全従業員現状調査報告(2017年版)」(PDF)を公開した。これによるとITの急速な発展により、中国の産業地図に変化が起きていることが明らかになった。 中国でも男性が多い職業 中国で急成長をす…