Geometria obliczeniowa Wykład 10 Dualizacja liniowa c.d. 1. Poziomy 2. Otoczka wypukła Ciągi Davenporta-Schinzela Problemy optymalizacyjne 1. Problem wyważania.

Slides:



Advertisements
Podobne prezentacje
Sympleksy n=2.
Advertisements

Geometria obrazu Wykład 2
Temat: WIELOŚCIANY KLASA III P r.
Przygotowały: Jagoda Pacocha Dominika Ściernicka
Badania operacyjne. Wykład 2
Okręgiem o środku O i promieniu r nazywamy zbiór punktów płaszczyzny, których odległości od punktu O są równe r r - promień okręgu. r O O - środek.
CZWOROKĄTY Patryk Madej Ia Rad Bahar Ia.
Geometria obliczeniowa Wykład 1
Geometria obliczeniowa Wykład 2
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 7. Spójność i rozpięte drzewa
Geometria obrazu Wykład 13
Geometria obrazu Wykład 6
Geometria obrazu Wykład 2
„Własności figur płaskich” TRÓJKĄTY
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Nierówności (mniej lub bardziej) geometryczne
GEOMETRIA PROJEKT WYKONALI: Wojciech Szmyd Tomasz Mucha.
,, W KRAINIE CZWOROKĄTÓW ,, Adam Filipowicz VA SPIS TREŚCI
Rzut równoległy Rzuty Monge’a - część 1
MATEMATYKAAKYTAMETAM
TWIERDZENIE O STYCZNEJ I SIECZNEJ
Geometria obliczeniowa Wykład 8
Geometria obliczeniowa Wykład 9
Geometria obliczeniowa Wykład 3
Figury płaskie I PRZESTRZENNE Wykonała: Klaudia Marszał
Geometria obliczeniowa Wykład 4
Trójkąty.
Rzut cechowany dr Renata Jędryczka
FIGURY GEOMETRYCZNE.
Rzuty Monge’a cz. 1 dr Renata Jędryczka
Geometria obliczeniowa Wykład 7
II. Matematyczne podstawy MK
Wykład 6. Redukcje odwzorowawcze
PODSTAWOWE WŁASNOŚCI PRZESTRZENI
Geometria obliczeniowa Wykład 12
Geometria obliczeniowa Wykład 13
MECHANIKA I WYTRZYMAŁOŚĆ MATERIAŁÓW
Zasady przywiązywania układów współrzędnych do członów.
Przygotowała Zosia Orlik
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
Elementy geometrii analitycznej w przestrzeni R3
Własności figur płaskich
Pola i obwody figur płaskich.
Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie.
Grafika i komunikacja człowieka z komputerem
Geometria obliczeniowa Wykład 10
Grafika i komunikacja człowieka z komputerem
Najważniejsze twierdzenia w geometrii
Geometria obliczeniowa Wykład 12 Planowanie ruchu 1.Najkrótsza ścieżka między dwoma punktami. 2.Znajdywanie ścieżki między dwoma punktami. 3.Ruch postępowy.
Geometria obrazu Wykład 6
Geometria obliczeniowa Wykład 11 Algorytmy randomizowane 1.Programowanie liniowe w R 2. 2.Minimalne koło opisane na zbiorze punktów. Widzialność 1.Problem.
Autor: Marcin Różański
WIELOKĄTY Karolina Zielińska kl.v Aleksandra Michałek kl v
Grafika 2d - Podstawy. Kontakt Daniel Sadowski FTP: draver/GRK - wyklady.
Geometria obliczeniowa Wykład 13 Algorytmy randomizowane 1.Lokalizacja punktu w siatce trapezów. 2.Znajdywanie średnicy zbioru punktów w R 3. Algorytmy.
Obliczanie długości odcinków w układzie współrzędnych.
Figury płaskie Układ współrzędnych.
Figury płaskie.
Geometria obliczeniowa Wykład 3
GEODEZYJNE W PRZETRZENIACH METRYCZNYCH
Figury geometryczne.
Matematyka przed egzaminem czyli samouczek dla każdego
Geometria obliczeniowa Wykład 3
Geometria obliczeniowa Wykład 7
Geometria obliczeniowa Wykład 1
Jakub Szumański Adrian Wernicki
Geometria obliczeniowa Wykład 8
Zapis prezentacji:

Geometria obliczeniowa Wykład 10 Dualizacja liniowa c.d. 1. Poziomy 2. Otoczka wypukła Ciągi Davenporta-Schinzela Problemy optymalizacyjne 1. Problem wyważania 2. Problem mediany 3. One-line problem

Poziomy. Definicja. Poziomem punktu w układzie prostych U nazywamy liczbę prostych powyżej niego. Algorytm zbuduj podwójnie łączoną listę krawędzi dla układu U i dostatecznie dużej ramki ; for każda k  U do określ poziom lewego punktu przecięcia prostej k z ramką; przejdź po prostej k obliczając odpo- wiednie poziomy analizując kierunki prostych przecinajacych k ;

