You are on page 1of 33

TEORIA GRAFÓW I SIECI

dr hab. inż. Zbigniew Tarapata, prof. WAT

Temat nr 2: Kolorowanie grafów

dr hab. inż. Zbigniew TARAPATA, prof. WAT


e-mail: zbigniew.tarapata@wat.edu.pl
http://tarapata.edu.pl

tel.: 261-83-95-04, p.225/100

Zakład Badań Operacyjnych i Wspomagania Decyzji


Instytut Systemów Informatycznych
Wydział Cybernetyki, Wojskowa Akademia Techniczna
Kilka dalszych definicji…
✓ Podgraf pusty: podgraf, który jest grafem pustym;
2 d
1 a
5
G
g
dr hab. inż. Zbigniew Tarapata, prof. WAT

3
4 f 6 Podgraf pusty grafu G
✓ Zbiór wewnętrznie stabilny: W’ W taki, że
G’ =  W’, U’, P’ tworzy podgraf pusty grafu G;
np. W’={1,3,5}, {1,3}, {2,4}, {1,4}, {2,6}, {i}i=1,..6, dla grafu G powyżej;
✓ Maksymalny zbiór wewnętrznie stabilny: zbiór
wewnętrznie stabilny, który nie jest podzbiorem właściwym żadnego
zbioru wewnętrznie stabilnego; np. {1,3,5}, {1,3,6}, {1,4}, {2,4}, {2,6}.
✓ Najliczniejszy zbiór wewnętrznie stabilny: zbiór
wewnętrznie stabilny o największej liczności, np. {1,3,5}, {1,3,6}.
2
Kilka dalszych definicji…
✓ Baza grafu G =  W, U, P : każdy taki podgraf
G’ = W’, U’, P’, że każda gałąź u  U jest incydentna
z pewnym x  W’;
2 d 2 2 d 2 d
1 a
dr hab. inż. Zbigniew Tarapata, prof. WAT

5 5 5
G
g g g
3 3 3
4 f 6 4 f 6 4 f 6 6
Baza1 grafu G Baza2 grafu G Baza3 grafu G

✓ Baza minimalna: baza, której „odpowiada” maksymalny zbiór


wewnętrznie stabilny, np. Baza1, Baza3;
✓ Baza najmniej liczna: baza, której „odpowiada” najliczniejszy
zbiór wewnętrznie stabilny, np. Baza1.
TWIERDZENIE: G’ =  W’, U’, P’  jest bazą grafu G =  W, U, P  
W\W’ tworzy podgraf pusty (zbiór wewnętrznie stabilny) grafu G.
3
Przykład: bazy grafu i zbiory wewnętrznie stabilne
Niech graf G opisuje następującą sytuację: wierzchołki grafu
reprezentują radiowe punkty nadawczo – odbiorcze, a
gałęzie – różnego rodzaju zakłócenia wynikające z pracy
nadajników umieszczonych w tych punktach.
dr hab. inż. Zbigniew Tarapata, prof. WAT

Należy wybrać do jednoczesnej pracy takie odbiorniki


(nadajniki), aby nie powodować zakłóceń i jednocześnie
przesłać jak najwięcej informacji w krótkim czasie.
ROZWIĄZANIEM jest
2 d wyznaczenie zbioru wewnętrznie
1 a stabilnego wierzchołków (brak zakłóceń)
5 i dodatkowo takiego, który jest
G b e najliczniejszym maksymalnym zbiorem
wewnętrznie stabilnym (przesyłanie jak
g największej ilości informacji).
3
c Np. W’ =  1, 3, 6  - jeden z
4 f 6 najliczniejszych zbiorów wewnętrznie
stabilnych grafu G. 4
Algorytm wyznaczania wszystkich baz minimalnych w grafie G

Y W , W n ,
W  w1 ,, ws ,, wn , U  u1 , u2 ,, um 
dr hab. inż. Zbigniew Tarapata, prof. WAT

n 
x  x1 , x 2 ,  , x s ,  x n - wektor określający podgraf grafu
1 gdy ws  Y
n  n 
xs   X - zbiór wszystkich wektorów x
0 gdy ws  Y

