Uporządkowane kolorowanie grafów. Wyszukiwanie w grafach.
Transkrypt
Uporządkowane kolorowanie grafów. Wyszukiwanie w grafach.
Prezentacja kierunków pracy naukowej Dariusz Dereniowski Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska Kierunki badawcze • Uporządkowane kolorowanie grafów • Szeregowanie zadań w środowisku wieloprocesorowym • Wyszukiwanie elementów w częściowych porządkach • Przeszukiwanie grafów • Złożoność obliczeniowa w teorii gier Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego Kolorowanie uporządkowane Def. Funkcję c: E → {1,...,k} nazywamy uporządkowanym k-pokolorowaniem krawędzi grafu G jeśli każda ścieżka łącząca dwie krawędzie x,y takie, że c(x) = c(y) zawiera krawędź z spełniającą c(z) > c(x). Def. Najmniejsza liczba k, dla której istnieje uporządkowane k‑pokolorowanie krawędzi G nazywamy uporządkowanym indeksem chromatycznym grafu G, oznaczanym symbolem χr’(G). Warszawa, 23.10.2008 3 2 1 1 1 2 1 4 3 1 1 2 Nagroda im. Witolda Lipskiego Zastosowanie kolorowania Równoległe procesy montażu: • • • • wierzchołek grafu: reprezentuje element składowy krawędź grafu: występuje wówczas, gdy elementy odpowiadające wierzchołkom na jej końcach powinny zostać połączone (scalanie) podczas procesu montażu ograniczenie: nie można przeprowadzać jednocześnie dwóch operacji scalania jeśli współdzielą one element składowy cel: minimalizacja czasu (liczby równoległych tur) całego montażu Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego Zastosowanie kolorowania Wykorzystanie uporządkowanego pokolorowania do konstrukcji harmonogramu: • • • kolor: reprezentuje numer przedziału czasowego, w którym operacja odpowiadająca danej krawędzi zostanie zrealizowana wymagana liczba maszyn: jest równa krotności koloru, który został użyty największą liczbę razy długość harmonogramu: jest równa liczbie wykorzystanych kolorów (uporządkowany indeks chromatyczny grafu) Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego Przykład procesu złączania b 2 a 1 c k f 3 e 2 1 4 h 3 1 2 g d a j 2 1 i l {j,l} {jl,k} M3 {g,h} {gh,i} M2 {d,e} {de,f} {ghi,jkl} M1 {a,c} {ac,b} {abc,def} 1 Warszawa, 23.10.2008 2 k f e d g (b) h j l (c ) b a f e d M4 c i b c a 0 b (a ) g h i j k c e f d g j h i k l l {a..f,g..l} 3 4 t Nagroda im. Witolda Lipskiego Uogólnienia problemu Przyjęte kierunki badań nad modelem: • grafy ważone: wagi krawędzi modelują różne czasy realizacji poszczególnych operacji złączania • listy dozwolonych/zabronionych przedziałów czasowych dla poszczególnych operacji • ograniczenie liczby dostępnych maszyn/procesorów Wnioski i wyniki: • problemy ogólniejsze stają się obliczeniowo trudne już dla szczególnych acyklicznych klas grafów • stanowi to motywację do konstrukcji wielomianowych algorytmów przybliżonych Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego Przykład – grafy ważone (a) (a) graf ważony (b) optymalne uporządkowane pokolorowanie odpowiedniego grafu prostego (c) optymalne uporządkowane pokolorowanie odpowiedniego multigrafu (uwzględniamy różne czasy operacji) a 2 b 1 c (c) (b) 2 2 d 2 1 2,3 1 4,5 3 e 1 f 2 1 g 1 h 1 2,3 6 4 4 i 2 1 1 5 1,2,3,4 (a) M3 hi • gh M2 bc ab M1 ef de 0 1 2 3 be 5 4 6 7 • eh 8 9 t uszeregowanie odpowiadające pokolorowaniu z rys. (b) uszeregowanie odpowiadające pokolorowaniu z rys. (c) (b) M3 bc ab ab M2 ef de de be be M1 hi hi hi hi gh 0 1 2 Warszawa, 23.10.2008 3 4 eh 5 6 t Wniosek: Korzystniejszy harmonogram dzięki uwzględnieniu czasów operacji w grafie ważonym. Nagroda im. Witolda Lipskiego Wyszukiwanie w częściowych porządkach • • • • Zakładamy, że dany jest diagram Hassego relacji (graf skierowany) W każdym kroku wyszukiwania wybieramy dowolny wierzchołek grafu x i wykonujemy test postaci t ≤ x. Ograniczamy przestrzeń przeszukiwania w zależności od wyniku testu: jeśli odpowiedź brzmi „TAK”, to kontynuujemy wyszukiwanie w poddrzewie zakorzenionym w x; w przeciwnym wypadku przeszukujemy komplementarną część grafu Celem jest obliczenie takiej strategii, która minimalizuje liczbę testów w najgorszym przypadku Warszawa, 23.10.2008 x T1 T2 t≤x? TAK NIE x T2 T1 Nagroda im. Witolda Lipskiego Redukcja przestrzeni (a) (b) A (c) A A (d) B B B C B E E F M G N ‘t ≤ C?’ NIE Warszawa, 23.10.2008 I H O E E F M N ‘t ≤ B?’ TAK ‘t ≤ E?’ ‘t ≤ F?’ NIE Nagroda im. Witolda Lipskiego Przykład kompletnej strategii a b c e d t ≤ R b ≡ " yes" f t ≤ R b ≡ " no" a b d t ≤ R d ≡ " yes" c e t ≤ R d ≡ " no" t ≤ R f ≡ " yes" f a b e t ≤ R e ≡ " yes" Warszawa, 23.10.2008 t ≤ R f ≡ " no" t ≤ R e ≡ " no" t ≤ R c ≡ " yes" c t ≤ R c ≡ " no" Nagroda im. Witolda Lipskiego Związek pomiędzy problemami a b c e d t R b " yes " f t R b " no " b d t R d " yes" wynik = d a e t R d " no" b b c e t R e " yes " wynik = e Warszawa, 23.10.2008 t R e " no " wynik = b d e f Nagroda im. Witolda Lipskiego Uzyskane wyniki Tw. χr’(T) jest równe maksymalnej liczbie zapytań w optymalnej strategii wyszukiwania, gdzie T jest drzewem odpowiadającym diagramowi Hassego. Tw. Jeśli diagram Hassego jest zakorzenionym drzewem, to optymalną strategię wyszukiwania można znaleźć w czasie liniowym. Tw. Obliczenie optymalnej strategii dla dowolnego częściowego porządku z elementem największym jest problemem NP-trudnym. Tw. Istnieje wielomianowy O(logn/(loglogn))-przybliżony algorytm dla problemu szukania strategii wyszukiwania w częściowym porządku z elementem największym. Złożoność algorytmu wynosi O(n3). Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego Pozostałe wyniki Problem: • dla danej gry dana jest dowolna konfiguracja • czy bieżący gracz posiada strategię wygrywającą? • jak trudna jest odpowiedź na powyższe pytanie? • jak trudne jest obliczenie takiej strategii? Tw. Gra Phutball leży w klasie problemów PSPACE-trudnych. Klasy problemów: P ⊆ NP ⊆ PSPACE ⊆ EXPTIME Tw. Gra Node Blocking leży w klasie problemów PSPACE-zupełnych. Pozostałe kierunki badań: przeszukiwanie grafów, szeregowanie just-in-time. Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego Dziękuję za uwagę Warszawa, 23.10.2008 Nagroda im. Witolda Lipskiego