-skeletony w przestrzeniach R2 i R3 Mirosław Kowaluk Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Dla danego zbioru P zawierającego n punktów w Rm -skeletonami nazywamy rodzinę grafów o wierzchołkach z P, parametryzowaną przez wartość , takich, że dwa punkty x,y P są połączone krawędzią, gdy żaden inny punkt z P nie należy do obszaru R(x,y,), gdzie: 1. Dla = 0, R(x,y,) jest odcinkiem xy . x 2. Dla 0 < < 1, R(x,y,) jest częścią wspólną dwóch kul o promieniu d(x,y)/2, których brzegi zawierają oba punkty x i y. = 0,95 0,8 y 3. Dla 1 < , R(x,y, ) jest częścią wspólną dwóch kul o promieniu d(x,y)/2 i środkach odpowiednio w punktach (1-/2)x+(/2)y oraz (/2)x+(1-/2)y. 4. Dla = , R(x,y,) jest nieskończonym pasem prostopadłym do prostej przechodzącej przez x i y, którego brzeg zawiera x i y. =1 =2 = x y Przykład. =1 =2 = Zastosowania. Modelowanie powierzchni. (http://www.iah.bbsrc.ac.uk/phd/gisruk95.html) Analiza zdjęć medycznych. (http://noodle.med.yale.edu/~robinson/) Optymalizacja radiowych sieci bezprzewodowych. Własności -skeletonów. -skeleton dla zbioru punktów P i = 1 nazywamy grafem Gabriela (GG(P)) (Gabriel,Sokal 69), a dla = 2 nazywamy grafem relatywnego sąsiedztwa (RNG(P)) (Toussaint 80). Twierdzenie (Kirkpatrick,Radke 85). MST(P) RNG(P) GG(P) DT(P) z z x y y x w Konstrukcja –skeletonów. Twierdzenie (Supowit 83). RNG(P) w R2 można znaleźć w czasie O(n log n). Twierdzenie (Matula,Sokal 84). GG(P) w R2 można znaleźć w czasie O(n log n). Twierdzenie (Jaromczyk,Kowaluk 87) –skeletony (dla 1 2) w R2 można wyznaczyć z DT(P) w czasie O(n). Dowód. Z DT(P) usuwamy krawędzie nienależące do –skeletonu. Z każdego wierzchołka prowadzimy ścieżki eliminujące krawędzie kolejnych trójkątów triangulacji. Jeśli wierzchołek eliminuje jedną krawędź trójkąta, to z pozostałych dwóch może wyeliminować tylko dłuższą. Zatem łączące się ścieżki eliminujące biegną dalej razem. Stosując operacje FIND-UNION na eliminowanych krawędziach, po dojściu do wyeliminowanych wcześniej krawędzi, możemy w zamortyzowanym czasie stałym przejść na koniec odpowiedniego ciągu wyeliminowanych krawędzi i kontynuować sprawdzanie. Ponieważ przez każdą krawędź przechodzą co najwyżej dwie ścieżki eliminujące (w przeciwnych kierunkach), więc wykonujemy O(n) sprawdzeń. Daje to liniową złożoność algorytmu. Przykład. Generowanie DT.krawędzie. Wyeliminowane Ścieżka Ścieżki eliminiujące. wyeliminowanych eliminująca dla wybranego krawędzi.wierzchołka. Mówimy, że punkty ze skończonego zbioru P Rm są w położeniu ogólnym, gdy żadne m+1 z nich nie leży na wspólnej hiperpłaszczyźnie i żadne m+2 z nich nie leżą na wspólnej sferze. Twierdzenie (Jaromczyk,Kowaluk 91). RNG(P) w R3 w położeniu ogólnym punktów w metryce Lp (dla 1 < p < ) ma O(n3/2+) krawędzi i można go znaleźć w czasie O(n2). Twierdzenie (Agarwal, Matoušek 92). RNG(P) w R3 w położeniu ogólnym punktów w metryce Lp (dla 1 < p < ) ma O(n4/3) krawędzi i można go znaleźć w oczekiwanym czasie O(n3/2+). Twierdzenie (Chazelle,Edelsbrunner,Guibas,Hershberger,Seidel,Sharir 90). GG(P) w R3 może mieć (n2) krawędzi. Fakt. RNG(P) w Rm dla m > 3 może mieć (n2) krawędzi. Niech L(u,v) oznacza długość najkrótszej ścieżki w grafie łączącej wierzchołki u i v spójnego grafu G w R2, a D(u,v) oznacza odległość między u i v. Współczynnik rozpięcia S grafu G definiujemy jako S = max (u,v) G L(u,v)/D(u,v) . L(u,v) u D(u,v) v Twierdzenie (Keil,Gutwin 92). Współczynnik rozpięcia DT(P), gdzie |P| = n, wynosi O(1). Twierdzenie (Bose,Devroye,Evans,Kirkpatrick 02). Współczynnik rozpięcia RNG(P), gdzie |P| = n, wynosi (n). Współczynnik rozpięcia GG(P), gdzie |P| = n, wynosi O(n1/2). Dziękuję za uwagę.