Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS

Podobne dokumenty
Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Programowanie dynamiczne i algorytmy zachłanne

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Programowanie sieciowe. Tadeusz Trzaskalik

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Algorytmiczna teoria grafów

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Wybrane podstawowe rodzaje algorytmów

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Definicja pochodnej cząstkowej

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

TEORETYCZNE PODSTAWY INFORMATYKI

Luty 2001 Algorytmy (4) 2000/2001

Tworzenie gier na urządzenia mobilne

Wykłady z Matematyki Dyskretnej

Lista 4. Kamil Matuszewski 22 marca 2016

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Matematyka dyskretna - 7.Drzewa

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Wyznaczanie strategii w grach

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Sztuczna Inteligencja i Systemy Doradcze

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Ćwiczenie 3 Programowanie dynamiczne

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

51. Wykorzystywanie sumy, iloczynu i różnicy zdarzeń do obliczania prawdopodobieństw zdarzeń.

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

PROJEKT Z TEORETYCZNYCH PODSTAW INFORMATYKI

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Matematyczne Podstawy Informatyki

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

TEORIA GRAFÓW I SIECI

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Algorytmy aproksymacyjne dla problemów stochastycznych

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Lista 6 Problemy NP-zupełne

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Kolorowanie wierzchołków grafu

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Podejście zachłanne, a programowanie dynamiczne

7. Teoria drzew - spinanie i przeszukiwanie

Algorytmy wyznaczania centralności w sieci Szymon Szylko

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Poprawność semantyczna

Sieć (graf skierowany)

Spacery losowe generowanie realizacji procesu losowego

Sztuczna Inteligencja Projekt

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Harmonogramowanie przedsięwzięć

Zagadnienie najkrótszej drogi w sieci

Graf. Definicja marca / 1

Matematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić -

Schemat programowania dynamicznego (ang. dynamic programming)

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Algorytmy aproksymacyjne dla problemów stochastycznych

Algorytmiczna teoria grafów

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Wstęp do programowania

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

a) 7 b) 19 c) 21 d) 34

Procesy stochastyczne

Algorytmy kombinatoryczne w bioinformatyce

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Sortowanie - wybrane algorytmy

Algorytmy i struktury danych

Algorytmika Problemów Trudnych

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Metody przeszukiwania

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Zagadnienie transportowe

Struktury Danych i Złożoność Obliczeniowa

Wykłady z Matematyki Dyskretnej

ZALICZENIE WYKŁADU: 30.I.2019

Technologie Informacyjne

Algorytmy mrówkowe w dynamicznych problemach transportowych

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Znajdowanie skojarzeń na maszynie równoległej

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Transkrypt:

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