R*-дере́ва (англ. R*-trees) — один з варіантів R-дерев, що застосовується для індексування просторової інформації. R*-дерева мають дещо вищу конструктивну витратність, ніж стандартні R-дерева, оскільки дані можуть потребувати повторного вставляння; але отримуване в результаті дерево зазвичай матиме кращу продуктивність запитів. Як і стандартне R-дерево, воно може зберігати як точкові, так і просторові дані. Його було запропоновано Норбертом Бекманом, [en], Ральфом Шнайдером та Бернардом Сіґером 1990 року.
Різниця між R*-деревами та R-деревами
Для продуктивності R-дерев вирішальне значення має мінімізація як покриття, так і перекриття. Перекриття означає, що при запиті або вставлянні даних розкриття потребує більш ніж одна гілка дерева (через те, що дані розщеплюються на області, які перекриваються). Мінімізоване покриття покращує продуктивність обрізання, дозволяючи частіше виключати з пошуку цілі блоки, зокрема для заперечних запитів за областями. R*-дерево намагається зменшувати і те, і те, застосовуючи поєднання переглянутого алгоритму розщеплення вузлів, та поняття примусового повторного вставляння при переповненні вузлів. Це ґрунтується на тому спостереженні, що структури R-дерев є дуже чутливими до порядку, в якому вставляються їхні записи, так що структура, побудована вставлянням (а не одночасним завантаженням) є ймовірно не зовсім оптимальною. Вилучення та повторне вставлення записів дозволяє їм «знаходити» місце в дереві, що може бути більш підхожим, ніж їхнє первинне місце.
При переповненні вузла частина записів вилучається з нього, і вставляється до дерева повторно. (Для того, щоби уникнути невизначеного каскаду повторних вставлень, спричиненого наступним переповненням вузла, процедура повторного вставлення може викликатися лише по одному разу на кожному рівні дерева при вставленні будь-якого одного нового запису.) Це дає ефект вироблення краще кластеризованих груп записів у вузлах, що зменшує покриття вузлів. Крім того, фактичні розщеплення вузлів часто відкладаються, в результаті чого середня заповненість вузла зростає. Повторне вставлення можна розглядати як метод поступової оптимізації дерева, що спрацьовує при переповненні вузла.
Продуктивність
- Покращена евристика розщеплення виробляє блоки, що є ближчими до квадратних, і відтак кращими для багатьох застосувань.
- Метод повторного вставляння оптимізує наявне дерево, але підвищує складність.
- Дієво підтримує як точкові, так і просторові дані одночасно.
Дія різних евристик розщеплення на базі даних із поштовими округами Німеччини | ||||||
---|---|---|---|---|---|---|
|
Алгоритм та складність
- Для операцій здійснення запитів та вилучення R*-дерево використовує той же самий алгоритм, що й звичайне R-дерево.
- При вставлянні R*-дерево застосовує комбіновану стратегію. Для листкових вузлів мінімізується перекриття, тоді як для внутрішніх вузлів мінімізуються поширення та площа.
- При розщепленні R*-дерево застосовує топологічне розщеплення, яке обирає вісь розщеплення на основі периметру, а потім мінімізує перекриття.
- На додачу до вдосконаленої стратегії розщеплення, R*-дерево також намагається уникати розщеплень, повторно вставляючи об'єкти та піддерева до дерева, під натхненням ідеї балансування B-дерева.
Таким чином, складність запиту та вилучення у найгіршому випадку є ідентичними до R-дерева. Стратегія вставляння до R*-дерева з є складнішою за стратегію лінійного розщеплення () R-дерева, але менш складною, ніж стратегія квадратичного розщеплення () для розміру блока в об'єктів, і має незначний вплив на загальну складність. Загальна складність вставляння залишається порівня́нною з R-деревом: повторне вставлення зачіпає щонайбільше одну з гілок дерева, і відтак повторних вставлень, порівня́нно до виконання розщеплення на звичайному R-дереві. Отже, в цілому складність R*-дерева є такою ж, як і в звичайного R-дерева.
Реалізація повного алгоритму мусить враховувати багато межових випадків та вузьких ситуацій, не обговорених тут.
Примітки
- Beckmann, N.; ; Schneider, R.; Seeger, B. (1990). The R*-tree: an efficient and robust access method for points and rectangles. (PDF). с. 322. doi:10.1145/93597.98741. ISBN . Архів оригіналу (PDF) за 17 квітня 2018. Процитовано 19 березня 2016. (англ.)
- Guttman, A. (1984). R-Trees: A Dynamic Index Structure for Spatial Searching. (PDF). с. 47. doi:10.1145/602259.602266. ISBN . Архів оригіналу (PDF) за 9 березня 2016. Процитовано 19 березня 2016. (англ.)
- Ang, C. H.; Tan, T. C. (1997). New linear node splitting algorithm for R-trees. У Scholl, Michel; Voisard, Agnès (ред.). Proceedings of the 5th International Symposium on Advances in Spatial Databases (SSD '97), Berlin, Germany, July 15–18, 1997. Lecture Notes in Computer Science. Т. 1262. Springer. с. 337—349. doi:10.1007/3-540-63238-7_38. (англ.)
Посилання
Вікісховище має мультимедійні дані за темою: R*-дерево |
Бібліотеки, що містять R*-дерева:
- Документація rtree Boost.Geometry (C++)
- Документація пакету R*-tree ELKI [ 19 квітня 2014 у Wayback Machine.] (Java)
- Бібліотека просторового індексування [ 14 серпня 2014 у Wayback Machine.] (C++)
- Модуль R*-tree SQLite [ 25 липня 2014 у Wayback Machine.] (C)
- Бібліотека TPIE [ 12 жовтня 2014 у Wayback Machine.] (C++)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
R dere va angl R trees odin z variantiv R derev sho zastosovuyetsya dlya indeksuvannya prostorovoyi informaciyi R dereva mayut desho vishu konstruktivnu vitratnist nizh standartni R dereva oskilki dani mozhut potrebuvati povtornogo vstavlyannya ale otrimuvane v rezultati derevo zazvichaj matime krashu produktivnist zapitiv Yak i standartne R derevo vono mozhe zberigati yak tochkovi tak i prostorovi dani Jogo bulo zaproponovano Norbertom Bekmanom en Ralfom Shnajderom ta Bernardom Sigerom 1990 roku Riznicya mizh R derevami ta R derevamiR derevo pobudovane povtoryuvanimi vstavlennyami v en V comu derevi ye nevelichke perekrittya yake daye v rezultati dobru produktivnist zapitiv Chervoni ta sini opisani pryamokutniki ye indeksnimi blokami zeleni opisani pryamokutniki ye listkovimi vuzlami Dlya produktivnosti R derev virishalne znachennya maye minimizaciya yak pokrittya tak i perekrittya Perekrittya oznachaye sho pri zapiti abo vstavlyanni danih rozkrittya potrebuye bilsh nizh odna gilka dereva cherez te sho dani rozsheplyuyutsya na oblasti yaki perekrivayutsya Minimizovane pokrittya pokrashuye produktivnist obrizannya dozvolyayuchi chastishe viklyuchati z poshuku cili bloki zokrema dlya zaperechnih zapitiv za oblastyami R derevo namagayetsya zmenshuvati i te i te zastosovuyuchi poyednannya pereglyanutogo algoritmu rozsheplennya vuzliv ta ponyattya primusovogo povtornogo vstavlyannya pri perepovnenni vuzliv Ce gruntuyetsya na tomu sposterezhenni sho strukturi R derev ye duzhe chutlivimi do poryadku v yakomu vstavlyayutsya yihni zapisi tak sho struktura pobudovana vstavlyannyam a ne odnochasnim zavantazhennyam ye jmovirno ne zovsim optimalnoyu Viluchennya ta povtorne vstavlennya zapisiv dozvolyaye yim znahoditi misce v derevi sho mozhe buti bilsh pidhozhim nizh yihnye pervinne misce Pri perepovnenni vuzla chastina zapisiv viluchayetsya z nogo i vstavlyayetsya do dereva povtorno Dlya togo shobi uniknuti neviznachenogo kaskadu povtornih vstavlen sprichinenogo nastupnim perepovnennyam vuzla procedura povtornogo vstavlennya mozhe viklikatisya lishe po odnomu razu na kozhnomu rivni dereva pri vstavlenni bud yakogo odnogo novogo zapisu Ce daye efekt viroblennya krashe klasterizovanih grup zapisiv u vuzlah sho zmenshuye pokrittya vuzliv Krim togo faktichni rozsheplennya vuzliv chasto vidkladayutsya v rezultati chogo serednya zapovnenist vuzla zrostaye Povtorne vstavlennya mozhna rozglyadati yak metod postupovoyi optimizaciyi dereva sho spracovuye pri perepovnenni vuzla ProduktivnistPokrashena evristika rozsheplennya viroblyaye bloki sho ye blizhchimi do kvadratnih i vidtak krashimi dlya bagatoh zastosuvan Metod povtornogo vstavlyannya optimizuye nayavne derevo ale pidvishuye skladnist Diyevo pidtrimuye yak tochkovi tak i prostorovi dani odnochasno Diya riznih evristik rozsheplennya na bazi danih iz poshtovimi okrugami NimechchiniR derevo iz kvadratichnim rozsheplennyam Guttmana Ye bagato blokiv yaki prostyagayutsya zi shodu na zahid po vsij Nimechchini i blokiv yaki silno perekrivayutsya Ce ne korisno dlya bilshosti zastosuvan sho chasto potrebuyut lishe nevelichkoyi pryamokutnoyi oblasti yaka peretinayetsya z bagatma smugami R derevo iz kvadratichnim rozsheplennyam Guttmana Ye bagato blokiv yaki prostyagayutsya zi shodu na zahid po vsij Nimechchini i blokiv yaki silno perekrivayutsya Ce ne korisno dlya bilshosti zastosuvan sho chasto potrebuyut lishe nevelichkoyi pryamokutnoyi oblasti yaka peretinayetsya z bagatma smugami R derevo z linijnim rozsheplennyam Ana Tana Hocha smugi j ne prostyagayutsya nastilki daleko yak v Guttmana problema smug zachipaye majzhe kozhen listkovij blok Listkovi bloki perekrivayutsya lishe trohi ale katalogovi bloki perekrivayutsya R derevo z linijnim rozsheplennyam Ana Tana Hocha smugi j ne prostyagayutsya nastilki daleko yak v Guttmana problema smug zachipaye majzhe kozhen listkovij blok Listkovi bloki perekrivayutsya lishe trohi ale katalogovi bloki perekrivayutsya Topologichne rozsheplennya R dereva Bloki perekrivayutsya duzhe malo oskilki R derevo namagayetsya minimizuvati perekrittya blokiv a povtorne vstavlennya dodatkovo optimizuye ce derevo Takozh strategiya rozsheplennya ne viddaye perevagu smugam otrimuvani v rezultati bloki ye nabagato korisnishimi dlya poshirenih kartografichnih zastosuvan Topologichne rozsheplennya R dereva Bloki perekrivayutsya duzhe malo oskilki R derevo namagayetsya minimizuvati perekrittya blokiv a povtorne vstavlennya dodatkovo optimizuye ce derevo Takozh strategiya rozsheplennya ne viddaye perevagu smugam otrimuvani v rezultati bloki ye nabagato korisnishimi dlya poshirenih kartografichnih zastosuvan Algoritm ta skladnistDlya operacij zdijsnennya zapitiv ta viluchennya R derevo vikoristovuye toj zhe samij algoritm sho j zvichajne R derevo Pri vstavlyanni R derevo zastosovuye kombinovanu strategiyu Dlya listkovih vuzliv minimizuyetsya perekrittya todi yak dlya vnutrishnih vuzliv minimizuyutsya poshirennya ta plosha Pri rozsheplenni R derevo zastosovuye topologichne rozsheplennya yake obiraye vis rozsheplennya na osnovi perimetru a potim minimizuye perekrittya Na dodachu do vdoskonalenoyi strategiyi rozsheplennya R derevo takozh namagayetsya unikati rozsheplen povtorno vstavlyayuchi ob yekti ta piddereva do dereva pid nathnennyam ideyi balansuvannya B dereva Takim chinom skladnist zapitu ta viluchennya u najgirshomu vipadku ye identichnimi do R dereva Strategiya vstavlyannya do R dereva z O Mlog M displaystyle mathcal O M log M ye skladnishoyu za strategiyu linijnogo rozsheplennya O M displaystyle mathcal O M R dereva ale mensh skladnoyu nizh strategiya kvadratichnogo rozsheplennya O M2 displaystyle mathcal O M 2 dlya rozmiru bloka v M displaystyle M ob yektiv i maye neznachnij vpliv na zagalnu skladnist Zagalna skladnist vstavlyannya zalishayetsya porivnya nnoyu z R derevom povtorne vstavlennya zachipaye shonajbilshe odnu z gilok dereva i vidtak O log n displaystyle mathcal O log n povtornih vstavlen porivnya nno do vikonannya rozsheplennya na zvichajnomu R derevi Otzhe v cilomu skladnist R dereva ye takoyu zh yak i v zvichajnogo R dereva Realizaciya povnogo algoritmu musit vrahovuvati bagato mezhovih vipadkiv ta vuzkih situacij ne obgovorenih tut PrimitkiBeckmann N Schneider R Seeger B 1990 The R tree an efficient and robust access method for points and rectangles PDF s 322 doi 10 1145 93597 98741 ISBN 0897913655 Arhiv originalu PDF za 17 kvitnya 2018 Procitovano 19 bereznya 2016 angl Guttman A 1984 R Trees A Dynamic Index Structure for Spatial Searching PDF s 47 doi 10 1145 602259 602266 ISBN 0897911288 Arhiv originalu PDF za 9 bereznya 2016 Procitovano 19 bereznya 2016 angl Ang C H Tan T C 1997 New linear node splitting algorithm for R trees U Scholl Michel Voisard Agnes red Proceedings of the 5th International Symposium on Advances in Spatial Databases SSD 97 Berlin Germany July 15 18 1997 Lecture Notes in Computer Science T 1262 Springer s 337 349 doi 10 1007 3 540 63238 7 38 angl PosilannyaVikishovishe maye multimedijni dani za temoyu R derevo Biblioteki sho mistyat R dereva Dokumentaciya rtree Boost Geometry C Dokumentaciya paketu R tree ELKI 19 kvitnya 2014 u Wayback Machine Java Biblioteka prostorovogo indeksuvannya 14 serpnya 2014 u Wayback Machine C Modul R tree SQLite 25 lipnya 2014 u Wayback Machine C Biblioteka TPIE 12 zhovtnya 2014 u Wayback Machine C