コンピュータ24ページ目の日記です

目次

前のページ
2015-04-20 海上安全技術研究所
2015-04-21 NCSA Mosaic 発表日(1993)
2015-04-24 PRINT 略記
2015-04-27 サミュエル・モールス 誕生日(1791)
2015-04-29 ポール・バラン 誕生日(1926)
2015-04-29 「オセロ」 発売日(1973)
2015-04-30 クロード・シャノン 誕生日(1916)
2015-05-01 ハロルド・コーエンの誕生日(1928)
2015-05-01 BASIC言語 初稼働日(1964)
2015-05-05 マイコンインフィニットPRO68K
2015-05-07 エドウィン・ハーバード・ランド 誕生日(1909)
2015-05-11 コンピューターが、チェスの世界チャンピオンに勝った日(1997)
2015-05-12 世界初の「プログラム可能な機械」発表(1941)
2015-05-14 ジョージ・ルーカス 誕生日(1944)
2015-05-14 ルーカスの作ったもう一つの会社
2015-05-21 68000はグラフィックに強かったのか
2015-05-29 8bit 時代のグラフィック
2015-06-02 ハーバード・マーク1
2015-06-03 ロバート・ノイス命日(1990)、ジョン・エッカート命日(1995)
2015-06-03 セガ創立日(1960)
次のページ
海上安全技術研究所  2015-04-20 15:44:02  コンピュータ 歯車 社会科見学 家族

▲目次へ ⇒この記事のURL

19日の日曜日、独立行政法人海上技術安全研究所の一般公開を見てきました。

なんだか堅そうな名前だけど、非常に面白かった。


以前に、タモリ倶楽部で紹介していて、その時から興味を持っていました。


…と書くより、この4月からの NHK 「0655」の朝の歌「素晴らしき哉 世界」の「深の界」だと言った方が通りが良いのでしょう。


実際、うちでも 0655 を見た子供たちが「すごい! いったい何が起きてるのか!」と興奮するので、タモリ倶楽部で見た知識で解説してあげたのです。


そしたら、「見てみたい」と。

あー、あぁいう施設は、年に1度くらい公開しているけど、その時しか見られないんだよ、と説明。

一般公開って秋が多い印象だから、その頃まで待てば見られるかもね…と。



そしたら、妻が何やらスマホで調べて「19日に一般公開するらしいよ」と。年に一度がすぐでした。




というわけで、海上技術安全研究所に行ってきたわけです。

基本的に、小さな研究所です。同じ敷地内に「交通安全環境研究所」と「電子航法研究所」があります。


それぞれ、海、陸、空の安全を研究している施設です。同じ敷地内、というのも納得。

ちなみに、一般公開日では敷地が隣接している JAXA も同時開催で、4研究所を廻るスタンプラリーが開催されていました。



以下、面白かったと思うものを順不同で紹介。




▼深海水槽


上に書いた造波装置です。造波装置、というのは波を起こす装置で、他の水槽にも付けられていますが、深海水槽は 128台もの造波装置を使い、自由な形の波を起こすことができます。


1時間ごとに、15分ほどの実演を行う…となっていたのですが、0655人気でものすごい人が来ました。

初回を見に行ったのですが、30分前にも関わらずとても入れず、「後で見に来よう」となりました。


…が、初回前にもう一度通りがかったら、なんか方法が変更されている。

10分ごとに、7分程度の実演に変更されていました。これで見ることができました。


波を起こす機能ばかりが注目されてしまっていますが、本来深海掘削パイプなどに波が及ぼす影響を調べるための施設。

直径は 15m 程度ですが、深さは 35m もあるそうです。


#うちの子は JAMSTEC には良く行くので、深海掘削パイプなどの話は普通に受け入れます。


▼海洋構造物試験水槽


実は最初に見たのがこれ。むしろ、こちらの方が「造波装置」としては王道。

大きな水槽に、波を起こす装置があります。船などを浮かべ、波の影響を調べます。


海底ガス田開発で、船を浮かべて海底掘削パイプからガスを吸い上げ、LNGとして貯蔵する、ということは現実に計画されているのだそうです。

そこで、その「基地船」に、「LNG 輸送船」が横付けしている状態を想定。各船の中には液体である LNG が入っている状態で、波が来るとどうなるか…という実験をしてくれました。


…何も起きません。一番安定して、何も起きない波を起こしたのだそうです。

なぜ、一番何も起きないのを選ぶ。


ビデオで、過去に実験した「一番激しい状態」の説明などもしてくれました。

意義はわかるのだけど、多少波で揺れたりするところ見たかったな。


#横付けしている状態を想定した配置だったこともあって、揺れたりすると模型がぶつかって破損する可能性もあるのだとは思います。

 でも、それならもっと「模型は壊さない」程度で「激しく揺れる」状況だって想定できるだろうに。


▼熱力学展示


各種歯車機構が触れる状態で置いてあって、子供や僕に大人気。

2ピストン、4ピストンのエンジンの模型とか、スターリングエンジン、ロータリーエンジンもあります。

回転軸の延長上に、逆方向に回転する軸を配置する機構とか、歯車Aが1回転するごとに、歯車Bが1/4づつ回転する機構とか…


触れるモデルだけでなく、実際に動くものもありました。スターリングエンジンは、普通温めて動かすものですが、「温度差さえあれば動く」ことを示すためドライアイスで動かしていました。


ロータリーエンジンは、外部から空気圧を入れることで回転。

他に、水素燃料電池とか、太陽光で発電してモーターを回して、そのモーターの回転で発電機を回して電球を付けるとか、無意味だけど装置として興味深かった。


▼船の危機回避シミュレータ


大きな円筒形スクリーンの中で、油圧で動く「操舵室」があります。

本当は操舵室が波に合わせてゆらゆらするようなのですが、この日はお客さんがたくさん入るので、一切動かしません。


スクリーンにはリアルタイムのCGで、東京湾の風景が映っています。

すごく波が高い。時々船の甲板に波がかぶります。


子供たちが「波が入ってきた。バグってる」というのですが、聞いてみたら実際その程度の波高に設定しているのだそうです。

ただし、東京湾でそんなに波が高くなることは、通常はないとのこと。


クルージング(?)の最中、ほんの数分で天候は目まぐるしく変わり、昼間から夕方、夜へ。そして昼間の濃霧へ。

夜景では船の明かりが波に反射し、非常に質が高いCGでした。



▼チタンプレート作成


チタンのプレートを、目の前で電圧をかけて色を付けてくれます。

ちゃんと理解してないけど、


1) チタンは酸化しやすい。常に酸化被膜でおおわれることで、それ以上錆びにくい。

2) しかし、化学薬品処理して電気を通すことで、酸素が強く供給され、通常以上に厚い酸化被膜を作れる。

3) 表面の酸化被膜の上で反射した光と、奥で反射した光が干渉し、色を生じる。

4) 電圧によって酸化被膜の厚さを調整でき、色を変えられる。


ということのようです。

話は知っていたのだけど、目の前で作るのを見るのは始めて。想像以上に美しい色が出るし、みるみる色が変わっていくのが美しいです。

ちなみに、着色したのではないので非常に強い。とはいえ、ひっかけば表面の酸化膜が落ちるので、色落ちはします。



実は、一般公開終了の時間ぎりぎりに駈け込みました。

妻も子供もみたがっていたのだけど、「後で」と思っていたら、時間いっぱいになってしまったの。


駆け込んだら、すでに終わって片付け中でした。

でも、わざわざ走ってきてくれたのだから、と、急遽うちのためだけに実験をやってくれました。


ありがとうございました。


#本当は、プレートにあらかじめシールなどを張ることで、その部分だけ「着色しない」ことができ、模様を作れます。

 本来、そうした体験をしてオリジナルアクセサリーを作れる、というコーナーでした。

 この時は、時間もなかったために着色実験のみ。でも、美しい色で子供は喜んでいました。




つづいて、交通安全研。


▼燃料電池自動車


トヨタの「MIRAI」を展示していました。

そして、その奥で子供が燃料電池の模型自動車を作って学べるようになっていました。


模型自動車を作るには整理券が必要。問い合わせると、丁度今から始まる回の人数がまだ空いている、と入れてもらえます。

