Vizualizácia stromových indexov (bakalárska práca)
-
Upload
valentine-lawrence -
Category
Documents
-
view
41 -
download
3
description
Transcript of Vizualizácia stromových indexov (bakalárska práca)
![Page 1: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/1.jpg)
Vizualizácia stromových indexov(bakalárska práca)
autor: Miroslav Sajkovedúci práce: Mgr. Martin
Šumák
![Page 2: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/2.jpg)
Motivácia• vizualizácia vs. výpis info o strome
(hromada čísel je neprehľadná)• vizualizácia vs. kontrolné algoritmy
(nemožné sledovanie zmien vlastností)• výrazná pomoc pri úprave algoritmov• edukatívne účely
![Page 3: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/3.jpg)
Ciele• Navrhnutie univerzálneho
objektového modelu pre vizualizáciu s.i. a vyhľadávanie nad nimi• Vytvorenie aplikácie s grafickým
prostredím pre vizualizáciu vybraných indexov (R-Tree, M-Tree)
![Page 4: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/4.jpg)
Problémy• Rýchla vizuálna kontrola správnosti
správania algoritmov
• Univerzálnosť pre rôzne stromové indexy
![Page 5: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/5.jpg)
R-Tree• Rozšírením B-Tree• Výškovo vyvážený strom• Geometrickou interpretáciou dát sú
obdĺžniky (kvádre, hyper-obdĺžniky)• Každý nelistový uzol obsahuje dcérske uzly
a ohraničujúci obdĺžnik každého uzla• Listové uzly obsahuje samotné dáta
![Page 6: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/6.jpg)
![Page 7: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/7.jpg)
M-Tree• Rozšírením B-Tree• Výškovo vyvážený strom• Geometrickou interpretáciou dát sú
kruhy (gule, ..)• Každý nelistový uzol obsahuje dcérske
uzly a ohraničujúci kruh každého uzla• Listové uzly obsahujú samotné dáta
![Page 8: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/8.jpg)
![Page 9: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/9.jpg)
R-Tree• Koreň, uzly, listy• Uzol vie dcérske uzly• Uzol vie ohraničujúci
obdĺžnik každého uzla• List drží dáta• Geometricky v 2D
obdĺžnik
M-Tree• Koreň, uzly, listy• Uzol vie dcérske uzly• Uzol vie ohraničujúci
kruh každého uzla• List drží dáta• Geometricky v 2D
kruh
• Štruktúra rovnaká• Rozdielne geometrické reprezentácie• Necháme vykresľovanie na index!
![Page 10: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/10.jpg)
Objektový návrh• Pomocou rozhraní vnútim stromom
a dátam funkcionalitu vykresľovania• Rozhranie DrawableObject• Rozhranie DrawableResultObject• Rozhranie DrawableTree
![Page 11: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/11.jpg)
Rozhranie DrawableObject• drawObject – vykreslenie objektu
schovaného za dátami (kruh/obdĺžnik)• getObjectId – vráti id objektu
![Page 12: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/12.jpg)
Rozhranie DrawableResultObject
• getDrawableObject – vráti objekt• getValue – vráti vzdialenosť od bodu
![Page 13: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/13.jpg)
Rozhranie DrawableTree• draw – rekurzívne vykreslenie celého stromu
od koreňa (len vykreslenie dát)• drawNode – vykreslenie uzla s ohraničujúcim
K/O a všetkými dcérskymi uzlami• addFromViewer – spracovanie dát z
kresliacej plochy na pridanie do stromu• getRootNode – vrátenie koreňa pre JTree • knnQuery – spracovanie dát pre dopyt a
vrátenie zoznamu DrawableResultObject-ov
![Page 14: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/14.jpg)
Prechádzanie stromom• Odlíšenie ohraničujúcich K/O
hrúbkou čiary podľa levelu (čím bližšie ku koreňu, tým hrubšia čiara)• Odlíšenie dátových K/O podľa farby
(všetky dátové objekty rovnakou farbou ako ohraničujúci K/O)• Neprejdené časti stromu šedou
![Page 15: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/15.jpg)
Vizualizácia R-stromu
![Page 16: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/16.jpg)
Vizualizácia M-stromu
![Page 17: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/17.jpg)
Ďalšie indexy• Štruktúry rovnaké pri väčšine indexov• Nevyváženosť nie je problém• Info o dátach nie len v uzloch –
teoreticky to nie je problém, nechávame na programátorovi• Implementácia je pri správnom
priradení rozhraní jednoduchá
![Page 18: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/18.jpg)
Plán do blízkeho budúcna
• Doladenie bugov aplikácie• Dopísanie a odovzdanie záverečnej
práce
![Page 19: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/19.jpg)
Literatúra• A. Guttman: R-Trees: A Dynamic Index Structure
for Spatial Searching. SIGMOD Conference 1984• B. Spell: Java: Programujeme profesionálně.
Computer Press 2002, ISBN 80-7226-667-5• D. Jacko: Indexovanie a triedenie objektov
pomocou R-stromov (Diplomová práca). UPJŠ 2008
![Page 20: Vizualizácia stromových indexov (bakalárska práca)](https://reader035.fdocument.pub/reader035/viewer/2022062221/56812abc550346895d8e81c1/html5/thumbnails/20.jpg)
Ďakujem za pozornosť