Streszczenie wykładu 13
Geometria obliczeniowa jest działem
informatyki, który zajmuje się poszukiwaniem i badaniem algorytmów
służących do rozwiązywania problemów geometrycznych. Geometria
obliczeniowa znajduje zastosowania między innymi w grafice
komputerowej,
robotyce i statystyce.
W tym wykładzie oprócz kilku metod badania wzajemnego
położenia obiektów geometrycznych, przedstawimy problem otoczki
wypukłej, który jest najważniejszym problemem geometrii obliczeniowej.
Otoczka wypukła jest najmniejszym wielokątem wypukłym ograniczającym
dany zbiór punktów. W wykładzie przedstawimy trzy algorytmy
rozwiązywania problemu otoczki. Pierwszy algorytm, tzw. algorytm
trójkątów, wyznacza zbiór punktów należących do otoczki wypukłej, z
kosztem O(n4), gdzie n jest liczbą danych punktów. Drugi z
algorytmów, to algorytm Grahama, który nie tylko znajduje punkty
otoczki, ale też podaje kolejność ich występowania na obwodzie otoczki.
Koszt tego algorytmu jest istotnie lepszy O(n lg n). Ostatnie z
rozważanych rozwiązań problemu otoczki, to algorytm Jarvisa. Tu koszt
konstrukcji otoczki istotnie zależy od wyniku, a dokładniej od liczby
punktów otoczki wypukłej i wynosi O(kn), gdzie n jest liczbą
rozważanych punktów zbioru, a k liczbą wierzchołków otoczki wypukłej.
Jeśli z góry znamy liczbę wierzchołków konstruowanej otoczki i
jest ona niezależna od liczby rozważanych punktów, to koszt algorytmu
Jarvisa jest liniowy. W przypadku pesymistycznym, np. wtedy, gdy
wszystkie punkty leżą na obwodzie koła, koszt algorytmu Jarvisa jest
kwadratowy.
Warto zauważyć, że problem otoczki wypukłej jest jednym z pierwszych problemów geometrycznych, dla których
znaleziono nietrywialne dolne oszacowanie złożoności W(n lg n).
Algorytm Grahama jest więc optymalnym rozwiązaniem tego zadania.