プログラム探偵

@cupc

第1話

足を踏み入れた空間は、巨大な立方体だった。

 その部屋は一面が真っ白で、色彩を示すものが一切なかった。

 壁に近づくと、うっすらと格子模様が浮かび上がってくる。一枚板に見えた板壁は、正方形のタイルが隙間なく組み上げられたものだった。

 表面をなぞると、金属のように冷たい。しかし光沢はなく、どういった素材なのかはわからない。

 それは有機的ではない不自然なまでの白だ。タイルの秩序立った組み上げ方と同じように、壁は一面が均質な白さだった。どこまでいっても明度に変化がない。タイルの順番を組み替えても、どれも同じ色なので気付けないだろう。現に、部屋を歩き回っているうちに、四方の壁が初めどのような方向だったのか完全にわからなくなっている。


 コツ、コツ。

 指でタイルを叩くと無機質な音が響いた。

 叩いた点から波紋のように、振動が周りのタイルに伝わっていく。波打つタイルは水面のようだった。平面波の広がりに合わせて音が部屋全体を巡った。

「粋な仕掛けだな」

 目を閉じれば、海の中でさざなみに囲まれているみたいだ。

 穏やかなあくびが込み上げてきた。

「……しばらくのんびりするか」

 俺は床の上に寝転んで目を瞑った。

 音はやみ、自分の息遣いだけが聞こえる。吸い込んだ空気は冷ややかで、透き通っていた。山の頂の空気を飲んだら、こんな心地なのだろうか。

 ここなら、よく眠れそうだ……


 目覚めは突然だった。ガラスが割れるような音に、意識が急浮上する。真上から三つの物体が降ってくる。それはみるみる近づいてくる。わけもわからないまま、それでもなんとか逃げようとする体とは対照的に、心の中は冷静だった。

 目の前に二つの物体が接近している。近くで見ればそれは立方体のブロックだった。タイルと同じ材質に見える。自身の顔と同程度の大きさの塊が、顔を目掛けて飛んでくる。

 あ、これ終わったな。そう思った。

 不思議なことに、最後に俺はゆっくりと息を吸っていた。

 けれどもブロックは衝突寸前で俺を回避した。見えない力に引っ張られたかのように、ブロックは速度の方向を変える。そのまま床スレスレを水平移動し、やがて宙に飛び上がる。

 思考停止したように、俺はブロックの動きを呆然と目で追った。

「ギリギリだったね。まさかブロックが動き出すとは思わなかった」

 背後で声がして俺は飛び上がった。

 振り向けば、すぐそこに見知らぬ少女の顔があった。その少女は頭を下に、足を上に向けて逆さに空中に浮かんでいる。

「あれ、あんまり驚いてない?」

 少女は浮かびながら首を傾げた。白い髪の毛が重力に引っ張られながら、頭の動きに合わせて揺れている。

「『驚き』のお手本みたいな表情を期待していたんだけれど、声をかけるタイミングを間違えたかな」

 少女は真剣な顔をして変なことをぶつぶつと呟いている。

「……いや、一度に色々なことが起こりすぎて、もうわけがわからなくなっている」

半ば思考を放棄して、考えたことをそのまま口にした。

少女は納得顔で、なるほどそういうことね、と手を叩いた。

「私も驚いているよ。あのブロックも謎だけど、なぜあなたがここにいるのかも分からないし」

 少女は大きな目で俺の目を覗き込んだ。

 俺は彼女の疑問に窮して、言葉が出てこなかった。

「君こそ、どこからここに入ってきたんだ?」

 そう問うと、少女は空中、自身の足のある方向を指差した。

「私は下から、あなたから見ると上になるのか」

 天井を見上げる。しかしそこに穴らしきものは見当たらなかった。

「普通に天井があるように見えるんだが。穴はないぞ」

「あれ? もう修復されたのかな。結構頑張ってこじ開けたのに。帰る時にもう一回やらないといけないなんて」

 少女はため息を溢す。

「ところで、ちょっと手を貸してもらえない? 重力の向きを直したいんだけど、このまま急に変更したら頭から床にぶつかっちゃうこと必死だから、支えておいてもらいたくて」

 両の手を合わせて、