Analizując punkt przecięcia danej prostej k z innymi prostymi, obliczamy o ile w tym punkcie zmieni się watość poziomu, tzn. różnicę liczby pro- stych przecinających prostą k od dołu i liczby prostych przecinających k od góry. Lemat. Poziomy dla układu prostych można obliczyć w czasie O(n 2 ). Lemat. Poziomy nie muszą być równoliczne. Liczba wierzchołków poziomów skrajnych układu prostych jest równa rozmiarowi otoczki wypukłej zbioru punktów dualnych do prostych two- rzących układ (o ile nie ma krawędzi pionowych). Dowód. Proste odpowiadające punktom należącym do skrajnych poziomów nie rozdzielają zbioru punktów dualnych do prostych tworzących układ, czyli wierzchołki poziomów skrajnych odpowiadają krawędziom otoczki.

Otoczka wypukła. Znalezienie otoczki wypukłej zbioru punktów S jest równoważne znalezieniu górnej i dolnej obwiedni układu prostych dualnych do punktów z S. Algorytm oblicz zbiór prostych dualnych D(S) ; stwórz struktury danych dla obwiedni w postaci zrównoważonych drzew BST ; for każda prosta k  D(S) do wyszukaj punkty przecięcia k z obwiedniami ; aktualizuj struktury danych ;

Lemat. Każda prosta układu występuje w górnej (dolnej) obwiedni co najwyżej raz. Dowód. Przecięcie z inną prostą implikuje, że półprosta znajdująca się poniżej (po- wyżej) prostej przecinającej nie należy do obwiedni. Lemat. Otoczkę wypukłą zbioru n punktów na płaszczyźnie możemy wyznaczyć w czasie O(n log n). Dowód. Punkty przecięcia kolejnej dodawanej prostej z dotychczasowymi obwied- niami znajdujemy w czasie O(log n). Aktualizacja struktur danych wymaga czasu O(log n)  (liczba usuwanych krawędzi obwiedni +1). Łączna liczba usuwanych krawędzi nie może przekroczyć liczby krawędzi wstawianych, czyli O(n). Zatem złożoność algorytmu wynosi O(n log n).

Ciągi Davenporta-Schinzela. Uogólnijmy nasze rozważania. Definicja. Rozpatrzmy rodzinę I = {f n } funkcji kawałkami ciągłych określonych na R. Krzywą ue(x) = max{f n (x)} nazywamy obwiednią górną, a krzywą le(x) = min{f n (x)} nazywamy obwiednią dolną dla danej rodziny funkcji. Obwiednie możemy znaleźć np. łącząc metodę „dziel i rządź” oraz zamia- tanie. W ten sposób znajdujemy obwiednie dla małych podzbiorów rodziny funkcji I. Obwiednie te są funkcjami kawałami ciągłymi, których kolejne części tworzą fragmenty funkcji z I. Przedziały występowania poszcze- gólnych funkcji wyznaczają podział dziedziny określoności obwiedni. Następnie stosując zamiatanie z każdej pary obwiedni tworzymy jedną.

Definicja. Niech U=(u 1, u 2,..., u m ) będzie ciągiem o następujących własnościach: u i  {1, 2,..., n} dla każdego i, u i  u i+1 dla każdego i < m, Nie istnieje podciąg indeksów (i j ) długości s+2 taki, że 1  i 1 < i 2 <... < i s+2  m, a = u x, gdzie x  {i 1, i 3, i 5,....}, b = u y, gdzie y  {i 2, i 4, i 6,....}, 1  a  b  n. (tzn. w ciągu U nie ma podciągu o długości s+2 składającego się z przemiennie wystę- pujących dwóch wartości). Ciąg U posiadający powyższe własności na- zywamy (n,s) ciągiem Davenporta-Schinzela i oznaczamy przez DS(n,s). Maksymalną dłu- gość ciągu DS(n,s) oznaczamy przez s (n)

W powyższej definicji elementy ciągu U możemy interpretować jako ko- lejne fragmenty obwiedni tworzonej przez zbiór n funkcji. Jeśli dowolne dwie funkcje przecinają się ze sobą nie więcej niż s razy, to rozmiar takiej obwiedni jest ograniczony przez s (n). Fakt. Zachodzą następujące równości: 1 (n) = n, 2 (n) = O(n), 3 (n) = O(n  (n)), 4 (n) = O(n2  (n) ). Ogólnie: s (n) = O(n  (n) x ), gdzie x = O(  (n) s-3 ) i s > 3, 2s+1 (n) =  (n  (n)), gdzie  (n) jest odwrotnością funkcji Ackermanna. Lemat. Stosując metodę „dziel i rzadź” możemy obliczyć DS(n,s) w czasie O( s (n) log n).

