Geometria obliczeniowa Wykład 11

Slides:



Advertisements
Podobne prezentacje
Ekonometria WYKŁAD 10 Piotr Ciżkowicz Katedra Międzynarodowych Studiów Porównawczych.
Advertisements

Jak majtek Kowalski wielokąty poznawał Opracowanie: Piotr Niemczyk kl. 1e Katarzyna Romanowska 1e Gimnazjum Nr 2 w Otwocku.
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
„MATEMATYKA JEST OK!”. Figury Autorzy Piotr Lubelski Jakub Królikowski Zespół kierowany pod nadzorem mgr Joanny Karaś-Piłat.
FIGURY.
Funkcja liniowa Przygotował: Kajetan Leszczyński Niepubliczne Gimnazjum Przy Młodzieżowym Ośrodku Wychowawczym Księży Orionistów W Warszawie Ul. Barska.
W KRAINIE TRAPEZÓW. W "Szkole Myślenia" stawiamy na umiejętność rozumowania, zadawania pytań badawczych, rozwiązywania problemów oraz wykorzystania wiedzy.
Algorytmy Informatyka Zakres rozszerzony
KOMBINATORYKA.
Matematyka przed egzaminem czyli samouczek dla gimnazjalisty Przygotowała Beata Czerniak FUNKCJE.
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
W KRAINIE CZWOROKĄTÓW.
Sieci przepływowe: algorytmy i ich zastosowania.
Renata Maciaszczyk Kamila Kutarba. Teoria gier a ekonomia: problem duopolu  Dupol- stan w którym dwaj producenci kontrolują łącznie cały rynek jakiegoś.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Geometria obliczeniowa Wykład 13
Konstruowanie robotów z wykorzystaniem Vex IQ
Metody Badań Operacyjnych
Okrąg i koło Rafał Świdziński.
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
RUCH KULISTY I RUCH OGÓLNY BRYŁY
Ciąg arytmetyczny Opracowały : Iwona Głowacka i Małgorzata Jacek.
Twierdzenia Pitagorasa wykonanie Eryk Giefert kl. 1a
Pamięci Henryka Pawłowskiego
Liczby pierwsze.
Opis ostrosłupa. Siatka ostrosłupa.
Kąty Kąty w kole Odbicia Osie symetrii
FIGURY.
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
ALGORYTMY I STRUKTURY DANYCH
MECHANIKA 2 Wykład Nr 3 KINEMATYKA Temat RUCH PŁASKI BRYŁY MATERIALNEJ
Wstęp do Informatyki - Wykład 3
Opracowała: Monika Grudzińska - Czerniecka
Geometria obliczeniowa Wykład 7
KLASYFIKACJA CZWOROKĄTÓW
Geometria obliczeniowa Wykład 8
Geometria obliczeniowa Wykład 10
Materiały pochodzą z Platformy Edukacyjnej Portalu
Zajęcia przygotowujące do matury rozszerzonej z matematyki
Geometria obliczeniowa Wykład 8
Elementy fizyki kwantowej i budowy materii
Kąty w kole.
ALGORYTMY I STRUKTURY DANYCH
Problem Plecakowy (Problem złodzieja okradającego sklep)
Podstawy informatyki Zygfryd Głowacz.
Grafika i komunikacja człowieka z komputerem
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Statystyka i Demografia
MATEMATYKAAKYTAMETAM
Figury geometryczne.
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
Wytrzymałość materiałów
Matematyka Zadania i objaśnienia Jakub Tchórzewski.
Prawa ruchu ośrodków ciągłych c. d.
Elementy Kombinatoryki
Andrzej Majkowski informatyka + 1.
Grazyna Mirkowska Matematyka Dyskretna PJWSTK 2001
Własności asymptotyczne metody najmniejszych kwadratów
Zapis prezentacji:

Geometria obliczeniowa Wykład 11 Randomizowane algorytmy optymalizacyjne Programowanie liniowe w R2. Minimalne koło opisane na zbiorze punktów. Widzialność Problem galerii. Ochrona wypukłych podzbiorów zbiorów punktów. Iluminacje. Grafy łukowe.

