――p168おまえはだれなの?――p316【どんな本?】アメリカのSF作家チャールズ・L・ハーネスが1955年に発表し、ヴォクトの諸作を彷彿とさせるスリリングでスピーディーな展開と壮大でマッドなアイデアの奔流にブライアン・オールディスが「ワイドスクリーン・バロック」の称号を与えた話題作。2177年、アメリカ帝国。宰相バーン・ヘイズ=ゴーントが事実上の支配者として君臨し、奴隷制を敷く退廃する社会となった。学生時代からヘイズ=ゴーントのライバルだった科学者のキム・ケニコット・ミュールは、10年前に消息を絶つ。同じころ、記憶を失った男アラールは、二人の大学教授マーカ・コリップスとジョン・ヘイヴンに救われる。アラールは二人に誘われ<盗賊結社>に入り、<盗賊>として稼いだ富で多くの奴隷を解放してきた。帝国心理学者および芸術愛好家のシェイ伯爵の館に忍び込んだ際に...技術も社会も歪な世界で、巨大な陰謀に<盗賊>が勝ち向かう、サービス満点の娯楽SF長編。名で再版され、高い評価を受ける。元祖ワイドスクリーン・バロック」15頁。9ポイント38字×17行×320頁=約206,720字、400字詰め原稿用紙で約517枚。文章はこなれていて読みやすい。ワードスクリーン・バロックと言われるとナニやら難しそうだし、原著が1953年なので古臭そうな印象がある。確かにデジタル関係はアレだが、それ以外は根本的なスケールがイカれ切っていて読者の思考能力を麻痺させてしまう。お話も危機また危機のスリリングな展開で読者を惹きつけて離さない。リラックスしてお楽しみあれ。【感想は?】これぞ正当なヴォクト「スラン」の後継者。「ワイドスクリーン・バロック」なんぞと大げさで難しそうなラベルがついているから、人によっては敬遠しちゃうかもしれない。それは大変な勘違いだ。これは、とっても楽しい娯楽冒険活劇なのだ。緻密に構成を考えてある。「スラン」も主人公は次から次へと危機に陥り、そのたびに激しいアクションと意表を突くアイデアで切り抜ける物語だった。その点はこの作品も同じ。ヴォクトは全体構成をアドリブで作っていた。破綻もあるのだが、あまりの目まぐるしさで読者に気づかせない、そういう力技の作品である。対して、本書は構成をキッチリと考え、アチコチに見事な伏線をはり、終盤で鮮やかに回収してみせるのだ。漫画に例えるなら、篠原健太の「彼方のアストラ」の構成で舞台やガジェットは寺沢武一の「コブラ」みたいな。いやアストラはアニメしか見てないけど。なんにせよ、そういう、個々の場面では個々のアイデアに「そんなんアリかい!」と驚きつつワクワクし、主人公のピンチには「どうなるんだろう?」と期待を膨らませ、終盤には「こんな大風呂敷をどうやって畳むんだ?」と不安を抱かせながら、最後に「おお、あれがこうなるのか、ヤラレタ!」と脱帽する、そんな作品なのだ。なんといっても、ハッタリが効いてる。これには舞台設定の工夫がいい。合衆国が帝国になっている。宰相が仕切り、奴隷制もある。もって主人公アラールは<盗賊>ときた。その盗賊の仲間は大学教授である。正邪がひっくり返ってるだけでなく、大学教授と盗賊なんていうミスマッチがたまんない。これが単に奇をてらっただけでなく、ちゃんと裏付けがあったりするのだ。冒頭でだいたい見当がつくんだが、実は...加えて、<盗賊>のスタイルが、なんとも時代がかってるのも楽しい。銃社会のアメリカのはずなのに、なんと主な武器はサーベルだ。これについても、ちゃんと種も仕掛けも用意してある。盗賊だけあって、逃亡用の七つ道具だってあるし、それぞれ奇想天外なクセにちゃんと理屈がついてるのも嬉しい。そんな次から次へと出てくるガジェットに加え、やたら悪役が個性豊かで魅力的なのも、この作品の読みどころ。最初に出てくるシェイ伯爵。美食でデップリと太った芸術愛好家だ。私は最初ヘルマン・ゲーリングを思い浮かべた。ナチス・ドイツで空軍を指揮した貴族趣味の奴。これはけっこういい線いってた。なく、人の心を操る陰険な奴である。実は陰険なだけでなく、心底アレな人なのが中盤以降で明らかになるので、期待しよう。私はこういう人として完全に壊れている変態学者さんが大好きだ。対して力押しの脳筋野郎が保安大臣のターモンド。<盗賊>の天敵、警察の親玉である。いや捜査の指揮は見事なのだ。武闘派で、大事な場面じゃ本人がお出ましになるのが困ったところ。それに相応しくバトル能力は万全なんだけど。ラスボスが帝国宰相バーン・ヘイズ=ゴーント。隠れた主人公キム・ケニコット・ミュールに対し、学生時代から因縁を抱えてる執念深い奴。学業で負け女を取られ、恨みを恨みを晴らすため権力を握る、実にわかりやすい悪役ですね。それだけに、権力闘争では阿漕なまでの巧みさを見せ、最後の最後まで粘りに粘るしぶとい奴です。ペットは黒猫じゃなくてメガネザルwそしいてもちろん、冒険SFに欠かせないガジェットもてんこもり。重力屈曲性計画だのトインビー21だのミューリウムだの、謎めいてハッタリが効いた言葉が妄想マシーンに燃料くべまくりだ。古臭いし、ワイドスクリーン・バロックなんて言われるとマニア向けの難しい作品みたく感じるけど、心配ご無用。まあ実際マニアを夢中にさせる要素も多いが、お話はスリリングでスピーディーで豪快な冒険娯楽活劇だ。リラックスして楽しもう。探索木によっては、盤面状態の数が大変多くなるので、深さ優先探索は、最大探索深さが前もって定まっているような場合にのみ実用的となる。経路が存在するなら、目標状態への最短経路を見つけることが保証されている。(AI)分野の初期の開拓者の多くの特徴は、いまだ解がわからない問題を解こうとしていることであった。問題を解く一般的方法は、大規模なグラフの探索問題に変換する事であった。探索を構築せよ【どんな本?】コンピュータで問題を解くには、アルゴリズムが欠かせない。いつの時代も、より速く問題を解く需要は尽きない。して単純な解き方だと、問題の規模の二乗に比例する時間がかかる。CPUもバスも速度は上がったが、最近はリアルタイム性の要求も厳しくなった。弾幕ゲームで弾数の二乗の演算時間を費やすわけにはいかない。本書では基本となる全順序集合の整列と探索に始まり、地図などの経路探索や完全情報ゲームの最善手の探索、二次元ゲームの当たり判定などに便利な空間木構造など、現代のプログラミングで必要となるアルゴリズムとデータ構造を紹介する。日本語版は2016年12月22日初版第1刷発行。単行本ソフトカバー横一段組み約415頁。8.5ポイント37字×31行×415頁=約476,005字、400字詰め原稿用紙で約1,191枚。文庫なら厚めの上下巻ぐらいの分量。「任意の点pにおいて」など、数学っぽい表現も容赦なく出てくるので、そこは覚悟しよう。サンプル・プログラムも多数収録している。わかれば、たいがい読めるだろう。各章はゆるく独立しているが、できるだけ頭から読んだ方がいい。「アルゴリズム+データ構造=プログラム」がある。コンパイラを作ってゆく。その過程で、リストやバランス木などのデータ構造や、再起呼び出しなどの手口を身に着ける本だ。辞書)なら、イマドキのプログラミング言語は処理系やライブラリが備えている。いうことで、そういった基礎的な部分は最小限にして、現代のプログラマ、特にリアルタイム性が必要なゲームの製作で求められる、二次元空間の探索などを加えたのが本書だ。サービスで扱うデータ量は桁違いに多い。同時に、使えるメモリ量もキロバイト単位からギガバイト単位に変わった。オンライン業務では、データの追加・変更・削除が頻繁に起こる。なると、探索の効率とデータの追加・削除のコストのバランスも変わってくる。そんなわけで、一応は昔ながらのバッチ処理に向くマージソートも出ているが、むしろハッシュを使ったブルームフィルタ(→Wikipedia)の方が実用的な場面が多いかも。5章までは「処理系のハッシュ使えばいいじゃん」で済む問題が多いが、6章からは「どんなデータ構造で表すか」がキモとなる問題が増えてくる。6章の最初に出てくる問題は、二次元の迷路の探索だ。表せれば、とりあえず問題は解けます...処理時間はともかく。本書では、節と辺からなるグラフとして扱ってる。分岐点と行き止まりを節、直接に行き来できる節同志を辺でつなぐ。これで問題は半分解けたようなもん。単純に深さ優先探索すると、節の数が増えるに従い演算時間が爆発するので、何かと工夫が必要だったり。AIにおける経路探索」は、ちょっと誤解を招くかも。いうのも、ここで言うAIは、今の流行りの強化学習じゃない。三目並べなど完全情報ゲームでの最善手を探るアルゴリズムを示すもの。昔ならLISPやPrologが得意とした問題分野ですね。今はチェスも強化学習になっちゃってるけど。計算幾何学」以降に入ると、二次元ゲームを作る際に突き当たる問題が山盛り。「与えられた点から最も近い点を見つける」「点の集合をすべて含む最小の凸多角形を見つける」「任意の多角形の集合の交差を全部見つける」とか、ありがちですね。この辺になると、放物線の幾何学とかの素養が必要だけど。ええ、私は読み飛ばしました。空間木構造」も、ゲーム屋必須の章。交差クエリとかは、モロに当たり判定だったり。オブジェクトが少ないうちは力任せ、すなわち全オブジェクト同士で交差判定すりゃいいけど、撃ちまくりの弾幕ゲームでそんな事やったらキリがないい=オブジェクト数の二乗で演算時間が増えていく。リアルタイム性が求められるゲームでは、1/60秒未満で処理を終える必要があるし。そこで演算時間を節約するにはどうすれば、という話。ここの基本は、「いかに無駄な判定をせずに済ますか」。考えても当たらない要素同士は、なるたけ計算せずに済ませましょう、ってこと。そのためには、n次元空間上にバラけている点の集合を、単なる配列やリストにするのではなく、k-d木や四分木など、何らかの秩序だったデータ構造にする必要があるのだ。この辺を読んでると、グレッグ・イーガンの描く派手で自由度の高いVR世界も、その末端では忙しくリストから要素を出し入れして最適化してるのかな、とか考えちゃったり。ないと、すぐに演算量が爆発しちゃうから。問題に対し、必要な演算量を見積もり、適したデータ構造とアルゴリズムを選ぶマシンなんて、本当に作れるんだろうか?と、序盤では古典的なネタで肩慣らししつつ、中盤以降は二次元以上の空間を扱い、より現代的な問題にアプローチしてゆく、今世紀に相応しいアルゴリズムとデータ構造の本だった。その分、歯ごたえも充分にあるので、覚悟して挑もう。「お前は神である事に無自覚だからな。無駄話が、惑星上に満ちている。知的生命体が発生し、彼らの群れは生息域である惑星に乗って不動の一点である「ここ」を通過する。すると、知的生命体は塔を作り始める。恋人」「異郷の友人」に続く、四冊目の著作。1995年の関西・淡路大震災をきっかけとした中編「塔と重力」と、似たテーマを扱う短編二つ「重力のない世界」「双塔」の計三篇を収録。【いつ出たの?分量は?読みやすい?】2017年7月30日発行。単行本ハードカバー縦一段組み本文約199頁。9.5ポイント40字×17行×199頁=約135,320字、400字詰め原稿用紙で約339枚。