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