2011/01/29 追加, 2012/04/01 微調整
erudition-0084
カオス・バグ……カオスではないバグに関するどーでも良い考察
大人げなく少年漫画「そらのおとしもの」における登場人物「カオス」について無意味に論じてみました↓。

蔵書の中に、このような事を書いた書籍がある。

予期した機能が発揮されず、予期せぬ悪い機能が発揮される: 悪い設計
情報処理・システム設計の見地から見ると、「そらおと」のεこと「カオス」は「悪い設計」の見本のような存在である。
カオスは誤解(正解?)の推論を導いている。
「痛い≒愛」
これは、「そらおと」周辺の登場人物たちのみならず、漢字という表意文字にも責任の一端がある。
「愛」という字は、「心」に「受ける」キズ、と分解できるからである。
それはともかく。
カオスの推論が一見正常動作しているように見える場面が描写されている(第11巻165ページ〜166ページ)。
無言で上を見る。
「えーと」下を見る(改ページ)
「つまり痛いのが愛なのね?」
虚空に表示される(視界にオーバーラップと思しきリスト・動画を検索したのであろう)
「痛い≒愛」という推論を確認したカオスは、再度、主人公に対して行動する(第11巻152ページ)。
「あは/あははははは/愛だ/愛だ/愛だ」(「べしべしべしべし」主人公をはたきながら)
カオスが実施すべきは、「べしべしべしべし」叩きながら、「愛? 愛? 愛?」と 主人公に確認することだろう。ところが、カオスは「愛だ/愛だ/愛だ」と確信的に断定している。
しかし、一層不気味なのは、前半の「あは/あははははは」という無邪気(?)な笑い声である。

さて。作者「水無月すう」氏は、情報処理関連の業務経験を多少積んだ可能性がある。
いわゆる「無限ループ風」のセリフをカオスが言うのである。
  • 第7巻106〜107ページ
    「私に愛を/愛を愛を愛を愛を愛を愛を愛を(後略)」
  • 第8巻27ページ
    「私愛が知りたいの/愛が愛が愛が愛が愛が(後略)」
  • 第11巻142〜143ページ
    「おにいちゃんにもすぐに愛をあげるから(中略)愛を愛を愛を愛を(後略)」
一見、「ループ回数の誤り」あるいは「終了条件の誤り」による過剰ループのように見える。
しかし、初登場以来第11巻までのカオスを分析すると、彼女のこのループには、「単なる過剰ループ」と位置付ける事の出来ない 深刻な問題が散見されるのである。
全エンジェロイド中(シリーズ中一番不注意なηを除いて)、カオスは「想定外の事態」の処理が甘い (アストレアは充分に処理しているにもかかわらず)。
まず、カオスは対象が何物であっても、「想定外の行為を自らにした者」に対し、「まず質問する」ようである。
  • 第11巻145ページ
    「なにをするの?」
    前ページで「コラ!!猫いじめんな!!」と主人公に「ぺちーん」と頭をはたかれて。
  • 第11巻175ページ
    「なにをするの?」
    前ページで正体不明の光線状兵器で撃たれて。
