コード短編小説「エントロピー」
コード短編小説「エントロピー」
最初に失われたのは、挨拶だった。
人々はおはようを言わなくなり、かわりに短いシグナルを端末に流した。
signal("day.start")
それで十分だと思われていた。だが、応答はすぐに曖昧になり、やがて None が返るようになった。
神崎ユウは夜更けの街を歩きながら、残骸となったログを拾っていた。
アーカイブに保存されているのは、欠けた文字と時刻だけ。
[23:01] >>> ???
[23:01] <<< None
「会話は熱だった。だが熱は拡散し、戻ってこない」
彼はポケットのメモリスティックを握りしめた。そこには恋人の最後の発話が保存されている。
ただし――
checksum("aiueo") != checksum("aiueo")
# ビット腐敗により、同じ文字列は二度と一致しない
彼女の言葉は、完全には再現できなかった。
都市全体のサーバーは、徐々に情報を食い潰していた。
ファイル名は短縮され、テキストは圧縮され、解凍すると別の文章になっている。
人々はそれを「世界の劣化」と呼んだが、本当の名前は――エントロピー。
ユウは抵抗を試みた。
会話にハッシュをつけ、再構築を図ったのだ。
def speak(msg):
return {"body": msg, "hash": hash(msg)}
けれど、それすらも時間が経てば一致しなくなった。
hash("愛してる") と hash("愛してる") は、もう同じ数値を返さない。
やがて恋人のアーカイブの最後の一文も崩れた。
文字は暗号化されたように乱れ、残ったのはただの数列。
101010110011…
ユウは膝をついた。
「すべてはノイズに還るのか……」
そのとき、ふと気づいた。
数列の末尾に、小さなタグが残っていた。
entropy_limit = False
それは誰かが書き込んだ、未完成の条件分岐だった。
――世界の熱は必ず散逸する。しかし、それが絶対かどうかは、まだ証明されていない。
ユウは端末に指を走らせ、最後のプログラムを起動する。
def restore(bits):
for b in bits:
yield str(b)
return "hear me"
都市の空に光が広がり、ノイズの粒子が一瞬だけ整列する。
「おはよう」
微かな声が風に混じった。
返事はなかった。けれど、ユウは笑った。
――熱が散っても、わずかな秩序は残せる。
エントロピーは増大する。
だが、その中で人間は、返事を探すことだけはやめないのだ。
Discussion