You are on page 1of 17

TEORIA GRAFÓW I SIECI

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

Temat nr 7: Przydziały w grafach


i sieciach

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
Skojarzenia w grafach
Skojarzenie grafu G = W, U, P - podgraf częściowy
GI = WI, UI, PI o nieprzyległych gałęziach, bez pętli i
wierzchołków izolowanych (tzn. 2 s(x) – r(x) dla każdego
dr hab. inż. Zbigniew Tarapata, prof. WAT

x).
Skojarzenie maksymalne - UI nie jest podzbiorem właściwym
UII wyznaczającym skojarzenie.
Skojarzenie najliczniejsze – skojarzenie, dla którego U I jest
największe z możliwych.
Przydział – skojarzenie grafu Königa (tzn. dwudzielnego grafu
zwykłego).
Skojarzenie pełne (doskonałe) – każdy wierzchołek z G jest
incydentny przynajmniej z jednym uUI.
2
dr hab. inż. Zbigniew Tarapata, prof. WAT
Skojarzenia w grafach

Skojarzenie Skojarzenie maksymalne Skojarzenie najliczniejsze


(czerwone krawędzie)

Skojarzenie doskonałe Skojarzenie doskonałe (inne) 3


Skojarzenia w grafach
UI
TWIERDZENIE (Hall’a)
W grafie dwudzielnym G (tzn. G = W1W2,U,P, W1W2 =  oraz W1, W2
tworzą podgrafy puste w G), w którym |W1| = |W2| istnieje skojarzenie pełne
 dla każdego podzbioru wierzchołków Z  W1 istnieje przynajmniej |Z|
wierzchołków w W2, które są przyległe do któregoś wierzchołka z Z.
dr hab. inż. Zbigniew Tarapata, prof. WAT

PRZYKŁAD 1 (tzw. problem kojarzenia małżeństw)


Jest n chłopców i m dziewcząt. Każdy z chłopców ocenia swoimi własnymi
kryteriami każdą z dziewcząt i po takiej weryfikacji „widzi” ją jako potencjalną
kandydatkę na żonę lub nie. Problem polega na takim „przyporządkowaniu”
dziewcząt do chłopców, aby skojarzyć maksymalną liczbę par.
1 5 Niemożliwe skojarzenie pełne, bo
dla Z ={1,3} istnieje tylko 1<| Z |
wie rz ch oł ek w W 2 , kt óry jest
2 6 p r z yl e gł y d o k t ó r e go ś z
n m wierzchołków z Z.
3 7 - - - - d od a t ko wa gał ą ź
s po wod owa ł a b y i st n ie n ie
4 8 skojarzenia pełnego.
W1 W2
4
Metody wyznaczania skojarzeń najliczniejszych
✓ Metoda baz minimalnych – utworzyć G* (graf sprzężony
grafu G) oraz wyznaczyć w G* wszystkie bazy minimalne
(maksymalne zbiory wewnętrznie stabilne). Każdy
maksymalny podgraf pusty grafu G* odpowiada
dr hab. inż. Zbigniew Tarapata, prof. WAT

maksymalnemu skojarzeniu w G.
1 5 4,8 4,7

3,5
1,6
2 6
G= G*=
2,8
3 7
1,5
4 8
2,6 2,7

Maksymalny podgraf pusty tworzą wierzchołki:


1,6 3,5 2,7 4,8
Gałęzie w G odpowiadające wierzchołkom podgrafu pustego w G* tworzą skojarzenia
maksymalne w G (jest to dodatkowo skojarzenie pełne). 5
Metody wyznaczania skojarzeń najliczniejszych
✓ Metoda maksymalnego przepływu – zastępujemy graf G
grafem skierowanym GI następująco: dodajemy 2 wierzchołki
s i t. Wierzchołek s łączymy łukami z elementami zbioru W1,
a wierzchołki zbioru W2 z wierzchołkiem t. Krawędzie grafu G
dr hab. inż. Zbigniew Tarapata, prof. WAT

zastępujemy łukami skierowanymi od W1 do W2. Na bazie