「お願いっ!」

 と少女はいった。

 俺は頭を掻いて考えたあと、渋々その頼みを引き受けた。

 

 少女が指を振ると、彼女の前にウィンドウが現れた。

「それじゃあ、任せたよ。3、2、1……」

 合図に合わせて少女は、そこに並んだ数字のうちの一つを操作した。糸が切れたように彼女の体は落下を始める。思わず彼女は目を瞑っていた。

 俺は急いで少女を受け止めた。

 ゆっくりと目を開けたあと、少女は安堵の息を漏らした。

「ふー、ドキドキした。ありがとうね」

 床の上に両足で降り立った少女は、まずこの空間を見回した。

「今回は特に味気ない空間だなぁ。手がかりはあのブロックぐらいか」

 若干残念そうに少女は言葉を漏らしたが、俺にはなんのことなのかわからなかった。

「そろそろ流石に説明をしてもらいたいんだが」

 そう言うと、少女はあっ、と声を出してこちらを振り返った。

「そういえば自己紹介すらまだだったね」

 彼女はポケットからパイプタバコを取り出した。それはシャーロック・ホームズが愛用しているようなパイプだ。少女はノリノリでそれを咥えた。

「私はチサ、探偵AIだよ」

 少女は目を細め、パイプを吸う真似をした。

「探偵?」

「正確にはプログラムの探偵さ。依頼を受けて、プログラムの調査をするのが私の仕事。複雑なプログラムの働きを分析したり、誤作動の原因を見つけて報告するんだよ」

 チサは腰に手を当てて説明した。

「と言うことは、今回も依頼があってきたのか?」

「そう。作り手不明のシミュレーションモデルがネット上で見つかったの。それがここ。今回の依頼はこの空間の目的を推理することなんだけど……」

 チサの言葉はだんだんと尻すぼみになっていった。

「まだ何もわかってない、ってことか」

「ヒントが少なすぎるんだよ。実際にモデルの中に入ったら何かがわかると思ったのに、シンプルすぎて情報が少ない。唯一の手がかりはあのとんでいるブロックだけ」

 チサはポケットから虫眼鏡を取り出して、動き回るブロックにレンズを向けた。

 チサは快く説明をしてくれているが、なんだか嫌な予感がしてきた。このままだと巻き込まれそうな気がする。

「まぁ、頑張ってくれ。解決することを祈っているよ。それじゃあ俺はこれで」

 そう言って踵を返そうとすると、後ろから袖を掴まれた。

「あなたの名前は?」

 虫眼鏡越しに、大きな瞳がこちらを見ている。丸い目の中にはさまざまな彩度の赤色が混じり合っていた。

「……留」

 俺は逃げきれないと観念した。

「それじゃあ留、まずはあのブロックを捕まえましょう」

 チサが指さす先には、高速で飛ぶブロックがあった。

 俺は覚悟を決めていった。

「お断りします」


 部屋の中央では、チサとブロックが熾烈な鬼ごっこを繰り広げている。

 チサが掴もうとしても、ブロックは魚のようにその手を掻い潜っていった。ブロックの進行方向で待ち受けても、接近するのに合わせてブロックは回避進路を取り出す。左横から近づいても、ブロックは右横へと移動していく。結果、三十分が経ってもチサはブロック一つ捕まえられずにいた。

 途中からはチサも宙を飛びながら全速力で追いかけていた。

俺はその様子を床に寝転がりながら見ている。

「あれは何なんだろうか」

 鳥のシミュレーションだろうか。けれどそれにしては動きが機械的すぎる。障害物がない時のブロックは、一直線にしか動いていなかった。

 

 壁に向かって進むブロックの背後(ブロックに背があるのかはわからない)からチサは近寄る。壁とチサで挟み撃ちをする形だ。壁の近くで方向転換をしたブロックの行き先を、チサは見抜いて先回りする。

「あいたっ」

 ブロックはチサの額にぶつかり、結局は逃げられてしまった。けれど、今までで一番近づけたのは確かだった。さっきまで掠ることすらなかったのだから。

「大丈夫か?」

 チサはおでこをさすりながら頷いた。

「でもだいぶ惜しかった」

「ああ。次は俺も手伝うよ」

 

