本編 41 〜トリニティ・タワー 15 〜
トリニティ・タワーで瑠璃達が……
59.致命的なバグ
4号機……ロボットDと呼ばれていた機体の内部演算素子はプログラムに従い、懸命に計算していた。計算し続けていた。
人間の指示によりコントロールされている間は、サブシステムでしかなかったプログラム。無論、分析結果もコントローラーには送信し続けてはいたのだが、コントロールを離れた今となってはサブシステムは本来のメインプログラムとなってはいた。が、致命的な欠陥を露呈することとなっていた。
敵は誰か?
対テロ用アンドロイド……いや、ロボットとして作られた以上、攻撃すること自体には何も問題はない。問題となるのは攻撃対象、『敵』の特定そのものだった。
・テロリストとは?
人間である。
・人間であればテロリストか?
否、特定の人物がテロリストとして認定されなければならない。
・テロリストとして特定し認定する条件は?
武器を持ち、こちらを攻撃する、若しくは猛撃する可能性がある事である。
・武器を持ってすればテロリストか?
否、警護すべき人物の周囲には警護する人がいる。警護する人間は武器を携帯
している。
・攻撃する意志の有無か? その確認方法は?
……保留。後にシステム化する。ただし、こちらを攻撃するモノは敵である。
いや、攻撃が勘違い、間違いということもある。連続して攻撃しているモノは
その攻撃が継続している間は間違いなく敵である。
それでは、子供などによる危険性を排除できない。攻撃がこのロボットにとっ
て、損傷を与えるような攻撃でなければ、『攻撃』と判断してはならない。
・『攻撃』とは何か?
……こちらが破壊される可能性のある行動。または警護するターゲットを破壊、
損傷する可能性のある行動と限定する。
……結局はプログラムを作り出す人間の躊躇が如実に表れたシステム。
対戦テストの時は単純だった。
敵は戦う前に特定されていた。能力の総てを敵に向けて使用することに何のタイムラグも生じなかった。
だが……
自律行動すること。つまりは敵を自動的に認識すること。そしてその敵は『実は敵ではなかった』という可能性を可能な限り排除するためのプログラム……システムの根幹が未完成だった。
そして……プログラムには致命的なミスが隠れていた。
『敵』……攻撃を継続していたAは行動を停止。
『敵』……Aの攻撃力を0と認定。時系列評価……0。変化無し。
威嚇行動および反撃行動プログラム解除。
『敵』としての認識解除。
『敵』を検索。
人間を複数確認。
人間……H1と識別……を警護している複数H2〜8と識別、および判別。
『敵』としての認定?
H1〜8からの攻撃は現在も履歴上も皆無。
H2〜8の武器の携帯を再確認。
武器の種類の判別開始……小口径拳銃と判別。
攻撃力『1』。危険性……極小と判断。こちらから攻撃する必要性……なし。
ボディガード達が自らの武器の威力から4号機への攻撃を躊躇っていたのは正解だった。
もし、1発でも弾を放っていたら4号機はボディガード達への攻撃……いや、反撃を瞬時に行っていただろう。
ふと……分析を続ける4号機のモニターセンサーが視界の片隅に蠢くモノを見つけた。
ゆっくりと立ち上がる標的A。いや、瑠璃3。
即座に判別プログラムが動き……瑠璃3の攻撃力を判別する。
その時、致命的なバグが表面化した。
標的Aの攻撃力∞!
有り得ない判別評価だった。
瑠璃3はゆっくりと立ち上がった。
背中の……人間でいえば肩関節の下斜め後方にある第2腕接続関節から伸びる金属アームをも使って、ゆっくりと。
左腕は……人間のような皮膚、防弾シリコンに覆われていた左腕はチェーンガンの弾丸により肘から先を無惨に破壊され、傷口からは金属骨格と制御通信用の光ファイバーが引きちぎられている。光ファイバーが時折、キラキラと光るのが無惨さと弾丸の破壊力を物語っていた。
そして、左右の第2腕は無意識のまま、瑠璃30が渡した武器、拳銃を4号機に向けていた。
瑠璃3は……第2椀が動作しているのをやっと確認し、そして、必要ないと呟くようにゆっくりと第2椀を背後に隠した。
その時、4号機のバグが致命的な状況となった。
本来ならば……攻撃能力はその時々に判別し、変化は差で確認すべきだった。
だが、プログラムに記述されていたのは『差』では無く『比』。
攻撃力が増加することをテストでは確認しなかった。いや、出来なかった。基本的に想定していなかった。
テストで確認したのは攻撃力が減っていくことだけ。それは厳密にテストされた。
途中で増加する可能性もあると考え直し、差込んだプログラムの単なる入力ミスが露見するようなテスト自体が製造時には行われなかった。
『0』と評価してしまったモノが僅かながらも攻撃力を持つ。
『1』と評価すべき対象の攻撃力は『1/0』としてしまい……評価は『∞』となってしまった。
そして……無限大と評価する基準となった拳銃を格納してしまった。
この時の評価は『−1』。
無限大から1を引いたとしても……残るのは無限大である。
再評価する。
対象Aの現在の攻撃力……鉄の棒のみ……攻撃力0。時系列評価……∞!
4号機のプログラム……いや、システムにとって瑠璃3は今は理解不能な存在となってしまっていた。
対象の攻撃力0。時系列評価∞。……理解不能。攻撃行動……設定に無し。
選択すべき行動……? 不明。不明。不明。
4号機は……人間が幽霊にでも出会ったかのような狼狽と言わんばかりの状態となっていた。
残る武器を瑠璃3やあらゆるモノに向けては構え直す。腕部、脚部のアクチュエーターが唸りを上げている。フルパワーで、結論が出たらすぐに動き出すために……
相反する動きをするアクチュエーターの出力差が4号機を身震いさせる。
多脚はそれぞれに地団駄を踏むかのように困惑した動き。身体を左右に振る。まるで……何者かを恐れ身震いするかのように……
そして、その振動でぶらりと下がるだけの状態となっていた第1腕がガシャリと異音とともに床に落ちた。
その瞬間。
4号機は行動プログラムからやっと一つのパターンを選び出した。
退却。
システムには予め組み込まれては居なかった行動パターン。データベースからやっと探し出し、システムに組み込んだデータ。それが、この状況……システムが陥ったバグの穴を埋めた。
頭部を旋回させ、退却路を探す。
来た道……エレベータールームは破壊されている。見渡して他に道はない。
再び、困惑した状態に陥る。が、自身の能力を再検索し、確実なる退却路を見つけ出した。
即座に……体を翻し、手摺りを掴み、破壊して屋上から空中へと走り去っていった……
「っ! 待てぃっ!」
瑠璃3は走り寄り、4号機が破壊した手摺りを掴み、身体を固定して下を見る。
「なっ!」
見れば4号機は壁を多脚で掴みながら垂直に下へと走り去っていく。有り余るパワーを自ら結論した退却へと総て使って、形振り構わずに……
「……くっ!」
振り返り、周囲を見る。
目に入ったのは……先程、4号機が落としたチェーンガン。
即座に、拾い上げて確認する。
システム側からの入力でトリガーが落ちるようにはなっているが、元々は装甲車などに搭載されて人間の手で操作するタイプ。引鉄もそのままにあった。
「待てっいっ!」
瑠璃3はチェーンガンを両手で抱えると、手摺りから身を躍らせた。重力加速に身を任せて落下しながら、銃口を4号機に定めて……引鉄を引いた。
「逃がさないっいぃぃぃぃっ!」
これはニフティのSFフォーラム内にあった「マッドSF噴飯高座」より派生した拙作です。
宜しかったら、投票、感想など戴けると有り難いです。