Problem wyważania. Dla danej (zorientowanej) prostej k i zbio-ru punktów S, zbiór punktów leżących po lewej (po prawej) stronie prostej k oznacza- my jako SL(k) (odpowiednio SP(k)). Punkty leżące na prostej możemy rozdzielać dowol- nie. Problem. Pragniemy znaleźć prostą k taką, że sumy odległości od k punktów z S leżących po każdej ze stron tej prostej są równe, tzn.  p  SL(k) d(p,k) =  p  SP(k) d(p,k), gdzie d(p,k) oznacza odległość punktu p od prostej k.

Ustalmy kierunek prostej k. Zauważmy, że wyraz wolny w równaniu prostej k musi jest średnią wyrazów wolnych prostych równoległych do k i przechodzących przez punkty ze zbioru S. W przestrzeni dualnej proste równoległe odpowiadają punktom o tej samej współ- rzędnej x-owej. Zatem dla każdej wartości x współrzędna y-owa punktu D(k) jest średnią współrzędnych y-owych punktów odpowiadających pozostałym prostym. Średnia z funkcji liniowych jest funkcją liniową, więc zbiór rozwiązań problemu wyważania tworzy w przestrzeni dualnej prostą.

Wniosek Wszystkie proste będące rozwiązaniami problemu wyważania przechodzą przez jeden punkt. W ten sposób pokazaliśmy, że rozwiązaniem problemu wyważania jest środek ciężkości zbioru S. Lemat. Rozwiązanie problemu wyważania dla zbioru n punktów na płaszczyźnie można znaleźć w czasie O(n).

Problem mediany. Pragniemy znaleźć takie proste, które dzie-lą dany zbiór n punktów na płaszczyźnie S na połowy, tzn. oddzielają  (n+1)/2  punktów z S od reszty. Punkty leżące na prostej rozdzielamy dowolnie. Możemy ten problem sformułować także w następujący sposób: dla danego kierunku znajdź prostą, dla któ- rej osiągane jest : min l-prosta  p  S d(p,l). Fakt. Dla danego kierunku prostej istnieje dokład- nie jedno rozwiązanie, gdy liczba punktów w S jest nieparzysta. Dla parzystej liczby punk- tów rozwiązanie nie musi być jednoznaczne.

W przestrzeni dualnej obrazem rozwią- zania są zbiory punktów, które wzdłuż osi y-ów mają powyżej i poniżej tyle sa- mo prostych odpowiadających punktom ze zbioru S, tzn. punkty z  (n+1)/2  -tego poziomu lub znajdujące się między  (n+1)/2  -tym a (  (n-1)/2  )-szym poziomem. Lemat. Zbiór wszystkich median jesteśmy w stanie wyznaczyć w czasie O(n 2 ).

One-line problem. Znajdywanie najwęższego pasa, w którym zawiera się dany n-elementowy zbiór S. Problem ten jest znany jako one-line pro- blem - szukanie prostej minimalizującej od- ległość od niej najdalszego punktu S, tzn. szukamy prostych, dla których osiągane jest: min l-prosta max p  S d(p,l). Brzegi pasa musza być styczne do otoczki wypukłej zbioru S (w przeciwnym razie moglibyśmy zmniejszyć szerokość pasa). Definicja. Pary przeciwległych wierzchołków otoczki wypukłej (tzn. punkty styczności pasa) na- zywamy punktami antypodycznymi.

Lemat Otoczka wypukła o n wierzchołkach ma n par punktów antypodycznych. Dowód. Obrót pasa o  oznacza, że jego brzegi były styczne do otoczki we wszy- stkich jej punktach. Zmiana punktów styczności oznacza zmianę pary punk- tów antypodycznych. Szerokość pasa jest określona przez iloczyn długości odcinka łączącego punkty antypodyczne i sinus kąta między tym odcinkiem a brzegiem pasa. Wniosek. Pas ma minimalną szerokość, gdy kąt między odcinkiem łączącym punkty antypodyczne a brzegiem pasa jest najmniejszy, tzn. gdy proste wyzna- czające brzegi pasa są w położeniach skrajnych. Zatem jedna z prostych musi zawierać bok otoczki wypukłej.

Algorytm znajdź otoczkę wypukłą ; znajdź punkty antypodyczne ; oblicz minimalne szerokości pasów dla każdej pary punktów antypodycznych ; znajdź minimalną szerokość i położenie pasów będących rozwiązaniem problemu; Lemat. One-line problem można rozwiązać w czasie O(n log n) lub w czasie O(n), gdy otoczka wypukła zbioru S. Wniosek. Jeśli otoczka wypukła zbioru S ma n wierzchołków, to istnieje co najwyżej n różnych rozwiązań problemu.

Na podstawie wcześniejszych rozważań możemy również stworzyć algorytm roz- wiązujący one-line problem metodą duali- zacji. znajdź układ prostych w prostych w prze- strzeni dulanej odpowiadający zbiorowi S ; oblicz dolną i górną obwiednię ; znajdź odległości wierzchołków obwiedni od przeciwległych krawędzi ; szerokości pasów odpowiadające wyzna- czonym odległościom ; znajdź minimalną szerokość pasa ; Lemat. Stosując dualizację możemy rozwiązać one-line problem w czasie O(n log n).