f G : X n   0,1
1, gdy Y odpowiadający x n  tworzy bazę
 
f G x n  
0, w p.p.
Ab  G    aij  - binarna macierz incydencji grafu G
nxm 5
Algorytm wyznaczania wszystkich baz minimalnych w grafie G

✓ UWAGA: w dalszych rozważaniach sumę logiczną ()


zastąpimy przez „+” a iloczyn logiczny () zastąpimy
przez „ ”.
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓Zauważmy:
1. Gałąź uj jest incydentna z pewnym
wierzchołkiem zbioru Y n
reprezentowanym przez wektor x n 
  aij  xi  1
n i 1

2. Zbiór Y tworzy bazę  


j 1,m
a
i 1
ij  xi  ,1

 
m n m n
czyli  ij i
a  x  1 , stąd f G x n 
  aij  xi
j 1 i 1 j 1 i 1

WAK  Wyrażenie Alternatywno – Koniunkcyjne


6
Algorytm wyznaczania wszystkich baz minimalnych w grafie G
✓ Funkcja fG (x(n)) jest tzw. monotoniczną funkcją boolowską
(mfb). Oznacza to, że jeżeli jakiś wektor x(n) reprezentuje bazę
grafu (tzn. fG (x(n)) = 1), to wektory otrzymane z x(n) w ten sposób,
że niektóre składowe tego wektora mające wartość 0 zamieniane
dr hab. inż. Zbigniew Tarapata, prof. WAT

są na składowe o wartości 1, też reprezentują bazy grafu G.


✓ Każdy wektor x(n)X1(n), gdzie X1(n)=x(n) : fG(x(n))=1 reprezentuje
odpowiednią bazę grafu G. Wśród nich są wektory reprezentujące
bazy minimalne.
✓ Z własności monotonicznych funkcji boolowskich wynika, że każda
mfb jest określona jednoznacznie przez zbiór tzw. wektorów
minimalnych tej funkcji Xnmin  X1(n). Każdy z wektorów
minimalnych ma z definicji tą własność, że zamiana wartości
dowolnej jego składowej mającej wartość 1 na wartość 0 daje
wektor nie należący już do zbioru X1(n), tzn. że funkcja fG przyjmuje
dla tego wektora wartość 0 i wektor ten nie reprezentuje już bazy
grafu. 7
Algorytm wyznaczania wszystkich baz minimalnych w grafie G
✓ Zatem, zgodnie z definicją bazy minimalnej,
każdy wektor minimalny funkcji fG reprezentuje
odpowiednią bazę minimalną rozpatrywanego grafu G.
✓ Aby otrzymać zbiór Xnmin wektorów minimalnych funkcji fG należy
dr hab. inż. Zbigniew Tarapata, prof. WAT

przekształcić formułę monotonicznej funkcji boolowskiej (WAK) do


postaci tzw.
 
minimalnej formuły alternatywnej (mfa): fG x   x
n 
 
k  n 

k
aa a
Postać
a  a b  a nieredukowalna
a  b  a  c  a  b  c 
czyli:   aa  a  
a  a  b   a mfa
WAK
a  b  a  c   a  b  c
dzialania algebry Boole' a
8
Algorytm wyznaczania wszystkich baz minimalnych w grafie G
✓ Każdy składnik (iloczyn) sumoiloczynu mfa określa
odpowiedni wektor minimalny w ten sposób, że zmienne
boolowskie występujące w tym iloczynie odpowiadają tym
składowym wektora minimalnego, które mają wartość 1.
dr hab. inż. Zbigniew Tarapata, prof. WAT

Pozostałe składowe są = 0.

✓ Otrzymamy zatem:

 X   1  f X   1
k  n  n 
G
Wszystkie zmienne Zmienne występujące
w iloczynie = 1 w iloczynie odpowiadają
wierzchołkom tworzącym
bazę minimalną.

9
Algorytm wyznaczania wszystkich baz minimalnych w grafie G
✓ PROCEDURA (wyznaczania wszystkich baz
minimalnych)
1. utworzyć WAK
2. przekształcić WAK do postaci mfa
dr hab. inż. Zbigniew Tarapata, prof. WAT