digrafu GI tworzymy sieć S dla przepływów:

S = GI, a, c


gdzie:

 W1 , dla x  s
 1 , x, y : x  s  y  t
a x   0 , dla x  s, t c  x, y   
 W , dla x  t  , x, y : x  W1  y  W2
 2

6
Metody wyznaczania skojarzeń najliczniejszych
1 5

2 6 W sieci S znajdujemy przepływ maksymalny.


G= Krawędzie odpowiadające łukom, które będą
3 7 miały przepływ równy 1 tworzą skojarzenie
dr hab. inż. Zbigniew Tarapata, prof. WAT

maksymalne w G.
4 8


1 5
1  1

1 2 6 1
 
S 1 t
1
3 
7
1  1

4 8
7
Metody wyznaczania skojarzeń najliczniejszych
✓ Poprzednie dwie metody są mało efektywne.
✓ Metoda wyznaczania zbioru niezależnych oczek
dopuszczalnych:
✓ zbiór niezależnych oczek dopuszczalnych – zbiór oczek, z których żadne
dr hab. inż. Zbigniew Tarapata, prof. WAT

dwa nie występują w tym samym wierszu ani kolumnie (bo każde dwie
gałęzie skojarzenia muszą być nieprzyległe);
✓ Przydział = zbiór niezależnych oczek dopuszczalnych oznaczonych 1;
1 5
5 6 7 8
2 6 _
1 1

_
_
2 1
W1
3 7 3 1

4 1

4 8
W2
W1 W2
graf Königa  siatka z oczkami dopuszczalnymi 8
Algorytm wyznaczania zbioru niezależnych oczek dopuszczalnych
1. Wyznaczamy dowolny zbiór niezależnych oczek dopuszczalnych –
cechujemy je jedynkami.
2. Cechujemy wszystkie wiersze bez 1 (np. „-„). Wybieramy kolejno
ocechowane wiersze i ich numerami cechujemy nieocechowane
kolumny odpowiadające oczkom dopuszczalnym.
dr hab. inż. Zbigniew Tarapata, prof. WAT

3. Wybieramy ocechowaną kolumnę i wiersz, w którym znajduje się 1,


cechujemy numerem kolumny. Postępowanie powtarzamy dla
ocechowanych kolumn cechując nieocechowane wiersze.
4. Postępowanie powtarzamy kolejno dla wierszy i kolumn, aż do
ocechowania kolumny nie zawierającej 1.
Jeżeli takiej kolumny nie można ocechować, to KONIEC.
W ocechowanej kolumnie bez 1 umieszczamy 1 w wierszu
wskazanym przez cechę tej kolumny. Z wiersza, w którym umieściliśmy
1 – usuwamy 1 z kolumny wskazanej przez cechę tego wiersza.
W rozpatrywanej kolumnie umieszczamy 1 w wierszu wskazanym
przez cechę kolumny itd., aż dojdziemy do wiersza ocechowanego „-„.
Kasujemy cechy i przechodzimy do pkt. 2. 9
Przydziały optymalne

Dla danej sieci S = G, , k, gdzie G - graf Königa, k : U  R


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

wyznaczyć U*U

tak, aby
 k u   ekstr  k u 
uU * U ' U uU '

gdzie U – zbiór skojarzeń najliczniejszych grafu G

10
Algorytm wyznaczania przydziału optymalnego
k :  kij I
ij

Dane:
macierz  kij  rxr , gdzie:
dr hab. inż. Zbigniew Tarapata, prof. WAT

r  max m,n , m  W I , n  W II ;
k ui , v j  , dla ui  W I , v j  W II
kij  
0 , dla i  m  j  n

Algorytm dla max : ij :  kij


I
k

11
Algorytm wyznaczania przydziału optymalnego
1. Od elementów kij każdego wiersza odejmujemy element minimalny w tym
wierszu.
Od nowych elementów każdej kolumny odejmujemy element minimalny w tej
kolumnie. Oczka zawierające element „0” są oczkami dopuszczalnymi.
2. Wyznaczamy najliczniejszy zbiór oczek dopuszczalnych, niezależnych. Czy
dr hab. inż. Zbigniew Tarapata, prof. WAT