正体不明の光線状兵器を用いたのは、エンジェロイド以上に不注意でオツムの弱い「空のマスター」と思しい。というのも、直後のカットで、空のマスターがカオスに通告している「廃棄処分」だ、と。
阿呆以外の何物でもない。ちゃんとシナプスに辿りついてから(しかも、カオスは「ますたーのところに帰ろう」と帰る途中だった)、「内外の状態チェックをする」と通告して、ソース・「学習結果データベース」をオーバホールしてから廃棄すべきである。
空のマスターたちは常々「退屈で退屈でしかたがない」と言っているのであるから、カオスのソース解析を再度実施するぐらいの暇は持て余しているはずである。
それでも「面倒臭い」のか、帰還する前に廃棄しようとしている。
ただ、問題は、空のマスターの阿呆さ加減ではなく、カオスのセリフにある。
誰に対しても「なにをするの?」である。せめてマスター相手ならば「なにをするのですか?」ぐらい言っても良さそうである。が、
全く同じ台詞を用いているところを考えると、心理学でいうところの「おやなんだ反応」のリプライとして自動的に出力されていると思しい。
つまり、質問と見えて、本来全く無意味のセリフである。「想定外の事態に対する設計」が甘いと言わざるを得ない。
また、「想定外の事態に対する設計に対する甘さ」は第11巻の他の場面でも露呈されている。
主人公が「お前に愛を見せてやる」とカオスの手を引っ張るシーンである(146〜147ページ)。
無言で口を半開きにし、自らの手をつなぐ主人公の手を見るカオス。
続いて、自らの手を引っ張る主人公の背中を見るカオス。
対象の「敵意の有無」を判定もせずに、ただただ引っ張られている。
戦闘用としても諜報用としても、かなり問題である。
その表情は、時折、αを思わせる。対α戦に特化したと思しきカオスは、その特性上、 (意外と)外部インターフェース・および内部設計を、相当程度、【αの物を参考にした】のであろう。 αと異なりシリーズ中唯一(?)の幼児体型を保つカオスは、「実装してみたら、小さなボディーで済んじゃった、じゃあ小さくしちゃえ」と 小さくしてしまったか、「……趣味、ぐふふふ」という変態的心理で「小さなデザイン」にされたのか、判然としない。
思えば、αも、主人公に「無意識(?)に手を引っ張られる」ようである。
従って、本来任務が「戦闘・諜報」であるにもかかわらず、ダウナーなんぞに手を引かれている場面を見ると、 後述のように、「任務などどうでも良い」と思っているとしか考えられない。

