『プレイステーション2』でスパコン構築という70台のクラスターの話の元はScientific Computing on the Sony Playstation 2にある。正確には65台のクラスターで、4台がユーザー用として接続されている。個人で試みるには高価だけど(^^;)
Sony’s X Factorやソニー、新情報家電「PSX」を年末にも市場へに代表されるような記事が5/28に出た。朝、車のラジオで日経記事の話が出たので、新聞を調べた。うむ、知りたいのはこのマシンのOSとメモリ搭載量だ。しかし、出ているわけはない。ソニーグループ2003年度経営方針にはゲームのリアルタイムOSを使うと書いてある。PS2Linuxの行方は如何に?
「人工生命」を読む(5)関連のモジュールということで、取り上げる。PNGファイルを生成するためにFractalモジュールと同様にGDモジュールを必要とする。その他に三つぐらい新しいPerlモジュールをインストールする必要があった。READMEの最後を参照のこと。次のように使う。
#!/usr/local/bin/perl use Cellular::Automata::Wolfram; my $caw = new Cellular::Automata::Wolfram(); $caw->num_of_gens(240); $caw->colors([yellow,blue]); $caw->generate(); # generates the result with the new rule. $caw->draw(); # Writes out to the wolfram.png # the image of the new automata.
一次元セルオートマトン
リスト構造で本をまとめ直すという作業も手間が掛かるものだ。もう一度読み直す以上の手間だ(^^;)やれやれ・・・
TSNETのPukiWikiはデザインも良いし、素晴らしい環境です。更新日記の上のTSNETのリンクはTSNETWikiへのリンクにしているので、是非訪れてみてください。書き込みもよろしく。
早速もう忘れちゃったが、会社で今日、新聞か、メールで、日経サイエンス7月号にグリッド・コンピューティングと恐竜の羽の記事が出ているのを知った。こりゃ、おもしろそうだと、夜の散歩に出掛けることにした。TSUTAYAに日経サイエンスがあるかどうか心もとないけど、まあ行ってみよう。しばらくうろうろして、目を皿のようにしてようやく見つけた。以前と表紙のデザインが違っていたので、目に留まらなかったのだ。
目次を眺めて最初に読んだ記事が、「素顔の科学者たち」、「電子アーカイブで科学界を結束」、Paul Ginspargの作ったarXiv.org(jp.arXiv.org e-Print archive mirror)に関するものだ。これこそ、科学の民主化だ。誰もが科学に参加できる。国家が支援してでも科学の情報を公開して欲しいと思う。2002年だけで、36,000件の論文が投稿され、登録済みの投稿者は60,000人、毎月1,200人ずつ増えているという。
TSNETにPukiWikiが設置された。Wikiはコミュニティを形成するためには優れたツールかもしれない。既にTSNETの会員は200名を越えたところだが、メーリングリストのコミュニティに馴染めない人を引き付けることができればいいなあと思う。
PerlのモジュールにFractal.pmというのがあるので試してみた。Fractal.pmを動かすためにはLincoln SteinのGDモジュールが必要である。GDモジュールはActivePerlのレポジトリにはないので、Linux上にインストールした。GDモジュールのためには他の非標準のライブラリを大量にインストールすることになる。高安秀樹著、「フラクタル」、朝倉書店、1986年4月25日初版第1刷、1986年12月5日第10刷、186ページ、2500円、の110ページにあるi.オートマトン、N88-BASIC(86)プログラムリスト10を移植してみた。最初は古いPC98を引っ張り出してセットアップし、結局MS-DOS環境を作るのが面倒なことに気がついて、ActiveBasicをWindows95上にインストールして試した。超鈍足なので、コンパイルした実効形式のファイルをメインのマシンに載せて動かしてみたけど、たった35行の簡単なプログラムの割りに描画に時間が掛かる。20秒弱といったところ。Fractal.pmを使って移植したPerlスクリプトからpngファイルを生成するためにもその程度の時間を要する。
Fractalモジュールについては、Perl Journalの2003年3月号に、Randy Kobes, Andrea Lerkeman, and Olesia Shewchuk, "Fractal Images and Music With Perl"の記事があって、おもしろいなと思いながらもそのままになっていた。実を言うとこのモジュールはFractal Musicも作れるのだ。作者はカナダの人。Randyさんはウィニペグ大学の物理の先生。AndreaさんとOlesiaさんは音楽の勉強をしている。RandyさんはPerlの世界でも有名な方のようだ。
オートマトン
#!/usr/bin/perl # automaton.pl # 高安秀樹著、「フラクタル」、朝倉書店、1986年12月5日第10刷の # 110ページ、i.オートマトンの【リスト10】をPerlに移植。 # シルピンスキーのギャスケットのパターンに相当。 # 横軸は空間、縦軸は時間(上方が正) use strict; use warnings; use Fractal qw(draw min_max); my ($nx, $nt) = (399, 399); my $points = automaton(); draw(pts => $points, file => 'automaton.png', size => 400); sub automaton { my $pts = []; my @x; my @y; for(my $i=0;$i<=$nx;$i++){ $x[$i]=0; } $x[1]=1; for(my $i=0;$i<=$nx;$i++){ push @$pts, [$i, 0, $x[$i]]; } for (my $n=1; $n<=$nt; $n++) { $y[0]=($x[0]+$x[$nx])%2; push @$pts, [0, $n, $y[0]]; for (my $i=1; $i<=$nx; $i++) { $y[$i]=($x[$i]+$x[$i-1])%2; push @$pts, [$i, $n, $y[$i]]; } for (my $i=0;$i<=$nx;$i++){ $x[$i]=$y[$i]; } } return $pts; }
GDモジュールのインストールの参考にREADMEから少し引用しておこう。Cygwinではまだ試していない。Windows上ではGD on WindowsがPHP 4.02 on Windowsで動くらしい。
1. Make sure you have downloaded and installed the following packages: a. Perl 5.004 or higher: http://www.perl.com/ b. The gd graphics library, version 2.0.1 or higher: http://www.boutell.com/gd/ c. The PNG graphics library: http://www.libpng.org/pub/png/libpng.html d. The zlib compression library: http://www.gzip.org/zlib/ (OPTIONAL) e. The FreeType font rendering library for TrueType fonts: http://www.freetype.org/ f. The JPEG library, version 6b or later: ftp://ftp.uu.net/graphics/jpeg/ g. The XPM library, a standard part of modern X Windows distributions. If you don't have a modern version of X, don't try to get XPM working.
何を学ぶにも歴史から得るものは多い。科学物の良質の歴史本は読んでいてわくわくする。技術的な内容についてのリファレンスをもう少し充実させてほしい気はするが。この本の原書は、M・ミッチェル・ワードロップの「複雑系 科学革命の震源地・サンタフェ研究所の天才たち」と同じ1992年に出ている。ジェイムズ・グリックの「カオス 新しい科学をつくる」は1987年。視点は異なるが同一領域の科学を取り扱った歴史書として、いずれも素晴らしいし、比較して読むのもおもしろい。本棚を確かめると、1989年のJ・ブリッグズとF・D・ピートの「鏡の伝説 カオス−フラクタル理論が自然を見る目を変えた」もあるね。
本日読了。最後の「強い主張」は重い。コンピュータ・ウィルスは人工生命であり、生物的ウィルスと同様の危険性を持つ。生命を弄んではいけない。うーむ、この領域では気軽に遊べないじゃないと思う。VMwareの仮想マシンの中で飼うというのは良いアイデアかな。まあ、わざわざ危険なウィルスを取り扱うこともない。フラクタルやL Systemでビジュアルに遊ぶほうが夢があってよいかも。少しずつ人名リストを作って、人工生命関係の話題を年表にまとめてみたいと考えている。まずはプロローグに出てくる人名のリストを作ってみた。
Pixar/Disneyの最新アニメーション映画。CGと伝統的なアニメーションとの最良の結合がここにある。CGもここまでアニメーションに活かされたかと思わせる出来映え。完全に融合して、新しい世界を生み出している。製作者たちはまるで自分が全能の神になったような快感の中で製作しているに違いない。真に人工世界だ。実写以上の世界がここにある。様々な予告編を見ることができるので、是非とも行ってみよう。
ブロードバンドの恩恵は、インターネットがこのような精密な画像をスムースに表示することができるところにある。インターネットがメディアの世界を変えてしまうと感動するぐらいの凄さだ。QuickTimeで480x256の画面が容易に再生できる。フルスクリーンで再生できるようにするのにもう一息だろう。
PIXARではCGソフトウェアのRenderManを8,000ドルで販売しているが、このような映画を作ろうとすれば、CGの製作経験は当然、Industrial Light+MagicのJOB OPPORTUNITIES: Technical Editor JOB#04-03にあるように、UNIX/Linuxの経験、プログラミング(e.g. C/C++,Java)のバックグラウンドとスクリプト言語(e.g. Python,Perl)の経験が必要とされる。
Karl Simsは人工生命の視覚化においては最も成功したと思う。ずーっと以前テレビで紹介されて凄いなと思ったのはこの人の作品だった。
フィリップ・K・ディックの「アンドロイドは電気羊の夢を見るか?」の題名のもじりにはよく出会うが、これもその一つだ。夜の散歩にツタヤに出掛けた。ひとしきりコンピュータ雑誌売り場で立ち読みをしてから、ゆっくりと巡回すると、『大討論 立花隆「ロボットの脳は進化する」』という文字列が目に飛び込んできた。現代6月号、ROBODEX2003誌上シンポジウムと銘打たれた特集である。ATR CNS(計算論的神経科学研究所)の川人光男、SONY CSLの北野宏明、理化学研究所の谷淳という錚々たる顔ぶれ。
CNSのダイナミック・ブレインというロボットは強化学習によって教育される。高度な学習能力を持つが、その能力はコピーできない。『実際には身体と環境の相互作用を研究しているのであり、そこから脳の機能がわかってくる』のだそうだ。能力は身体と環境に依存しているために単に他のロボットにコピーしてもうまく働かないわけだ。
PINOというロボットは歩行するのに、ASIMO等が使っているゼロ・モーメント・ポイント制御を使わず、遺伝的アルゴリズムによって進化的に歩行できるようになっている。
理化学研究所の自律ロボットにおいては、頭脳が二つのニューラルネットからなり、知覚・運動を司るボトムアップの過程、経験に基づく予測を行うトップダウンの過程がぶつかりあう動的な認知行動が起こる。
既に、様々な人工知能の技術が工学的に応用される時代に入っていることがよくわかる。脳とは何かがロボットの研究を通して解明されていくのは大変興味深いことだ。
昨日、VMware4へのUpgradeを促す二度目のメールが来たので、結局何をするのという迷いを振り切って、アップグレードした。ほとんど使うことはないのだが、おもしろい環境であることは確かだ。見かけ上は仮想マシンの切り替えをタブで行えるようになったところが大きな変更点だ。その他、Suspendとは別にSnapshotという機能がある。仮想マシンのバックアップコピーが作れるのだろう。インストールしていたLASER5 Linuxのパスワードを忘れてしまったので削除することにして、日経Linux 6月号に収録されているVine Linux2.6r1をフルインストールしてみた。3時間ちょっと掛かったが、カーネルパニックで起動できない。前もVineはそうだったかなと思い出した。結局古いけどLASER5(Redhat7.2)に戻って再インストール。マニュアルを見ながら、vmware-linux-toolsをインストールして、Xを立ち上げることに成功。しかし、このままではフォントが問題だし、Windows前提のホームページはすべての機能が使えないし、実質的にLinuxを継続して使おうということにはならない。少なくとも商用のLinuxディストリビューションの購入が必要だろうか。
人工知能学会誌5月号のWeb探訪に出ていたので、リンクを張った。
PS WORLDにE3 SPECIAL REPORTがあるので見よとPlayStation.comのGAMEニュースが言うので、リンクを張っておこう。
うむ。コストパフォーマンスはどちらが優れているのか。
項目 | 金額 |
---|---|
回線使用料 | 4,300円 |
屋内配線利用料 | 200円 |
回線終端装置利用料 | 900円 |
NTT合計 | 5,400円 |
DTI月額基本料 | 3,000円 |
総計 | 8,400円 |
スピードは、BNRスピードテストの統計情報によれば、NTT Bフレッツ ファミリー100Mで、5-20Mbps程度。ケーブルは公称20Mbpsで実効6Mbps弱といったところ、料金5,800円。まあ、ケーブルの設定もいいところをついているのかも・・・
昨日、mozilla for ps2の画像ファイルをFTPでアップロードしようとすると、途中で止まってしまう。@niftyのサイトのファイルサイズを合計してみると、9MB弱。現在のサービス利用状況の確認をしておこう。
ディスク使用可能総容量 : 10 Mbyte 使用容量 : 9.711 Mbyte (homepage ディレクトリ使用容量) : 8.904 Mbyte (cgi-bin ディレクトリ使用容量) : 0.807 Mbyte 残量 : 0.289 Mbyte
結局、当面HICATのサイトに溢れたデータを置くことにした。まあ、DTIのサイトも使えるし、まだまだ大丈夫だ。
Linux for Playstation 2 Communityはいろいろとおもしろい動きがある。Mozillaについてはだいぶ前に気がついて、インストールしてみたいと思っていた。試してみた。残念ながら、極めて遅い。ワンアクションの度にHDDへのアクセスが起こる。スワップが大量発生しているのではと思う。インストーラー付きなので、インストールは大変簡単だった。Phoenix(Firebird)もあるが、少し軽いかなあという感じ。メモリが32MBのままではね。[modified: 2003-05-14]
スティーブン・レビー(Steven Levy)の「人工生命 デジタル生物の創造者たち」を昼休みや寝る前などに、少しずつ読んでいる。読みやすいし、おもしろい。しばらくは愛読書になりそうだ。この際、内容に関係したリンク集を作ってみよう。人工生命の父がフォン・ノイマンだったとは、・・・以前立ち読みしたはずなのに、もう忘れている。
今日はクールベ展最終日。昼からひろしま美術館に家内と車で出掛けた。写実主義で有名な画家で、180年ぐらい前の人だ。美術の教科書にあった波の絵を憶えている。小さな複写だが、なるほどこれが写実主義かと思ったものだ。波の絵の本物を見ることができるだろうと楽しみにしていた。しげしげと近くに寄って眺めた。確かに素晴らしい描写だ。大きな波が巻いて白く崩れ落ちる様が精密に描かれている。特別展を見終わって、例によって常設展を見ているとMさんに会った。「最終日で来られたんですか。」「そうそう同じ。」喫茶店に入って、コーヒーとケーキのセットを食べた。アンデルセンが出店している。展覧会に合わせて、特別のセットが作られる。ここのコーヒーもおいしい。小振りのカップだが、ポットが置かれてお代わりが飲める。2杯半分ぐらいの量があるので好きな人にはお得だ。ひろしま美術館開館25周年記念の展覧会だった。
今日は出勤日。五月連休は9連休だったから、仕方ない。沖の船が立てた波が岸壁に平行に押し寄せると波飛沫が岸に沿って走るのがおもしろい。と、思いながら会社に出掛けた。帰りは、RCCを聞きながら、何気なしに画家へのインタビューらしきものに聞き耳を立てた。写実主義らしいのだが、認識論的な議論を展開するのがおもしろいと思った。「単に見るだけでは見えない。先入観で見ると見えるべきものがみえない。りんごを描くにしても、りんごを栽培する専門家が見ても感心するような絵を描きたい。」というわけ。「レオナルド・ダ・ビンチも解剖図を描いて、人体を研究している。主観や価値観を持って見るだけでは全体を捉えられない。客観的に見たい。」写実主義らしい意見だ。現実を認識するということはどういうことか。この画家はどのように現実を捉えているのか。大変興味を持ったので、耳を澄まして、名前を聞き取った。おおはたとしひろ。野呂山芸術村は以前何かで知って気になっていた。
グラフを書くのをコマンドラインでできないか。実は簡単にできる。dotを使えばOKだ。我が家のLAN構成をグラフ化してみよう。随分以前にマニュアルは印刷したのだが、使うのはこれが初めて(^^;)
digraph G { size ="6,6"; modem [shape=box,label="Cable Modem\nWebSTAR DPX2100"]; modem -> router; router -> { dell_b; hub_a; hub_b; dell_a} hub_a -> { wireless_router; ps} hub_b -> { vaio; game} wireless_router -> iiyama [style=dotted, label="wireless"]; iiyama [style=filled,color=".7 .3 1.0",label="[LD-WL11/PCC3]\nIIYAMA\nTMC 800MHz, Memory 256MB"]; wireless_router [shape=box,label="Wireless Broadband Router\nLD-WBBR1"]; hub_a [shape=box,label="HUB 10BASE-T"]; hub_b [shape=box,label="HUB 10BASE-T"]; ps [label="PlayStation2 Linux"]; router [shape=box,label="Broadband Router\nLD-BBR4M3"]; dell_b [style=filled,color=".7 .3 1.0",label="DELL2\nP4 1.6GHz, Memory 256MB"]; dell_a [style=filled,color=".7 .3 1.0",label="DELL\nP2 266MHz, Memory 96MB"]; vaio [style=filled,color=".7 .3 1.0",label="VAIO\nC 1GHz, Memory 128MB"]; }
こんな具合に書いて、
dot -Tpng graph.dot -o graph.png
我が家のLAN構成
Let's go to Graphviz - open source graph drawing software.
日本語化については、Graphviz-jaを参照。EUCではある程度使えるようになるそうだ。
昨日の半日に及ぶ災難からやっと抜け出したが、結論を出す必要がある。早速、スループットが少し良い数値を持つルータに切り替えてみる。むろん、CATVモデムWebSTAR DPX2100とルータLD-WBBR1のACアダプタを抜いておき、モデム、ルータの順に電源を入れる。あっさりと無線ルータはインターネットにアクセスする。スピードチェック。だめ。むしろ遅い。これはLAN側のポートが一つしかないためにハブをかませる必要があるからである。ルータ間で大差ないという判定。もっとスループットの良いルータを手に入れて試してみる必要がある。
デオデオ宇品店に車を走らせ、ルータ売り場を見ると、アイ・オー・データのNP-BBRS(スループット93Mbps)、エレコムのLD-BBR4M3(同90.1Mbps)、メルコのBLR3-TX4(同88Mbps)がいずれも9800円の価格設定で出ている。迷いに迷ったが、エレコムをプリンタサーバー機能が付いているので選んだ。実効54Mbpsという数字ももっともらしい。WAN側もLAN側も10Mbps/100Mbpsに対応、WAN側は1ポート、LAN側は4ポートのスイッチングハブになっているタイプだ。スループットは光ファイバー接続にも対応していると謳ってある。無線LAN機能を持つものも検討したが、高速無線LANの規格はまだ固まっていないので、手持ちの無線ルータをこれまで通り併用することにした。
早速テストしたが、大きな効果があるという結果とは思えない。ルータのスループットが律速ではなさそうだ。結局バックボーンの影響が大きいのではと思われる。正確な比較ではないが、実測結果をまとめておこう。計測サイトはBNR スピードテスト 回線速度計測ページである。
PC | CPU | Memory | Ethernet PCI | BLR-TX4[6Mbps] | LD-WBBR1[8.7Mbps] | LD-BBR4M3[90.1Mbps] | Remarks |
---|---|---|---|---|---|---|---|
DELL2 | P4-1.6GHz | 256MB | 100BASE-TX | 4.132(3.198) | (3.226) | 5.75 | - |
DELL | P2-266MHz | 96MB | 10BASE-T | (2.727) | - | 2.961 | - |
VAIO | C-1GHz | 128MB | 100BASE-TX | (3.053) | - | - | 10BASE-Tのハブがさらに一段入っている |
IIYAMA | TMC-800MHz | 256MB | 100BASE-TX | (1.841) | 1.997 | (2.242) | LD-WBBR1〜LDWL11/PCC3カード経由(WAN側は10BASE-T) |
CATVが20Mbpsのサービスを始めたので、5/1から早速切り替えて運用を始めたのだが、速度が6Mbps弱しか出ない。まあ、実効速度は10倍になって、160MBのファイルだってなんなく落とせるのだからメリットはあるが、公称20Mbpsなんだから、速くて困ることはない、極限を追究しようというのは人情というものだ。結局、5Mbpsしか出ないとメールを書いたら、昨日HICATから調べにきた。計測サイトを使ってデータを取るだけだけど、ルーター経由とモデムにPCを直接接続した場合の差を見た。結局、直接接続すれば速いサイトなら10Mbpsを越える数値が出た。ルーターのスループットが問題になるであろうことは予測していたが、やはりそうかと調べるとメルコのBLR-TX4のスループットはブロードバンドルータ購入ガイドによると6Mbps。もっと速いルータに変更する必要がある。手持ちのエレコムの無線ルータLD-WBBR1のスループットは8.7Mbps。まずはこちらに変更してみようと思ったのが、災難のはじまり。アクセスできない。元に戻してもだめだ。MACアドレスの照合の問題だろう。BLR-TX4の導入時にはよくわからないながらも、PCのMACアドレスをルータのWAN側有線のMACアドレスに手動設定してつながるようになったのだが。そのようなことを試してもまったくだめ。DHCPのIPアドレスの取得に失敗してしまう。インターネットで情報を探したいのだが、インターネットに接続できないと何もできないのだ(^^;)予備にと考えていたISDN回線を使うことにしたが、電話番号は変わっているは、ログイン名も変更になっているは、さらにはISDNルータの使い方を思い出すために延々と時間を消費した。ようやくDTIに接続を確立。それからはGoogleで検索、ルータメーカーの製品の接続障害対策にケーブルモデムとルータのスイッチを両方切っておいて、モデムからスイッチを入れていくと解決する場合があるというのを読んで、試すと一発でつながった。インターネットに接続できて5分も掛からなかった。やれやれ、無線ルータをつなぐのを試すのはまたにしよう・・・
ひさびさに全サイトを訪問。リンクが切れているものも、Googleで検索して発見できたものは新しいURLに更新しました。かなりの部分が復活できました。勝手にリンクしておいて申し訳ないのですが、お気づきの場合は、転居の際一言メールをいただけると有難いです。Googleで調べているうちに偶然見つけたサイトを2件追加。
PythonのPyLog/TPGモジュールがどこまで使えるか試してみようと思う。SJIS版Pythonを使えば、データにSJISテキストを使うことができるだろう。大量のSJISテキストを食べさせても、正常に動作するので、第一関門突破。Prologを使ったのは「Prologの冒険」を10年前に読んだ時、少しだけなので、I.Bratko著、安部憲広訳、「PrologとAI 1 Prologへの入門」、近代科学社、1990年3月20日初版、2001年5月10日初版第10刷、218ページ、2700円を読み始めた。この本は本格的な入門書である。当面、Prologで更新日記を記述する方法を検討する。
今年の五月連休は、PREYを読んで、並列分散、Swarm Intelligence、分子ナノテクノロジーは意外と関連のある技術だということに感心した。自然言語のリアルタイム認識において、並列分散はセンテンスを聞きながら意味を予測するために応用されているという話も出ている。レビーの人工生命は読みかけだが、既に蟻の話は出ているし、自己組織化、カオスも出てくる。なかなか勉強し甲斐のあるおもしろい世界、複雑系になっているというわけだ。この分野のプログラミングにスクリプト言語を使うことを考えてみたい。もう誰もがやってきたことかもしれないけど。
最上さんのサイトを見てみました。おもしろそうだし、専門家の生の声が聞けるのはめずらしいですね。
先日、渕一博+赤木昭夫著、「第5世代コンピュータを創る 渕一博に聞く」、日本放送出版協会、1984年11月1日第1刷、301ページ、1500円を読み返していたのですが、渕さんが第5世代コンピュータで何をしようとしていたか、どのような背景があったのかが書いてあります。正に人工知能的なものを並列処理でやろうとしていたわけですから、今後の参考になるかもしれないので、少しメモしておこうと思います。
渕さんは、XML PRESS Vol.5で、「第五世代コンピュータでは、並列分散をめざしていたのだけど、今ならSOAPかな」とインタビューに応えられています。今は、盆栽的プログラミングで、RubyでXMLとかをされているわけだけど、XMLがメッセージを持つデータとすると、それを処理するRubyなどは関数型プログラミング言語に対応している。結局、現段階では並列分散ではない。ハードウェアの進歩が予想以上の速さで進んだのが、並列分散の必要性を未来に押しやったのかもしれない。「第5世代・・・」には、「メモリでどこまでいくか。21世紀には60メガぐらいまでいってくれれば結構な話ですが。」という話が出ているのですが、100倍ぐらいのイメージだったのが今や1000倍を超えることが常識になりつつある時代ですから。
第五世代コンピュータやその後の成果については、第五世代コンピュータシステム博物館に詳しいですね。
ポール・グレアム(Paul Graham)のLisp礼賛はよく知られており、実際、LispをYahooにおいてビジネスに応用して成功させています。
『FORTRANやそれとほぼ同等の言語はやはりやり方を指定するhow言語である。私の考えでは、Common Lispは絶大な表現力をもっており、プログラミング言語の王者は近代のLispだと思うけれども、物事のやり方はLispプログラマが用いてきた表現方法と何ら変わっていない。これに対してPrologはhow型言語の壁を破った言語であり、問題を解くための詳細な手順ではなく、状況と問題の記述がしやすい言語となっている。』これは、I.Bratko著、安部憲広・田中和明共訳、「PrologとAI 2 AIプログラミング」、近代科学社、1996年4月10日初版、232ページ、2900円のはしがきにPatrick H. Winstonが書いている言葉です。この人は真底からのLisperでありLispの本を書くためにWinogradのShrdluをLispに移植したこともあるぐらいで、それに関して次のようにも書いている。『目標指向プログラミングをLispのプログラムで学ぶのは、英語以外の言語でシェークスピアを読むようなものである。その美しさの幾分かは伝えられるが、原作のように強力ではない。同じように目標指向プログラミングについて学ぶ最善の方法はPrologで目標指向プログラムを読み書きすることである。』
Bratkoも書いていますが、『PrologかLispかというジレンマは年を経るに従い柔らぎ、今では両世界の考え方の組み合わせを信じる人が多くなっている。』Prologだけでプログラムを書くのは、入出力、GUIとの親和性を考えるとスマートではないかもしれない。最近のPrologは大変高機能になってきているようなので、Prologだけを使うという解もあるかもしれないが、スクリプタなら、Prologならではの知識表現の部分をPrologに任せて、他の部分は自分の得意なスクリプト言語を使うという手もあるかもしれない。例えば、Pythonだと、PyLogというライブラリがあり、PrologのプログラムをTPGライブラリを使ってPythonに翻訳して実行できます。Perl6でPrologがサポートされれば、Perlでも楽にできるようになるでしょう。
ドレクスラーを私が知ったのは数年前IMMのサイトからです。もう何がきっかけだったか忘れてしまいましたが、凄いことを考えている人がいるものだなあとWebサイトの分子構造模型を印刷したりしました。ナノテクノロジーを調べてたのでしょうね。おそらく「創造する機械」を読んだ人は最初に分子ナノテクノロジーの概念を理解した人たちでしょう。私も読んでみたい本の一つです。Amazonでまだ手に入るみたいですね。昔、マイクロマシンが話題になった時期がありましたが、すぐにナノマシンという言葉が出てきたような気がします。ナノマシンを主題にした初期のSFとしては、ケヴィン・J・アンダーソン、ダグ・ビースン著、内田昌之訳、「無限アセンブラ」、早川書房、1995年11月30日発行、700円、がありますが、結構読ませるなと思いました。実は私はこの本で最初にナノマシンという概念を知ったのです。その時はさすがSF、時代を先取りしていると思ったのですが、今考えると、原著は1993年ですから、IMMの創設後の著作であり、ネタは既にあったということですね。あとがきを見るとドレクスラーの名前もある。ジェイムズ・P・ホーガン著、内田昌之訳、「ミクロ・パーク(BUG PARK)」、創元SF文庫、2000年3月24日初版、980円、はまだ読みかけで止まっているけど、おもしろそう・・・こちらはナノテク+仮想現実技術の組み合わせ。現代は良かれ悪かれ、空想小説は書きにくい時代、科学を取材しないととても現実感のあるものは書けないですね。
先ほど読了。視覚を刺激するメディアが現在のように発達すると、本を集中して読む時間を作り出すのは難しい。本を読む場合に共存できるメディアはやはりオーディオだ。Jazzを聴くのが最も適している。Bill Evans TrioのExplorationsを掛けながら読んでいると、読み終えたときにはいつの間にか演奏も終了していた。この本は早く読める、ということは集中して読んでいることを意味している。最近、ここまで集中して読めるのはトム・クランシーぐらいかな。上巻はさてどうなるんだろうとどんどん引き込まれる。下巻はむしろアクションに主体が置かれる。20世紀FOXで映画化されるということだが、進歩したCGに格好な題材ではある。下巻にVB風のプログラムが2箇所出てくるが、関数名が日本語に訳されていて興醒めな感じがする。これは訳注か何かで補って欲しいなと思うところ。米国では初版で200万部が販売されたそうだ。