liczność tego zbioru = r ?


TAK - KONIEC
NIE – wyznaczamy dwa podzbiory wszystkich oczek (na podstawie ostatniego
cechowania):
A – zbiór oczek odpowiadających ocechowanym wierszom i
nieocechowanym kolumnom;
B – zbiór oczek odpowiadających nieocechowanym wierszom i
ocechowanym kolumnom.
3. Ze zbioru A wybieramy oczko, któremu odpowiada minimalny element ostatnio
przekształconej macierzy. Do wszystkich elementów odpowiadających oczkom
ze zbioru B dodajemy ten element minimalny, a od wszystkich elementów
odpowiadających elementom (oczkom) zbioru A odejmujemy ten element.
Oczka z „0” są oczkami dopuszczalnymi. Przejdź do pkt. 2. 12
Przydział minimaksowy
Dla danej sieci S = G, , k, gdzie G - graf Königa, k : U R
wyznaczyć U*U
tak, aby:
max k u   min max k u 
dr hab. inż. Zbigniew Tarapata, prof. WAT

u U * U I  U u U I
gdzie:U – zbiór skojarzeń najliczniejszych grafu G;

PRZYKŁAD: (tzw. problem „wąskiego gardła”).


Grupa m pracowników ma wykonać n prac (mn), przy czym prace
musza być przyporządkowane wybranym n pracownikom wzajemnie
jednoznacznie. Czasy wykonania poszczególnych prac, przez
poszczególnych pracowników, są określone za pomocą macierzy  kij  mxn .
Wszyscy wybrani pracownicy rozpoczynają pracę w tej samej chwili i chodzi o
to, aby wszystkie prace zostały zakończone jak najwcześniej.

13
Algorytm wyznaczania przydziału minimaksowego

Dane: macierz  kij  rxr utworzona jak poprzednio (dla algorytmu wyznaczania
optymalnego przydziału)
1. Zakładając, że wszystkie oczka są dopuszczalne wyznaczamy
dr hab. inż. Zbigniew Tarapata, prof. WAT

najliczniejszy zbiór niezależnych oczek dopuszczalnych.


2. Spośród wybranych oczek wyznaczamy element maksymalny i w tablicy
 kij  wykreślamy wszystkie oczka o elementach równych i większych od
wyznaczonego elementu. Oczka nieskreślone są nowymi oczkami
dopuszczalnymi.
3. Wyznaczamy najliczniejszy zbiór niezależnych oczek dopuszczalnych.
Czy liczność tego zbioru = r ?
TAK – skok do pkt. 2.
NIE – poprzedni przydział był optymalny. KONIEC.

14
Przydział maksyminowy
Dla danej sieci S = G, , k, gdzie G – graf Königa, k : U  R
Wyznaczyć U* U
tak, aby:
min* k  u   max minI k  u 
uU U I U uU
dr hab. inż. Zbigniew Tarapata, prof. WAT

gdzie U – zbiór skojarzeń najliczniejszych grafu G;

PRZYKŁAD:
Niech wartość  kij  oznacza wydajność pracy, jaką osiąga
i–ty pracownik przy wykonywaniu j–tej pracy. Jeżeli przyjmujemy, że mamy
do czynienia z taśmą produkcyjną, to intensywność produkcji będzie
determinowana przez stanowisko pracy, na którym występuje minimalna
wydajność.
Mając zatem obsadzić n stanowisk taśmy produkcyjnej wybranymi n
pracownikami ze zbioru m pracowników, należy tak dobrać pracowników do
poszczególnych stanowisk, aby zmaksymalizować najmniejszą wydajność
pracy, przy danej macierzy wydajności  kij  mxn .
15
Algorytm wyznaczania przydziału maksyminowego
W punkcie 2. algorytmu wyznaczania przydziału
minimaksowego zmienić:
„element maksymalny” na „element minimalny” oraz „równych
i większych” na „równych i mniejszych”.
dr hab. inż. Zbigniew Tarapata, prof. WAT

16
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