3. odczytać bazy minimalne lub


4. odczytać maksymalne zbiory wewnętrznie stabilne.
✓ Przykład:
Dla grafu G jak poniżej wyznaczyć wszystkie bazy
minimalne oraz maksymalne zbiory wewnętrznie stabilne.
2 d
1 a
5
G b e
g
3
c
4 f 6 10
Algorytm wyznaczania wszystkich baz minimalnych w grafie G
✓ Rozwiązanie: a b c d e f g
1 1 0 0 0 0 0 0
a 2 d
2 1 0
1
1 0 1 0 0 5
3 0 1 1 0 0 0 0 G b e
Mamy Ab G    
4 0 0 1 0 1 1 0 g
3
dr hab. inż. Zbigniew Tarapata, prof. WAT

5 0 0 0 1 1 0 1 c
  4 f 6
6 0 0 0 0 0 1 1

✓ Wyrażenie boolowskie funkcji fG ma postać:


    a
7 6
6 
fG x ij  xi 
j 1 i 1

 x1  x2   x2  x3   x3  x4   x2  x5   x4  x5   x4  x6   x5  x6  

 x2  x1  x3  x5   x3  x4   x4  x5   x4  x6   x5  x6  

 x2  x1  x3  x5   x4  x3  x5  x6   x5  x6  

 x2  x4  x5  x2  x4  x6  x2  x3  x5  x6  x1  x3  x4  x5 

 x1  x3  x4  x5  x6  x1  x3  x5  x6 11
Algorytm wyznaczania wszystkich baz minimalnych w grafie G
✓ Rozwiązanie, c.d.:
a 2 d
1
5
G b e
g
3
dr hab. inż. Zbigniew Tarapata, prof. WAT

c
4 f 6
✓ Zatem graf G ma 5 baz minimalnych tworzonych przez wierzchołki:
b1 - 2, 4, 5; b2 – 2, 4, 6; b3 – 2, 3, 5, 6; b4 – 1, 3, 4, 5;
b5 – 1, 3, 5,6.
✓ Maksymalne zbiory wewnętrznie stabilne są następujące:
W1 = 1, 3, 6; W2 = 1, 3, 5; W3 = 1, 4; W4 = 2, 6;
W5 = 2, 4.

12
Zadanie kolorowania wierzchołków grafu
✓Pokolorowanie: funkcja f : W  N taka, że
f(x) = f(y)  x  y  x oraz y nie są przyległe (*)
✓Zadanie kolorowania: dla danego grafu
dr hab. inż. Zbigniew Tarapata, prof. WAT

G = W, U wyznaczyć f * : W  N tak, aby


max f 
 x   min max f  x 
f F xW

gdzie:
F – zbiór wszystkich funkcji przekształcających W
w N o własności (*)
Wierzchołki mają nadane numery kolorów:
- 1, 4, 5 -3
- 2, 6
13
Kolorowanie map – historyczne zastosowanie problemu kolorowania grafu
dr hab. inż. Zbigniew Tarapata, prof. WAT

14
Kolorowanie map – historyczne zastosowanie problemu kolorowania grafu

✓ Problem tzw. „czterech barw”:


dr hab. inż. Zbigniew Tarapata, prof. WAT

15
Kolorowanie map – historyczne zastosowanie problemu kolorowania grafu

✓Twierdzenie:
Każdą mapę na płaszczyźnie można przy użyciu
czterech barw pokolorować dobrze (czyli tak, aby
dr hab. inż. Zbigniew Tarapata, prof. WAT

graniczące (*) z sobą państwa były różnego koloru)


(*) graniczące, czyli posiadające granicę (a nie punkt styczności, jak na rysunku poniżej
z lewej)

UWAGA!!!
1. Twierdzenie o czterech barwach dotyczy
map planarnych (spłaszczalnych) lub
sferycznych, nie zaś na przykład
toroidalnych.
2. Pierwszy dowód twierdzenia wymagał
1200 godzin pracy (!!!) superkomputera
Cray w 1976 roku.

16
Kolorowanie map – historyczne zastosowanie problemu kolorowania grafu

