Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | dawn-price |
View: | 53 times |
Download: | 0 times |
Trie-join
Hatékony trie-fa alapú módszerek string hasonlósági összekapcsolásra
Fazakas Róbert (FAROAAI.ELTE), Maczika Száva (MASRAAI.ELTE), Rákos Rudolf (RARRABI.ELTE)Az adatbázisrendszerek elméleti alapjai – ELTE-IK, 2012
Jianhua Feng, Jiannan Wang, and Guoliang Li. 2012. Trie-join: a trie-based method for efficient string similarity joins. The VLDB Journal 21, 4 (August 2012), 437-461. DOI=10.1007/s00778-011-0252-8 http://dx.doi.org/10.1007/s00778-011-0252-8
String hasonlósági összekapcsolásSzerkesztési távolságTrie-faAlgoritmusokOptimalizációk
Tartalom
String hasonlósági összekapcsolás
Szerkesztési távolság
Példa0. ebay1. kebay2. kobay3. koby
Levenshtein távolságKét string egymásba való átalakításához szükséges műveletek minimális száma.
MűveletekBeszúrásTörlésMegváltoztatás
Szerkesztési távolság meghatározása
Dinamikus programozással 0 1 2 3 4
e b a Y
0
1 k
2 o
3 b
4 y
0 1 2 3 4
1 1 2 3 4
2 42 2 32 2 3
3 3 2 3 4
4 4 3 3 3
ÖtletA csúcsok nem tárolnak adatokat (kulcsokat).
Az adatok a csúcsokhoz vezető utakat határozzák meg.
DefinícióEgy adott csúcshoz tartozó adat (kulcs) a csúcs leszármazottjaihoz tartozó adatok (kulcsok) prefixe.
AlkalmazásokAsszociatív adatszerkezetekHalmazok
Trie-fa
Trie-fa
Példa
b
a
g y
e
a
g
y
e
b
a
y
k
o
b
e y
Algoritmusok
Trie-keresés
Trie-bejárás
ÖtletA Trie-fába történő beszúrásakor számítsuk ki egy csúcs aktív csúcsainak halmazát.
MegjegyzésAz aktív csúcs tulajdonság szimmetrikusFrissíteni kell a korábban kiszámolt aktív csúcs halmazokat.
ProblémaMinden csúcsra tárolja az aktív csúcsok halmazát.
Trie-dinamikus
Trie-ÚtVerem
Trie-ÚtVerem
Trie-ÚtVerem példa
bay
bag
ebay
beagy
b
a
g y
e
a
g
y
e
b
a
y
Bináris-Trie-ÚtVerem algoritmus (egy halmazra)
Trie-bejárás, Trie-ÚtVeremVágási technikák
Hosszúsági vágásEgyszeres-ág vágásSzámolásos vágás
Bináris-Trie-ÚtVeremLevél optimalizációTrie-méret optimalizáció
Optimalizációk
A cikk tartalmazInkrementális algoritmus változatokatPéldákatRészletes magyarázatokatTételeket, bizonyításokatKísérleti eredményeketÖsszehasonlításokat más algoritmusokkal
Megjegyzések
Kérdések
Köszönjük a figyelmet.Kérdések?