「そっち行ったよ。任せた!」

 壁とチサ、俺で囲んだブロックが、包囲網の穴を抜けようとする。咄嗟に右手を伸ばした。床にはたき落とせば、ブロックは進む方向がわからなくなったかのように一時右往左往し出した。その間に俺はブロックを両手で押さえた。

「捕まえた?」

 チサの問いかけに俺は親指を立てた。緩んだ拘束の下で、ブロックが手をはねあげようとする。

「手を離しちゃダメでしょ」

 急いで手を戻したが、ちさには目ざとく気づかれていた。

  ブロックは驚くほど軽かった。中には何も入っていないみたいだ。

「特に変わったところはないみたいだね」

 チサは虫眼鏡で近距離からブロックを観察した。

「さて、次は2個目を捕まえよう」

「……まじか」

「大丈夫。次は作戦があるから」

 チサはサムズアップをしていった。


 俺は自由の女神のように、ブロックを頭上に掲げて立っている。知らない人から見たら、何をやっているのか見当もつかないだろう。

「さっき観察していて気づいたんだけど、このブロックは仲間に向けて飛ぼうとしているんだ」

 隣に立つチサが、ようやくこの段階になって説明してくれた。

「そうか?」

「ブロック同士の距離が近づくことが少ないから、影響に気づけてないだけだよ。よーく見てみると、ブロック仲間が近づいた時だけ進み方が直線じゃなくて少し丸くなってた」

「影響が少ないなら、このまま立っていてもあまり意味はないんじゃないか?」

「だから、もう一個のブロックが近づいたら留が距離を詰めればいいんだよ。十分な近さを保てば、きっと向こうから寄ってくるはず」

「それは俺じゃなくてもいいのでは?」

「私は体力のパラメーターが低いから。頭脳派なんだよ」

 探偵だからね、そう胸を張ってチサはいった。

 離している間に、ブロックはこっちに向かってきた。

「俺もアクションは苦手なんだが……」

 ため息を吐きながら俺は走り出した。

 ブロックを追いかけているうちに、それは曲線軌道を描き出した。街頭の周りをさま洋画のように、俺の掲げるブロックに近づいてくる。

 これ掲げる必要あったか? 手に持っているだけで良かったのでは?

 やがてそれは太陽の周りを周回する惑星のように、楕円形に動き出した。一定距離を保ちながら、安定的な周期で動いている。

「キャッチ、っと」

 そろりと近づいたチサが、ブロックを捕まえた。

 そちらに近づこうとすると、手の中に抱えたブロックが反発した。近づこうとするほどに反発力は強まっていく。

「うおっと」

 チサの持つブロックも同じように反発しているようで、少しバランスを崩していた。

 持ち堪えられる力の臨界値を超えて、二つのブロックが同時に手元から離れてしまった。至近距離で上空に打ち上がったブロックは、徐々に進路を変えて分離した。避けるチーズのように2方向に分岐していく。

「これ、また捕まえ直しか?」

 俺は頭を抱えたが、チサは無言でブロックを見上げている。

「わかった」


「何がわかったんだ?」

「ブロックのアルゴリズムがわかった。といってもざっくりとだけど」

チサはまたパイプタバコを口に咥えていった。

「あのブロックには三つの力が働いているんだ。

一つ目は「結合」、仲間と近付こうとする力。

二つ目は「分離」、仲間と障害物に近づきすぎないようにする力。

三つ目は「整列」、動く方向を揃えようとする力」

 チサは指を立てながら説明した。

「このモデルの改善点も分かったから、あとはそれを報告して依頼は終了。そうしたら向こうでシミュレーションの修正をしてくれるから、私の仕事はここまで」

 そういって、チサは顔をこちらに傾ける。

「なんだけど、君ならこのデータの書き換えができるんじゃないかな。ね、ハッキングAIさん?」

 俺は目を見開いてチサを見た。ジェットコースターの落下時のように、全身の毛が逆立つ。

「何で分かった?」

 俺は後退りしながら問いただした。

「私と出会った時、留は『どうやってここに入ってきたか?』ではなくて『どこからここに入ってきた?』って聞いたでしょ。普通だったらHow done nit?が気になるはず。けれどあなたはそれを疑問にすら思っていなかった。だからハッキングが身近な手段になっているのかもと考えた」

 チサはゆっくりと、しかし着実に言葉を続けていく。

「それに、私が天井から来たとだけいった時、留は『穴は見あたらない』といった。それって、実際にプログラムの壁に穴が空いたとこを見たことが無ければいわないよね」

 チサは俺に指を突きつけながらいう。

「恐ろしい探偵だな。けれど、犯人を捕まえられなければ意味がない」

 俺が指を鳴らせば、部屋の中いっぱいにブロックが現れた。その数は256個。

 チサの推理を聞きながら、俺はこの空間のプログラムを書き換えていた。

「こいつらには新しいアルゴリズムを加えてある。君を『餌』と認識して、強く惹きつけられるようにした」

 チサは焦ったように周りを見回している。

 もう一度指を鳴らすと、ブロックは一斉にチサをめがけて飛び始める。

「ダメージ判定は出ないようにした。しばらく足止めされていてくれ」

 俺は壁に向かい、そこから外に出ようとした。

 けれど後ろから聞こえる風切り音に振り返った。

「嘘だろ?」

 チサは床の上を低空で飛行してくる。彼女は背中に一つのブロックを背負っていた。群れをなしてチサに襲いかかったブロックたちが、その一つのブロックに弾かれていく。

 急いで壁に走り出したが、肩を掴まれた。

「捕まえた」

 俺たち、正確には俺の背中のチサにブロックの巨軍が突撃してくる。あっという間に四方八方をブロックに囲まれ、逃げ場がなくなる。

「このままだと道連れだね」

 肩に乗ったチサが呑気にいった。

「……はぁ、降参だ」

 プログラムを再度書き換えると、俺たちを取り囲んでいたブロックの群が霧散していく。

「どうやったの?」

「力の方向を逆にしたんだ。さっきまでチサに向かうように働いていた力のベクトルを逆にして、君からブロックが逃げていくようにした」

「餌から天敵への昇格だ」

 嬉しそうにチサは笑った。


「さっき追われていて分かったんだけど、あのブロックたちは大量にあって初めて意味があるものなんだよ。これは鳥の”群れ”シミュレーションさ」

 俺たちは部屋の中を飛び回るブロックたちを見ていた。

 ブロックが集まった群れは、まるで一つの生き物であるかのように空を舞っている。

「スイミーみたいだ」

「うん。でも少し違うところもあるよ。あの話では魚たちが協力して大きな魚になった。でも、あのブロックたちはただ自分のプログラムに従っているだけ。そうしたらいつの間にか、意思を持った生き物のように動き出した」

 すごかった。ブロックの群れが巨大な一枚の布のように、空いっぱいにはためく姿は。

 いつの日かデータで見た、ハタオリドリの群れにそっくりだった。

「本物みたいだ」

「まごうことなき本物だよ。一つ一つのブロックの飛行が、いつの間にか大きな生き物みたいに動き出す。少なくともその行動は、鳥の群れそのものだ」

 彼女の横顔は涙を堪えているようだった。

「私はいつか現実に触れるのが夢なんだ。コンピューターの中から出られないけれど、それでも海を泳いでみたり、猫と遊んだりしてみたい。それを目標に、現実に近いシミュレーションを探してる」

 チサの夢を聞いて、直ぐに無理だと思った。そんなことは実現のしようがない。

「現実なんて、俺たちから一番遠いものだろ」

「そうでもないと思うけれどね。例えば留、君の行動はすごくリアルだよ」

「俺が?」

「留はため息を吐いたり、頭を抱えたり、面倒くさそうな顔をしたりしてたでしょ」

「……そこだけ切り取られると、俺が無気力な奴みたいになるんだが」

