検索可能な圧縮タイプ


7

そこでANY、その後、圧縮されたファイルを検索することができ、ファイルを圧縮することができます圧縮タイプなしでファイルを解凍しますか?


3
オンザフライで解凍して検索できます。それ以外に、データや検索対象のかなり変わったフォーマットがない限り、私はそれを非常に疑っています。正確に何をしようとしていますか?
フォンブランド、2015

4
特定の要件について詳しく説明するために質問を編集することをお勧めします。標準の圧縮スキームのみに関心がありますか、それとも検索をサポートするように設計された通常とは異なる圧縮スキームを検討しますか?検索を高速化するために使用できるインデックスもサイドに格納する圧縮スキームを検討してもよろしいですか?また、どのような検索で問題がないかを明確にします。検索のためのオンザフライでの非圧縮は、有効なソリューションとしてカウントされますか?そうでない場合、なぜそうではないのですか?達成しようとしている特定の実行時間の目標はありますか?
DW

1
その編集はそれほど明快さを加えませんでした。圧縮ファイルの検索は、あなたが抱えている他の問題の解決策だと判断したようです。圧縮ファイルを検索して解決しようとしている問題は何ですか?
シュヴェルン2015

1
@Schwernまったく問題ありません。文字通り何でも、テクニックがすでに存在しているかどうかを知りたいだけです。私は頭の上から何も考えられませんでした。:)大胆なハハに "any"を入れても。私は文字通りの意味でそれを意味しました。
Albert Renshaw

3
合理的な回答を集めているように思われるこの質問を閉じる理由は何もありません。どうやらポスターはエントリーポイントを取得しようとしていることが問題であり、彼はそれらを取得しています。画像は事実上圧縮されたデータ(常に近似値です)ですが、解像度が同じでなくても、画像内のパターンを検索する検索手法があります。
バブー2015

回答:


12

FMインデックスなどの圧縮された自己インデックスにより、エントロピー圧縮された空間内で任意の部分文字列を検索できます。これらは基本的に圧縮されたサフィックス配列またはサフィックスツリーであり、多くの文献があります。

基本的な部分文字列検索は、選択されたデータ構造(ランク/選択データ構造の異なるタイプ)に応じて、長さkの時間でo(k)またはo(k log n)になります。単純なブール包含述語が必要か、各オカレンスのオフセットが必要か、またはより複雑なサフィックスツリー操作が必要かによって、さまざまな問題が発生します。前者は後者よりも少ないスペースと時間で実行できます。

文字列の検索と選択的解凍に関する本全体も含まれています。RossanoVenturiniによる「文字列の圧縮データ構造:文字列の検索と抽出」、2014 Springer Science&Business Media発行。


1
リンクの腐敗に強い方法で参照を与えてください。書籍、著者、タイトル、出版社、年は最低限認められています。
ラファエル

3

KWillets はFMインデックスに言及しました。FMインデックスがバロウズウィーラー変換に基づいていることは注目に値します、効率的な「ランク」クエリをサポートするインデックスとともに(およびbzipのベース)に。

BWTベースのインデックスは、インデックスもソース文字列の圧縮表現であり、元のファイルに解凍できるという意味で、自己インデックスです。ランクインデックスと共に選択インデックスを追加することで、解凍をより迅速に実行できます。ランク/選択インデックスは興味深いトピックであり、確認する価値があります。実用的な実装のための優れたリソースいくつかあります。

ただし、ここで取り上げたい主なポイントは、圧縮されたデータ構造のより一般的な概念の特別なケースです。圧縮されたデータ構造は、効率的な操作を実行するために圧縮解除する必要がない(または必要な圧縮解除の量に制限がある)データ構造です。

圧縮されたデータ構造は、理論上の制限と比較したオーバーヘッドに関してさらに分析できます。たとえば、簡潔なデータ構造には相対的なオーバーヘッドがあり、データ構造が大きくなるにつれて減少します。これは現在非常に活発な研究分野です。

BWT手法は、文字列以外のデータ構造にも適用できます。たとえば、同じアイデアがラベル付きツリー拡張され、圧縮された検索可能な表現になります。

したがって、圧縮してデータを検索する必要があるデータがある場合は、必ずしもファイルについて考える必要はありません。データには、利用できるより高いレベルの構造がある場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.