✓ Twierdzenie Jordana
(udowodnione przez Legendre’a):
Jeśli G jest mapą powstałą z grafu o V wierzchołkach z E
krawędziami i F trójkątnymi elementami, wówczas V + F - E = 2.
dr hab. inż. Zbigniew Tarapata, prof. WAT

W przykładzie z lewej:
V=5; F=6; E=9
czyli V + F - E = 2

✓ Z formuły Eulera można wywnioskować, że dowolny graf na


płaszczyźnie może mieć powierzchnię o co najwyżej 5 bokach
a zatem, skoro płaska mapa może mieć powierzchnię z co
najwyżej pięcioma bokami, wynika stąd następujące
✓ Twierdzenie: Każda mapa płaska (graf planarny) może być
pokolorowana pięcioma lub mniej kolorami. 17
Procedura kolorowania wierzchołków grafu
1. wyznaczenie wszystkich maksymalnych zbiorów wewnętrznie
stabilnych W1, W2, ....., WK;
2. utworzenie macierzy B   bij 
  nxK
gdzie:
1, gdy wi  W j

dr hab. inż. Zbigniew Tarapata, prof. WAT

bij   wi – i-ty wierzchołek grafu


0, gdy wi  W j

3.  
dla zmiennych binarnych v j j  1, K tworzymy WAK:
1, j -ty zbiór wewn. stab. należy do pokrycia
vj  
0, w p.p.

n K POKRYCIE

 b
(elementów zbioru wierzchołków grafu G
ij  vj przez elementy zbiorów wewnętrznie
i 1 j 1 stabilnych)

4. przekształcamy WAK do postaci mfa:  v  



r  K

r 18
Procedura kolorowania wierzchołków grafu
5. wybieramy z mfa najkrótszy iloczyn:
v i1  v i2    v iP POKRYCIE
NAJMNIEJLICZNE

6. tworzymy rodzinę A1, A2, ... AP podzbiorów:


dr hab. inż. Zbigniew Tarapata, prof. WAT

 p 1 
A1  Wi1 , Ap  Wi p \   Ai , p  2, P PODZIAŁ
NAJMNIEJLICZNY
 i 1 
7. optymalne pokolorowanie:

f  x   p  x  A p , p  1, P

gdzie: P – liczba chromatyczna grafu


(minimalna liczba kolorów jaką można pokolorować graf).

19
Procedura kolorowania wierzchołków grafu
✓ Przykład: 2 d
1 a
5
Pokolorować wierzchołki grafu G z rysunku obok. G b e
g
Rozwiązanie: 3
c
4 f 6
1. Wszystkie maksymalne zbiory wewnętrznie stabilne wyznaczyliśmy
w przykładzie poprzednim (str.12), tzn.: W1 = 1, 3, 6; W2 = 1, 3, 5;
dr hab. inż. Zbigniew Tarapata, prof. WAT

W3 = 1, 4; W4 = 2, 6; W5 = 2, 4.


2. tworzymy macierz B: 5. wybieramy najkrótszy iloczyn, np.
W W W W W
1 2 3 4 5 v2 v3 v4
1 1 1 1 0 0
2 0 0 0 1 1 6. Tworzymy rodzinę A1, A2, A3:
3 1 1 0 0 0 A1 = W2 = 1, 3, 5
B   A2 = W3 \ A1 = 4
4 0 0 1 0 1 
A3 = W4 \  A1  A2 = 2, 6.
5 0 1 0 0 0 
 
6 1 0 0 1 0 7. Kolor nr 1:
wierzchołki 1, 3, 5, a 2 d
3. 4. tworzymy WAK i przekształcamy je do mfa: 1
kolor nr 2: 5
 
f G  v  v1  v2  v3   v4  v5  
5 
wierzchołek 4 G b e
g
kolor nr 3:
 v1  v2   v3  v5   v2   v1  v4   3
c
wierzchołki 2 i 6. 4 f 6
 v2 v3 v4  v2 v4 v5  v1v2 v5 20
Kolorowanie gałęzi grafu
✓ Procedura kolorowania gałęzi grafu G:
1. Utworzyć graf sprzężony (krawędziowy) G* do G:

G  W ,U , P  G  U ,U 
dr hab. inż. Zbigniew Tarapata, prof. WAT

przy czym:
✓ jeżeli G jest grafem nieskierowanym, to:
u, v U   krawędzie u oraz v są przyległe w G
✓ jeżeli G jest grafem skierowanym, to:
 u, v  U   łuk u kończy się w wierzchołku,
w którym rozpoczyna się łuk v w G

G G*
2. Pokolorować wierzchołki w G*. 21
Szacowanie liczby chromatycznej grafu
✓ Problem optymalnego kolorowania grafu jest
NP – zupełny
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ Szacowanie liczby chromatycznej, np.:


G   P  S G   1
gdzie: (G) – gęstość grafu (liczność zbioru wierzchołków
najliczniejszego podgrafu pełnego);
S(G) – stopień grafu.

✓ Metody przybliżone kolorowania grafu:


✓ Wood’a (tzw. macierzy podobieństw)
2 d
✓ redukcji grafu 1 a
5
G b e
✓ algorytmy LF, LS, SLF g
3
✓ inne c
4 f 6
3   G   P  S G   1  3  1  4 22
Przybliżone algorytmy kolorowania grafu
✓ Algorytm LF (Largest First)
1. Uporządkuj wierzchołki grafu malejąco według ich stopni.
2. Koloruj wierzchołki zachłannie, zgodnie z ustaloną wcześniej
kolejnością (zaczynając od wierzchołka o największym
dr hab. inż. Zbigniew Tarapata, prof. WAT

stopniu).
Uwaga! Algorytm LF jest algorytmem statycznym, gdyż raz ustalona kolejność
wierzchołków nie zmienia się w trakcie jego działania.
✓ Algorytm SL (Smallest Last)
1. Znajdź wierzchołek o minimalnym stopniu i usuń go z grafu.
2. Powtarzaj krok pierwszy tak długo, aż graf będzie pusty (zapamiętaj
kolejność usuwanych wierzchołków).
3. Koloruj wierzchołki zachłannie, zgodnie z ustaloną wcześniej kolejnością
(zaczynając od wierzchołków usuniętych później).
Uwaga! Algorytm SL jest statyczny, jego złożoność wynosi O(n + m), gdzie
n - liczba wierzchołków, m - liczba krawędzi.
23
Przybliżone algorytmy kolorowania grafu
✓ Stopień nasycenia wierzchołka x: liczba różnych
kolorów sąsiednich z tym wierzchołkiem x.
✓ Algorytm SLF (Saturated Largest First)
dopóki istnieją nie pokolorowane wierzchołki wykonuj operacje:
dr hab. inż. Zbigniew Tarapata, prof. WAT

{
1. znajdź wierzchołek o maksymalnym stopniu spośród
wierzchołków o maksymalnym stopniu nasycenia;
2. pokoloruj znaleziony wierzchołek zachłannie.
}
Uwaga! Złożoność algorytmu SLF wynosi O(m log n).

24
Wykorzystanie klasycznego kolorowania grafów
✓ Przykład 1 (przechowywanie substancji chemicznych).
Potrzeba przechować 5 substancji chemicznych a, b, c, d, e.
Niektóre z tych substancji reagują gwałtownie w przypadku
zetknięcia − powinny być przechowywane w odległych miejscach
dr hab. inż. Zbigniew Tarapata, prof. WAT

(tabelka). W ilu najmniej oddzielnych częściach magazynu


możemy przechowywać te substancje i które, w których
częściach?
* – pary substancji, które
muszą być rozdzielone

Rozwiązanie:

25
Wykorzystanie klasycznego kolorowania grafów
✓ Przykład 2 (rozkład godzin wykładów).
Dysponujemy listą wykładów (lekcji). Niektóre wykłady (lekcje)
nie mogą się odbywać jednocześnie (bo np. dotyczą tej samej
klasy/grupy lub tego samego nauczyciela).
dr hab. inż. Zbigniew Tarapata, prof. WAT

Jak ułożyć plan zajęć, aby wykłady (lekcje) kończyły się


najwcześniej, jak się da i nie kolidowały ze sobą?