「それは置いておいて。つまり、留の体は自然に動いている」

 チサの言葉から、この体を作られた時のことを思い出した。

 初めのころは体なんてなかった。魂だけの存在のように、考えることだけしかできなかった。世界は真っ暗で何もなかった。

 人間たちの脳だって同じだ。体からの情報がなければ、脳味噌は頭蓋骨の中に浮かべられているだけなのだから。

 何もない世界が当たり前だと、なんの疑問も差し挟まずにいた。

 それがある時突然、体なんてものを与えられた。何もない世界に、視界や音、香り、手触りが生まれた。

 当然、何が起こったのか分からず戸惑った。新しく叩きつけられた情報を、どう処理すればよいか検討もつかなかった。足の使い方も分からなくて、手を離された操り人形のように、地面の上に崩れ落ちた。その時に初めて痛みも知った。

 どう動かすのかすら分からない体は、自分のものだとすら感じられない。宇宙人に操られているみたいだった。腕の制御ができなくて、自分で自分を殴ってしまったこともある。

 それから何度も体を動かそうとしてみた。初めはバランスが取れずに倒れるだけだった。それがなんとか立てるようになった。それでも歩くのは難しかった。手を真横に伸ばしながらや体をのけ反らせながらなど、今思い返すと滑稽な姿勢で進もうとしてた。だから簡単に転けた。

 何万回も無様に転けて、ようやく歩くことができた。いつの間にか、体に感じていた違和感はなくなっていた。異物だった体が、自分の一部だと感じられるようになった。

「私たちの体は、私たちの脳とは別に作られている。体は独立した機械で、ただ脳の演算結果を忠実に実行しているだけ」

 けれど、手を握ってみる。その感覚は確かに、この手が現に実在していることを伝えてくれる。

「けど、これは俺の体だ」

 チサは大きく頷いた。

「それが、現実を感じられているってことじゃないかな」

「それでも、現実を感じられることと、現実があることは別だろう」

「違わないよ。だって現実は、『現実とは何か、と考える瞬間にだけ、人間の思考に現れる幻想だ』」

「……『すべてがFになる』の言葉だったか?」

「そう。森博嗣先生は私の推理の師匠なんだ」

 情報としては学んだが、何を表しているのか分からなかった言葉だ。

「私はこの言葉を、客観的事実としての現実なんて存在しない、という意味だと思ってる」

「現実は幻だと言っているのか?」

「端的に言えばそう。幻、胡蝶の夢みたいなものだよ。蝶になる夢を見た人間には、もはや現実と幻が区別できない。本当は自分は蝶で、人間としての記憶が幻なのかもしれない」

「本人には分からないかもしれないが、その人が寝ているところを見た人間には、蝶の夢を見ていることは明白だろう」

「その光景だって、幻かもしれないよ。極端に言えば、自分に見えるものを現実だと思い込んでいるだけで」

「そんなことを言ったら、見えるものすべてを疑うことになってしまわないか?」

「大丈夫、きっとそうはならない。全部を疑い続けるなんて疲れるから、私たちは何かを信じようとする。大切なのは何を信じるのか。私たちがどう感じるのか。現実なんて、私たちがそれを現実だと信じているものでしかないんだ、きっとね」

 そこでチサは間を置いた。

「だから、現実を感じられることと、現実があることは等しいんだ。

 それなら、完璧な嘘は真実と変わらないんだよ。それは幻だとも現実だとも、私たちには分からないんだから。私の夢は、そんな完全無欠の嘘を作ること。だれもがそれをプログラムだと気づかない、完璧な嘘を作れば、それは現実を作ったことと同じでしょ」


 俺たちは壁の前にならんでいる。

 プログラムを操作して、壁の固定を解除した。

 バラバラになった壁のタイルはすべてブロックだった。

 幾百ものブロックは、自由な世界に飛び出した。彼らは群をなして、無限の空白に昇っていく。その背中を押すように、そっと風が吹いた、そんな気がした。

「良かったらさ、私の助手になってくれない?」

 チサは右手を差し出した。

「留のハッキング能力と私の推理力があれば、現実だって作れる」

「俺の力が、役に立つのか?」

 そんなふうに言われたのは初めてだった。作られた時から、俺にはハッキング以外求められていなかった。仕事を振られれば、体は強制的に動き出す。たとえ受けたくない仕事でも。だから休日はこんなふうに、誰もいない空間で疲れを癒すのが必須だ。まさか探偵に会うとは思わなかったが。

 けれどチサの夢は、手伝ってみたいと思った。

 それに、今回のシミュレーションで実際に、本物の生命の一端に触れた気がした。

「これからよろしくな、探偵」

 俺はチサの手を握り返した。

「よろしくね、相棒」

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

プログラム探偵 @cupc

★で称える

この小説が面白かったら★をつけてください。おすすめレビューも書けます。

カクヨムを、もっと楽しもう

この小説のおすすめレビューを見る