Průzkum metod řešících problém indexování stromových datových struktur
A Survey on Tree Indexing Problem
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Karolina Hrnčiříková
Vedoucí práce
Šestáková Eliška
Oponent práce
Plachý Štěpán
Studijní obor
Teoretická informatikaStudijní program
Informatika 2009Instituce přidělující hodnost
katedra teoretické informatikyPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Stromové indexování je problém vyhledávání určitého typu dotazů v předzpracovaných datech, které mají tvar stromové struktury. Tento problém existuje v mnoha variantách. Jelikož jsme nenašli shrnutí, které by popisovalo různé varianty, v této práci jsme vypracovali jejich rešerši. V rámci ní jsme definovali čtyři kategorie, pomocí kterých lze varianty stromového indexování klasifikovat. Tyto kategorie jsou: typ indexovaného stromu, typ dotazů, co se počítá jako shoda a typ požadovaných odpovědí. Dále popisujeme tři řešení k tzv. subtree rejection problému, který se zabývá tím, zda se někde ve vstupním stromě nalézá daný podstrom. Řešení, která probíráme, jsou subtree pushdown automata, subtree oracle pushdown automata a nový algoritmus subtree finite automata. Rychlost odpovídání na dotazy se u všech tří řešení odvíjí od velikosti dotazu a nezáleží na velikosti předzpracovaného stromu. Abychom porovnali efektivitu těchto řešení v praxi, implementovali jsme je a otestovali na ohodnocených seřazených stromech s hloubkou maximálně 15. Nová indexovací technika subtree finite automata má nejlepší výsledky co se týče rychlosti postavení indexu a rychlosti odpovězení dotazu. A tree indexing problem is a special kind of tree pattern matching that preprocesses a given input tree to optimize locating one type of query within it. There are many variants of tree indexing problems, and to the best of our knowledge, there does not exist an overview of them. Therefore, we survey existing tree indexing problems and provide categories that help define them. The categories are the following: the type of input tree, the type of queries, what is considered a match, and the type of required answers. One tree indexing problem that we defined using these categories is the subtree rejection problem. This problem focuses on whether a given subtree is present in an input tree rather than where. We discuss two existing solutions to the subtree rejection problem. The solutions are subtree pushdown automata and subtree oracle pushdown automata. Moreover, we also propose an index based on a finite automaton, called the subtree finite automaton. Given an input tree and a query pattern, the query time of all three methods depends only on the size of the query pattern and not on the size of the preprocessed input tree. To assess the efficiency of the solutions in practice, we compare their performance on ranked ordered trees with heights of up to 15. In these experiments, subtree finite automata perform the best with respect to build and query time.
Kolekce
- Bakalářské práce - 18101 [349]