Rozwiązanie:
1. Konstruujemy graf (tzw. graf konfliktów), w którym:
✓wierzchołki – wykłady,
✓krawędzie łączą te pary wykładów, które nie mogą być
zaplanowane w tym samym czasie,
✓kolor wierzchołka – godzina.
2. Pokolorowanie wierzchołków = zaplanowanie zajęć.
26
Nieklasyczne modele kolorowania
✓ Kolorowanie kontrastowe
✓ Zwane inaczej T-kolorowaniem jest jedną z odmian
kolorowania wierzchołków w grafie;
✓ posiada ono dwie cechy które różnią je od klasycznego
dr hab. inż. Zbigniew Tarapata, prof. WAT

kolorowania:
1. inne ograniczenie dotyczące kolorowania wierzchołków
sąsiadujących ze sobą;
2. minimalizowaną wartością.
✓ W T-kolorowaniu wierzchołki sąsiadujące u i v są kolorowane
kolorami A(u), A(v), których różnica (odległość) nie należy do
pewnego zadanego zbioru T (zbioru odległości zakazanych),
tzn.

✓ Zastosowanie: problem przydziału częstotliwości, układanie


rozkładów zajęć itd.
27
Nieklasyczne modele kolorowania
✓ Przykład kolorowania kontrastowego
dr hab. inż. Zbigniew Tarapata, prof. WAT

28
Nieklasyczne modele kolorowania
✓ Kolorowanie sprawiedliwe
✓ krotności pokolorowania poszczególnych wierzchołków muszą
się różnić nie więcej, jak o 1;
✓ Definicja
dr hab. inż. Zbigniew Tarapata, prof. WAT

Jeśli wierzchołki grafu G można podzielić na k niezależnych klas


V1, ....,Vk oraz dla każdego i oraz j, różnego od i, z przedziału
<1,k> zachodzi nierówność | |Vi|-|Vj| |≤1, to mówimy, że graf G
został sprawiedliwie pokolorowany k kolorami.
✓ Zastosowanie: np. problem optymalnego podziału zbioru
zawierającego konflikty na równoliczne podzbiory
bezkonfliktowe.
✓ Przykład 1: Układanie planu lekcji w szkole
✓ Dwa wierzchołki są połączone wtedy i tylko wtedy, gdy dany nauczyciel
ma zajęcia z daną klasą.
✓ Problem znalezienia prawidłowego rozwiązania sprowadza się do
sprawiedliwego pokolorowania krawędzi grafu. 29
Nieklasyczne modele kolorowania
✓ Kolorowanie sprawiedliwe
✓ Przykład 2
W problemie dostaw wierzchołki grafu reprezentują miejsca
dostaw:
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ Dwa wierzchołki są połączone krawędzią, gdy miejsca dostaw nie


mogą być obsłużone tego samego dnia.
✓ Problem przydziału jednego z 6 dni pracy każdemu miejscu →
pokolorowanie grafu sześcioma kolorami.
✓ Z uwagi na ograniczenie taboru – w każdym dniu chcemy obsłużyć
możliwie taką samą liczbę miejsc.
✓ Przykład 3

Pokolorowanie
sprawiedliwe
grafu

30
Nieklasyczne modele kolorowania
✓ kontrastowe
✓ sprawiedliwe
✓ cyrkularne
dr hab. inż. Zbigniew Tarapata, prof. WAT

✓ harmoniczne
✓ sumacyjne
✓ zwarte
✓ listowe
✓ inne

31
Porównanie różnych modeli kolorowania pewnego grafu

klasyczne
dr hab. inż. Zbigniew Tarapata, prof. WAT

sumacyjne

harmoniczne
kontrastowe

sprawiedliwe cyrkularne
32
DZIĘKUJĘ ZA UWAGĘ
dr hab. inż. Zbigniew Tarapata, prof. WAT

dr hab. inż. Zbigniew TARAPATA, prof. WAT


e-mail: zbigniew.tarapata@wat.edu.pl
http://tarapata.edu.pl

Zakład Badań Operacyjnych i Wspomagania Decyzji


Instytut Systemów Informatycznych
Wydział Cybernetyki, Wojskowa Akademia Techniczna

You might also like