Podstawowe metody stosowane w algorytmach randomizowanych. Metoda Las Vegas. Metoda ta zawsze daje poprawne rozwiązanie. Natomiast czas trwania algo-rytmu może być zmienny w zależności od układu danych. Przykładem takie-go algorytmu może być np. Quickhull lub dowolny algorytmy przyrostowy z losowo uporządkowanymi danymi. Metoda Monte Carlo. Metoda ta zawsze kończy się w ustalonym czasie, ale może z pewnym praw-dopodobieństwem zwrócić zły wynik bądź zwraca wynik tylko z pewną do-kładnością. Przykładem takiego algorytmu może być np. szukanie ścieżki łą-czącej dwa punkty w labiryncie przy losowym wyborze kierunku poruszania się lub losowe próby lokalizacji punktu na płaszczyźnie podzielonej na obszary. Formalnie efektywność takiego algorytmu jest zmienną losową określoną na przestrzeni możliwych losowych ciągów danych. Wartość oczekiwana takiej zmiennej nazywana jest oczekiwanym czasem działania.

Przykład. Pole koła o promieniu 1 (wartość ). 421/27 = 3,111 4221/289 = 3,059

Programowanie liniowe w R2. Problem. Dana jest liniowa funkcja celu c (postaci ax+by) oraz n warunków brzegowych (zbiór H nierówności liniowych aix + biy + ci  0, dla i = 1,2, ... , n) opisujących obszar dopuszczalny D, w którym poszukujemy punktu maksymalizującego (minimalizującego) wartość funkcji c.

Algorytm if obszar wyznaczany przez półpłaszczyzny z H jest ograniczony w kierunku wzrostu wartości funkcji c i nie jest pusty then określ półpłaszczyzny h1, h2 ograni- czające wzrost wartości funkcji c, punkt przecięcia ich brzegów x:= (h1)(h2) i D:= h1  h2 else return(„Brak rozwiązania”); for h  H-{h1,h2} do if x  h then D := D  h; if D   then x := {q: c(q) = max p(h)D c(p)} return(x, c(x)); Funkcja celu: max 3x+2y Warunki brzegowe: y - 0,5x - 3  0 y - 5  0 y + 2x - 17  0 -y + 0,5x - 3  0 -y + x - 7  0 y + x - 10  0

