THcomp

THcomp とは、架空のファイル圧縮プログラムの名称である。"Tower of Hanoi compress" の略で「ハノイの塔」に由来する。

概要 
アスキーネットの junk.test に 1989年5月13日に書き込まれたファイル圧縮プログラムについてのジョークであり、非常識に効率の良いファイル圧縮ソフトが junk.test にアップロードされたという設定であった。

このジョーク発表以後、圧縮ソフトの話題においてジョークであると明示されずに THcomp に言及される事があり、実在するソフトウェアであると信じてしまう人もいる（ただしジョークソフトとして作成されたものは存在する）。

背景 
このジョークが書かれた当時のパソコン通信では速度が 300bps,1200bps という利用者も多く、2400bps へ移行しつつある時期であった。電話料金の節約のためにファイルのアップロードやダウンロードにあたっては 1byte でも小さい事が望まれていた。日本国内では LHA の前身である LHarc などが広く使用され始めており、パソコン通信利用者のファイル圧縮ソフトへの関心が高かった。また利用者層が一般に広まってない時代であることから、。

動作 
以下で説明されるその内容は、当然ながら架空のものである。

圧縮実行時には実行順に各ファイルに固有の番号を順次割当て、圧縮されたファイルはその番号だけが書かれたものとなる。展開時にはその番号にもとづき圧縮実行時のファイルの実体が復元される。28 個目までのファイルには順次 00h-FFh が割り当てられるため圧縮後は 1byte の大きさになり、216 個目までのファイルに対しては FFFFh までが割り当てられるため圧縮後は 2byte の大きさになる（なお、THcomp自身は0バイトになる、という意味深な設定もある）。

原理としては、どこかに（あるいは論理的に）存在する巨大なデータベースと通信して、そのデータベースへのファイルの登録と登録番号の取得、あるいは登録番号からファイルの取得、という作業をおこなっているものとするのが単純な解釈であろう。つまり、実際には「圧縮」ではなく「アーカイブ」を行っている（「圧縮ツール」と「アーカイブツール」は、昔のパソコンでは一体だったほうが便利であったため、ユーザはしばしば混同した）。また、離れた地点でほぼ同時に圧縮を実行したとしてそれぞれに連番を振るには、何らかの通信か謎の技術が必要である。なお実際の技術としては、連番ではなく、メッセージダイジェストを使用すれば分散ハッシュテーブルのようなものとなる。また、信号合成などの技術で、あらかじめパターンを用意しておき、その番号のみをデータとする、といったものもある。

ただし、作者の元の意図は少し違い、未来に作られ得る全てのファイルを予測したうえで、それらに対して順番に番号付けが得られるハッシュ関数というもの（ある種の完全ハッシュ関数のようなものか）だった、と後に書いている。（この原理のほうが、ジョークを構成している最後の書き込みに示されている「THcompのREADMEファイル」にあるハノイの塔#由来の伝説を引用した説明とも一致し、従って名前の説明にもなっている）

注

外部リンク 
Pen - PFYP - THcomp - 0

ジョーク
パソコン通信
データ圧縮