Pole komprimované přípony - Compressed suffix array

Ve vědě o počítačích , je přípona pole stlačený je stlačený datová struktura pro vzorů . Komprimovaná pole přípon jsou obecnou třídou datové struktury, která vylepšuje pole přípon . Tyto datové struktury umožňují rychlé hledání libovolného řetězce s poměrně malým indexem.

Vzhledem k tomu, textovou T s n znaků z abecedy å, komprimovaném přípona pole podporuje hledali libovolných vzorů v T . Pro vstupní vzor P o m znaků, doba vyhledávání je typicky O ( m ) nebo O ( m + log ( n )). Prostor se používá běžně , kde je k-tého řádu empirické entropie textového T . Čas a prostor pro sestavení komprimované matice přípon jsou obvykle .

Původní vytvoření instance komprimované matice přípon vyřešilo dlouhodobý otevřený problém tím, že ukázalo, že rychlé porovnávání vzorů bylo možné pouze za použití datové struktury v lineárním prostoru, konkrétně jednoho úměrného velikosti textu T , který bere bity. Konvenční pole přípon a strom přípon používají bity, které jsou podstatně větší. Základem pro datovou strukturu je rekurzivní rozklad pomocí „funkce souseda“, která umožňuje, aby pole přípon bylo reprezentováno jednou z poloviny jeho délky. Konstrukce se opakuje několikrát, dokud výsledné pole přípony nevyužije lineární počet bitů. Následující práce ukázala, že skutečný úložný prostor souvisí s entropií nultého řádu a že index podporuje vlastní indexování. Vázaný prostor byl dále vylepšen, aby se dosáhlo konečného cíle entropie vyššího řádu; komprese se získá rozdělením sousední funkce na kontexty vysokého řádu a komprimací každého oddílu pomocí waveletového stromu . Využití prostoru je v praxi extrémně konkurenceschopné s jinými nejmodernějšími kompresory a podporuje také rychlé porovnávání vzorů.

Přístupy do paměti vytvořené komprimovanými poli přípon a jinými komprimovanými datovými strukturami pro porovnávání vzorů obvykle nejsou lokalizovány, a proto bylo obtížné tyto datové struktury efektivně navrhnout pro použití v externí paměti . Nedávný pokrok využívající geometrickou dualitu využívá výhod blokového přístupu poskytovaného disky k významnému urychlení času I / O Kromě toho byl prokázán potenciálně praktický výkon vyhledávání pro pole komprimované přípony v externí paměti.

Open Source implementace

Existuje několik open source implementací komprimovaných polí přípon (viz Externí odkazy níže). Bowtie a Bowtie2 jsou implementace pole komprimovaných přípon s otevřeným zdrojovým kódem pro zarovnání čtení pro použití v bioinformatice . Knihovna Succinct Data Structure Library (SDSL) je knihovna obsahující celou řadu komprimovaných datových struktur včetně polí komprimovaných přípon. FEMTO je implementace komprimovaných polí přípon pro externí paměť. Kromě toho je na webových stránkách Pizza & Chili k dispozici celá řada implementací, včetně původních implementací indexu FM (viz externí odkazy).

Viz také

Reference

  1. ^ B c R. Grossi a JS Vitter, stlačeného suffixová pole a přípona stromy, s aplikacemi na text indexování a String Matching, SIAM Journal Computing, 35 (2), 2005, 378-407. Dřívější verze se objevila v Proceedings of the 32. ACM Symposium on Theory of Computing, květen 2000, 397-406.
  2. ^ a b Paolo Ferragina a Giovanni Manzini (2000). "Oportunistické datové struktury s aplikacemi". Sborník 41. výročního sympozia o základech informatiky. s. 390.
  3. ^ a b R. Grossi, A. Gupta a JS Vitter, High-Order Entropy-Compressed Text Indexes, Proceedings of the 14th Annual SIAM / ACM Symposium on Discrete Algorithms, January 2003, 841-850.
  4. ^ K. Sadakane, komprimované textové databáze s efektivními algoritmy dotazů založenými na komprimovaných příponových polích, Proceedings of the International Symposium on Algorithms and Computation , Lecture Notes in Computer Science, vol. 1969, Springer, prosinec 2000, 410-421.
  5. ^ L. Foschini, R. Grossi, A. Gupta a JS Vitter, Indexing Equals Compression: Experimental on Suffix Arrays and Trees , ACM Transactions on Algorithms , 2 (4), 2006, 611-639.
  6. ^ W.-K. Hon, R. Shah, SV Thankachan a JS Vitter, O indexování komprimovaného textu v entropii ve vnější paměti, Sborník konference o zpracování řetězců a vyhledávání informací , srpen 2009.
  7. ^ MP Ferguson, FEMTO: rychlé vyhledávání rozsáhlých sekvenčních sbírek , Sborník 23. výroční konference o kombinatorickém porovnávání vzorů , červenec 2012

externí odkazy

Implementace: