🐍

コード短編小説「エントロピー」

に公開

コード短編小説「エントロピー」

最初に失われたのは、挨拶だった。
人々はおはようを言わなくなり、かわりに短いシグナルを端末に流した。

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