この体験「小学生以上」だったのですが、そうとは知らずに保育園年長の次女も体験しました (^^;;


最初に燃料電池の仕組みをまなび、燃料電池で LED が点灯することを確認します。

つづいて、その燃料電池を模型自動車に搭載。


模型自動車にはスイッチがあり、OFF だと電球が点灯します。

これで通電を確認し、ON にすると走ります。


燃料電池にはビニールパイプがついていて、そこに水素を入れてもらえば発電できます。

LED や電球をつけているだけなら長く発電するのですが、車を走らせるとあっという間に電池切れ。


「物を動かす」には、非常に大きな力が必要なのです。

何度も水素を補給してもらいながら遊んでいました。


この子供向け講座、子供は模型に夢中で聞いちゃいなかったのだけど、最後にいいこと言っていた。


「水素自動車は排気ガスを出さない。でも、水素を作り出すのにエネルギーが必要で、CO2 も排出する。

 実は何も問題は解決していない、と知っておいてほしい」と。


▼鉄道用台車試験設備


鉄道が「どうやって曲がるか」をわかりやすく解説していました。


鉄道って、左右の車輪が繋がっているし、カーブでは内輪差が生じるはずだし、どうなっているのだろう、というのは前から疑問だったんだよね。


わずかだけど車輪が円錐になっていて、カーブでは外と中で車輪のサイズが変わるようになっているのだそうです。

すごく単純だけど、合理的な考え方。


実際に、いろいろな形に作った車軸を模型のレールの上を動かして、何が起こるか見られるようになっていました。


▼バス運転手の制服体験


京王バスが、制服を着てバスの運転席に座れる体験会を実施していました。


長男、昔バス好きだった。今更…かとおもったら「やりたい」と言い出す。

次女もやる、と。長女は興味なし。


もうすぐ6歳だけど体の小さい次女は、一番小さい制服でも大きめ。

制服制帽でバスの大きなハンドルを握っているのは、親ばかだけど可愛かった。




電子航法研。


▼音声診断システム


画面に表示された文章を読むと、疲労度や緊張度を診断してくれる、というシステム。

パイロットやドライバーが、自分でも意識できてない疲労などを診断して、事前に危険な運転を避けるためのシステムなのだそうです。


「カオス理論を応用」ということで詳細を聴いてみたのだけど、よくわからなかった (^^;;


自分なりに判断すると、そこでカオス理論としているものは、「フラクタル」と類似の概念のようでした。

音声パラメータを周波数変換し、周波数空間での再帰性を評価することで「カオス」な度合いを検出する。


最終的には、周波数・声の大きさ・時間軸…などとあわせ、5次元のデータが得られるそうです。


この「カオス」が何を意味するかは、「わかってない」と明言していました。

ただ、多数の人の声を調査した結果、判って無いなりに疲労度との相関性はわかっている。


そこで、5次元パラメータと疲労度との相関性を総当たりで調べ(つまりは機械学習させ)、関連性を示す式を求める。


この機械では、その式を利用して疲労度を出すのだそうです。

処理量は、音声を FFT して周波数に注目するだけ、というようなシステムに比べると、4桁くらい多いそうですが、その分評価の正確性が上がるようです。



▼電波を光ファイバで送る


電波を光ファイバで、というのはどういうことかと思ったら、当然のことながら「電波を光に変えて送る」でした。

ただ、たとえばラジオの内容を一度音声にもどして、サンプリングして圧縮…みたいなことではない。


電波の強弱をそのまま光の強弱に変更し、光ファイバで伝送後に電波に戻すのだそうです。

光ファイバだって減衰はするから、普通はデジタル化して伝送するのですが、それを克服してアナログで送れるようにしたというのがすごいところらしい。


▼ GNU Radio を使ったソフトウェア受信機


GNU Radio ってものを知りませんでした。

電波をそのまま受信して、ソフトウェアで同調するのね。そういう方式なので、同時に複数のチャンネルの電波を捉えられる。


デモでは、航空機の現在地情報と音声通話を同時にとらえて、リアルタイムの航空機の位置情報を表示しつつ、その通話を流していました。


どうでもいいけど、羽田に入ってくる飛行機が見た目で列になっていて、空も渋滞しているのだなと実感。




JAXA。

ここだけ敷地が離れていますが、研究施設としては1個なので、隣の3施設ほどの「バラエティ」感はありませんでした。

やっていることは、ずっとすごいはずなのにね。


▼スーパーコンピューター展示


富士通による「宙」の概要と、実際に動いているマシンルームの見学(窓から見るだけ)ができました。


富士通だから SPARC CPUです。SPARC 64。

元々 SPARCを開発した SUN が無くなったけど、ちゃんとまだ続いているのね。


1CPU で 32コアで、1000以上の CPU ノードが使われている。

1ノードは 128GB の RAM を持っていて、他ノードへの転送能力は 128GB/s 。全メモリを1秒で送れちゃう。

ハードディスクは 5ペタバイトで、テープアーカイバは 20ペタバイト。


詳しく知りたい人は、宙のページ



宙では、数値計算シミュレーションをやっているそうですが、開発当初から「結果をわかりやすく手に取れる」ことを重視したそうです。

そのため、3D表示能力がすごい。裸眼3D表示ディスプレイとか置いてありました。


3Dプリンタで出力した演算結果、なんてのも多数あって…お土産に、各種 JAXA ロケットの 3D モデルストラップを配布してました。


1人1個、ということなのでいろんな種類を家族分貰ってきて…子供が「ロケット打ち上げごっこ」して遊んでます。


▼宇宙デブリの研究


デブリを見つけるためのシステムとか、デブリを地球に落として燃やすための方法とかを紹介していました。


デブリに限らず、コンピューターで空を監視し続けて、複数の画像の「差分」から飛行物を検出するシステムは以前からあるのだけど…もうソフトじゃ遅い、ということで、FPGA 化しているなんて話が出てました。



デブリを落とすには、ワイヤーをぶら下げるだけで十分、という話。

地磁気の中に「電線」が移動するので、電気を生じてエネルギーが落ち、やがて地球に落ちるとか。


#発生した電気はプラズマとして放出。


電気と磁石と力の関係を、いろんな装置で確かめられるようになっていました。

丁度、長男が電磁石とかに興味を持っていたので、楽しく学んでました。




4施設分の敷地はとにかく広くて、歩き回るのが大変。

でも、4施設あるので非常にバラエティに富んでいて、楽しめました。


本当はもっとたくさんの展示があったし、もっとたくさん見たかった。

でも、これで時間いっぱい。開始から終了まで、ずっといたのに時間が足りない。


また来年行きたい、と子供たちは言ってますが、うちから結構遠いんだよね…





▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

歯車

社会科見学

家族

関連ページ

デイビッド・パターソン 誕生日(1947)【日記 15/11/16】

別年同日の日記

03年 ココナッツは

05年 更新する暇がありません

13年 感想:不思議の国のハローキティ

13年 ところで

13年 ピューロランドで誕生日

14年 フェルディナント・ブラウンの命日(1918)

14年 誕生日ウィーク

20年 バーベキュー


申し訳ありませんが、現在意見投稿をできない状態にしています

NCSA Mosaic 発表日(1993)  2015-04-21 11:36:32  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は NCSA Mosaic の発表日(1993)。


以前に、ティム・バーナーズ・リーの誕生日で WEB の生まれたいきさつを書き、FireFox の初公開日に少し NCSA Mosaic の歴史も触れています。




ところで、発表日は諸説あります。公式には今日ではない、とも書いておきます。


NCSA Mosaic が作られたのは、イリノイ大学アーバナ・シャンペーン校(The University of Illinois at Urbana–Champaign : 略称 UIUC)にある、米国立スーパーコンピューター研究所(National Center for Supercomputing Applications : 略称 NCSA)です。


この、UIUC の NCSA に、Mosaic の歴史が書かれたページがあります。


これだと、0.1a が 1993 年6月に作られたことになっている。

0.5a が 9月16日で、0.6b が最初に公開されたベータ版。9月28日です。

最初の公式版であるバージョン1は、11月11日となっています。


この公式情報、NCSA の初期開発者であったマーク・アンドリーセンがいなくなってからずっと後にまとめられたものです。

だから、記述の信憑性が非常に低い。


でも、公式情報です。英語の Wikipedia などは、これに従っている。



ところで、Mosaic が登場する以前は、WEB なんて当然普及していません。

その頃は、情報を共有したければ NetNews を使いました。


NetNews は、分散管理されるネットワーク。

だから、そのメッセージは多数のサーバに残っている可能性があります。

偽造しにくい、という意味でもあり、こちらの方が信憑性は高い。



NetNews に、WEB 開発者であるティム・バーナーズ・リーが投稿したメッセージが残っています。


1993年の1月29日に投稿されたものですが、マーク・アンドリーセンが 1月23日に送信した「Mosaic公開」のメッセージを再送したものになっています。

ティムは「エキサイティングな新しいブラウザが現れた」と書いているので、これが初めての公開だったのでしょう。


マークも、0.5としたこのバージョンを「アルファ/ベータ版」としています。

アルファかベータかも決めかねる状態ですから、最初のリリースなのでしょう。

もちろん、正式公開ではありません。


その後、4月21日に、バージョン1の公開メッセージを送っています。これが正式公開です。


これらのメッセージは証拠性として十分だと思います。

そのため、公式には11月が正式公開ということですが、僕としては4月21日、と考えます。



ただ、WIRED で4月22日公開とした記事が公開されており、こちらの説も広まっているようです。

WIRED では情報ソースにリンクされていますが、こちらは個人の書いた記事。そして、根拠は示されていません。


日本の Wikipedia では、 4月22日が Mosaic バージョン1の公開日とされています。




ここから話は変わります。

Mosaic の「負の遺産」について。


#当初は、こちらの話が中心の予定だった。

 日本語 Wikipedia を信じて 4月22日に原稿を用意していたら、本当の公開日が怪しいとわかって、上に追記した調査を行ったため。



私見に過ぎませんが、マーク・アンドリーセンは NeXT 用のブラウザを Mosaic に改造した際に、HTML の「理念」を理解していなかったのではないかな、と思っています。


HTML は、どんな環境でも読めるし、後のバージョンアップなどで知らないタグがあっても問題なく処理できる、ということを理念に設計されています。


でも、アンドリーセンが付け加えた IMG タグは、実装方法が良くないのね。

今でも HTML を扱ううえで面倒なことになっている。



たとえば、IMG タグでは、タグの中に「画像が表示できなかった時の代替テキスト」を書きます。


<img src="~" alt="代替テキスト">


という書き方。

これ、IMG タグが「理解できない」ブラウザでは、画像も出ないし代替テキストも出ない。


本当は、次のようにすれば良かった。


<img src="~">代替テキスト</img>


IMG タグが理解できないなら、IMG タグは無視されます。つまり画像は表示されません。

でも、テキストが表示されます。


IMG タグが理解できるなら、もちろん画像が表示されます。

この時「IMG で囲まれたテキストは無視されます」というルールにしておけばよい。


IMG タグは理解できるけど、画像が理解できずに表示できない、という時は、やっぱり代替テキスト表示で。




マーク・アンドリーセンは、とにかく「あったほうが便利」と思われる機能を、どんどん追加しました。

これは悪いことではありません。実際、それまでの WEB は今から見るとあまりも単純で、ただのテキストファイルと大してかわりません。


マークが魅力的な機能をたくさん追加したから、WEB はブームとなって現在があるのです。

でも、その機能追加が、将来のことなんてあまりにも考えていない、場当たり的なものでした。



Netscape として作りはじめてからは、多少は HTML を真剣に考え、「知らないタグは読み飛ばす」ルールが使われるようになっています。


たとえば、NOSCRIPT タグは、SCRIPT タグと対になるものです。


SCRIPT タグは、Javascript などを HTML 内に書くためのものね。

万が一 SCRIPT を知らないブラウザでも変な表示にならないように、HTML のコメントの形式で内部にプログラムを書く。


一方、NOSCRIPT タグは、正しく理解するブラウザは、その内部に書かれたものを全て無視します。

つまり、Javascript などを実行できない環境でのみ、内部が解釈されるようになります。


SCRIPT と NOSCRIPT が対になっていることで、Javascript 対応ブラウザでも非対応ブラウザでも問題なく表示が行えるのです。



同じように、FRAMESET に対して NOFRAMES タグがあるなど、Netscape が拡張したタグの多くは、HTML の理念に従っています。



ただ、NCSA Mosaic として拡張された IMG と、Netscape の初期に実装された TABLE や UL/OL などは、今でもその奇妙な仕様から、CSS での「特別扱い」を余儀なくされています。


多分、これは未来永劫変わることが無いでしょう。

これらのタグは非常に良く使われていて、仕様変更は大きな混乱を伴います。


しかし、非常に良く使われるからこそ、それらが「特別扱い」で、他のタグと同じように扱えないことが、HTML/CSS を書く者にとって非常に大きな枷となっているように思います。


これらは、Mosaic の負の遺産だと思います。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

別年同日の日記

09年 女の子産まれました。

11年 情報の扱い

14年 ゲームボーイの発売日

20年 炊飯器

24年 次女の誕生日


申し訳ありませんが、現在意見投稿をできない状態にしています

PRINT 略記  2015-04-24 16:30:07  コンピュータ

▲目次へ ⇒この記事のURL

Twitter で、こんな話題を見かけた。



元は、Nintendo 3DS の「プチコン」というプログラム言語で、PRINT の代わりに ? が使える、という話題から。

これ、1980年代の BASIC ユーザーなら半ば常識でした。


BASIC を知らない人のために書いておけば、PRINT は「画面に数値や文字を表示する」という命令。

もっとも基本的な命令で、一番最初に覚えるものでしょう。


この PRINT 命令は、 ? と略記することができました。

BASIC は、? を 内部的な中間コードでは PRINT と同じものとして記憶します。

プログラムリストを見ると、中間コードを人間向けの命令に直して表示するため、? と入れたのに、PRINT に変換されて表示されます。


他にも、LOCATE を LOC. で表現出来たりした BASIC もあります。

でも、大抵は先頭何文字かと . の組み合わせで認識する。? で PRINT になる、というのはかなりの特別扱い。


一体、最初にやったのはどのマシンか…という話。




この後みんなで話をしていて、PC-8001 にはある、MZ-80にもすでにある、等と判っている。

Apple II は Woz の BASIC にはなく、Microsoft BASIC だとあったそうです。


マイクロソフトの方言かな?

MZ は MS 系ではない独自 BASIC でしたが、十分に BASIC が普及した後に作られたために、便利な機能は真似していたのかもしれません。




ビル・ゲイツは、Altair 8800 用に BASIC を作って売り込んでいます


この時にはまだ、「マイクロソフト」はありませんでした。

(マイクロソフトは、この BASIC を他のパソコン会社向けに売り込むために作った会社)



そのAltair 8800 BASIC のリファレンスマニュアル(1975)があります。


重要なのは、41~42ページにある「SPECIAL CHARACTERS」という章。

この最後に、 ? があり、このように説明されています。


Question marks are equivalant to PRINT.

For instance, ? 2+2 is equivalant to PRINT 2+2.

Question marks can also be used in indirect statements.

10 ? X, when listed will be typed as 10 PRINT X.


意訳:

? は PRINT と一緒だから、? 2+2 ってかいたら PRINT 2+2 になるよ。

プログラム中でも、 10 ? X って書いたら 10 PRINT X になるよ。


すでに、非常に洗練された形で実装されています。

Altair BASIC を作るのに際して急に思いついて入れた、という感じではなく、設計当初から盛り込んであったような感じ。




ビルゲイツは、DEC の PDP-10 でコンピューターを学んでいます。

この PDP-10 には DEC が作った BASIC がありました。


この PDP-10 BASIC マニュアルを読んでみます。


… PRINT を ? で代用する、という方法は用意されていません。

Question mark に関しては「INPUT 命令を実行すると、設定した表示文の後ろに ? が表示されて入力待ちとなる」という説明程度です。



もっとさかのぼって、BASIC の元祖である Dartmouth BASIC を調べます。


BASIC はダートマス大学で学生にプログラムを教えるために作られた言語でした。

最初はパンチカードを使ったコンパイラ言語でしたが、テレタイプ端末の普及にあわせて「入力したプログラムがすぐに動き、命令ごとの直接実行も可能な、対話型の言語」になっていきます。

つまりは、良く知られている BASIC の原型はここで作られています。


ここにも、PRINT を ? で代用する、という方法は記述されていません。


もっとも、見つけられたマニュアルは、第2版と第4版のものだけです。

最初の BASIC だけあって、版を重ねるごとにどんどん機能が改良されていますから、Altair BASIC よりも前の第6版(1971)までに ? が実装されていた可能性が否定されるものではありません。




Altair BASIC が作られるより前の…1975年ごろまでの BASIC を手当たり次第に調べてみました。

でも、成果なし。手当たり次第なので見落としも多いと思いますが。


たとえば、PDP-11 には複数の BASIC があったことがわかりました。

PDP-10 の BASIC と互換のものと、グラフィックが描けるものと、文法を拡充したものと、オンラインで複数ユーザーが使えるものと…

すべて DEC 製。需要に応じて少しづつ方向性が違うものが必要だったのでしょう。


PDP-11 だけでこうなのですから、もっと多数の BASIC があったはずです。




実は、ビル・ゲイツ自身も、中学の時に PDP-10 用の BASIC を自作してみていたようです。

80年代の子供なら、テレビゲームを見て「自分でも真似してみる」ところなんでしょうけど、当時としては BASIC 自体が「真似してみたくなる」対象。


その経験があるから、作ってもいない Altair 8800 用の BASIC を「動いている」なんて電話で言ってしまってから、商売になりそうだとわかって移植開始している。


内部構造はわかっているから、時間さえあれば作れる自信があったのですね。



さて、そんな状態ですから、どこかに ? が PRINT になる BASIC があったかもしれません。

PRINT は基本命令だから良く使ったし、計算式を入れれば答えを教えてくれる、という意味で、? を使うのは非常に適切。


もちろん、その機能を持つ BASIC を作ったのが、中学生のゲイツだった可能性だってあります。



もう一つ、便利機能として用意されていたとしても、マニュアルに載っていない、という可能性だってあります。


PRINT と ? が同じだけど、? って入れてプログラム作ると全部 PRINT に置き換わる、って説明すると混乱するだけ。

気付いた人だけが使える機能、とかで入れてあってもおかしくない。


ここは、マニュアルを調べて調査しているだけではわからない。



ここら辺は憶測の域を出ません。

個人が趣味で「真似してみた」程度のプログラムは、ほとんど失われてしまったでしょうから。



今のところは、Altair 8800 BASIC で、いきなり洗練された形で登場したのが最初、というのが調査結果です。




余談:


PDP-11 の BASIC の中に BASIC-PLUS というのがありました。

この中に「statement modifier」という機能がありました。


print などの命令(statement)を先に書いて、後にその命令を実行するかどうか、「条件」を示す記述方法。


X=A IF X<A


とか書けるのですね。


…perl じゃん。

perl の文法見た時に、後ろに条件が書ける、というのがスマートでかっこいいと思ったのですが、PDP-11 の BASIC から取り入れた機能だったのかもしれません。


ちなみに、こんなこともできます。


X(I)=0 FOR I=0 TO 10


これで、配列変数 X の 0~10 を 0 で初期化できます。



▲目次へ ⇒この記事のURL

関連ページ

BASIC言語 初稼働日(1964)【日記 15/05/01】

別年同日の日記

02年 4/24

16年 GAME ON展

16年 未来科学館リニューアル

18年 Nexus 7 復活

22年 娘たちの誕生日

23年 コラムス97の配信


申し訳ありませんが、現在意見投稿をできない状態にしています

サミュエル・モールス 誕生日(1791)  2015-04-27 12:15:22  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日は、サミュエル・モールスの誕生日(1791)


職業は、画家です。

画家としても結構高名なのですが、今日取り上げるのは画家としてではありません。


彼の名前は、むしろ画家としての活動とは別に考えだした発明品として残っています。

モールス信号です。




モールスは早熟な天才で、14歳で大学に入学しています。

イタリアのボルタが電池を発明(1800)した頃で、電気学が急に発達し始めていました。


モールスも、電気学を学びますが、その学費を稼ぐために、画家としての活動を始めています。

絵を描くだけでなく、彫像なども作りました。


卒業後は両親の反対を押し切ってイギリスに留学、画家としての頭角を現し始めます。

展覧会で金賞を受賞したり、批評家に絶賛されたり。


アメリカで米国デザインアカデミー(現在の、米国アカデミー博物館)の設立に尽力し、その初代学長にもなっています(1826)。




その前年、モールスが画家としての仕事で出張中に、彼の妻が危篤に陥りました。

彼の元に駅馬車(当時の最も早い郵便システム)で手紙が届けられ、彼もすぐに家に帰ったのですが、帰宅は妻の埋葬後となりました。


モールスは、この事件をきっかけに、「郵便よりも早い連絡手段」を考え始めます。


事件の5年前、1820年に、電流が磁界を発生させることが発見されていました。

彼が学んでいた電気学は「電磁気学」となって発展していました。


1832年、モールスは船旅の最中に、電磁気学に詳しい、チャールズ・トーマス・ジャクソンと出会います。


彼は、前年にジョセフ・ヘンリー博士が発明した「電磁石」の話をモールスにします。

モールスも電気学を学んでいましたし、電気と磁気の関係が発見された(1820)ことは知っていました。


しかし、それを強くし、電磁石として使う方法が発見されたことを知り、連絡手段に使えそうだと思いつきます。


ジャクソンとモールスは、船旅の間に「電信機」の詳細をまとめました。

電磁石によって鉄板が動き、その動きを紙テープに記録します。


このテープに、点と線で符号化された「コード」を記録することで、文章を伝達するのです。



ただし、この時点では「単語をコード化する」アイディアでした。

どんな単語をあらかじめ準備しておけばよいのか、あらゆる単語を想定してコードを割り振る、という作業は難航します。


この問題は、1838年になって共同研究者のアルフレッド・ヴェイルが「文字単位でコード化する」ことを思いついて解決します。

この際に、文字の使用頻度などを調査し、一番良く使われる E には短い符号を、あまり使われない Q などには長い符号を…と割り振って、モールス信号と呼ばれるものが完成します。


#実際には、この初期のものをベースにさらに改良され、現在のモールス信号になります。




話が前後しますが、文字単位のコード化に移行する前年まで、モールスの電信機は、すぐ近くにしか信号を送ることができませんでした。


コードを最大に伸ばしても、せいぜい2マイル…歩いても1時間、馬なら5分程度で走れる距離です。



この時点では、モールスの電信機はあまり遠くまで信号を送ることができませんでした。

電気は通信に使われる電気コードの抵抗を受け、あまり距離が長くなると届かなくなってしまうのです。


これも、電磁石の発明者であるヘンリー博士が考案した第2の発明、「リレー装置」によって解決します。


ヘンリー博士も、電気コードが長くなると電気が通らなくなることに気付いていました。

そこで、電気が届く範囲の遠方にある「スイッチ」を、電気で操作することを思いついたのです。



スイッチのもっとも簡単なものは、ばねのようにしなやかな鉄板があれば作れます。

鉄板を押せば接点にくっつき、電気が流れます。離すとばねのように戻り、スイッチが切れます。


これは鉄板ですから、接点の下に電磁石を用意して、引きつけることができます。

これが、電気で操作可能なスイッチ、「リレー装置」です。



スイッチが入れば、電気が流れます。これは別回路ですから、そこからまた2マイル程度は電気が流れます。

そして、またスイッチを動かします。これを繰り返せば、理論上は無限に遠くの装置を操作できます。


「電気」は2マイルしか届かなくても、その電気による「信号」は、はるか遠方に届くのです。



ヘンリー博士は、この装置の特許を申請しませんでした。

彼は、科学の発展のために、発明は広く使われるべきだという主張を持っていたため、モールスの電信機にも無料で特許を使用させているだけでなく、技術的な助言なども行っています。




これで、やっと電信装置が完成します。


情報を瞬時に送れるというのは大発明で、モールスの電信機と、その電信機を使うためのモールス信号は世界中で使われ始めます。


1849年時点では、アメリカに20の電信会社があり、その電信線の総延長は12000マイルに達しました。

1852年にはイギリス海峡を渡る海底ケーブルが埋設され、ロンドン・パリ間の電信も始まります。


1854年、モールスの電信機の特許が成立します。電信を使う世界中の会社は、モールスに特許使用料を支払うようになりました。

もっとも、モールスは特許料が支払われなかったとしても、相手を訴えなかったそうです。


ヘンリー博士の影響もあったのかもしれませんが…彼自身、画家としての地位もあり非常に裕福だったため、お金にこだわらなかったようです。


1856年。モールスは、小さな電信会社を集め、「ウェスタンユニオン」を設立します。そして、世界中に電信ケーブルを埋設していきます。

1858年には大西洋横断ケーブル、1861年には、アメリカ大陸横断ケーブルが完成します。


しかし、1865年には大西洋横断ケーブルが障害を起こし、使えなくなります。

すぐに別のケーブルの埋設を始めますが、2/3が埋設された時点で事故を起こし、使えなくなります。


結局、翌年最初のケーブルを引き揚げ、修復が行われました。

その頃から太平洋横断ケーブルの埋設が始まりますが、1868年までかかる難工事となっています。



1871年、モールスの偉業をたたえる像がニューヨークのセントラルパークで披露されます。

モールスは、ここから世界中に電信で「Farewell」(丁寧な別れの挨拶)を送ります。


そして、1872年4月2日モールスは81歳で死去しています。


信号線埋設などで多額の私財を投げだし、慈善活動などにも多額の寄付をしていたそうですが、遺産は50万ドル。

現在の日本円にして、10億円程度でした。




現在でも、モールス信号は使用されています。

長・単・無だけの組み合わせで表現できるため、電気信号だけでなく、音や光でも情報を伝達できるためです。


モールスの死後、無線通信が普及し、そこでもモールス信号が使われます。

無線通信の発明者であるマルコーニが、船の救難信号を国際的に定めようと提案し、CQD という符号を提案。採択されます。


しかしそのわずか2年後、1906年には、船の救難信号として「SOS」が国際的に使用されることが決定されます。


これは、単にモールス信号で「わかりやすい」組み合わせを拾っただけです。

・・・---・・・が SOS の組み合わせになります。


1912年、タイタニック号が、マルコーニ式の電信機では世界最初の「SOS」を打電します。

この際には、CQD と交互に打たれました。


1999年、船の遭難信号としては、SOS は廃止となり、国際的に GMDSS と呼ばれる仕組みに移行しました。

このシステムでは、GPS や通信衛星も使用し、即座に救助が行えるような信号を自動発信します。


しかし、これは「船の遭難信号として」モールス信号は使われなくなった、というだけで、モールス信号が不要になったわけではありません。




電気の ON / OFF で情報を伝達する、という考え方は、この後テレタイプに受け継がれ、ASCII コードの制定に繋がっていきます。

もちろん現在も、コンピューターは電気の ON / OFF で動いていますし、通信はモールスが埋設したのと同じように、海底ケーブルによって世界中を繋いでいます。


その意味で、150年も前の彼の時代を想像するのは難しくありません。


ここ20年で起きたような「情報革命」が、全く同じような筋書きで、彼の時代にも起こったのです。

モールスの電信機が特許を取得してから、世界中に電信網がいきわたるまで、やはり20年程度。


ただ一つ違うのが、これが世界で最初の「電気通信革命」だったことです。

彼のやったことのインパクトは、インターネットの普及よりもはるかに大きかったでしょう。




余談:

モールス信号で Farewell …

とあるゲームのエンディング音楽の中で使われていたような。


多分、エンディングだから Farewell にしただけで、モールスの1871年のメッセージとは無関係と思うのだけど…

そのうち作曲者に聞いてみよう。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

歯車

今日は何の日

関連ページ

「蓄音機」特許の成立日(1878)【日記 19/02/19】

COMPET CS-10A 発表日(1964)【日記 19/03/18】

電気で計算する方法

クロード・シャノン 誕生日(1916)【日記 15/04/30】

別年同日の日記

02年 4/26

03年 ほっかいどぉ

08年 誕生日とG.W.

11年 誕生日

14年 相模湖リゾート プレジャーフォレスト

18年 ダイナマイト刑事2

19年 長女の誕生日

20年 長女の誕生日

20年 病院週間


申し訳ありませんが、現在意見投稿をできない状態にしています

ポール・バラン 誕生日(1926)  2015-04-29 11:13:53  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はポール・バランの誕生日(1926)。


…この人も知りませんでした。

「今日は何の日」のネタが無いかな、と探していて知る人多数。

偉そうな記事を書いているのに、実際には非常に無知で恐れ入ります。



もっとも、ポール・バランに関しては知らなかったのも道理で、非常に重要な研究をしていたにもかかわらず、その研究は結局日の目を見ていません。



彼は、エッカート・モークリー社(同名の ENIAC 設計者が設立し、後にレミントン・ランド社に合併され、UNIVAC I を設計した)に入社したコンピューター学者です。

後に転職して、ヒューズ・エアクラフト(億万長者のハワード・ヒューズの持つ航空機会社)に入社します。


そしてさらに転職。航空機の知識も持ち、コンピューターの知識を持つ彼は、米空軍のシンクタンクであったランド研究所にスカウトされます。



1961年、彼は空軍からの依頼で「核攻撃に会っても停止しないコンピューターネットワーク」の研究を行います。


空軍は SAGE という「核攻撃に備えた」レーダーネットワークを持っていました。

(1958年から構築開始)


このネットワーク自体を破壊される、ということを恐れたのかもしれません。


この報告書をまとめたのが翌 1962年です。




報告書に書いた内容は、大体次の通り。


・中央コンピューターは設けず、複数のコンピューターが分散・協調動作する。

・通信経路は近くのコンピューター同士を結ぶ形で複数用意し、状況に応じて適宜使用される。

・データは小さな単位に分割して送り、それぞれが独立に複数の通信経路を経由し、受け取った側で再構築する。


何のことを言っているか、今の我々なら容易に想像がつきます。


しかし、当時はこの考え方は新しすぎました。

なにせ、1台のコンピューターが非常に高価で、通信線1本を準備するのにも大変な費用が掛かったのです。


1964年には一般の雑誌にも要約が発表されます。

しかし、そのまま忘れ去られることになりました。




同じような問題は、アメリカとは独立してイギリスでも研究されていました。

ただし、こちらでは「多数のコンピューターを結ぶ際に、最も安く回線を引くにはどうすればよいか」という問題として。


当時のコンピューターを通信させるには、「中央コンピューター」を用意するのが普通です。

このコンピューターと、各端末を回線で結びます。端末が 100台あれば、回線は 100本必要です。


その上で、端末 A と端末 B でデータを送受信したければ、A から中央コンピューターを経由して、 B と接続を行います。

中央コンピューターに関係のないデータの送受信でも、中央コンピューターが監視するため、速度低下にもつながります。


これは大変な事でした。

もっと安く回線を用意できないものでしょうか?

無駄に中央コンピューターの速度を低下させない方法は無いのでしょうか?


イギリスのドナルド・デービスは、この問題に答えを出しました。


・中央コンピューターは設けず、複数のコンピューターが分散・協調動作する。

・通信経路は近くのコンピューター同士を結ぶ形で複数用意し、状況に応じて適宜使用される。

・データは小さな単位に分割して送り、それぞれが独立に複数の通信経路を経由し、受け取った側で再構築する。


全く異なる問題を考えていたのですが、ポール・バランと結論は同じでした。


デービスは、最後の「小さな単位」をパケットと呼びました。現在のパケット通信の語源。

この論文の発表は、1968年でした。


ポールバランの報告書からわずか6年後。

でも、この6年でコンピューター技術は大きく進んでおり、依然として先進的ではあるものの、「実現可能な技術」になりつつありました。




アメリカでの、ARPANET …現在のインターネットの前身が計画されたのは 1966年でした。

ただし、この時点では、どうすれば大規模ネットワークが作れるのかわからず、問題が山積みでした。


1968年、デービスの論文に解決方法を見出し、ARPANET の計画が急に進み始めます。

最初のシステムが稼働し始めたのは 1969年12月でした。



ただ、ARPANET に触れた人の中で、いくらかの人は、ポールバランが 1964年に雑誌発表した論文も見ていたらしいのね。


ここから、「ARPANET は核攻撃に耐えられるネットワークとして実験が始まった」という都市伝説が興ります。

今でも、この話を信じている人は結構多いのではないかな。



たしかに、システムのアイデアはほぼ同じものでした。

でも、別々の問題への対処を考えた結果、同じような結論に達しただけです。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

アラン・チューリング命日(1954)、ドナルド・デービス誕生日(1924)【日記 16/06/07】

OSの登場

別年同日の日記

13年 ハムスター

16年 お昼ご飯の思い出

18年 テクモワールドカップ'98


申し訳ありませんが、現在意見投稿をできない状態にしています

「オセロ」 発売日(1973)  2015-04-29 12:05:03  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ボードゲーム「オセロ」の発売日(1973)。


オセロの起源については、諸説あってどれが本当だか(僕には)よくわかりません。


大きく分ければ、リバーシの影響を受けたか否か、なんですけどね。

オセロ以前からリバーシというゲームがあったことはわかっていて、日本でも紹介されていたことがわかっている。


でも、それほど有名だったわけではない。


オセロの考案者の証言では、白黒の碁石を使った単純な遊びとして「挟み碁」を考えた、となっています。

最初は、挟まれると碁石を取り換える、という遊び方だった。


でも、これが面倒くさいから牛乳瓶のふたで「両面が白と黒」のコマを作って、挟まれるとひっくり返されるゲームになる。


…この話だと、リバーシの影響は受けていないように思います。



その一方で、オセロはリバーシで決まっていなかった詳細を決定してルールを厳密化したゲームで、リバーシが元になっている、という説明もよく見る。


オセロ以前から日本に紹介はされているのだから、考案者は知っていたはずだ、という見解ですね。



いま Wikipedia を調べたところでは、オセロのページでは後者の説を、考案者長谷川五郎のページでは前者の説を紹介していました。




いずれにせよ、世界的にそれほど有名ではなかった「リバーシ」を、「オセロ」の名前で有名にした功績はあります。


現在ではオセロは非常に有名なゲームです。

1977年からは、毎年世界大会も開かれている。


一方で、有名すぎて「真似をした」ゲームも多数発売されている。


ゲームって、ルールには権利主張できないのね。

オセロの場合、名前の商標だけが取られている。


だから、真似をする場合には「リバーシ」を名乗って、ルールをオセロのままにすると、法的な問題なしに真似できます。



ただ、一つ書いておきましょう。


本来のリバーシでは、最初のコマの打ち方のルールが少し違います。

オセロでは白黒2枚づつを中央4マスに、市松に置いた状態から始まります。


リバーシでは、中央4マスが埋まるまでは両者そこに置かなくてはならない、というルールがあるだけで、何もない盤面から始まります。


あと、コマや盤の色もリバーシでは定められていない。


リバーシはチェス盤を使って遊ばれることが多かったそうで、とすれば盤面は緑ではなく、市松模様です。

コマはチェスと同様に白黒が多かった、とのことですが、特に日本国内では紅白が多かったとのこと。

(紅白合戦、というのは日本人的にイメージしやすいのでしょうね)


一方、オセロは、白黒のコマと緑の盤面です。


ルールと、盤面の色。

「リバーシ」を名乗りながら実はオセロの知名度にタダ乗りしようとしているゲームを見極める際に役立ちます。




オセロって、思考プログラムを作る際の題材にもよく使われたと思います。


ベーマガにも、よくオセロのプログラム載ってました。

僕もその思考ルーチンを参考に、ファミベでオセロを作ったことあります。


#コマの色は白・水色でした。ファミベのテキストキャラに、白と水色の塗りつぶし四角があるから。



ベーマガによくあったプログラムは、コマを打つ位置が、優先順位順にデータ化されているだけ。

順次調べて行って、打てる条件に適合すれば、そこに打ちます。



オセロ知っている人には自明だけど、オセロでは角のマスを取るのは非常に重要なのね。

角だと、どこからも挟まれないから、絶対ひっくり返されなくなる。


逆に考えると、「角の隣」を打つのは非常に危険です。

だから、角を囲むマス…全部で12マスは、優先順位を最低にする。


この考え方で、マスごとに優先順位を付けてあるのです。ただそれだけ。



これは流石にあんまりだ、と思ったので、僕はデータの並びを優先順位とするのではなく、「同じ優先順位」を意味するフラグを設けました。

同じ優先順位の中で、一番多く取れる場所に手を打つ。


…先読みは無いから、これでもまだ非常に弱いんですけどね。


でも、友達に遊ばせたら、これでも「強い」と言われた。

ということは、この方式でもオセロ苦手な人には十分な強さだということだ。



コンピューターで「思考ルーチン」作ってみたいと思っている人は、このレベルからお試しあれ。




多分、ツクダオリジナルから発売になっていた「オセロマルチビジョン」だと思うのだけど、おもちゃ屋さんでオセロが遊べるテレビゲームが試遊展示されていました。


コンピューター相手にオセロを遊べるのね。


なんかね、それを一定の手順で打つと、比較的最初の方で全部のコマを裏返せた。

全反転したら、その時点で終了ね。



初めて遊んだ時は、たまたまそうなったの。

「えっ!」って驚いて、思い出しながら同じ手順を再現すると、必ず全反転で勝てる。


人間相手なら、そんな馬鹿な状態にはなかなかならないのだけど、これが楽しくて同じ手を延々繰り返して遊んだような記憶があります。


市販オセロですら、非常に弱かった時代の思い出です。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

歯車

今日は何の日

関連ページ

アラン・チューリング命日(1954)、ドナルド・デービス誕生日(1924)【日記 16/06/07】

OSの登場

別年同日の日記

13年 ハムスター

16年 お昼ご飯の思い出

18年 テクモワールドカップ'98


申し訳ありませんが、現在意見投稿をできない状態にしています

クロード・シャノン 誕生日(1916)  2015-04-30 17:10:34  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日はクロード・シャノンの誕生日(1916)。


シャノンは…偉大すぎて、とても1回では語れないです。

この人がいなければコンピューターは存在しなかっただろう、というくらいすごい人。


世界で最初のコンピューター、とされるのは ENIAC(1947) ですが、それ以前から「電気回路による計算機」は存在していました。

そして、電気で計算ができる、と最初に示したのが、クロード・シャノンが 1937年に発表した修士論文でした。


この論文では、スイッチの組み合わせで OR と AND が作れることを示し、OR と AND があれば2進法での計算が可能であることを示しています。


スイッチで…と言っても、人間が操作する、いわゆるスイッチのことではありません。

修士論文のわずか2年前、ジョセフ・ヘンリー博士が、電気によってスイッチを動かすことができる「リレー装置」を発明していました。


つまりシャノンは、リレー装置を使えば、歯車計算機と同じ計算を、もっと高速に行うことができると示したのです。

デジタル理論の始まりでした。


これからしばらくは、リレー式計算機の時代でした。

ENIAC だって、基本的には「真空管は、リレーより早いスイッチとして使える」という発想で作られているのです。


そして、実は今でも、「トランジスタは真空管より安定したスイッチとして使える」という考え方で、コンピューターは作られています。

シャノンが今のコンピューターの基礎を作った、と言われるゆえんです。


#実は、シャノンの前年に日本人の中嶋章が同様の論文を発表していますが、アメリカのリレー計算機に大きな影響を与えたのはシャノンの論文です。

 シャノンの論文が中嶋論文の盗作である、という説もありますが、リレーの発明を受けてその論理性を考察した、と考えると、同時期に類似の論文が独立に発表されても不思議はないと思います。




シャノンはまた、情報理論という数学理論を作り上げました。


よく「映像は情報量が多い」とか言う人がいるのですが、実はこの言い回し、間違っています。


情報量というのは、元々情報理論で使われる専門用語でした。

そして、その定義は「2つの選択肢があり、どちらか一方を選ぶのに十分な情報を、1bit の情報量とする」というものです。


4つの選択肢の中から、どれか1つに完全に決められる情報があるなら、その情報量は 2bit です。

逆に、2つの選択肢があり、A だと思うのだけど、B の可能性も捨てがたい…などという場合は、0.5bit のように小数点以下の値となります。



たとえば、A と B のどちらかを選ばないといけない時に、全く情報が無いと、0bit です。


情報を調べたところ、「A を選ぶと良い」という情報が得られたとします。これは 1bit の情報です。

さらに情報を得ると「B を選ぶと良い」という情報が得られたとします。


ここで、どちらを選べばよいかわからなくなり、 0bit に戻ります。

情報は増えたけど、情報量は減るのです。



さて、最初に書いた「映像は情報量が多い」という話。

正確に言えば、情報が多いのです。


耳だけで感じる「音」よりも、目で感じる「映像」は情報が多い。

止まっている「画像」よりも、動く「映像」は情報が多い。これは事実です。


でも、それが「情報量が多い」ことにはなりません。

ただのノイズを延々と見せられたら、多分「情報」は多いのだけど、情報量は 0bit 。

何の参考にもなりません。



言葉遊びの屁理屈をこねているわけではないし、コンピューター関連の話でもありません。


何かを作る、クリエイターの人は情報理論を肝に銘じておく必要があります。

自分の想いを詰め込み過ぎると、「情報」が多くなりすぎて「情報量」は減るのです。


適切に薄めて、情報量が高いものを「お客様」に届けると、一番喜ばれます。


#…と自分で書いておきながら、海より深く反省。

 僕のサイトは情報詰め込み過ぎです…




シャノンは、自ら作った「デジタル理論」と、「情報理論」を組み合わせ、次々と新しい概念を作り出しました。


通信に於いて、伝送中にノイズが載ることを考慮し、適切にデータ転送する方法を数学的に考察しました。


これにより、情報通信理論の基礎が固まりました。

これまでは「経験則」で電話やモールス信号の電信線を設計していたのが、適切な設計方法などが数学的に示されたのです。


そして、シャノンはこの「ノイズが載る可能性がある伝送路」で、ノイズの影響を打ち消しながら通信を行う方法も考案します。


エラー訂正符号と呼ばれるもので、今のインターネットでの通信はもちろん、ハードディスクのような情報記録媒体でもこの理論が使われています。


情報記録が「未来への通信」だと思えば、やはりノイズ(時間劣化)の影響は受けるのです。




シャノンは「デジタル理論」を専門としますが、もちろん自然界はアナログです。

この、アナログの量をデジタルに変換して扱いやすくするための方法、「サンプリング理論」もシャノンが始めた学問です。


たとえば、音は空気の波として表されます。

これをマイクで拾って、電圧の波に変えることもできます。


CD の記録の場合、この電圧の波を、65536段階、16bit に区切って記録しています。

これをビットレートと呼びます。


そして、この「電圧の測定」を、1秒間に 44100回行っています。

こちらはサンプリング周波数と呼びます。


ビットレートが 16bit で、サンプリング周波数が 44100回。

この数字、どちらも大きくすればするほど、音は良くなります。


でも、電圧を細かくとろうとすると測定に時間がかかってしまって、サンプリング周波数が落ちる。

周波数を細かくすると、電圧測定の時間が取れなくて、ビットレートが落ちる。


もちろん、その時代の技術の問題もあるのですが、両立は難しいのでバランスよく決める必要があります。


その「バランス」を決める際に役立つのが、サンプリング定理。

記録しようとする周波数の、2倍のサンプリング周波数が無いと記録できない、という定理です。



CD の場合、人間は 22Khz より上の音は聞こえない、という理論をもとに、44.1KHz のサンプリング周波数が設定されています。


#実際には、CD は当初 48KHz で 60分記録の予定でした。

 これが 44.1KHz で 74分記録、という中途半端な数字になるには、裏でいろいろあったそうです。




サンプリング理論と言うとわかりやすいから CD の話になりがちだけど、デジカメとかも同じね。

画像だって、デジタルで記録するにはサンプリング定理の影響を受けるのです。


その昔、パソコンの画面にたくさんの線を引くと、本来の線とは別の模様(モアレ縞)が見えることがありました。


サンプリング定理では、周波数の半分を超える周波数の信号が入ると、本来の周波数と異なった周波数のように記録されます。

これが「モアレ縞」の正体で、本来存在しない周波数のことを、サンプリング理論では「エイリアス」と呼びます。


英語で「別名」の意味ね。

Mac ユーザーならファイルの「エイリアス」を作ったりすることもあるでしょう。

(Windows ではショートカット、UNIX ならソフトリンクと呼ばれる機能です。)


さて、画像の「エイリアス」は、「アンチエイリアス」で消すことができます。

仮に、本来のサンプリング周波数よりも細かい…グラフィック画面よりも細かなドットの画面があるとして、そこに線を描きます。


それから、本来のグラフィック画面に「平均値を取りながら」変換するのです。

平均値を取ったのでところによって絵がぼやけますが、エイリアスは消えます。


アンチエイリアスとか、グラフィックやっている人にはお馴染だと思うけど、これもシャノンが始めた理論によるものなのです。




もっと専門性の高い話もありますが、あまり書くと混乱するので今回はこの辺で終わりましょう。

(詰め込み過ぎは情報量を落としますし!)


興味を持った方のためにざっくりとだけ書くと…


暗号を数学的に扱ったのもシャノンが最初でした。

ゲーム理論の基本的戦略の一つである、ミニマックス法もシャノンが考案したものです。


「コンピューターグラフィック」を創始した、アイバン・サザーランドはシャノンの最後の教え子でした。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

クロード・シャノン 命日(2001)【日記 16/02/24】

「人工知能」の生まれた日(1955)【日記 16/08/31】

アイバン・サザーランドの誕生日(1938)【日記 14/05/16】

COMPET CS-10A 発表日(1964)【日記 19/03/18】

別年同日の日記

02年 4/30

08年 その後の事件

16年 GAME ON 展関連書籍

17年 Switch 買った。


申し訳ありませんが、現在意見投稿をできない状態にしています

あきよし】 知ってますよー。本文中に書いた通りなのでよくお読みください。
違い(盗作ではない)の詳細については、論文の共同執筆者である榛澤さんの証言が「計算機屋かく戦えり」に書かれています。
 (2016-08-03 12:36:19)

【ちょっといいですか?】 あきら なかしま が switching circuit 理論 を打ち立てたのは1935年、すなはちc.e.s.の2年前だ。s.は完全に盗作をしているんですよ。 (2016-07-03 01:54:13)

ハロルド・コーエンの誕生日(1928)  2015-05-01 15:14:55  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ハロルド・コーエンの誕生日(1928)


この人よりも、この人が作ったプログラムの方が有名でしょう。

アーロン。コンピューター画家として知られ、「創造的な」人工知能だと言われます。


もっとも、コーエンはアーロンに創造性があるなんて、ちっとも認めてません。

見た人が勝手にそういっているだけ。




コーエン自身も画家なのですが、何が人間の創造性を左右しているのか、その限界を見極めようとしたところに彼の独自性がありました。


アンディ・ウォーホルロイ・リキテンスタインは、およそ「芸術としての創造性」なんて感じられない、広告ポスターや漫画雑誌を主題とした作品を、芸術作品として作っていました。


ピエト・モンドリアンはもっと前の時代の人ですが、キャンバスをただ直線で区切って色を塗っただけで、創造性を感じさせました。


コーエンも、おそらくはここら辺の作品に影響を受けているのでしょう。

「無作為に描かれた線」による作品群を作り、有名になります。


無作為…って、芸術の大切なテーマの一つなのですが、その無作為をどう作り出すかが問題。


彼は、紙をくしゃくしゃに丸め、それを再び伸ばし、しわの上に線を引いていきました。

他のしわと交わる交点では、あらかじめ決めたルールに従い、線が進む方向が決まります。

とにかく、ルールだけがあり、後は一切が偶然。


コーエンの意思はルール決定においてのみ入っており、芸術作品には意思が入り込まない。

それを「創造性」と呼べるかどうか…これが彼の作品のテーマでした。



当初は線画だけでしたが、後にはこれを拡張し、色を塗ったりもしています。

もちろん、色を塗る際もあらかじめ決めたルールに従って塗っているだけです。




彼は、このルールを決める作業を「初めてのプログラムだった」と語っています。

あらかじめ、起こり得る現象に対して、網羅的に対応できるルールを決めておく。


そして、偶然を元にルールを適用し、完成作品を見る。


彼は、さらに作品が「彼の考える、良いもの」になるようにルールに手を加えます。

この繰り返しで、作品自体は偶然性に支配されながらも、彼が思うような絵が描かれるようにルールを整えるのです。


この作業は、当然のように「機械化」の方向に進みます。


1971年、データ・ジェネラル社の後援を受けて、彼はコンピューターに絵を描かせるプログラムを展示します。

…プログラム自体には、1~2年かかったそうです。コーエン自身がプログラムを行いました。


この時の絵は、非常に単純な抽象画です。しわくちゃの紙をなぞる代わりに、ランダムを元に線を引いていきます。

当時のコンピューターにはまだ高精細なディスプレイはありませんから、ペンを持ったロボット自動車…LOGO の「タートル」に相当するものが絵を描きます。


#タートルは「かわいすぎて、みんなが絵ではなく、タートルの動きに注目してしまう」という理由で、後にプロッタプリンタに変更されます。

 


さらに翌年には、こうして描かれた絵の展示会を行います。

多くの絵が飾られ、その中には、絵を描くマシン自体の展示もありました。

マシンは少しづつ絵を描き進め、会期の終わりごろには見事な抽象画が完成しました。


この「機械」も含め、コーエンの芸術作品なのです。




絵を描く機械を見た人々は…この機械に「知性」を感じました。

左側でしばらく絵を描いていたかと思うと、急に右の方にペンを動かし、そちらでも何かを描き始めます。


これを見た人たちは「左に何かを描いたから、右にも描き入れて全体バランスを取っているのだろう」と話をします。


でも、コーエンによれば「単に、描くスペースが無くなったので中断して、別のところにスペースを見つけただけ」なのだそうです。


コーエンは、何も考えずに動くだけの機械を見る人々が、「機械が考えている」と想像する現象を、興味深く感じました。

そして、プログラムによって絵を描く機械に、大きな魅力を感じ始めます。


彼は、「プログラムが、絵を描くよりも楽しくなってきた」のだそうです。




1973年、コーエンは、妻と旅行中に、洞窟の岩肌に描かれた、原始時代の壁画を見ます。

これは、彼にインスピレーションを与えました。


そして、彼はアーロンを作りはじめます。

非常に単純な、原始時代の洞窟壁画のような絵を描く、コンピュータープログラムです。


アーロンは、とにかく「閉鎖空間」を描こうとします。ゆがんだ楕円だったり、ジャガイモのような形だったり。

描いている最中に他の絵とぶつかりそうであれば、線を曲げて、絵が重ならないようにします。


そして、時にはこの閉鎖空間から線を伸ばします。

その線は足のようにもみえ、まるで原始人が狩猟対象の動物を描いた、洞窟壁画のようでした。


この、「動物らしく見えるもの」からスタートして、コーエンはアーロンに様々な規則を教え始めます。


同じ閉鎖空間でも、描き方によっては雲にも、太陽にも見えます。



そして、次の大きな段階へ。

コーエンは、アーロンに、動物に「骨格」があることを教えました。


棒を繋げるような形で、胴体と4本の脚、首と頭、尾が繋がっていることを教えたのです。


この時点では、アーロンが知っているのは、棒状に体が繋がっていることだけでした。

棒同士は、接続箇所の角度を変えられます。でも、この角度も「可動範囲」があり、あり得ない形状にはなりません。


アーロンは棒を描くのではなく、その周りに適切に「肉付け」された形状を描きます。

ただ、この肉付けの際のパラメーターは、アーロンがランダムに生成します。


これにより、「洞窟壁画らしさ」が増しました。



コーエンはさらに、人間の形状を、木の形状を、部屋の構造を教え、遠近法や、重なった際の印面処理などをアーロンに教えます。

形状も、当初は2Dで表現していましたが、3D形状を透視変換して2Dに出来ることを教えました。


そこまで行くと、ただの3Dモデルを動かして、レンダリングするだけのプログラムになりそうです。

しかし、アーロンは3Dモデルを動かし、それを参考にして、その形状を「デッサン」するように線を描くのです。


参考にしかしていないので、なんとなく人間の形になったとしても、やはり線はいびつで、ただの3Dレンダリングとは異なります。

なにか、芸術としての肖像画の側面を持っているのです。




アーロンは創造性を持っているのか?

コーエンは、この問いにきっぱりと「持っていない」と答えています。


アーロンが創造的に見えるのは、アーロンが描いているところを見る我々が、アーロンに人間的な何かを感じてしまうためです。

実際には、その内部ではランダムを生成し続けているだけで、何も考えてはいません。


ただ、アーロンはコーエンの考える「芸術性」を教え込まれています。

アーロンが創造的ではなくとも、コーエンは創造的で、アーロンはコーエンを真似しているのです。


以前は、人工知能の研究者で、コーエンの支援も行っているレイ・カーツワイルが、アーロンの「Windows 移植版」を有償で配布していました。

しかし、今探したところ、配布は辞めてしまったようです。


ずっと Windows 95 用のままだったからね。64bit 時代になって動かなくなったのかも。



そんな、アーロンの描いた作品は、芸術作品として認められ、高値で取引されています。

これももちろん、アーロンを道具としてコーエンが描いた作品、としての価値があるためです。


実のところ、アーロンが描いた絵は沢山あって、販売されているのは「コーエンが認めた」作品だけです。

この時点で、高値で取引される理由はちゃんとあるんですけどね。


先に書いたソフトを入手したとしても、それで描かれた絵が全部高価な価値がある、というわけではないのです。




機械は知性を持ちうるか否か?


これは17世紀から続く、哲学の大きなテーマです。

時代的に「機械」がコンピューターに変わり、チューリングがチューリングテストを提唱したことで、「人工知能」は「対話可能であること」が重視されるようになりました。


しかし、コーエンはそれとはまた違った方法で、アーロンという「画家の人工知能」を作り上げました。

多くの人が、アーロンが絵を描いているのを見て「考えている」と感じるようです。


対話は行っていませんが、多くの人が知性を感じれば、それは知性があるにほかならない。


コーエンは、アーロンは「多くの人に考えていると感じさせることで、チューリングテストには合格している」と言っています。

事実、2000年ごろには、米国人工知能教会の会長も「現時点での最高水準の人工知能」のひとつとしてアーロンを挙げています。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

理科ハウス【日記 16/05/10】

【訃報】シーモア・パパート【日記 16/08/03】

【訃報】シーモア・パパート【日記 16/08/03】

別年同日の日記

23年 G.W.前半


申し訳ありませんが、現在意見投稿をできない状態にしています

BASIC言語 初稼働日(1964)  2015-05-01 16:59:58  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、BASIC の生まれた日(1964)。


厳密に言えば、ちょっと違うかな。

いわゆる「BASIC」としてなじまれた環境が、最初に動くようになった日と言うべきか。


1964年の早いうちに、ダートマス大学で、BASIC という「言語処理系」は完成していたのだそうです。

パンチカードにプログラムを打ち込み、バッチ処理でコンパイルを行い、コンパイル済みのバイナリを実行できる環境として。


この点では、FORTRAN とそれほど変わりませんね。

でも、BASIC の目標点はそこではなかった。


この、バッチ処理コンパイル版の BASIC を元として、「対話処理」が組み込まれ、はじめて稼働したのが今日、5月1日とされているのです。




対話型というのはどういうことか?


パンチカードにプログラムを打ち込むのではなくて、テレタイプライターでタイプすると、即座に動作するのです。


PRINT 2 + 2


と打ち込むと、その瞬間に「PRINT 2 + 2」をコンパイルし、完成したバイナリを即座に実行します。

結果、「4」とタイプライターに出力されます。


この時点では、まだ BASIC 言語の処理部分はコンパイラのままでした。



入力が数字から始まる場合…つまり


10 PRINT 2 + 2


という形式である場合、一連のプログラムの、行番号「10」番目の断片だと見做し、内部メモリに格納します。


どのような順序でプログラムを入力しても、内部では行番号順に並び替えられます。

同じ行番号を上書きすれば前のものは消去されますし、行番号だけ入れれば、その行自体が削除されます。



そして、RUN という命令が実行されると、即座にプログラム全体がコンパイルされ、動き始めます。




80年代の BASIC を使った人にも、BASIC に行番号は必須だと思っている人が多いのだけど、そんなことは無いです。

行番号は、あくまでも「編集に」必要なだけ。


もちろん、GOTO などで行番号使いますよ。

だけど、これだってラベルが使える BASIC 環境だってあった。


行番号でジャンプする FORTRAN でも、とび先以外の行には行番号を付けなくていい。

行番号がなくたって何とかなる。


でも、BASIC が作られた当時はテレタイプで、ディスプレイはありません。カーソルを動かすことはできないのです。

その環境でプログラムをしようと思ったら、編集する位置をすぐに指定できる方法が必要。


行番号は、主にそのためのものです。


#FORTRAN はパンチカードなので、正しく並べることを前提に、行番号が不要だっただけ。




でも、この行番号による編集が、BASIC を大成功に導いたように思います。


行番号があれば、それを内部メモリに格納する。

行番号が無ければ、直接実行する。


この単純な規則で、意識せずにモードを使い分けられます。


ちょっと実験したいときは直接命令を動かしてみて、動作を確認してからプログラムに組み込む。


BASIC は元々「プログラムの学習用」でしたから、こうした、コンピューターになじめる環境全体を作り出すことが重要だったのです。




ダートマス大学で BASIC はどんどん改良されます。


ダートマス BASIC は、行列を扱う計算も出来ました。

この当時は、ダートマス BASIC を元に、別実装された BASIC でも行列計算が当たり前についています。


1970年代には、低価格で大ヒットした PDP-8 にも BASIC が作られていますし、PDP-11 ではグラフィックが扱えるものや、命令を非常に増やしたものなど、多数の BASIC が作られています。


そして、コンピューターの時間貸しサービスでよく使われた PDP-10 にも、BASIC はありました。


これらのマニュアルを読む限りでは、内部的にはダートマス BASIC と同じように「即時コンパイル」だったようです。


コマンドによって、コンパイル結果をファイルに書き出したりもできました。

BASIC で作っていても、コンパイル結果は BASIC 環境無しに動かすことができます。




PDP-10 で BASIC を学んだ人と言えば…後にマイクロソフトを設立する、ビル・ゲイツもその一人でした。


彼は中学校にあった PDP-10 の時間貸し端末を使って BASIC を遊び倒し…一人で、1年間分の「時間貸し」の料金をあっという間に使い果たし、怒られています。


仕方がないので、時間貸しサービスを「ハッキング」して無料で使って、サービス提供会社にまた怒られ、接続を無料にする条件として、その会社でソフトのバグを見つけるアルバイトを始めます。


#その会社では、PDP-10 を DEC から購入した時に「バグが見つかり続けている間は支払いを猶予する」という条件を貰っていたのだそうです。

 ゲイツたちが各種ソフトのバグを探してくれれば金を払わないで済む、というメリットがありました。


この頃、ビル・ゲイツは BASIC 自体を自分でも作ってみているのだそうです。


そして、それが Altair 8800 発売時に、作ってもいないのに「BASIC を作った」とハッタリをかました自信へと繋がります。




Altair 8800 は…実際には入手困難だったので、互換機の IMSAI 8080 などは、多くの人にとって「初めて触るコンピューター」でした。

しかし、これらのコンピューターは2進数でプログラムを組むようになっていて、非常に使いにくいものでした。


ゲイツは Altair の製造元である MITS 社に BASIC を提供しながら、「マイクロソフト」名義の会社を設立して、同じ BASIC を IMSAI などにも販売しました。


マイクロソフトが作った BASIC は、コンパイラではなく、インタプリタでした。

命令をひとつづつ解釈し、その命令を動作させるためのサブルーチンにジャンプします。


コンパイラと違って動作が遅いのですが、マイクロソフト BASIC の場合は、プログラム格納時点で命令解釈を半分終わらせることで、高速に動作するようにしてありました。


#字句解析までは終わらせ、単語単位で「中間コード」に変換しています。



マイクロソフトの BASIC では、行列演算の機能が削除されていました。


それ以降…家庭用パソコン向けの BASIC では、みんな Altair 8800 の BASIC に倣ったようで、行列演算機能は基本的にないものとして扱われました。



一方で、マイクロソフトの BASIC では、「?」は PRINT と同じ中間コードに変換されるようになっていました。


このため PRINT 2 + 2 の代わりに ? 2 + 2 と書くことができます。


これが…地味に便利です。

ちょっとした計算をしたいときに、? の1文字だけで、後は計算式を入れれば結果を教えてくれるのですから。


現状では ? は Altair 8800 用の BASIC に存在したのは確認されていますが、マイクロソフト以前にあったのかどうかは不明です。

(PDP の BASIC には存在していません)




現在でも、BASIC には根強い人気があり、マイクロソフトも Visual BASIC を作り続けていますし、プチコンや IchigoJAM のような環境もあります。


僕自身は今では BASIC を使いたいとはあまり思わないのですが、初心者や、サンデープログラマ向けとしては今でも良い環境だと思ってます。


構造化なんて、職業プログラマの発想で、最初は難しすぎてついてけないよ。

最初は BASIC で初めて、必要なら後で「卒業」すればいい。


もちろん、卒業しないで万年初心者だってかまわないと思います。

仕事では使えないかもしれないけど、十分楽しい言語。


まぁ、「後で卒業すればいい」という意味では、BASIC にもこだわらないのだけどね。

子供には Scratch 薦めてます。


#Scratch も、コマンド単位でダイレクト実行できたりする「対話環境」で、BASIC と考え方が非常に似ています。

 もちろん、初心者向けに何が重要かを研究したうえで作っているのだろうけどね。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

理科ハウス【日記 16/05/10】

【訃報】シーモア・パパート【日記 16/08/03】

【訃報】シーモア・パパート【日記 16/08/03】

別年同日の日記

23年 G.W.前半


申し訳ありませんが、現在意見投稿をできない状態にしています

マイコンインフィニットPRO68K  2015-05-05 19:06:35  コンピュータ 社会科見学

▲目次へ ⇒この記事のURL

5月4日、秋葉原でマイコンインフィニットPRO68K (MI68) という展示即売会があるというので、お伺いしました。


名前の通り X68K ユーザーを中心として、その時代の機械が好きな人なら何でもありの集まりです。

同人ソフト有り、同人ハード有り、関係なくグッズ販売あり、メガドラやゲームギア、LINX やアミーガ、PC88やFM-7もあって、非常に活気がある。


みんな面白いもの作っているなぁ、とおもうと、ちょっと久しぶりに 68 いじりたくなりました。

でも、僕の 68 壊れてるのね。電源はいらない。


壊れていても捨てられない。やっぱ、一番の青春のマシンだから。



僕の 68 は EXPERT で、5inch だから、同人ソフトを買うのも 5inch だという考えで見ていて、でも今更 5inch 買っても 68 壊れてるから…と、躊躇して何も買わなかった。


後でよく考えてみたら、3.5inch を買って、吸い出してエミュで遊べばよかったのだ。

自分のマシンを基準に 5inch で、と考えたばかりに、こんな簡単なことに気付かなかった。




写真なんかはツイッターでずいぶん流したので、Twilog でも見てもらおう。


Twitter だと短すぎてなかなか書けないことを中心にまとめます。


講演会が一番の目的で行きました。


はっきり言えば、前回オフ会にお伺いした時に現れた、速水さんの話を聞いてみたかった。

その時までちゃんと認識してなかったけど、非常にお話の面白い方だったので。


今回 MI68 は3回目だそうで、市川さんという方は1回目から毎回お話をしてくださるそうだ。


誰か知らない…と思ったら、M.N.M の社長だった人。

X68k でスターウォーズを作ったメーカーですね。あのゲーム、すごく好きだった…


で、後に社名をマインドウェアに変更。

98 版の Mr.Do とか、Jump BUG とか作ってた会社。


こちらも、大学時代に友達が遊んでいてうらやましかった記憶がある。

同じ会社だとは判って無かった。


前2回でそれらの話はしたので、その後の話を…とのことだった。



その後、ピンボールゲームを作ろうとしたことから実機の収集・遊戯にのめり込み、ついには Midway のエンジニアと知り合って、ピンボール台を設計したという。


スターウォーズ EPISODE Iは氏の作品だそうで、その後氏が病気で療養中には、ルーカスが病室に来てくれたという。



最終的には Midway のピンボール撤退で、作成予定だった作品が作れずに終わり、任天堂でまるぼうしかく(これは遊んだけど、非常に面白いゲームだった)などを作って今に至る、と。


元々コンピューターピンボール作ろうとして始めたはずなのに、そちらはいまだに手つかずという。



氏は、ピンボールの仕組みに興味が出てハードウェアも理解し、ソフトウェアは元々理解していて、ゲーム性も理解していた。

アメリカでは分業が進み過ぎて、こういう広い知識を持った人が少ないから、会っていきなり「台を設計してみないか」なんて話になった、と言っていた。


だから、MI68 会場にはハードからソフトまでしゃぶりつくしている人たちが多数いて頼もしい、と。



今のエンジニアはフレームワークに頼りすぎ…

と、前半では危惧していたのに、後半では「Windows プログラムを始めるのには苦手意識が邪魔していたけど、優れたフレームワークを使ったら思ったほど難しくないと気づいて、作れるようになった」とも言っていた。


言わんとしていることはわかるが、最初とギャップがある。


#フレームワークを使うなとは言っておらず、使うにしても何を行っているか深い部分まで理解しろ、ということを言っていたので、氏の中では矛盾はないのだと思われる。




速水さんの講演。


以前見せていただいた 4004 ボードの写真から始まって、イベントに合わせて「X68k までにどんな進化があったのか」という歴史を追うトークショー。


話の上では X68k までなのだけど、CPU としては Core i7 まで含めてました。


4004 の回路配線幅を 1m とすると、Core i7 は 0.2mm しかない、とか、把握しやすいサイズで言われると説得力倍増。


Motrola 6809 と Zilog Z80 は当時のライバルだったわけだけど、富士通は 6809 を選んで、シャープは Z80 を選んだ。


そして、お互い機種を増強していく際にも、時代の流れで同時期に同じようなことをしていく。


…そして、8bit を捨てて上の bit 数に移行するとき、それまで Z80 だったシャープは、6809 の後継である 68000 に、6809 だった富士通は Z80 と同系列である 80386 に、っていうオチ(?)の付け方も面白い。



速水さんは高校の教員をやっていたこともあって、教育を真剣に考えている。

そして、高度になりブラックボックス化したPCより、 MI68 で展示されているような少し古いパソコンの方が、仕組みがわかりやすくて勉強になる、と考えているようです。


もちろん今は古い機種を入手して勉強するのは難しい。

だから、エミュレータでもいいから、あえて古い機械に挑んでみるといいのではないか、と。




前田さんの講演。


ホビーパソコン興亡史、懐かしのパソコンカタログ、先日発売された海外のゲーム機&パソコンガイドブックなんかの執筆裏話。


前2人の講演がすごすぎた、と上がり気味。

でも、いろいろ納得できるお話でした。


実は、僕は前回のオフ会で裏話をずいぶん聞かせていただいたので、知っている話も多かったのだけど、それでも苦労を乗り越えて資料をまとめるのは素晴らしいと思います。


今回発売した本も、この日に購入して、MI68特典である小冊子もらいました。


海外のゲーム機&パソコンガイドブックをまとめる際に収集した資料のうち、広告に限定して集めたもの。

ほんの数ページの本だけど、広告を縮小して印刷しても文字が読めるように、非常に良い紙と、良い印刷を使っている。


無料配布だけど、結構金かかってんじゃないかな。


購入した本誌の方はと言えば、知らないパソコンがこれでもか、と載っています。

名前くらい聞いたことあったけど詳細知らなかった、というようなものも細かく載っているし、資料として一級品。


でも、この本ニッチすぎて売れないだろう、という予想で、パソコンだけじゃ売れないからゲーム機も含めたのだとか。

そういう、搦め手で自分のやりたいことと、商売になることの間を狙っていく姿勢が素晴らしいです。


#僕も、ニッチすぎる内容のページ作っているので、見習わないとなぁ。

 もっとも、商売じゃないからこそ、好きな事だけやっているわけなのだけど。



前田さんも、ホビーパソコンが華やかだった時代の機械は、個性があって学ぶのが楽しかったと言います。

決して古いものではなくて、いまから学ぶ人にも楽しい機会を与えられるのではないかと。




主催者のあるきちさんの講演がある予定だったけど、ベーマガ編集長に時間を譲りました。


ベーマガ編集長、とあえてお呼びします。

今はベーマガ休刊中だけど、復活に向けて動いているそうですから。


「社長に復刊を提言したが、反対はされなかった」のだそうです。



まずは、IchigoJAM を中心に据えたいとのこと。


他にも BASIC 環境はあるのになぜ IchigoJAM かといえば、メモリが小さくて1画面程度のプログラムしか組めないのがちょうどいいから、という言葉には納得。


プチコンとか、すごい作品作れるけど、それはベーマガらしくない。


粗削りだけど面白いゲームが、短いプログラムで示される。

短いから打ち込んで、粗削りだから「もっと改良してみよう」と思える。

それがベーマガだと思います。


IchigoJAM の場合、組み立てから自分でやらないといけないので、電子工作とソフトウェアの両方を楽しめるのも理想的だと言います。



ここでもまた、前の3人と同じで、ハードの深い部分を知るには、今のブラックボックス化された PC より、多少非力なマシンが良いという意見。




4人とも、根っこに同じような意見を持ち、実際の活動はそれぞれのようです。

でも、それでいいと思う。多様性があり、選べるのは良いこと。



PC 上にエミュで古い環境を作るなら、小さな環境を作ってプログラムをするのでも変わらない、とも思います。

つまりそれはフレームワークであって、「良いフレームワークがあればプログラムをはじめやすい」という、古いパソコンとは何の関係もない話にもつながってしまう。


時々書いているように、僕は子供に Scratch やらせてる。

これも、小さなフレームワークだからわかりやすい。そんな窮屈な環境は本物のプログラムじゃない、という人だっているけど、それならエミュ上に作られた窮屈な環境だって同じこと。


選択肢は人の数だけあっていいんです。

特に、初心者のうちから「深い部分」まで理解するなんて、できっこない。


ステップアップする過程で、エミュを使う段階があったり、IchigoJAM を使う段階があったり、4人の方がそれぞれ考えている環境を渡り歩いてみる、というのだって楽しいと思います。


示し合わせたわけではないのに、4人それぞれが同じ方を向き、少しづつ違うことを言っていたので、いろいろ考えさせられました。




そろそろ終了時刻だな、ってところで帰ってしまったのだけど、その後親睦会があったそうです。

残念。居残って参加すればよかった。


まぁ、子供には喜ばれました。

お父さんは今日はお酒飲んできて遅いと思うよ、と妻に言われていたのに、夕食時間に間に合うように帰れたからね。




▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

社会科見学

関連ページ

X68k 復活【日記 15/09/06】

別年同日の日記

02年 5/5

03年 住宅展示場

14年 キッズファンタジーリゾート

19年 パソコン壊れた

23年 X68k実機と格闘中


申し訳ありませんが、現在意見投稿をできない状態にしています

エドウィン・ハーバード・ランド 誕生日(1909)  2015-05-07 12:20:11  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日はエドウィン・ハーバード・ランドの誕生日(1909)。

カメラで有名な、ポラロイドの創立者です。


でも、彼の最初の発明品は、有名なインスタントカメラではない。

「ポラロイド」という名前の薄い板が最初の発明で、大ヒットした際に社名を商品名に合わせたのです(1937)。


ポラ、というとどうもカメラが思い浮かんでしまうのですが、「ポーラー」(Polar)です。

北極や南極も polar なのですが、これは極性の意味。


そして、光の偏光も polar です。



当時、光が波であることはすでに知られていて、この波の方向が偏っている(偏光)ことも知られていました。


偏光している光は、偏光の向きが合った偏光板(偏光子)を通り抜けますが、向きが合っていないと通り抜けられません。

向きは物理的なものなので、偏光板を通して普通に見えていたものが、偏光板を 90度回すと、真っ暗で見えなくなる、ということです。


でも、この「偏光子」が非常に高価なものでした。

偏光子として使える結晶を、大きく育てる必要があったためです。




ランドは、結晶を育てる必要などなく、小さな結晶を上手に方向をそろえてセルロイドで固めてしまえば実用になる、と気づきました。

そうしてできたのが「ポーラーロイド」。偏光子として使えるセルロイド板です。1929年に特許取得しています。



その後、ポラロイド社は「現像処理時間と手間を劇的に短縮したカメラ」でもう一度大ヒットを飛ばすのですが、今回取り上げたいのは、この偏光板のほう。


現代のパソコンには欠かせないものになっています。




まず、偏光の基礎知識。ざっくりとだけね。


偏光のない光を「偏光板」に通すと、偏光します。


偏光板を2枚重ねて見ると、組み合わせを90度回すたびに明るくなったり暗くなったりします。

1枚目の偏光板で、たとえば「縦」だけに偏光した光が、2番目の偏光板が「縦」なら通れるし、「横」なら通れなくなるため。


でも、実はまったく偏光のない光というのは無くて、屈折したり、反射したりすると光は偏光します。


ミツバチは、空の空気の乱反射を偏光で見える目を持っていて、この偏光具合で、太陽が直接見えない場合でも太陽の向きを察知します。


水面を反射した光は偏光しますが、この偏光の光だけをカットするサングラスを作ると、水の表面の光をなくし、水の中が見やすくなります。

釣り人用のサングラスなどに利用されています。


同じように、濡れた路面で光が反射してまぶしいのだけを消すこともできます。

こちらは、トラックやタクシーの運転手などに利用されています。




さて、まずは、パソコンとしてはちょっと古い話。


その昔、MO…光学磁気ディスク、というものがありました。

今も放送業界では使われていたりするそうですが。


この「光学磁気」という言葉が微妙。実は、磁気をもつ物体に反射した光の偏光角度が、磁気極性によって違う、という特性を利用しているのです。


磁性体は、熱くなって「キュリー点」と呼ばれる温度を超えると、磁性を失います。

冷えると、再び磁性を得ます。この際、強い磁場の中で冷えると、周囲の磁場の影響を受けた極性を持ちます。


なので、まず強い磁場(ハードディスクのヘッド程度の磁気ではなく、永久磁石程度)の中で連続してレーザーを当て、キュリー点越えの温度にした後で冷やします。

すると、その時の磁石の向きの極性を持ちます。


つづいて、磁石を逆にして、記録したい情報に従って断続的にレーザーを当てます。

これで、元々あった極性と、新たに書き込んだ逆の極性の組み合わせで、情報が記録できます。




読み取るときは、弱いレーザーを当てます。この際、偏光板を通して、偏光させておきます。


反射した光は、反射面の極性によって偏光の向きがわずかに影響を受けます。

再び偏光板を通すことで、このわずかな影響を、「暗い」「明るい」で検出します。



CD では、反射面に凹凸を付けて、反射率を変えることで、反射光の明暗を作り出して情報を検出します。

CD-R では、反射面に色素を持たせておき、強い光で色素を破壊することで、光の吸収率を変化させ、反射光の明暗を作り出して情報を検出します。


MOは単純に「明暗」ではなく、偏光板を2枚追加することで明暗を作り出します。


この点では、CD と CD-R は同じ読み取り装置で使えるけど、MO の仕組みは読み取り装置も変えないといけない。

でも、読み取り装置に安い偏光板2枚用意しておけば、あとはほぼ同じ仕組み。


MO の方式は、将来的には「書き換え可能な CD」への技術が応用できる…と期待されました。

実際、MD は、情報記録に関しては MO とほぼ同じ技術で作られています。



でも、すでに普及したものに対し、「偏光板2枚の追加」は思った以上に難問だった。

この後出てきた CD-RW や DVD-RW など書き換え可能な光学メディアは、偏光を利用しない別の方法を使っています。


#CD-RW などは、パソコン用メディアとしては失敗した PD と同じ方式です。

 過去の再生機でも再生できる互換性を持つ一方で、書き換え可能回数は MO よりずっと少ないです。




偏光板と言えば3Dメガネ、と思う人もいるでしょう。

映画館のように、スクリーンに投影し、大勢の人が見る場合によく使われます。


2台の投影機で、それぞれ偏光板を通して投影を行います。

観客は偏光板の眼鏡を通してみるのですが、右目と左目で偏光が 90度異なっているため、別々の映像を見ることになります。


この、左右それぞれで違う映像を見ることにより、視差を感じて立体的になるのです。


#偏光が「90度」ではなく、円偏光という別の方法の場合もあります。


この方式の利点は、2台のプロジェクターの画像を1つのスクリーンに投影しても、後でちゃんと分離できることです。

解像度も、コマ数も犠牲になりません。


#たとえば、任天堂 3DS の視差バリア方式では、解像度が犠牲になります。

 昔ファミコンで発売された液晶シャッター方式では、コマ数が犠牲になります。




ただ、この方法は家庭用ではなかなか使えません。

今家庭で普及している液晶テレビでは、偏光の制御ができないためです。


というのも、液晶テレビは最初から偏光していることが前提なのです。


液晶ディスプレイでは、結晶が 90度ねじれた状態になっている「液晶」を使用します。

このねじれに従って、透過する光も 90度曲がります。


この液晶を、90度回転させた2枚の偏光板で挟んでやります。

90度回転した偏光板では普通は光を通しませんが、液晶が光の偏光を 90度曲げるため、光を通すことになります。


ところが、です。

液晶は電圧をかけると配列が変わる特性があります。

電圧をかけた時は、光を素通しするようになります。すると、90度回転した偏光板を光がそのままとおろうとする形になり、光はとおりません。


これにより、白と黒を表現できます。

白と黒が表現できれば、色のフィルタを用意することで三原色を表現できます。


電圧によって、すべての分子が一斉に配列を変えるのではなく、一定の範囲でばらつくように出来れば階調表現もできます。


これが液晶テレビ、液晶モニタ、スマホの画面など、様々な場所で使われている液晶ディスプレイの原理です。


ディスプレイから光が出た時点で、偏光しています。

先に書いた偏光板方式の3Dとは、相性が悪いのはそのため。




偏光板はいろいろなところで使われているわけですが、最後にもう一つだけ、あまりお目にかからない例を。


今は閉館していますが、千葉に麻雀博物館というところがあります。

僕は麻雀全然やらないのだけど(ルールくらいは知ってる)、テレビゲームに限らず「ゲーム」が好きなので、見に行ったことがあります。


そこに、イカサマ牌が展示してあったのね。


裏面が、金粉散らしたような豪華なラメ模様になっている。

ラメの上には透明樹脂が盛られているのだけど、実はこの中に偏光板が置かれています。


偏光板は牌の表の文字と同じ形が刻まれています。

色が変わって見えないように、90度ずらした別の偏光板を組み合わせ、完全に1枚の板にしてあります。


とはいえ、そのままでは切込み部分は少し見える。これを、背景をラメにすることで見えなくしているのです。


ラメにはもう一つの役割があって、偏光板を通して入ってくる光を乱反射させています。

これによって、偏光を打ち消している。そして再び、偏光板を通して出てきます。

つまり、周囲の人の目には、「文字の形」になった偏光が届いている。


ここまでくれば、お膳立ては整っています。

あとはイカサマをしたい人が、偏光板で出来た眼鏡をかけるだけ。


昔、業務用麻雀ゲームのアイテムとして「透視メガネ」というのがありました。

相手の牌が透けて、表に刻まれた文字が見える、というもの。


それの実物です。実在したのです。



ただ、これは偏光メガネが珍しかった時代だから使えたのだろうとも思います。

いまだと、普通に偏光メガネ使われていたりするからね。


先に書いたように、釣り人用・運転手用の眼鏡とか、普通に出回っているから、万が一にばれることを考えると怖くて使えないでしょう。






▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

歯車

今日は何の日

関連ページ

エドウィン・ハーバード・ランド 命日(1991)【日記 17/03/01】

別年同日の日記

12年 G.W.直前からの記録

12年 長女と次女の誕生日

12年 スマホ購入

12年 イトーヨーカドーでのイベント

12年 山登り

13年 サーカス

14年 社長の一番大切な業務

18年 G.W.中のできごと

18年 評議員

18年 バーベキュー

20年 GW中のできごと

23年 X68kサルベージ


申し訳ありませんが、現在意見投稿をできない状態にしています

コンピューターが、チェスの世界チャンピオンに勝った日(1997)  2015-05-11 11:26:33  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ディープ・ブルーがカスパロフを破った日(1997)。


ガルリ・カスパロフはチェスの元世界チャンピオンです。

その世界チャンピオンが、IBM が作成したチェス専用コンピューター、ディープブルーに敗北したのです。


これは非常にセンセーショナルな出来事でした。




チェスは、西洋では知力を測る物差しのひとつだと考えられてきました。


チェスでの勝敗は、そのまま頭の良さの優劣と捉えられるのです。

もちろん、ゲームですから「時の運」もあり、正しく勝敗を決するには、何度かの勝負を行います。


今でも、チェスは頭脳のスポーツだと言われます。



冷戦下の米ソ間では、どちらがチェスの世界チャンピオンを輩出できるかで争った時代もありました。

もっとも、これはソ連側が一方的に仕掛けた戦いで、アメリカは相手にしていなかった。

当然、ソビエト人が世界チャンピオンの時代が長く続きます。


アメリカ人ボビー・フィッシャーが「チェスの天才」だと言われ始めた時から、ホワイトハウスもこの競争に乗り出し、チェスは国家の威信をかけた代理戦争となります。


たかがゲーム、ではなく、チェスが国を動かした時代もあるのです。




ケンペレンが「チェスを指す人形」を作った時も、機械がチェスを指すというので大評判となったのです。


後にバベジも、実際にチェスを指す機械を構想しています。

これは、構想だけで複雑さに気付き、製作には至りませんでした。


チューリングも、チェスを指すプログラムを構想しています。

こちらも、アルゴリズムを考察しただけで、当時のコンピューターでは実現できませんでした。


コンピューターが作られ、進化し、ただの「計算機」ではなくなって、やっと最初の「人工知能」研究が始まります。

その題材の一つは、やはりチェスでした。


「人工知能」という言葉を作ったのも、その一環としてチェスを研究したのも、ジョン・マッカーシーです。


彼は教え子たちにチェスのプログラムの作成を示唆しますが、1960年ごろのコンピューターでは、まだ難しすぎました。

完成はさらにコンピューターが改良されてからになります。




カスパロフはソ連生まれで、22歳の時、史上最年少でチェスの世界チャンピオンになります(1985)。

そのあと、15年間チャンピオンの座を維持し続けます。


チェスをコンピューターに教える研究はソ連でも行われており…それどころか、アメリカよりもソ連の方が進んでいました。


カスパロフのチェスの師匠、ミハイル・ボトヴィニクはソ連におけるチェス研究の第1人者で、そのためにカスパロフもコンピューターチェスの研究を推進する立場でした。


1988年、アメリカのカーネギー・メロン大学で、カスパロフに勝利することを目的としたチェスプログラムが作られます。

それが、「ディープ・ソート」でした。


#名前は、不条理SFの金字塔である「銀河ヒッチハイクガイド」に出てくるスーパーコンピューターの名前に由来。


1990年、ディープ・ソートとカスパロフが初対戦します。

コンピューターチェスに理解があるカスパロフが世界チャンピオンだったからこそ実現できた、夢の一戦と言って良いでしょう。


でも、ディープ・ソートは大敗を喫します。




ところで、「ディープ・ソート」の名前の由来となった「銀河ヒッチハイクガイド」では、ディープ・ソートは自分を超えるコンピューターを自ら設計し、建造します。


そのコンピューターの名前は、ディープ・ブルー。



チェス・コンピューターのディープ・ソートは、その後関係者が IBM に迎え入れられ、IBM のプロジェクトに変わります。

IBM の企業イメージカラーは青。そして、プロジェクトが作る、チェス専用コンピューターの名前は「ディープ・ブルー」となります。



ディープ・ブルーは、1996年にカスパロフと対戦。この時は、6戦してカスパロフが3勝1敗2引き分けで勝利しています。


そして、翌 1997 年5月、再戦。6戦して勝ち越したほうが勝者、という勝負で、最後の対戦が11日でした。


それまでの戦績は、1勝1敗3引き分け。最終日を制した方が勝者です。




カスパロフは、チェスのプログラムの弱点を「創造性のなさ」であると見抜いていました。

長年コンピューターチェスと向き合ってきたうえでの結論です。


コンピューターは高速化し、人間よりも正確に先を読むようになりました。

しかし、「先」を読んだとしても、そこにまちうけているものの「意味」を読み取るのは、コンピューターは苦手です。


たとえば、ある手を打てば確実に相手のコマを取ることができ、自分は何の損もない。

この手は是非打つべきでしょう。


別の手を打つと、確実に自分のコマを失い、相手のコマを取ることはできない。

この手は避けるべきです。


でも、しばらく先を読んでも、そのどちらでもないことは往々にしてあり得ます。

そんな時、どのような局面に持っていくのが有利で、どのような局面が不利なのか。


これは、コンピューターの苦手とする形勢判断です。

一応、コマの位置関係などを元に点数を付けてあり、コンピューターは自分が有利になると思うように、「点数を取りに行く」ように動きます。



でも、チェスは非常に複雑なゲームで、簡単に点数化できるものではありません。

ここに、コンピューターの弱さがあります。


人間であれば、一見自分が不利に見える状況を罠として用意し、罠にかかったら一気に逆転させる、というような、点数だけでは解決しない戦略も準備できます。




ところが、1997年の対戦の早いうちに、ディープ・ブルーはそうした手を打ってきていました。


自らのコマを一つ犠牲にし、その後に続く自分の戦略をカムフラージュして、相手をミスリードさせる…

後から振り返った時、非常に洗練された手で、多くの専門家がコンピューターの繰り出した手とは思えない、と口をそろえていました。



これ、15年たってやっと技術者が明らかにしたところによれば、「バグだった」そうです。


パラメーターの調整に矛盾があり、どうして良いかわからなくなった時に、停止してしまうと「試合放棄」なので、とりあえずランダムに打てる手を打つようにしてあったそうです。


もちろん、そんな状況にならない方がいい。でも、この時はパラメーターに問題があり、その状態になってしまった。だから「バグ」です。

ランダムなのでおかしな打ち筋です。しかし、それが「後の手を隠すようにカムフラージュした」ように見えたわけです。


コンピューターに創造性はないはず。

そう確信するカスパロフは、もしかしたらディープ・ブルーは自分の知りえない、とんでもないコンピューターかもしれないと、心のどこかで思い始めていました。




そして、運命の6戦目。


カスパロフは、前日までの5回の対戦で、コンピューターの癖…どのような局面に、どのような点数付けが行われているかを大体読み切っていました。

先に上げた「洗練された1手」のようなものもありましたが、それ以外はやはりコンピューターらしい打ち筋です。


そこで、最終日は、罠を仕掛けます。コンピューターに明らかな「点数」をちらつかして、罠を仕掛けようというのです。

コンピューターには創造性はありません。美味すぎる話に「罠だ」と気づくこともなく、引っかかってくれるでしょう。



ところが、コンピューターがここで予想外の動きを見せます。

前日までの勝負で読み切ったと思っていた「点数付け」なら、当然動くであろう動きを見せないのです。


コンピューターはカスパロフの全く予想していなかった打ち筋で攻めてきました。


コンピューターに創造性は無いはず。なのに、なぜそれまでとは明らかに違う手を打ってきたのか?


カスパロフの心によぎった結論はただ一つ。

ついに、コンピューターは創造性を身に付けたのです。


普段は「コンピューターらしい」打ち筋でも、ここ1番という時にはとんでもない手を繰り出してくる!




実は、1997年の対戦では、ディープ・ブルーは、1戦終わるごとにパラメータを「微調整」されていました。

対戦後、戦いを振り返って悪かった手筋を見つけだし、その手筋に至った原因である「戦局の点数付け」パラメータを調整します。


コンピューターに創造性はありませんが、プログラマーには創造性があり、反省して修正することができたのです。


カスパロフは、コンピューターチェスのパラメータが、非常に微妙なバランスの上に成り立っていて、調整に長い時間が必要だと知っていました。

そして、それが故に「対戦期間の間、打ち筋が変わることは無い」と考えていました。


しかし、ディープ・ブルーは IBM が威信をかけて行っているプロジェクトでした。

調整したパラメータが適切かどうか、内部で自分同士で対戦を行うことで検証できましたし、チェスの専門家も同行していて、パラメータにどのような問題があるかを指摘することも出来ました。


このため、毎日パラメータを変更することが可能になっていたのです。


「洗練された1手」はバグでしたが、打ち筋が変わったのは、1晩でパラメータ変更を行えるチームワークがあったのです。




コンピューターが創造性を身に付け始めている!

これは、カスパロフにとって…コンピューターを良く知っているからこそ、驚愕の事実でした。


この事にカスパロフは恐れ、思考がまとまらなくなります。

そして、十分勝てる勝負を途中で打ち切り、敗北を宣言してしまうのです。


1997年 5月11日のことでした。


これにより、ディープ・ブルーの2勝1敗3引き分けとなり、ディープ・ブルーが「史上初めて、チェスチャンピオンに勝利したコンピューター」となります。




カスパロフは、後で「パラメーター調整が行われていた」事実を知り、再戦を申し込みます。

しかし、IBM はディープ・ブループロジェクトを解散。再戦は適いません。


IBM にとっては、これは「IBM コンピューターの優秀性」を示すデモンストレーションであり、目的を達成したらそれ以上お金をつぎ込む意味はなかったのです。



恐らく、もう1回戦っていたら、カスパロフが勝っていたでしょう。

心理的な混乱がなければ、十分勝てた勝負だったのですから、「種明かし」があれば負けなかったと思います。


しかし、歴史に「もしも」はありません。

すでに、コンピューターチェスの世界では、すでにコンピューターが人間を上回ったことになっています。


そして、より難しいゲームである、将棋や囲碁にターゲットが移っています。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

フェスタと祭り【日記 16/05/16】

セガ・サターン復活【日記 16/11/27】

運動会【日記 18/09/24】

別年同日の日記

03年 リロ&スティッチ

13年 新玉ねぎ

14年 エドガー・ダイクストラの誕生日(1930)


申し訳ありませんが、現在意見投稿をできない状態にしています

世界初の「プログラム可能な機械」発表(1941)  2015-05-12 10:26:00  コンピュータ 歯車 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ツーゼが Z3 を発表した日(1941)。


コンラッド・ツーゼは(Zuse)はドイツの工学者。

建築と土木を学び、航空機の設計技師をやっていました。


ところが、この仕事ひたすら計算に次ぐ計算。

彼はこれが嫌になって、「自動的に計算を行う機械」の開発を始めます。


1号機である Z1 は 1938年完成。

歯車ではなく、カチャカチャと動く「機械式の」2進数計算機でした。

金属製の薄い板で計算します。)


しかし、これは上手く動きません。


2号機である Z2 は、 軍の協力もあって 1939年に完成。

機械式ではなく、リレー回路を使った電気式に置き変えていますが、基本的に仕組みは Z1 と同じ。


2号機がうまく動いたため、商売化するために自分の会社を設立し、3号機 Z3 を作りはじめます。

Z2 と同じ方法で、もっと汎用性を高めた改良機でした。


これが完成し、発表されたのが、1941年の 5月12日。

ENIAC の5年前のことです。




Z3 は、パンチテープによって計算の手順を指示できました。

「プログラム可能」なのです。


ENIAC は、電気回路を繋げることでプログラムできましたが、いわゆる「ソフトウェア」のような柔軟なものではありませんでした。



じゃぁ、Z3 が柔軟だったのかと言えば…全然柔軟ではありません。

使える命令は、次の9種類。


・キーボードを読み取る

・結果を印字する


・メモリを読み取る

・メモリに書き込む


・足し算

・引き算

・掛け算

・割り算

・平方根


たったのこれだけ。

ちなみに、メモリアドレスは 6bit 。64個の「一時データ置場」を持っているだけです。


#データは特殊な浮動小数点表現で、符号 1ビット、指数部 7ビット、仮数部14ビットの 22ビットでした。



プログラムはパンチテープで指示されるので、ジャンプ命令はありません。

条件分岐は当然できませんし、そもそも「条件判断」自体がありません。


コンピューターとしては、Simon みたいな構成です。

Simon の方がずっと後ですが。




ただ、Simon よりは記憶容量も大きいし、掛け算や割り算があるだけずっと良いです。


#Simon は 5bit 整数の 足し算と引き算しかできなかった。


これを巧妙に使えば、現代でいうようなプログラム…ジャンプや条件分岐が必要なアルゴリズムも実行できる、と示した人がいます。



その前に、BASIC 時代に「論理演算」と呼ばれるテクニックがあったのをご存知でしょうか?


たとえば、


10 S=STICK(0);

20 IF S=1 THEN X=X+1

30 IF S=2 THEN X=X-1


というプログラムがあったとしましょう。


ジョイスティックからデータを読み込み、変数 X を増減しているのね。

IF 文で条件判断する、という非常に普通のプログラム。


これを論理演算で書くと、こうなります。


10 S=STICK(0)

20 X=X-(S=1)+(S=2)


行の最初の = は、代入式となります。変数 X に、右辺の値を入れる、という指示。


以降の = は、 IF 文の中と同じ、条件式です。

ところで、BASIC では、条件が真なら -1 、偽なら 0 となります。


#BASIC のメーカーによっては、真が 1 でした。


そのつもりで読むと、IF 文で書いたのと同じプログラムが、IF 文無しで書けているのがわかります。



Z3 で条件分岐を使うのは、これに類似のテクニックです。

メモリ上に、条件判断に使いたい値を巧妙に記録しておきます。


この際、その値は 0 か 1 になるように正規化しておきます。



あとは、条件分岐で飛ばしてしまいたかったプログラムの「結果」と、この数値を掛け合わせます。

0 なら結果は「無かったこと」になりますし、1 ならそのままです。


プログラムをジャンプで飛ばしたわけではないけど、実行後に「無かったことに」するのです。




これだと条件判断できるだけで、「ループ」はまだ作れません。


でも、ループはもっと簡単。

パンチテープにプログラムが書かれているのだから、物理的にテープを糊付けして、頭とお尻をくっつければいい。


これで、永久ループの完成です。

…永久ループだから、プログラムが終了しませんね。



Simon と似ていると書きましたが、Simon を与えられたサザーランド兄弟は、Simon に「条件停止」機能を追加しました。

これにより、Simon では不可能だった「割り算」がプログラムできるようになりました。


プログラムでは、条件が整うまで繰り返す、ということがよくあります。

「条件が整った」時に停止するのは、プログラムに必要な機能なのです。



Z3 には、実は「条件停止」が最初から備わっていました。

割り算命令で、0 による除算を行うと、エラーとなって機械が停止します。


先に書いたように、メモリに巧妙に値を置くことで条件分岐とほぼ同じ結果を得られました。

同じように、値が 0 になったら停止する、というプログラムを作れることになります。



さて、これで Z3 が「現代のコンピューターと同じようにプログラムができた」ことを示すことができました。

素晴らしい!




もちろん、これは詭弁だと思います。

僕としては、これを現代的な意味での「コンピューター」だとは認めません。


しかし、2進法の採用やプログラム能力など、これをもって「Z3 は ENIAC よりも先に作られた、ENIAC よりも近代的なコンピューターだった」という主張をする人は、事実としているのね。



というわけで、簡単な反証を。

1942年の ABC マシンは、完成しませんでしたしプログラムできませんでしたが、2進数を使用していました。


1943年に作られたコロッサスは、長年軍事機密のために存在が隠されていましたが、ある程度のプログラム機能があったことがわかっています。

2進数を使う真空管式の計算機でした。


1944年には、Harvard mark I というリレー式計算機が作られています。

これは Z3 と似たような構成で、紙テープでプログラム可能でした。



Z3 をコンピューターと認めるのであれば、これらも ENIAC 以前の、ENIAC よりも近代的なコンピューターとして認めなくてはなりません。


でも、そんなことを言いだす人はいないのね。

明らかに能力不足だからです。




Z3 は、コンピューターの発展に大きく影響する、イギリス・アメリカ以外の国で作られたコンピューターです。


だからこそ、ツーゼはほぼ独学で Z3 を作り上げていますし、Z3 の存在は現代のコンピューターに、ほぼ何の影響も与えていません。


ここら辺の話が…独学で優れたものを作りながら、誰にも認められていないというのが、人情話として面白いのは事実なのね。


しかも、Z3 は戦火の中で破壊されています。

「可哀想な話」をさらに加速するエピソード。



これらが、Z3 を特別扱いさせ、「世界初のコンピューターだった」という伝説を生んでいるように思います。




じゃぁ、Z3 はどうでもいい機械だったかと言えば、もちろんそんなことはありません。


非常に限られた能力だったとはいえ、プログラム可能な機械として完成した、世界最初のものです。


#構想だけなら「解析機関」以降、数多くありました。



先に書いたように、Z3 は第2次世界大戦中に破壊されてしまいますが、ツーゼは続いて Z4 を作成。

これは市販され、ヨーロッパでは影響を持つマシンとなりました。


ただ、「市販されたコンピューター」としては、BINAC に次いで2番目。

また、Z4 は相変わらずリレー式だったため、ENIAC 以降としてはインパクトも弱い。


ここら辺で、Z4 は Z3 ほど「面白いエピソード」が無い。

これも、Z3 が本来の能力以上に伝説的にされる要因かと思います。



戦後は、コンピューターはアメリカとイギリスが競争するように発展していきました。

Z4 以降もツーゼはコンピューターや周辺機器を作り続けているのですが、「時代に影響を与えたか」と言えば、あまり影響はなかったように思います。


Z3 は 1941 年完成で、ドイツとアメリカ・イギリスは敵国同士です。

これも、影響が少ない理由でしょう。


#噂程度の影響は与えたかも知れません。



参考:Simulating Konrad Zuse's Computers


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

歯車

今日は何の日

関連ページ

訂正・NOP命令の誕生

別年同日の日記

08年 学習リモコン

14年 アメリカザリガニが日本に輸入された日(1927)

16年 NORAD 設立日(1958)

16年 キーボード


申し訳ありませんが、現在意見投稿をできない状態にしています

ジョージ・ルーカス 誕生日(1944)  2015-05-14 11:51:59  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は、ジョージ・ルーカスの誕生日(1944)。


超有名映画監督ですね。スターウォーズが代表作。

スピルバーグ(激突!、ジョーズで注目され、未知との遭遇、ジュラシック・パークなどのヒットがある)ともよく混同されるけど、インディー・ジョーンズなんかは二人とも仲良くかかわってる。


お互い混同されないようにしよう、と一緒にインタビューされたときにわざと同じような格好をして言うのもネタのうち。




さて、僕のページで取り上げるのだから、映画監督としてではなく、コンピューター関連の人として紹介します。

ルーカスはテレビゲームも大好きで、ルーカスフィルム・ゲームズというゲーム作成会社を持っていたのね。


#後に複雑な経緯を辿って「ルーカスアーツ」になり、現在ディズニー・インタラクティブに吸収合併。


アメリカでは、たくさんのゲームを出していて、大ヒット作もある。

でも、残念ながら日本人好みする作品は少なくて、国内ではそれほど発売されていなかった。


このルーカス・フィルム・ゲームズ、1982年の5月に設立されていますが、日付が残念ながら不明。

「今日は何の日」で扱えないので、日付も近いルーカスの誕生日に書かせてもらう次第です。



以下は、僕が覚えている物のみ紹介します。



ボール・ブレイザー


ファミコン版が出ていて、結構好きでした。

今見ると、移植元に比べて動き悪いね。


これ、意味わからん、クソゲー、っていう人と、面白かったという人で意見が分かれる。


ゲーム内容は、サッカーに似た球技です。

ただ、近未来だという設定になっていて、乗り物に乗って1対1で戦う。


乗り物は高速で動くので、サッカーなのに1対1でもなんとかなる。

ゲーム画面も、当時としては非常に珍しかった、3Dの上下分割。


…この時点で、理解できない人には付いてこれない。

「珍しい3D」なのに、「高速で動く」のですから。


しかも、この視点で球技って、今でもあまり見ない。



3Dだけど、上ボタンを押していれば「目的地に向かう」ようになっています。

ボールを持っていなければボールに近づき、ボールを持っていればゴールラインに向かう。

方向転換は自動。


左右で横にスライド移動できるけど、ボールにより早く近づいたり、相手にフェイントかけるのに有効。


バスケットボールみたいに、ゴールにシュートした位置で得点が変わります。

遠くからシュートすると3点だけど、ゴールは常に動いているので、外れることも多くなる。



基本的に、友達と対戦するためのゲームです。

友達相手だと、フェイントかけたり、心理戦が重要になってくる。


上押していれば目的地に突進するゲームなので、フェイントも利かないコンピューター相手にやっていても面白くない。




マニアック・マンション


アドベンチャーゲームです。

こちらもファミコンに移植されていました。

安くなっていたのを買ったのだけど…難しすぎて解けなかった。


ルーカスフィルムは本来映画会社ですから、映画的な演出を狙った内容でも、アメリカでは大ヒット。

後に続編も作られていますし、今でもこのゲームが好きだ、というファンが多数いるようです。


アドベンチャーゲームと言えば、絵が表示されてコマンドをキーボードから入力して…という時代に、このゲームではカーソルを使って、コマンドと「場所」を指定する方式です。


指定されると、実際に画面上をキャラクターが動いて、指示されたことをやろうとします。

ここら辺の演出が「映画風」だったわけです。


#細かな見た目の問題だけでなく、ストーリーの作り方なども映画風だったわけですが。



使用できるキャラクターがやたらと多く、その中の2人を選んでゲームを開始するのですが、それぞれ得意なことなどが設定されていて、出来ることが違う。

それでも、できることを組み合わせてキャラに合わせた展開で先に進まないといけないようになっていて、どのキャラでもちゃんとゲームを終えられるようになっている…らしいです。

(僕は最後まで行けなかったから、詳しくは知らない)



レスキュー・オン・フラクタラス


これは多分国内移植されてないよね?

僕も遊んだことありませんが、かなり話題になって、当時いくつかのテレビ番組やゲーム雑誌で紹介されていました。


「フラクタラス」という惑星に残された友軍兵士を助け出すために、敵の攻撃をかいくぐりながら惑星に降下しなくてはならない…という内容。


基本的には、コックピット視線の3Dフライト・シューティングです。

レーダーに友軍兵士の位置が映るので、その近くに着陸すれば、兵士はこちらに向かってくる。


…ただし、異星人が偽装している場合もあります。

敵だとわかったら射殺。味方と確認すればエアロックオープン。緊張感があります。


移動中も、敵兵から撃たれるのをかわしながらこちらからも攻撃したり、割と忙しい。

惑星全体が山岳地域となっていて、飛んでいても山を避けないとならないし、敵も周囲のどこに潜んでいるかわからない。



このゲームがすごいのは、惑星上空を自由に飛び回れることです。

自由に飛んで、地形はどこまでも続いているし、近づいてもそれらしい山の稜線が設定されている。


この地形を、当時の 64Kbyte しかメモリ空間のない 8bit 機で表現しているわけです。


実のところ、地形はランダムだったようです。

フラクタル理論を応用して山を作ってあり、近づいて詳細が見えてくると、リアルタイムに詳細部分を生成する。

フラクタルだからこそ、できる芸当。



ハビタット


オンライン上の架空の街で架空の生活を楽しむゲームです。…ゲーム?

ハビタットは壮大な実験で、これがゲームだったかどうかすらわかりません。


見た目の上では、マニアックマンションとシステムが似ています。

何をするか指示をすれば、キャラクターが動き回る。


ただ、アドベンチャーゲームのような既存のシナリオは無く、同時に複数のプレイヤーが同じ世界を遊んでいます。



プレイヤー同士は会話も可能です。

持ち物を交換することも出来るので、お金を渡して品物を受け取ることも可能。


武器もありましたので、殺人も可能。

殺された人は自分の家から再スタートしますが、持ち物は殺された現場に残ります。


自分の家を持つことも出来ました。

ハビタット内での殺人が横行した時は、現実世界での神父さんが教会を建て、「武器を捨て、穏やかに生きる」信者が沢山集まったそうです。



今ではこういうシステムも珍しくありませんが、おそらくは、その最初のシステム。

ただ、当時はインターネットは普及しておらず、電話回線で遊びました。

電話代もかかるし、それとは別にハビタット自体が時間課金。


ゲームの世界に入り浸ってものすごいお金をつぎ込んでしまう人など、現在の問題も先取りして、たった2年間の実験を終了します。


一番の問題は、自由すぎてこの世界で暮らすユーザーの「常識」が成立しなかったこと。

たかがゲームだ、と考えるユーザーは殺人を楽しむし、架空とはいえ生活だと考えるユーザーには、これが我慢ならない。

アンケートを取っても五分五分で意見が真っ二つだったそうです。


その後、富士通がこのシステムを買い取って日本版なども提供しましたが、自由すぎるがゆえの問題と、お金がかかりすぎる問題はそのまま、こちらも短期間で終了。




以上、他にもいっぱいゲーム出してました。

富士通の FM-Towns は海外ゲームの移植が多くて、移植されたものもあったはず。


「アイドロン」は、レスキュー・オン・フラクタラスのシステムを、洞窟探検のファンタジーアドベンチャーに応用したもの。


「マニアックマンション」以降のアドベンチャーゲームシリーズは定評が高く、長く続きました。

モンキーアイランドはメガドライブ(メガCD)でも日本語版出てました。



最初に書いた通り、現在はディズニーに吸収合併されています。

既にディズニーからスターウォーズのゲームなどが発売されていますが、過去のシリーズの続編が出るかなどは不明。


#親会社であるルーカスフィルム自体が合併され、映画スターウォーズの新作などはディズニーが作成予定。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

マーシャル・カーク・マキュージック 誕生日(1954)【日記 16/01/19】

マーシャル・カーク・マキュージック 誕生日(1954)【日記 16/01/19】

ルーカスの作ったもう一つの会社【日記 15/05/14】

別年同日の日記

02年 5/13

04年 ピクミン・訂正

07年 保育園の遠足

13年 ケミクエ改良ルール・策定中

19年 パソコンは買ったのだが…

21年 訃報


申し訳ありませんが、現在意見投稿をできない状態にしています

ルーカスの作ったもう一つの会社  2015-05-14 11:56:59  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

ルーカス絡みで、思い出したのでもう一つ話題を書いておきましょう。

こちらは、記憶のみで資料が無い。昔、雑誌の「ログイン」に載っていた記事の記憶なのだけど。



ルーカスは、スターウォーズの第1作目(エピソード4)を撮影したときに、ものすごい手間をかけて画像合成を行い、宇宙空間を表現しました。


こうした「特殊効果」を行うための会社まで設立します。それが、インダストリアル・ライト・アンド・マジック。(ILM: 光と魔法の工房、という意味)


さて、この ILM が、コンピューターを使った画像合成を行おうと考えました。

たしか、エピソード6で使われたのではなかったかな。


エピソード6の公開年は 1983年。

同年発売の PC-8801 を例にとると、パソコンでは 640x200ドット、8色程度がせいぜいの時代です。


この時代に、映画館で見ても違和感ないほどのドット数(横2千ドットくらい?)で、色数も24bit カラーの機械を作ってしまったのです。


この機械、当時としては「コンピューター」としてログインに紹介されていました。

ただ、演算能力は無くて、画面表示ができただけだそうです。


つまり、いまでいえば「グラフィックボード」に近いものですね。

当時の技術では、ボード1枚になんて収まらず、パソコンですらなく、ミニコンピューターレベルのサイズなのですが。


どうやら、この機械を別のコンピューターに接続し、画像合成などを行ったらしいのです。

今で言えば Photoshop みたいなものなんでしょう。明らかに時代の先取りでした。



コンピューターの画面表示で、最小単位の1ドットのことを「画素」と呼びます。

英語では Pixel 。Picture と、 Cell (小さく区切られたもの)から作られた造語です。


そして、とんでもないほど高精細な Pixel を表示できるこの機械、名前を Pixer 1 と言いました。


「画素化1号」とでも訳せば良いでしょうか。




ILM は、わざわざルーカスフィルムとは別会社として作られ、ルーカス以外にもいろいろな会社の「画像処理」作業を行っていました。

当然、このグラフィックコンピューターもそうした作業に使われたと思われます。


当時としては、先進的過ぎる、魔法のような機械だったと思います。


後に、どうやら Pixer 2 が作られたようです。

(もしかしたら、P-II が正式名かもしれません。ネット上に P-II という記述があったので)


ILM からさらに Pixer Image Computer という会社が設立され、Pixer 2 を量産販売し始めます。

主な顧客は、政府機関や医療関連、映画会社など。ディズニーも顧客だったようです。



…ところが、この戦略が失敗。

このコンピューターは先進的過ぎましたし、他の機械から操作する「出力機械」でしかありません。


全体をそろえようとすると、あまりにも高価だったうえ、それを適切に扱うソフトウェアもなかったのです。



ここで、Pixer 社はルーカスフィルムのグループから離脱することになります。

お金を出して買い取ったのは、当時 NeXT 社のスティーブ・ジョブズ。


コンピューターの販売は辞め、名前をピクサー・アニメーションスタジオに変更して、アニメを作りはじめます。


最初は、非常に簡単なアニメから。

それでも、「全編をコンピューターで作ったショートムービー」は非常に新しいものでした。


やがてレイトレーシングを使い、人間を登場させ…表現力を高めていき、長編アニメ「トイストーリー」で、商業的にも成功をおさめます。

あとは、多くの人が知っている通り。



ピクサーは、ルーカスのグループ企業から始まりましたが、一足先にディズニーの傘下に入っています。

その後、ルーカスフィルムもディズニー傘下に入ったのは、先に書いた通りです。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

関連ページ

マーシャル・カーク・マキュージック 誕生日(1954)【日記 16/01/19】

マーシャル・カーク・マキュージック 誕生日(1954)【日記 16/01/19】

ルーカスの作ったもう一つの会社【日記 15/05/14】

別年同日の日記

02年 5/13

04年 ピクミン・訂正

07年 保育園の遠足

13年 ケミクエ改良ルール・策定中

19年 パソコンは買ったのだが…

21年 訃報


申し訳ありませんが、現在意見投稿をできない状態にしています

68000はグラフィックに強かったのか  2015-05-21 12:24:44  コンピュータ

▲目次へ ⇒この記事のURL

X68kのページに、当時 CPU 68000はグラフィックに強いとされていた、と言うようなことをちらっと書いていたのだけど、理由が知りたい、という人がいた。


このページ、20年近く前に書いたものなので、当時は当たり前だったことが全く書かれていない。

今となってはわかりにくいのは事実で、補足しようと思った。


でも、いろいろと調査すると、どうも 68000だからグラフィックに強い、ということもなさそうな印象も受ける。


結論としては「当時は雰囲気的にそういわれていた」程度になってしまうのだけど、一応の説明をしておこうと思う。



▼前提条件


前提として、X68k の開発が開始されたころは、当時はインテルは 80286 を発売していて、80386 はまだ出ていないと思われる。

(X68k 発売時には出ているのだけど、おそらく設計時点では存在しない)


68020 は設計時に出ていたかどうか微妙。

もし出ていても、68020 は 32bit 設計で、まだ 8bit 機も販売されていた時代にいきなり 32bit 機を作ることはできなかったと思う。


他の CPU もあっただろうけど、メジャーどころは 68000 か 80286 か、ということになる。



▼VRAMの構造


わかりやすいところで、IBM PC/AT で採用された VGA のメモリ構造を解説しよう。

当時の、一般的な VRAM (画像表示用 RAM)の構造だと思う。


VGA では、640x480 ドットで 16色を扱えた。

1ドットは 4bit ということになる。すると、150Kbyteのメモリが必要だ。


VGA では、横8ドットを 1byte で表現していた。

これは、VGA の前身となる CGA (IBM PC で使われた規格)で使われた方式と、ある程度互換性を持たせるためだ。


8ドットを 1byte で表すと、点の有無しか表現できない。白黒だ。

そこで、この白黒画面を4枚用意して、それぞれが「色フィルタ」だと考えて重ね合わせる。


赤・青・緑・そして明るさ。この4枚を重ねれば、16色を表現できる。


この場合、1画面は 37.5Kbyte となる。



VGA には、もう一つの画面モードがあった。こちらは、1ドットを1バイトで表現するため、256色が出せる。

ただし、画面解像度は 320x200 になってしまう。全部で 64000 ドット。64Kbyte 弱のメモリが必要となる。



16色モードのように、白黒画面(プレーン)を重ねる方式を「プレーナ方式」と呼ぶ。

1バイトが横方向に並ぶから、水平型 VRAM、という言い方もある。


256色モードのように、1ドットを必要なビット数で表現する方式を「パックドピクセル方式」と呼ぶ。

複数ビットが1ドットに(奥行きとして)並ぶから、垂直型 VRAM 、という言い方もある。



X68k では、テキスト画面として水平型を、グラフィック画面として垂直型を使っていた。




さて、グラフィックを扱うのにどちらがやりやすいかと言えば、パックドピクセル方式の方だった。

プレーナ方式は、省メモリというメリットはあるのだけど、グラフィックを扱う際には面倒なのだ。


省メモリ? どういう構造で持とうが、メモリの量は同じでしょ? と思ったあなたは鋭い。


実は、プレーナ方式は 8bit 機で主に使われていたやり方だ。

PC-8801 の場合、640x200 8色のグラフィックが扱えたが、計算するとこれだけで 48Kbyte のメモリが必要となってしまう。


8bit 機では、メモリは全部で 64Kbyte しか扱えない。その 3/4 をグラフィックだけに取られるのだ。


そこで、プレーナ方式が活用される。

メモリ上は、16Kbyte の「白黒画面」しか CPU から見えない。

ただし、この白黒画面を、CPU から制御できるスイッチによって切り替えて、3画面持つのだ。


(画面のメモリは当然 48Kbyte 持っているが、CPU からは 16Kbyte 分しか見えないことになる)



切り替えればよい、という点では、別にパックドピクセルでメモリを途中で切り替えたって構わない。

ただ、その場合は画面の途中で不連続な場所が現れることになる。線を一本引くだけで、途中で切り替えるタイミングなどを考慮せねばならず、プログラムは面倒になる。


それよりは、色ごとに画面がわかれていたほうが、「まだまし」なのだ。

ベストではないけど、限界を考えればベターな方法だった。


2015.5.29 追記

当初、FM-77AV の VRAM 構造はどうだったのだろう、と書いておいたら、教えていただいた。

その後も情報が集まり、書くと長くなりそうなので、別記事にまとめました。

(追記終り)



▼メモリの連続性


さて、VGA ではハイレゾ画面でプレーナ方式を使い、ローレゾ画面でパックドピクセル方式を使っている。

ハイレゾ画面は 150Kbyte の容量になってしまうため、「省メモリ」の必要性があったのだと思う。


8bit じゃないのになんで? と思う方もいるだろうけど、8086 は 8bit との互換性を重視した設計で、80286 になっても、IBM PC では 8086 互換モードで動いていた。


8086 では、アドレスレジスタが 16bit しかない。つまり、64Kbyte までしかアクセスできない、8bit と同等の性能しかない。

ただし、「セグメントレジスタ」というやはり 16bit のレジスタがあった。


このセグメントレジスタは、16byte 単位でメモリ内のアクセスの起点を決められた。

アドレスレジスタは、この「起点」から 64Kbyte の範囲をアクセスできる。

この 64Kbyte を、8086 では「セグメント」と呼ぶ。


全体としては、1Mbyte のメモリを扱えるのだけど、プログラム単位では 64Kbyte で制限がある、と考えてもいい。


このため、VGA のハイレゾ画面は、プレーナ方式を使うことで 37.5Kbyte という「セグメント内に収まる」サイズに制限している。

ローレゾ画面も、ハイレゾの縦横半分ではなく、縦方向をさらに縮めることで 64Kbyte という「セグメント内に収まる」サイズに制限している。


VGA の画面構成は、制限内でどうやればよいかを考えた、良く工夫されたものなのだ。


でも、これは逆に、制限がきついという事実を突き付けているだけにも思える。




X68k の場合、テキスト画面は 1024x1024 で16色だった。

(画面表示範囲は最大で 1024x848)

これだけで、白黒1画面は 128Kbyte に達する。


グラフィック画面では、1024x1024 では同じく 16色、512x512 だと 65536色だった。

こちらは、512Kbyte になる。


どちらも、8086 のセグメントの中ではアクセスできない。


こうしたメモリを連続して扱えるのは、68000 の強みだった。



当時は、色数と解像度が急激に上がっていった時代であり、それは大量のメモリを扱わなくてはならない、ということに他ならなかった。

80286 にはそれが難しく、68000 なら可能だったことが、「68000 はグラフィックに強い」と言われる一因だったとは思う。


(80286 も、互換モードではなく性能を引き出せる「プロテクトモード」にすると、セグメントレジスタが 24bit となり、16Mbyte のメモリの好きな点を示せるようになる。

 アドレスレジスタは 0 に固定し、セグメントレジスタを動かす…というようにすれば、非連続ではなくなるだろうが、セグメントレジスタはアドレスレジスタよりも扱える命令が少なかった。

 また、80286 は 8086 の資産が扱えるのが利点であり、プロテクトモードで動かすのであれば、資産のない 68000 を使ったって同じだった)



▼アドレス計算


グラフィック画面というのは、巨大な2次元配列変数と変わらない。


パックドピクセルであれば、Y * width + X + BaseAddr でアクセスすべきメモリを求めることができる。


プレーナ方式であれば、8ドットが1バイトにまとめられるのでもう少しややこしい。

その上、必要な分だけ他の画面にもアクセスしないといけない。

(この点では、3次元配列になる)


しかし、2次元配列のアドレス計算が必要、という点は、どちらの方式でも変わらない。


上に書いたような式程度なら、80286 でも 68000 でも難なく計算することは出来る。

でも、そこを起点にさらに周囲のアドレスにアクセス…などとなってくると、話はややこしくなってくる。


68000 は、アドレスレジスタを 8本持っていた。80286は、目的別の(自由に使えるわけではない)アドレスレジスタ 3本だけだ。

また、メモリアクセスの際のアドレス計算(アドレッシングモード)も、68000 の方が豊富だった。


ここら辺もまた、68000 がグラフィックに強いとされた一因だと思う。



▼反証:AMIGA と Mac


…と、ここまでなら「68000 はやっぱりグラフィックに強かった」で終わりなのだけど、最初に書いた「理由を知りたいと言っている人」と話をしているときに、AMIGA や Mac の VRAM はどうなんですかね、という話になった。


先に書いておくと、その人は別に反証を出したわけではなくて、X68k の話で納得していたようだ。

でも、僕は AMIGA をそれほど知らなかったので調べているうちに、これは反証を出されたのかな、と思ったのだ。



AMIGA は、CPU に 68000 を使用し、「グラフィックに強い」とされていたマシンだ。

テレビ信号との親和性を重視した設計で、画面をスーパーインポーズできたりする。


テレビ業界でも編集作業などに使われ、当時はウゴウゴルーガというテレビ番組でもリアルタイムに CG を動かすのに利用されて話題になっていた。


#あらかじめ用意してある(プリレンダリングの)CG を動かしているだけだけど、スタジオで子供と掛け合いをしながら、すぐに表情などを動かしていたのが当時としては驚きの技術だった。


以下、僕は AMIGA を使ったことは無くて、当時の雑誌で読んだ記憶と、今ネットで調べた情報で構成しているので、間違いがあるかもしれないと断っておきます。




AMIGA の VRAM は、プレーナ方式なのだそうだ。

そして、当初のグラフィック性能は、最大で 360x576 32色だった。


実は 4096色モードもあるが、基本は 16色モードになっている。

追加で2プレーン持っていて、これを特殊用途に使い、周囲の色信号を共有して見た目の色数を増やしている。


ドットごとに自由に色を指定できない MSX2+ の自然画モードみたいな感じ。


後継機では、720x576 を扱えるようになったけど、いずれにしても1プレーンは 64Kbyte 以内に収まってしまう。

ということは、68000 でなくても扱えるね。



AMIGA は CPU がアクセスできる、メインメモリ空間に VRAM を置いている。

これは別に当時としては珍しくない。


でも、ビデオコントローラーにアドレスをセットすることで「どこにでも」VRAM を確保できたのが珍しい。

普通、VRAM は最初からアドレス固定で与えられるものだったのだけど、好きな場所を VRAM にできる。


これにより、メモリの許す限り裏画面を作り、高速に切り替えることが可能になる。

ウゴウゴルーガなどでリアルタイムにアニメを表示していたのも、こういうテクニックが使えたからのようだ。


たしか当時の Oh!X で読んだ記憶では、「走査線を境に VRAM を切り替える」ようなこともやっていたとか。

それぞれの VRAM には全く違うことを描いてあっても表示できるわけで、走査線で分割されるマルチウィンドウ環境が実現できると書いてあったと思う。


これを見ると、AMIGA がグラフィックに強かったのは「68000 だから」ではなくて、「チップセットが強力だったから」だ。



Macintosh も重要な役割を果たしたと思うが、最初は白黒で 512×342 という解像度だった。

22Kbyte 程度なので、こちらも 68000だからグラフィックに強い、という感じではない。


特段ハードウェアが強力だったわけでもない。

でも、ソフトウェア、特にグラフィックを扱う内部ルーチンである、QuickDraw は強力だった。

(実は、白黒表示の初代Macから、内部の QuickDraw はカラー対応だった)


その、強力なグラフィックを使って、文字を使わない OS 操作を考案したプロジェクトチームもすごい。

実際のグラフィック性能の問題ではなく、操作している映像は衝撃的だった。


つまり、Mac がグラフィックに強かったのは「68000 だから」ではなくて、「プログラマの腕や、チームの発想がすごかったから」だ。



▼反証:演算速度


実は、68000 は、同クロックの 80286 と比べると半分程度の処理性能しか出ない、という事実がある。

そして、同時期の出荷チップの最大クロックを比べると、80286 は 68000 の半分よりも高クロックに対応していたようだ。


商売にするのはコストなどの問題もあると思うが、値段を考えなければ 80286 の方が性能が良かった、ということになる。


グラフィックは、大量の処理を必要とするもので、処理性能が高いほうが有利ではある。


連続したメモリが必要な X68000 のようなハードウェア構造ならともかく、AMIGA や Mac のような構造なら、80286 の方がグラフィックを高速に描画できた可能性もある。



余談になるが、X68000 では、65536色モードでも、16色モードでも、同じ方法でアドレス計算できるようにしてあった。


これは、プログラムは楽になるのだけど、16色モードでは 16bit を書き込んでもハード的にマスクされてしまって 4bit しか書きこまれない。

連続したメモリに高速に書き込むテクニックがあったのだけど、16bit のうち 4bit しか使われないので速度が上がらない。


ただでさえ遅い 68000 で、さらに遅くなってしまうためにゲームなどではグラフィック画面は使いづらかった。

68000 だからグラフィックに強かった、なんてとても言えない。


#そのために、プレーナ方式のテキスト画面があるともいえる。

 スプライト BG 画面ならさらに高速に書き変えられるので、ゲームではこちらが主に使われた。



▼まとめ


ここまで考慮すると、自分で書いたことだけど「68000 はグラフィックに強い」と当時言われていたことの根拠は何だったのかな、と悩んでしまう。


X68000 を見る限りでは、大量の VRAM を積んでいて、セグメントなしにアクセスできることは、確かに強みになっている。



でも、「68000はグラフィックに強い」という雰囲気を作り出したのは、おそらく AMIGA と Mac。

どちらも「周辺チップセットが強力」だったり「プログラマが凄腕」なだけで、68000 だからグラフィックが優れていたわけではない。



というわけで、最初の結論が導かれる。


当時の言葉は、特に根拠があったわけではなく、雰囲気で言われていただけじゃないのかな。

AMIGA や Mac のような「グラフィカルなマシン」が 68000 だったから、そういう雰囲気が生まれただけ、というように思う。



ちなみに、話の間 8086系としては 80286 を前提としていたけど、80386 以降はセグメントは撤廃された。

(8086 互換モードでは使える)


80386 からはメモリを自由自在に扱えるわけで、グラフィックにも強くなった、と言える。

実際、Windows も 3.1 日本語版以降は 80386 以上でないと使えなかった。


80386 を前提として設計された FM-Towns は、十分にグラフィックに強いマシンだった。



▲目次へ ⇒この記事のURL

関連ページ

X68kのハードデザイン

素人プログラマから見たX68k【日記 23/04/10】

8bit 時代のグラフィック【日記 15/05/29】

別年同日の日記

03年 楽園を求めて…

05年 お掃除ロボ

12年 姪の結婚式

18年 フェスとフェスタと祭りと開放日

19年 あーすフェスタ

20年 Chromebook を買ったのだけど

23年 ディスクイメージ公開


申し訳ありませんが、現在意見投稿をできない状態にしています

【ACTH】 書き込み元データを考慮しないと。キャラアニメしたりすると元データのパターンは軽くVRAM容量を凌駕する。この時に68000にリニアアドレスが物を言う。つまり、多彩なデータを書き込めるのが6800の真の強み。 (2017-10-03 11:11:09)

【ACTH】 PC80系SR以降や (2017-10-03 11:06:03)

【wasi】 私自身は8086系しか触れたことがないのですが、68000のメモリ空間の広さとレジスタ幅が32ビットで汎用レジスタが8本もあったのは、プレーナー構成のVRAMの場合、ピクセル単位での移動・合成操作などに大いに役だったのではないかと想像しますが如何でしょう。 (2017-08-16 21:20:46)

【meridianstar】 私も以前X68000XVIを所有しており、懐かしく記事を拝見しました。確かにMC68000はグラフィックスに強いというより、メモリマップドI/Oと豊富なアドレッシングモードでハードウェア制御に向いているCPUという感じがします。でも、X68000もMC68000がグラフィックスに強いと思わせるのに貢献していると思いますよ。ただ、実際のところX68000がすごかったのはシャープ製カスタムチップである、CRTコントローラ、ビデオコントローラー、スプライトコントローラーだった訳ですが(笑)。ほとんど当時のアーケードゲーム基盤をパソコンにしましたみたいな感じですからね。 (2016-03-10 21:39:52)

【1】 68000はグラフィックに強いハードウエアを作りやすいcpuだったと言うことは言えるのでは (2015-06-02 02:11:55)

8bit 時代のグラフィック  2015-05-29 11:14:36  コンピュータ

▲目次へ ⇒この記事のURL

先日、68000はグラフィックに強かったのか、という内容で書かせてもらった。


詳しくは読んでもらうとして、X68k は CPU の特徴を活かしていて「68000ならでは」のグラフィックだったのだけど、同じく 68000を使ってグラフィカルだとされていた Mac も AMIGA も、 68000 でなくても大丈夫な構造しているよね…という内容。


その中に、8bit 機種の中では色数の多さで異彩を放っていた FM-77AV はどうなってたのかな、と書いたら、情報を頂いた。

まずは先日の日記に追記したのだけど、その後も情報を頂いて追記レベルではなくなったので、新たにまとめておこうと思う。


(FM-77AV に限らず、グラフィックに関する思いついたことを片っ端から)




まずおさらい。

画面を作るためのメモリを VRAM というのだけど、当時の VRAM 構造は、横8ドットを1バイトで表現するのが普通。


これだと白黒画面になっちゃうのだけど、3画面持って「赤青緑」の画面だと考えれば、重ねて8色が出せる。


この方式の利点は、白黒1画面が小さなメモリに収まること。

扱えるメモリが小さい 8bit 時代には重要な事だった。


カラーを扱うには、CPU の「外側」で、メモリ切り替え回路を作っておく。

赤青緑の画面を順番に書き変えれば終わり。


1ドット描くのに3回アクセスする必要があるけど、それぞれの画面の中でのメモリ計算は同じなので、計算を何度もやる必要はない。

でも、そもそもメモリアクセスというのは遅いものだし、1バイトが8ドットにあたるので、周囲のドットに影響が出ないように点を描くにはそれなりの処理が必要になる。



で、先日の記事では「FM-77AV はどうなっていたのだろう」と、ちょっとだけ書いといた。

FM-77AV は 4096 色が出せる機械で、これは 12bit に相当する。


12枚画面を持っていて、12回描き込まなくてはならなかったとしたら大変だと思ったのだ。




で、情報が寄せられた。

やっぱ、12画面持っている、という情報だった。


こちらのサイトの情報は、市販の本の正誤表(というより、アップデート情報)だが、元の本が無くてもある程度知識があれば理解できる。

赤青緑各4プレーン、計12プレーンを使って 4096色を発色していたのがわかる。


ただ、FM-77AV はサブ CPU を持っていて、サブ側のメモリのほとんどが VRAM に割り振られていたので、メモリのスイッチ切り替えは1度だけでいい。

後の FM-77AV40 になると 26万色モードがあるのだけど、こちらは2回スイッチを切り替えて、18画面にアクセスする必要があった。


サブ CPU があるから実用的な速度が出たのだろうけど、大変な構造だ。



…と書いたところ、さらに追加情報。

専用の LSI を持っていて、線を引いたり矩形を塗りつぶしたりと言ったことが高速に出来たのだそうです。


さらには、FM-77AV には「多色」であることを活かしたビデオデジタイズ機能があって、ほぼ遅延なく 1/60秒で画像を取り込めた、とのこと。

こちらも、おそらくは専用 LSI に機能を搭載してたんでしょうね。


#ビデオ信号というのは CPU から見れば非常に速いわけだけど、VRAM から読出しが可能なので、同じように書き込むことも可能だったと思う。

 画面まるごと取り込むときは、「元に書いてあった画像を壊さないように処理」なんて手間も不要だしね。




77AV の対比としての、X1 turboZ。


X1 / X1 turbo の後継にあたる第3のシリーズで、上位互換。

上位互換、ということは、下位機種からアップグレードする方法はない。


#同じシリーズなら、後付けの拡張ボード買ったら何とかなったりする。


FM シリーズは、CPU を2つもっていて、1つでは 64K しか扱えないメモリを、128K まで扱えるようにしてあった。

そして、片側 64K の中に VRAM を持っている。


X1 シリーズは、CPU は1つしかないのだけど、Z80 は 64K までのアドレス空間を、2セット持っていた。

正確に言えば、1つはメインメモリで、プログラムなどはそこに入れる必要がある。


もう一つは I/O 空間で、スペック上は 256本(8bitアドレス)しかないことになっていた。

しかし、Z80 のバグで 16bitアドレスを制御できた。


X1 では、このアドレス空間に VRAM を置いている。


ちなみに、FM で使われた 6809 はメモリマップド I/O ね。

メモリ空間の一部を I/O として使う。メモリも I/O も、CPU から見れば「読み書きできる外部デバイス」ってことで違いはない。

(実際にはメモリとデバイスは違うのだけど、その違いは外付けの LSI で解消してもらう。)


Z80 の遠い祖先は 4004 なのだけど、これは「ハーバードアーキテクチャ」だった。

プログラムとデータを厳密に区別してて、プログラム用とデータ用にメモリ空間が別れている。


Z80 に進化するまでに、プログラムとデータの区別は無くなるのだけど、やっぱり「2つのメモリ空間」は残された。

X1 はそれをうまく使って、Z80 1個で FM-7 並の 128Kbyte の空間を用意してあった。シンプルで美しい設計だった。



でも、先に書いたように 16bit アドレスで扱うには、Z80 の実装上の「バグ」を突く必要があった。

特別な方法(BC レジスタ間接アクセス)でないと使えない。プログラムが制約を受ける。


それに、I/O は RAM より遅いことが命令の前提になっている。

RAM なら 7クロックでアクセスできるのに、I/O空間だと 11クロックかかる。


つまりは、X1 は設計を見ると美しいのだけど、実用的には、あまり良くできていたと言い難い。


ただ、キャラクタという概念がなく、すべてグラフィックで1本化された(これはこれでシンプルで良い)FM-7 に対し、X1 はPCG(書き換え可能なキャラクタ)を持っていた。

PCG を使うと、高速にグラフィックを動かせるので、アクションゲームを作る前提では X1 の方が速かった。

「キャラクタ」なので、ドット単位に動かせない、重ね合わせないなど、いろいろと問題はあるのだけど。




さて、そこに持ってきて、FM-77AV に対抗して、4096 色モードを付けたのが X1turboZ になる。


バンク切り替えを含めて、12画面をアクセスする必要がある。

77AV には先に書いたように専用 LSI が作られたけど、turboZ にはそんなものはなかった。


ただ、X1 の時から、複数画面に「同時アクセス」することはできた。

全く同じものが書かれてしまうので、1ドットを書き変えることはできず、画面クリア位にしか使えないのだけど。


つまりは、X1turboZ は FM-77AV にスペック上は対抗していたのだけど、全然使い物にならなかったようだ。

X1turboZ と X68000 は同時発表だったので、比較機種が FM-77AV ではなくて X68000 だと思われてしまうと…スペック上もかなり見劣りしてしまう。


あまり売れなかったようだ。




さて、FM-77AV が専用 LSI を持っていた、と知った時に思ったのは「98 の EGC とどっちが先だろう」ということ。

調べたら、77AV の方が1年先でした。


98の EGC というのは、画面描画専用の LSI 。

98 は CPU が直接 VRAM にアクセスする構造だったのだけど、EGC に命令を与えると、簡単なことは超高速でやってくれた。


線を引く、四角を描く、なんてのは当然。円を描くことも出来た。

塗りつぶし(結構大変な処理だ)とか、画面スクロール(全画面ブロック転送)なんかも出来たみたい。


98 BASIC からはこれを使ってグラフィックを描くようになっていて、すごい速度なので「98スゲー」って思った思い出がある。



こういう「CPU 以外の力で VRAM に線を引いたりする」機能の元祖は、僕の知っている限りでは MSX2


8bit 機だから 64K のメモリしか扱えない…というのは CPU が直接制御する場合の話で、MSX2 では 128Kbyte の VRAM が搭載されていた。

(当時は RAM が高かったので規格上は 64K でもいいことになってるが、事実上は 128K が標準だった。なお、画面表示 LSI 自体は、192K までのメモリを扱える)


MSX2 は、256x212 256色の画面を出すことができた。


FM77AV や X1turboZ に比べると解像度も色数も小さいのだけど、8色しか出せない機械が多かった中では十分綺麗な画面だった。


後継機の MSX2+ では、VRAM はそのままの容量で 19268色を出せる。

ただ、これは AMIGA の 4096色モードと同じで、周囲のドットと色情報を共有するので好きなように絵が描けない、という制約がある。




さて、一応は先日の話の続きなので、元の話を思い出すと、「68000 はグラフィックに強かったのか」って話だ。

今日書いたのは、基本的に 8bit 機。98 の EGC の話題も少し入ったけど。


68000 は大きくて連続したメモリ空間を持っていたからグラフィック向きだった、という話に対し、小さくて非連続でもグラフィックに強い機械はあった、という反証を集めた形になる。


見てもらえればわかるように、周辺 LSI が強力だったりするのが前提だ。

MSX2 に至っては、VRAM を全部画像 LSI 側で持っている。そのため、アドレス空間 16bit の制約すらなく、192K まで持てる。


CPU の話をしているのに周辺 LSI 前提では比較にならない、と思うだろうけど、AMIGA だってグラフィックに強いのは画面関連の LSI が強かったからだ、というのは先日書いた通り。


逆に、X1turboZ は Z80 の制約の中だけで頑張っている。

そのために書き換えが遅すぎて「表示できる」というだけで、実用にならないのだけど。


「表示できる」だけだというのは、実は X68000 だってそうで、65536 色モードはあまり実用にならなかった。


実用になる圧縮アルゴリズムができて、やっと「観賞用」程度にはなったけど、それでも圧縮が効きやすいアニメ絵だけ。

しかも、1bit を圧縮時のフラグに使うので、32768色でしか保存できない。


JPEG が国際規格として制定されたときに、X68000 で JPEG 表示プログラムが作られたけど、非力な 68000 10MHz では1枚の表示に数分かかった。

後で(計算精度を割り切って)劇的に改良されたけど、1枚10秒程度。


そのソフトが作られたころには、もう Window はブームになっていて、98 や IBM でも多色表示ができた。

とても「X68000 は色数が多かった」なんて言えない。


X68000 がグラフィックの扱い…特にゲームに強かったのは、グラフィックを扱える広大なメモリ空間があるからじゃなくて、強力なスプライト LSI を搭載したからだ。

これもまた、LSI が強かったというだけ。



じゃぁ、現代の PC がどうかと言えば、CPU は高速化したけどやっぱり「強力な LSI」に助けられている。

そいつに「線引いて」とか「この領域コピーして」とか、「この3Dモデルレンダリングしといて」とか頼んでいるわけで、MSX2 の頃から変わってません


いつの時代だってグラフィックは CPU の手におえないほどのリソースなのだ、ということかもしれない。

グラフィックに強い CPU なんてないのかも。


(グラフィックチップを内蔵してしまった Core i シリーズ、なんてのはあるけど)


▲目次へ ⇒この記事のURL

関連ページ

色数と VRAM 構造【日記 16/05/31】

色数と VRAM 構造【日記 16/05/31】

68000はグラフィックに強かったのか【日記 15/05/21】

別年同日の日記

02年 PHS解約

04年 ピクミン2攻略終了…?

13年 水疱瘡

17年 チャナダル

19年 Alexa Wunderlist 連携


申し訳ありませんが、現在意見投稿をできない状態にしています

【とおりすがり】 基本的に表面だけなぞるからおかしいことになってるのだと。8ビットプロセッサでは4096色はデータ量自体が不釣合いなのでどうせがんばったところで動きのある処理なんて出来るわけが無かったです。FM77AVはパレットの設定によってプレーン合成の手段として使えたことの方が動きを重視した場合、有意な構造だったと思います。ゲームしか見ないならコストが一番大きいのは重ね合わせなので、動きだけならスプライト最強の結果しか出ないですね。 (2017-06-20 20:29:11)

【とおりすがり】 )って程度で、ソーサリアン辺りならX1の方が88よりマシだったはずです。88だって背景の重ねあわせが処理として圧し掛かれば言うほど早くは無いです。書き換え範囲や、望む挙動によるので全体的におかしい話になってますね。 (2017-05-13 21:23:42)

