Problem straŝaka w drzewach Agnieszka Skorupka Matematyka Stosowana FTiMS
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest?
Problem StraŜaka: Co to jest? Problem przedstawiony w 1995 roku przez Berta Hartnella: wybucha poŝar w jednym z wierzchołków grafu straŝak wykonuje swój ruch wybierając jeden wierzchołek do obrony, który nie jest jeszcze w ogniu wierzchołek, który raz został zajęty przez straŝaka, do końca jest broniony przed ogniem w kolejnym kroku, ogień rozprzestrzenia się na wszystkie wierzchołki przyległe do wierzchołków w ogniu straŝak i ogień wykonują swoje kroki naprzemiennie straŝak i ogień wykonują swoje ruchy dopóki ogień moŝe się rozprzestrzeniać w grafie
Problem StraŜaka: Po co? Sieć komputerowa: rozprzestrzenianie się wirusów komputerowych, projektowanie sieci komputerowych odpornych na ataki Modele epidemiologiczne: rozprzestrzenianie się wirusów/chorób/epidemii wśród ludzi/zwierząt
Problem StraŜaka: Zagadnienia Jak moŝna zminimalizować oczekiwaną liczbę wierzchołków w ogniu, jeŝeli ogień wybucha w losowo wybranym wierzchołku? Jaka jest maksymalna liczba wierzchołków jaką moŝna uratować przed ogniem? Jaka jest minimalna liczba kroków, aby ugasić ogień w grafie? Ilu straŝaków jest potrzebnych, aby uratować określoną liczbę wierzchołków? Jaka jest minimalna skończona liczba straŝaków potrzebna do ugaszenia ognia w grafie nieskończonym?
Problem StraŜaka: Definicja Niech (G,r) będzie grafem ukorzenionym o korzeniu r oraz niech k 1. Niech MVS(G,r) oznacza maksymalną liczbę wierzchołków grafu G, które moŝna uratować, jeŝeli poŝar rozpoczął się rozprzestrzeniać od wierzchołka r. Czy MVS(G,r) k? Tzn. czy istnieje skończony zbiór wierzchołków d 1, d 2,..., d t grafu G taki, Ŝe (i) wierzchołek d i nie jest ani w ogniu ani nie jest broniony w kroku i, (ii) w kroku t Ŝaden nie broniony wierzchołek nie przylega do wierzchołka w ogniu, (iii) przynajmniej k wierzchołków w czasie t jest uratowana przed ogniem
Drzewa: Algorytmy Algorytm zachłanny JeŜeli ogień w swojej turze ma się rozprzestrzenić z wierzchołka v na dzieci n 1, n 2,..., n d, to algorytm zachłanny w turze straŝaka wybiera taki wierzchołek n i, i [1,d], dla którego łączna liczba wierzchołków w całym jego poddrzewie jest największa. Algorytm optymalny Wybiera taki wierzchołek n i, i [1,d], który ma największą liczbę dzieci ( max(deg(n i ) ).
Drzewa: Strategia zachłanna ogień straŝak
Drzewa: Strategia zachłanna ogień straŝak
Drzewa: Strategia zachłanna ogień straŝak
Drzewa: Strategia zachłanna ogień straŝak
Drzewa: Strategia zachłanna ogień straŝak
Drzewa: Strategia zachłanna 7 uratowanych wierzchołków ogień straŝak
Drzewa: Strategia optymalna ogień straŝak
Drzewa: Strategia optymalna ogień straŝak
Drzewa: Strategia optymalna ogień straŝak
Drzewa: Strategia optymalna ogień straŝak
Drzewa: Strategia optymalna ogień straŝak
Drzewa: Strategia optymalna ogień straŝak
Drzewa: Strategia optymalna 9 uratowanych wierzchołków ogień straŝak
Porównanie algorytmów Alg. zachłanny Alg. optymalny S = 7 S = 9 ogień straŝak S liczba uratowanych wierzchołków
Alg. zachłanny: Twierdzenie Jak zła jest strategia zachłanna? Dla kaŝdego drzewa z jednym ogniskiem i jednym straŝakiem, stosując algorytm zachłanny, zawsze udaje się uratować ponad połowę wierzchołków, które uratowałby kaŝdy inny algorytm.
Alg. zachłanny: Twierdzenie Jak zła jest strategia zachłanna? Dla kaŝdego drzewa z jednym ogniskiem i jednym straŝakiem, stosując algorytm zachłanny, zawsze udaje się uratować ponad połowę wierzchołków, które uratowałby kaŝdy inny algorytm. Algorytm zachłanny moŝe słuŝyć jako przybliŝenie algorytmu optymalnego ze stosunkiem zawsze mniejszym od 2 (algorytm 2-przybliŜony). < 2
Drzewa: ZłoŜoność obliczeniowa drzewo o maksymalnym stopniu 3 (max. 2 dzieci) drzewo o maksymalnym stopniu 4 (max. 3 dzieci) dowolne drzewo
Drzewa: ZłoŜoność obliczeniowa drzewo o maksymalnym stopniu 3 (max. 2 dzieci) => problem P (wielomianowy) drzewo o maksymalnym stopniu 4 (max. 3 dzieci) dowolne drzewo
Drzewa: ZłoŜoność obliczeniowa drzewo o maksymalnym stopniu 3 (max. 2 dzieci) => problem P (wielomianowy) drzewo o maksymalnym stopniu 4 (max. 3 dzieci) => problem NPC (NP-zupełny) dowolne drzewo
Drzewa: ZłoŜoność obliczeniowa drzewo o maksymalnym stopniu 3 (max. 2 dzieci) => problem P (wielomianowy) drzewo o maksymalnym stopniu 4 (max. 3 dzieci) => problem NPC (NP-zupełny) dowolne drzewo => prawdopodobnie NPC