Twierdzenie Problem programowania liniowego w R2 dla n warunków brzegowych można rozwiązać w czasie oczekiwanym O(n) z wykorzystaniem O(n) pamięci. Dowód. Niech vk będzie punktem, w którym funkcja c przyjmuje maksimum (minimum) w obszarze wyznaczanym przez k półpłaszczyzn, a hk k-tą półpłaszczyzną. Zdefiniujmy zmienną losową Xk przyjmującą wartość 1, gdy vk-1  hk oraz 0 w przeciwnym przypadku. Ponieważ znalezienie nowego maksimum (rozwiązanie problemu jednowymia-rowego programowania liniowego), wymaga czasu O(n) (można to zrobić w czasie O(log n) - ale pociąga to za sobą zmiany w strukturze i problemy z jej aktualizacją, których chcemy uniknąć), więc oczekiwany czas działania algorytmu wynosi E(nk=3 O(k)Xk) = nk=3 O(k)E(Xk) . Wartość E(Xk) szacujemy stosując tzw. analizę wsteczną. W tym celu badamy, jak zmienia się problem, gdy mając k warunków brzegowych, odejmiemy jedną z półpłaszczyzn. Punkt, w którym funkcja c ma maksimum (minimum) może ulec zmianie, gdy odejmiemy co najwyżej dwie spośród półpłaszczyzn wyzna-czających obszar (wyznaczają one wierzchołek, w którym przyjmowane jest maksimum (minimum) - jeśli przez ten punkt przechodzi więcej prostych będą-cych brzegami danych półpłaszczyzn, to może się zdarzyć, że usunięcie dowol-nej półpłaszczyzny nie wpływa na wartość funkcji celu. Zatem E(Xk)  2/k-2 . Stąd nk=3 O(k)E(Xk) = nk=3 O(1) = O(n) .

Minimalne koło opisane na zbiorze punktów. Problem. Dla danego zbioru punktów na płaszczyźnie P znajdź minimalne koło zawierające wszystkie punkty z P. Weźmy losową permutację punktów z P. Niech Pi := {p1, ... , pi} a Di będzie minimal-nym kołem zawierającym Pi. Lemat . Dla 2 < i < n mamy: jeśli pi  Di-1, to Di = Di-1, jeśli pi  Di-1, to pi leży na brzegu Di.

Załóżmy, że dane są dwa punkty z P leżące na brzegu minimalnego koła. MinDisc2P(P, q1, q2) D0 := najmniejsze koło z q1, q2 na brzegu; for k:=1 to n do if pk  Dk-1 then Dk := Dk-1 else Dk := koło z q1, q2, pk na brzegu; return Dn;

Załóżmy teraz, że znamy jeden punkt z P leżący na brzegu minimalnego koła. MinDisc1P(P, q) Oblicz losową permutację p1, ... , pn punk-tów z P; D1 := najmniejsze koło z p1, q na brzegu; for j:=2 to n do if pj  Dj-1 then Dj := Dj-1 else Dj := MinDisc2P({p1,..., pj-1}, pj, q); return Dn;

Ostatecznie nasz program wygląda nastę-pująco. MinDisc(P) Oblicz losową permutację p1, ... , pn punk-tów z P; D2 := najmniejsze koło zawierające {p1, p2}; for i:=3 to n do if pi  Di-1 then Di := Di-1 else Di := MinDisc1P({p1,..., pi-1}, pi); return Dn;

Lemat. Niech P będzie zbiorem punktów w R2, a Q, być może pustym, zbiorem punktów w R2, dla których P  Q =  oraz p  P. Wtedy zachodzą następujące warunki: Jeśli istnieje koło, które zawiera P i wszystkie punkty na brzegu są z Q, to najmniejsze takie koło jest wyznaczone jednoznacznie (oznaczmy je przez md(P,Q)). Jeśli p  md(P-{p},Q), to md(P,Q) = md(P-{p},Q). Jeśli p  md(P-{p},Q), to md(P,Q) = md(P-{p},Q{p}). Wniosek. MinDisc poprawnie oblicza minimalne koło zawierające zbiór punktów. Twierdzenie. Minimalne koło zawierające zbiór n punktów na płaszczyźnie można obliczyć w oczekiwanym czasie O(n), używając w pesymistycznym przypadku pamięć rozmiaru O(n).

Dowód. Oszacowanie rozmiaru pamięci wynika z faktu, że wszystkie trzy algorytmy MinDisc , MinDisc1P i MinDisc2P potrzebują O(n) pamięci. Czas działania MinDisc2P wynosi O(n). MinDisc1P działa w czasie liniowym dopóki nie zachodzi konieczność wywołania MinDisc2P. Prawdopodobieństwo takiego zdarzenia liczymy wykorzystując analizę wsteczną. Ustalmy zbiór {p1,..., pi}. Niech Di będzie minimalnym kołem zawierającym {p1,..., pi}, które ma q na swoim brzegu. Załóżmy, że usuwamy jeden z punktów z {p1,..., pi}. Koło Di ulega zmianie, gdy usuwamy jeden z trzech (lub dwóch) punktów na brzegu (gdy punktów jest więcej, usunięcie jednego z nich nic nie zmienia). Jednym z tych punktów jest q, więc usunięcie co najwyżej dwóch punktów powoduje zmniejszenie koła. Prawdopodobieństwo, że pi jest jednym z tych punktów wynosi 2/i. Zatem możemy oszacować oczekiwany czas działania MinDisc1P przez O(n) + ni=2O(i)2/i = O(n). Stosując identyczne rozumowanie dla MinDisc stwierdzamy, że oczekiwany czas działania tego algorytmu wynosi O(n).

Problem galerii. Dany jest wielokąt prosty wyobrażający galerię sztuki. Znajdź minimalną liczbę strażników (tzn. punktów należących do wielo-kąta) takich, że każdy punkt wielokąta będzie widzialny dla co najmniej jednego strażnika. Definicja. Czasem interesuje nas tylko przypadek, gdy strzeżone są jedynie krawędzie wielokąta. Czy istnieje wielokąt i takie ustawienie strażników, w którym cały jego brzeg jest strzeżony a wnętrze niekoniecznie ? Punkt x należący do wielokąta F jest widzialny z punktu v F, gdy odcinek należy do F.

Twierdzenie. Decyzyjny problem galerii w R2 jest NP-zupełny. Dowód. Chcemy znaleźć odpowiedź na pytanie, czy k strażników wystarcza do ochrony galerii. Aby udowodnić, że problem galerii należy do klasy NP wystarczy zgadnąć pozycje strażników, a następnie w czasie wielomianowym sprawdzić, czy cały wielokąt jest przez nich strzeżony. W celu pokazania NP-trudności tego problemu, przeprowadzimy redukcję z problemu 3-CNF-SAT. 3-CNF-SAT P GALERIA W tym celu, dla danej 3-CNF-formuły logicznej skonstruujemy galerię, która może być strzeżona przez q strażników wtedy i tylko wtedy, gdy formuła jest spełniona. Literałom, klauzulom i zmiennym występującym w formule przypisujemy następujące fragmenty brzegu galerii.

Fragment brzegu galerii odpowiada-jący pojedynczemu literałowi. Fragment brzegu galerii odpowiada-jący pojedynczej klauzuli. Pozycja n odpowiada wartości lite-rału false, a pozycja t wartości true. Aby punkt z był strzeżony co najmniej jeden literał w klauzuli musi mieć wartość true. Fragment brzegu galerii odpowiada-jący zmiennej. Aby punkt u był strzeżony, strażnik musi znajdować się w punkcie F lub T (wartościowanie zmiennej). n t z n t F T u

Dodatkowe występy na brzegu we fragmentach brzegu galerii odpowiada-jących zmiennym są tak umieszczone, aby były strzeżone przez strażnika odpowiadającego zmiennej lub straż-nika odpowiadającego wartości literału zawierającego tą zmienną lub jej ne-gację. Każdemu literałowi odpowiadają dwa występy, po jednym w każdej odnodze brzegu galerii odpowiadającej warto-ściowaniu zmiennej. Wszystkie wy-stępy w odnodze mogą być strzeżone przez strażnika umieszczonego w punkcie odpowiadającym wartościo-waniu zmiennej. lj3 = xi n F T t xi xk lm2 = xk n T t F

Układ strażników dla formuły (x1x2 x3)(x1x2x3)(x1x2x3).

Wklejając odpowiedniki klauzul i zmiennych w brzeg prostokąta dostajemy dla formuły o k klauzulach i m zmiennych wielokąt o 34k+10m+4 wierzchołkach. Strażnik w punkcie x obserwuje prostokąt i widzi wnętrza występów odpowiadających zmiennym. Ponieważ każda klauzula musi być spełniona, więc istnieje przynajmniej jeden strażnik w punkcie zaznaczonym jako t. Występy odpowiadające literałom są strzeżone, bo przy każdym z nich w jednym z wierzchołków n lub t stoi strażnik. Wierzchołki u są strzeżone przez strażników stojących w odpowiednich wierzchołkach F lub T (w jednym z nich zawsze stoi strażnik, w zależności od wartości zmiennej). Pozostałe występy w elementach odpowiadających zmiennym, są chronione przez strażników w punkcie odpowiadającym wartości zmiennej lub w punktach określających wartości literałów zawierających tą zmienną. Zatem wielokąt można ochronić z pomocą 3k+m+1 strażników wtedy i tylko wtedy, gdy dana formuła o k klauzulach i m zmiennych jest spełniona.

Lemat. Liczba strażników w galerii o n wierzchołkach jest nie mniejsza od 1 i nie większa niż n. Dowód. Jest oczywiste, że musi być co najmniej jeden strażnik. Gdy umieścimy strażników w wierzchołkach wielokąta to będą widzieć całą galerię. Czy strażnicy umieszczeni w wierzchołkach bryły trójwymiarowej zawsze chronią całe wnętrze bryły ?

Twierdzenie. Do pilnowania galerii potrzeba i wy-starcza n/3 strażników. Dowód. Przykład „grzebienia” (z wąskimi połą-czeniami między zębami) pokazuje, że taka liczba strażników jest konieczna. Z triangulacji wielokąta wynika, że mo-żemy pokolorować jego wierzchołki trzema kolorami tak, aby żadne dwa wierzchołki o tym samym kolorze nie sąsiadowały ze sobą. Na mocy zasady Dirichleta minimalny zbiór wierzchołków o tym samym kolorze ma moc nie większą niż n/3. Stawiając strażnika w każdym z tych punktów wykazujemy, że liczba ta jest również liczbą wystarczającą. :11 :10 : 9

Ochrona wypukłych podzbiorów zbiorów punktów. Definicja. Niech P będzie zbiorem punktów na pła-szczyźnie. Zbiór S nazywamy zbiorem k-wypukłych strażników, gdy każdy wy-pukły k-kąt o wierzchołkach z P zawiera w swoim wnętrzu strażnika z S. Problem. Niech k  3 będzie liczbą całkowitą. Dany jest zbiór P n punktów na płaszczyźnie w położeniu ogólnym. Jaki jest minimalny rozmiar zbioru k-wypukłych strażników dla zbioru P ?

Definicja. Niech k  3 będzie liczbą całkowitą. Przez Gk(n) oznaczmy najmniejszą liczbę s taką, że każdy zbiór n punktów na płaszczyźnie P ma zbiór k-wypukłych strażników rozmiaru s. Lemat. Gn(n)  Gn-1(n)  ....  G3(n). Twierdzenie. Jeśli punkty ze zbioru P tworzą wielokąt wypukły, to G3(n) = n-2. Dowód. Zauważmy, że dla dowolnego k  3 nie może być mniej strażników niż (n-2)/(k-2) (bo możemy po-dzielić wielokąt na rozłączne podwielokąty). Z dru-giej strony, niech i-ty strażnik si (1 < i < n) należy do przecięcia P1PiPnPi-1PiPi+1. Wtedy dowolny trójkąt PjPiPk (j < i < k) zawiera strażnika si. 9 8 7 6 5 4 3 2 1

Iluminacje. Problem. Dany jest wielokąt o n wierzchołkach i m źródeł światła o określonych parametrach (np. kącie oświetlenia). Czy można tak rozmieścić źródła światła, aby cały wielokąt był oświetlony ? Twierdzenie. Każdy trójkąt można oświetlić trzema lampami o kącie oświetlenia /6, umieszczonymi w jego wierzchołkach. Dowód. Prowadzimy okręgi przechodzące przez punkt A (odpowiednio B, C) i styczne w B (odpowiednio w C, A) do prostej zawierającej BC (odpowiednio CA, AB).

Ponadto niech XBC ma rozwartość . Niech ACB ma rozwartość . Wtedy BCS ma rozwartość /2-. Zatem kąt środkowy BSC ma rozwartość 2, a kąt wpisany BXC oparty na łuku wyznaczanym przez dopełnienie tego kąta ma rozwartość - =  - ACB. Podobnie można pokazać, że AXC ma rozwartość  - BAC, a kąt BXA ma rozwartość  - ABC. Ponieważ suma tych kątów wynosi 2, więc wszystkie trzy okręgi przecinają się w jednym punkcie. Ponadto niech XBC ma rozwartość . Wtedy kąt XCB ma rozwartość  -  -( - ACB) = ACB -  =  - , czyli kąt XCA ma rozwartość . Podobnie można pokazać, że kąt XAB ma rozwartość . Zatem trójkąt ABC można oświetlić trzema lampami o kącie oświetlenia . A B C S X  /2- 2 -  -

Dla trójkąta równobocznego odpowiednie kąty wynoszą /6 Dla trójkąta równobocznego odpowiednie kąty wynoszą /6. Mamy dwa przypadki zależne od liczby kątów o rozwartościach większych od /3. „Rozciągamy” trójkąty po jednym wierzchołku, aż otrzymamy interesującą nas postać. Gdy zaczynamy „rozciągać” trójkąt, kąty maleją (kolejne okręgi styczne do stałego boku przecinają niezmieniający się okrąg pod coraz mniejszym kątem). Zatem rozwartość kąta oświetlenia  nie przekracza /6. Pierwszy przypadek (jeden kąt większy od /3).

Drugi przypadek (dwa kąty większe od /3).

5 4 3 2 1 9 8 7 6 14 13 12 11 10 15 Grafy łukowe. Definicja. Dla danego zbioru łuków na okręgu de-finiujemy graf łukowy, którego wierz-chołki etykietowane są etykietami łuków, a krawędź między dwoma wierzchołkami istnieje wtedy i tylko wtedy, gdy prze-cięcie łuków jest niepuste. Minimalnym pokryciem klikami nazywa-my pokrycie wszystkich wierzchołków grafu minimalną liczbą jego podgrafów, z których każdy jest kliką. 15 3 13 6 10 8 5 2 11 14 7 4 1 9 12

5 4 3 2 1 9 8 7 6 14 13 12 11 10 15 Znajdywanie minimalnego pokrycia klikami. Definicja. Dla uporządkowanego zgodnie z ruchem wskazówek zegara ciągu łuków na okręgu definiujemy funkcję NEXT. Wartością funkcji NEXT dla łuku i jest łuk j taki, że - początek j leży po końcu i, - odległość kątowa końców i oraz j jest najmniejsza spośród wszystkich łuków mających początek po końcu i. Funkcja NEXT odpowiada grafowi skiero-wanemu, w którym każda spójna składowa ma dokładnie jeden cykl. 15 3 13 6 10 8 5 2 11 14 7 4 1 9 12

5 4 3 2 1 9 8 7 6 14 13 12 11 10 15 Niech F będzie spójną składową grafu funkcji NEXT. Fakt. Jeśli F nie jest kliką, to ciąg kolejnych koń-ców łuków odpowiadających wierzchoł-kom grafu funkcji NEXT leżącym na cyk-lu, liczony aż do pierwszego zapętlenia, na okręgu określa punkty wyznaczające mini-malne pokrycie klikami. Kliki tworzą łuki zawierające wyznaczone końce. Twierdzenie. Znalezienie minimalnego pokrycia klikami dla n uporządkowanych łuków na okręgu wymaga czasu O(n). Dowód. Wyznaczenie funkcji NEXT oraz znale-zienie cyklu w grafie funkcji NEXT wymaga czasu O(n). 15 3 13 6 10 8 5 2 11 14 7 4 1 9 12

W ten sposób możemy rozwiązać problem strzelca tzn W ten sposób możemy rozwiązać problem strzelca tzn.obliczyć jaka jest najmniejsza liczba strzałów, które musi oddać punk-towy strzelec, aby trafić wszystkie kaczki (odcinki) wokół niego (przy założeniu, że kula przebija kaczkę na wylot). Grafy łukowe można też wykorzystać w uproszczonym problemie rozgłaszania: dany jest nadajnik oraz odbiorcy poza obszarem nadawania (koła). Należy znaleźć minimalną liczbę przekaźników o danej mocy umożliwiającą odbiór wszystkim odbiorcom (o ile to możliwe). W tym przypadku każdemu odbiorcy przyporządkowujemy łuk odpowiadający położeniu przekaźników na brzegu koła pokrywających swoim zasięgiem danego odbiorcę. Aby rozwiązać problem wystar-czy znaleźć minimalne pokrycie klikami dla tak określonego zbioru łuków.

Dziękuję za uwagę.

Ćwiczenia. 1. Znajdź wielokąt i takie ustawienie strażników, że widzą oni każdy punkt brzegu, ale nie każdy punkt wnętrza wielokąta. 2. Znajdź wielościan, w którym ustawienie strażników we wszystkich wierzchołkach nie zapewnia kontroli nad każdym punktem wielościanu. 3. Wielokątem prostokątnym nazywamy wielokąt, którego krawędzie są poziome i pionowe. Podaj przykład pokazujący, że do ochrony wielokąta o n wierzchołkach czasem potrzebne są  n/4 kamery. 4. Przypuśćmy, że dany jest wielokąt prosty o n wierzchołkach wraz ze zbio-rem przekątnych, które dzielą P na wypukłe czworokąty. Jak wiele kamer wy-starcza do ochrony P ? Dlaczego nie przeczy to twierdzeniu o galerii sztuki ? 5. Jak wyznaczyć funkcję NEXT w czasie O(n), gdy dany jest porządek końców łuków.?

6. Wykaż, że graf funkcji NEXT wskazuje minimalne pokrycie klikami. 7. Dane są 3 (odpowiednio 4) reflektory rzucające snop światła o rozwartości 120 (odp. 90) każdy. Udowodnij, że reflektory te można ustawić w dowolnych 3 (odp. 4) danych punktach płaszczyzny tak, aby cała płaszczyzna była oświetlona. Własność ta zachodzi dla dowolnego naturalnego n.