【とおりすがり】 そもそも、PCGだけでゲームなんて実装無かったと思うけど。PCGを背景にキャラクタをグラフィックにと描くことで、重ねあわせを軽減できているので言うほどは遅くなかったです。シルフィードみたいなVRAMを書き換えるものとか、ライン単位でのスクロールみたいなことは素直には無理(最近やってしまった人がいますが (2017-05-13 21:21:14)

【vandy1】 turboZユーザーでしたが、絵を描いたりレイトレしたりビデオ編集したり、ずいぶん楽しみましたけどね。何をもって実用的とするか?によるかと。88とMSX以外どれも売れたと言い難いご時勢で、ことVRAM構造の話に続けて「売れなかった」と言われるともにょるものが…(^^;(学生時代、周りにも2名ほどZユーザーがいました) (2016-08-28 21:08:06)

【うしとら】 興味深い記事でした。で、FMユーザーとして気になった点を。「FM77AV」が正解で、「FM-77AV」ではないです(よく間違えられますが)。またビデオデジタイズはオプションのビデオディジタイズカードが必要です(参考:http://fm-7.com/museum/hardware/options/options-6.html) (2016-05-31 06:19:31)

ハーバード・マーク1  2015-06-02 11:01:33  コンピュータ 歯車

▲目次へ ⇒この記事のURL

昨日のうちに、ハーバード・マーク1こと IBM ASCC の概要記事を公開しました。


これは、歯車計算機だから歯車ページね。

プログラムが組めるのでコンピューター扱いでも…と迷ったのだけど、「最後の歯車計算機」として扱うことにした。




もう、10年来「中高生の夏休みの宿題のためのページを書きたい」と言い続けています。


2000年代の前半に、3年くらい開けて2回、中高生から連絡が来たのね。

「夏休みの宿題にしたいので、最初のコンピューターについて教えてください」って。

(その後は来てないのだけど)


僕は趣味で調べているだけで、偉そうに言える専門家ではない。

大体、こんな分野に専門家がいるとも思えない。

でも、知っていることだけでもざっとまとめたページを作るのは悪くない、と考えました。


僕のページは1つづつの機械を深く掘り下げるように書いているけど、実際には歴史の流れも一緒に見て、歴史的に近い機械の何が活かされて、何が新規アイディアなのかを知るのが楽しいから。

流れをまとめたページを作れば、そういう俯瞰視点を持つ意味でも役に立つ。



先日、急に「そろそろ夏だな」と思ったときに思い出して、いまから書くとしたらどんな機械を紹介すればいいだろう、と思ったのです。




コンピューターの歴史の中には、重要な機械が沢山あり、僕が名前程度しか知らないものもいっぱいです。

多分、恥ずかしながら名前も知らない機械だっていっぱいあるはず。


もちろん「最初のコンピューター」に的を絞ればかなり範囲も減るのだけど、それでも詳細を知らない機械は一杯ある。


大体の流れを追うのに必要なマシンはこれくらいかな…とまとめていく中で、急に SSEC を思い出しました。


以前、NOP 命令を調べた時に気になっていたマシンです。

その時に詳細資料を探したのだけど、見つかりませんでした。古い機械だからね。



ところが、この時ふと思い浮かんだキーワードで探してみたら…見つかったのです。

SSEC の技術資料を一生懸命探していたのが良くなかった。特許を調べたら、この時代の特許は今と違って、馬鹿正直に技術を解説していたのでした。


#現代の特許は、少しでも範囲を広げるように、できるだけぼかした書き方をするテクニックが重視されます。

 でも、当時は「発明品を馬鹿正直に解説する」特許書面が多いのでした。




IBM が始めて作ったコンピューター、IBM 701 にはすでに NOP がありました。

以前の調査では、どうもこれが「一番古い」NOP 命令でした。


でも、IBM は、701 以前にも「プログラム可能な計算機」を2台作っていまいた。


1つめは、今回紹介した、ハーバード・マーク1こと IBM ASCC。

これに NOP 命令が存在していないことは、以前に調査してわかっていました。


そして、もう一台は ASCC の後に、701 の前に作られた、SSEC 。

SSEC に NOP が存在したのかどうかが、非常に気になっていました。


僕が信頼しているコンピューター歴史書には、SSEC は ASCC を高速・大規模にしただけで、特筆する点は無いマシン、としていました。

だから、僕の予想も SSEC には NOP は無い、となっていたのですが…



…特許書面を調べると、なんと NOP 命令(当時の表記では no op 命令)がありました。

まさか、コンピューター以前から NOP が存在したとは思わなかった。



しかし、あるとわかった以上 SSEC の詳細を調べなくては。

そのつもりで SSEC の詳細を調べたら、ASCC とはかなり違う。

「高速・大規模にしただけ」なんて話では、全然ない。


#と言っても、もちろん類似性はある。類似性にだけ注目すれば、高速・大規模にしただけに見える。

 新規性もあって、新規部分を見れば全然違うマシンに思えてくる。

 これをどう考えるかは人によるので、読んだ本の記述がおかしいとは思わない。


SSEC のこと書いて、最初の NOP 命令の記事も訂正しないと…と調べていくと、SSEC は今のコンピューターとはかなり考え方が違う。

そう、やっぱり ASCC の技術の延長にある、というのは紛れもない事実。


これは、片方だけ解説しても片手落ちだ。歴史を正しく認識するためには、この2つはセットで扱わないと。




自分でも、この時点で「悪い癖が出た」と判っていました。

TX-0 の資料を見つけて読みだしたときも、Whirlwind I の存在を知ってしまって、そちらの記事を書き始めたら泥沼にはまって、なかなか TX-0 に進めなかったんだよね。


でも、幸い ASCC はバベジの解析機関の影響を受けた機械でした。解析機関はずっと以前に書いているから、そちらの説明はいりません。


というわけで、調べたことをまとめたものが、昨日公開した記事。

わかりやすい概要と、興味がある人向けの詳細の2本立てになっています。




次は SSEC 書かないとね。


▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

歯車

別年同日の日記

02年 デジカメ購入

04年 結婚2周年

05年 結婚記念日

05年 友人の結婚式

06年 結婚記念日

13年 鼻血

20年 学校再開


申し訳ありませんが、現在意見投稿をできない状態にしています

ロバート・ノイス命日(1990)、ジョン・エッカート命日(1995)  2015-06-03 10:25:27  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

今日は…

ロバート・ノイスの命日(1990)。

ジョン・エッカートの命日(1995)。


ノイスは、シリコンバレーの市長、と呼ばれた人です。

あ、シリコンバレーって、地域の通称で市ではないし、正式な地名ですらないからね。


世界初の IC を開発したフェアチャイルド社と、インテル社を創業した人でもあります。

詳しくは誕生日に書いた記事を読んでね。



ジョン・エッカートは、最初のコンピューターとされる ENIAC の回路設計をした人です。

その後、UNIVAC I も設計し、コンピューター時代を切り拓きました。


こちらも、詳しくは誕生日に書いた記事を読んでね。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

別年同日の日記

02年 ベランダ菜園

13年 料理コーナー更新

17年 忘れてた


申し訳ありませんが、現在意見投稿をできない状態にしています

セガ創立日(1960)  2015-06-03 10:46:52  コンピュータ 今日は何の日

▲目次へ ⇒この記事のURL

…らしいです。公式見解としては。


以前にセガの設立までの歴史を調べていますが、1960年が設立というのは、どうも中途半端に感じてしまう。



ただ、現在のセガの登記上は、1960年に「日本娯楽物産」として行われているようです。


それ以前に「サービス・ゲームズ・ジャパン」としての会社があるはずなのですが、分社したのはどうもケンカ別れのようなので、どちらかが「跡を継ぐ」のではなく、古い会社は解散して別々の会社を設立した形を取ったのかもしれません。


もしくは、「サービス・ゲームズ・ジャパン」は違法な賭博機器を扱っていた会社でもあるので、公的な届を出していなかったか。

今となっては調べることもできないと思いますが、現存している会社の登記の最初が1960年の6月3日である、ということなのでしょう。


というわけで、日付としては中途半端だなー、と思いながら、公式見解のようなのでここに記しておきます。



▲目次へ ⇒この記事のURL

同じテーマの日記(最近の一覧)

今日は何の日

別年同日の日記

02年 ベランダ菜園

13年 料理コーナー更新

17年 忘れてた


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -