Jaki jest najgorszy przypadek losowego algorytmu triangulacji przyrostowej delauny?

9

Wiem, że oczekiwany najgorszy czas działania randomizowanego przyrostowego algorytmu triangulacji delauny (jak podano w geometrii obliczeniowej ) to . Istnieje ćwiczenie sugerujące, że najgorszym środowiskiem uruchomieniowym jest . Próbowałem skonstruować przykład, w którym tak naprawdę jest, ale jak dotąd nie udało się.O(nlogn)Ω(n2)

Jeden z tych prób było przygotowanie i obciążenie wartości zadanej w taki sposób, że podczas dodawania punktu w etapie , o krawędzie są utworzone.prrr1

Inne podejście może obejmować strukturę punkt-lokalizacja: Spróbuj ułożyć punkty tak, aby ścieżka w strukturze punkt-lokalizacja w celu zlokalizowania punktu w kroku była jak najdłuższa.prr

Mimo to nie jestem pewien, które z tych dwóch podejść jest poprawne (jeśli w ogóle) i chętnie skorzystam z kilku wskazówek.

Tedil
źródło
3
Spróbuj umieścić wszystkie punkty na krzywej dla niektórych dobrze wybranych . y=xrr
Peter Shor,

Odpowiedzi:

9

Pierwsze podejście można sformalizować w następujący sposób.

Niech będzie dowolnym zbiorem punktów na dodatniej gałęzi paraboli ; to znaczy, dla niektórych dodatnich liczb rzeczywistych . Bez utraty ogólności załóżmy, że punkty te są indeksowane w kolejności rosnącej: .Pny=x2

P={(t1,t12),(t2,t22),,(tn,tn2)}
t1,t2,,tn0<t1<t2<<tn

Twierdzenie: W triangulacji Delaunaya zP, skrajnie lewy punkt (t1,t12) jest sąsiadem każdego innego punktu w P.

Twierdzenie to oznacza, że ​​dodanie nowego punktu (t0,t02) do P z 0<t0<t1 dodaje nnowe krawędzie triangulacji Delaunaya. Zatem indukcyjnie, jeśli stopniowo narastamy triangulację DelaunayaPwstawiając punkty w kolejności od prawej do lewej , całkowita liczba utworzonych krawędzi Delaunay wynosiΩ(n2).


Możemy udowodnić roszczenie w następujący sposób. Dla dowolnych rzeczywistych wartości0<a<b<c, pozwolić C(a,b,c) oznacz unikalny okrąg przez punkty (a,a2),(b,b2),(c,c2).

Lemat: C(a,b,c) nie zawiera żadnego punktu (t,t2) gdzie a<t<b lub c<t.

Dowód: Przypomnij sobie cztery punkty(a,b),(c,d),(e,f),(g,h) są okrągłe, jeśli i tylko wtedy, gdy

|1aba2+b21cdc2+d21efe2+f21ghg2+h2|=0
Tak więc punkt (t,t2) leży na kole C(a,b,c) wtedy i tylko wtedy gdy
|1aa2a2+a41bb2b2+b41cc2c2+c41tt2t2+t4|=0
To nie jest trudne (na przykład zapytaj Wolfram Alpha), aby rozwinąć i uwzględnić 4×4 wyznacznik do następującej postaci:
()(ab)(ac)(bc)(at)(bt)(ct)(a+b+c+t)=0
A zatem, (t,t2) leży na C(a,b,c) wtedy i tylko wtedy gdy t=a, t=b, t=club t=abc<0. Ponadto, ponieważ0<a<b<c, te cztery korzenie są odrębne, co oznacza, że ​​parabola faktycznie przecina się C(a,b,c)w tych czterech punktach. Wynika, że(t,t2)leży w środku C(a,b,c) wtedy i tylko wtedy gdy abc<t<a lub b<t<c.
Jeffε
źródło
Dziękuję, chociaż tak naprawdę chciałem tylko podpowiedzi (bez dowodu);)
Tedil