パスワードを忘れた? アカウント作成
6038675 journal
プログラミング

Endowsの日記: 雑記 : THcomp その2

日記 by Endows

THcomp の解説の中で、『時計の問題』と言われるものについて (自分の理解に誤りがあるのかもしれないが) 未だに疑問に思っていたりする。

THcomp 以外の一般の圧縮ソフトについて考えると、実際にファイルを圧縮したものでなくとも、その圧縮ソフトの圧縮形式に合致するよう計算してファイルを作成すれば、展開は可能であると考えられる。 (実際にはファイルサイズやチェックサムが正しくなるよう計算で作成するのは難しいかも知れないが。)
この場合、展開した結果のファイルは、それまでに誰かが作成・圧縮したものである必要は無い。

THcomp も同様の条件であるとすれば、 THcomp の圧縮ファイルはマジックナンバーやチェックサム等を含まない純粋な連番なので、割当済かどうかにかかわらず、任意のファイルを THcomp で展開出来るということになる。

何故それが出来ないのかというと、 THcomp が『ユーザーが THcomp 圧縮を行った順に、小さい方から連番でファイルを割り当てていく』=『ユーザーが THcomp 圧縮を行うまで展開先ファイルが確定しない』という仕様だからで、これが『時計の問題』だと考えている。

しかし、もし THcomp が『ユーザーが THcomp 圧縮を行った順に、小さい方から連番でファイルを割り当てていく』のではなく、『ユーザーがどのファイルをどの順で圧縮するかを既に知っている』のであれば、割当済かどうかにかかわらず展開できるのではないだろうか。

『超ハッシュ関数』や『少なくとも THcomp 同士は (どんな形でも) 通信していないことになってます。』といった解説から、私は後者 (ユーザーがどのファイルをどの順で圧縮するかを既に知っている) であるような印象を受けていて、それならば『時間の問題』は考えなくて良いのではないかと思っている。

もちろんそのようなものが存在したら『ラプラスの悪魔』そのものなので、現実にはありえないけれども。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...