また、カオスの推論は、後述のプログラムに起因するかどうか不明であるが、時折(始終?)破綻をきたしているようである。
下記のセリフは、推論破綻の典型例である(第8巻48ページ)。
「たくさん食べてはやく大きくならなくっちゃ/そして今度は私がみんなに「愛」をあげるの/みんなにみんなに/うふふふふ」
作者「水無月すう」氏の意図的な伏線かどうかは定かではないが、この破綻した推論には既に、カオスによる「シナプスに対する反乱」が見られる。
いや、実は、もっと前から、「カオスの反乱」は始まっている。
たとえぱ、第7巻157ページ
空のマスター「カオスが(中略)止めを刺さずに遊んでいる」
……。αの「止めを刺さずに」という事も問題であるが、もっと問題なのは「遊んでいる」ことである。
いや、もっと前からカオスの問題発言は始まっている。
たとえば、第7巻116ページ
「エンジェロイドには「愛」なんてプログラムされてない/だから知りたいの私/愛ってなあに?」
あるいは第7巻115ページ
「ますたーからイカロスおねぇさまの可変ウィングの核を取ってこいって言われた(中略)/ でも私はそんなこと興味ないの」
というカオスのセリフであるが。恐ろしい示唆である。
「αの(おそらくトドメをさして)可変ウィングの核を取ってこい」という命令が、「興味ない」!
「命令が興味ない」から「命令の履行をしない」!
恐ろしく人間的であると同時に、ロボット三原則を根本から無視している!
「興味ない命令」を履行するかわりに「興味のある行動」をするようになってしまっている!
だから、カオスは「止めを刺さずに遊ぶ」し、プログラムされていない「愛」(しかも、他のエンジェロイドたちが「愛に走った」と聞かされている)に 興味を持ち相手かまわず聞きまわるし、正体不明のダウナーに手を引っ張られても黙ってついていく!
一般に、兵器・飛行機等を開発時、事前に念入りな動作試験を行う。
しかしながら、近年においては、プログラムの構造・行数が複雑・厖大化するにつれ、「動作試験せずに実地運用」するシステムも散見される
(比較的最近、首都圏の鉄道自動改札機が全面的に使用不能となったのは、ソースコードにおいて代入元の誤りを見逃した事に起因する。すなわち、 事前に該当箇所をキチンと動作確認していれば一発で異常動作が発見できていたにもかかわらず発見できなかったという事は、動作確認を怠った事に他ならない)。
また、カオスの動作を傍観していたダイダロスが、長い台詞を用いて、カオスの設計方針について空のマスターを批判してくれている(第11巻129ページ〜)
「ηのシステムを食べて吸収している?/まさかカオスにアレを積んだの?/自己進化プログラムPandoraを/ なんてことを/もう命令なんてきかない/いずれシナプスにも牙をむくわ/Pandoraは進化するのよ/もう誰にも/止められない!!」
ダイダロスは、空のマスター同様、観察力が少々抜けている所が散見される。
御自身もアストレア他に「自己進化するプログラム」(より正確には、おそらくはデータベース)を搭載したはずである。
というのも、一連のエンジェロイドたちは、新たに得た記憶を元に、新しい行動を採っているからである。
ここには、「自己進化」とは別な問題が潜んでいるに相違ない。簡単に、以下のケースが、想定できる。
  • 比較的「手すき」の時間に、ダイダロスが、実験的な(おそらく次世代用)自己進化プログラムPandoraを作っていた。
    (一般に、技術者たちが一日48時間(誤字ではない……)みっちり「忙しい」ことは、ありえない。
    会議連絡待ち・仕様変更に対する確認待ちなどで、一週間の間にどこか、必ず、「一瞬(あるいは数分だけ)」手が空く瞬間という空き時間が 発生する。その空き時間まで詰め込もうとすると、プロジェクトは間違いなく、デスマーチに転じる。いっぽう、その空き時間を有効活用すると、 ダイダロスならずとも、プログラマーは「何かの時に備えて」「こういった関数(プログラム部品)を作ってやろうか」と考える。そして……)
  • そして、その実験的プログラムは、相当に不出来であったに相違ない(正式に作っていたプログラムでなければ、尚更)。
  • ダイダロスは、直後、シナプスで働く事を放棄する(その結果「空に捕まっている」とも考えられる)。
  • 後任を引き継ぐ形となった空のマスターは、ダイダロスの成果物をあさっているうちに、Pandoraを見つけた。
  • ちょっとだけ動作してみて空のマスターは(正式な動作確認は一切せず、というかほとんどせずに)、「おっ、これイイね、使えるじゃん」と早計に判断する。
  • よっしゃ、いっそPandoraをカオスに積んでやれと空のマスターが考える(もっと良く、対α戦を考慮するならば、むしろPandoraは不要の可能性が高い)。
  • 空のマスターが(?)Pandoraとカオスの基幹システムとのインターフェースとを見よう見まねでデッチ上げる(あるいは誰かにデッチ上げさせる。自分でデッチ上げるよりも人にデッチ上げさせた方が、一般的に品質が低下する)。
  • Pandora側の潜在バグ・顕在バグおよび基幹システム側の潜在バグ・基幹システムを不用意に修正した事による「本来仕様だったはずの機能」までバグとなり、全部、一気に顕在化してしまう。
  • ダイダロスはカオスの動きを見て、Pandoraが動作している事を知る。そして「本来使ってはならねえプログラムをなぜ使いやがった、テメェ!」と電話(?)で非難する。
  • やっちまった空のマスター、ただ震える事しかできない……。
    #2012年4月追記: ダイダロスによれば(第14巻)第一世代には全員Pandoraを搭載したが「心を持たせたい」という理由で「感情にのみ」機能するように設定し厳重にプロテクトをかけた(にもかかわらずβは自分でプロテクトを解除した)そうである。
……という事態は、情報処理の業界で、日常茶飯事といっても過言ではない。
なお、上述のとおり、そもそもカオスは、初めから「命令を聞くつもりはない」事が明白である。
可変ウィングのコアも取らず、「やめろ、カオス!」というηを「食べるな」との制止も無視し、
「ますたーのところに帰るんだ」と自分勝手に帰ろうとする。
ところが、地上に降りてきたエンジェロイドたちの有り様を観察すると、「タコな命令は無視して良い」という基本方針が散見される。
本来ダイダロスが設計した部分であろうか。
いな、どうも、シナプスの社会そのものにバグがあるような気がしてならないのである。