TEORIA GRAFÓW I SIECI 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.: 26-83-95-04, p.225/00 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 G I = W I, U I, P I o nieprzyległych gałęziach, bez pętli i wierzchołków izolowanych (tzn. 2 s(x) r(x) dla każdego x). Skojarzenie maksymalne - U I nie jest podzbiorem właściwym U II wyznaczającym skojarzenie. Skojarzenie najliczniejsze skojarzenie, dla którego 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 uu I. I U jest 2
Skojarzenia w grafach Skojarzenie (czerwone krawędzie) Skojarzenie maksymalne Skojarzenie najliczniejsze Skojarzenie doskonałe Skojarzenie doskonałe (inne) 3
U I Skojarzenia w grafach TWIERDZENIE (Hall a) W grafie dwudzielnym G (tzn. G = WW2,U,P, WW2 = oraz W, W2 tworzą podgrafy puste w G), w którym W = W2 istnieje skojarzenie pełne dla każdego podzbioru wierzchołków Z W istnieje przynajmniej Z wierzchołków w W2, które są przyległe do któregoś wierzchołka z Z. PRZYKŁAD (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. n 2 3 4 5 6 7 8 m Niemożliwe skojarzenie pełne, bo dla Z ={,3} istnieje tylko < Z wierzch oł ek w W 2, który jest p r z y l e g ł y d o k t ó r e g o ś z wierzchołków z Z. - - - - d o d a t k o w a g a ł ą ź s p o w o d o w a ł a b y i s t n i e n i e skojarzenia pełnego. W W 2 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 maksymalnemu skojarzeniu w G. 2 5 6 G= G*= 3 7,6 4,8 4,7 3,5 2,8 4 8,5 2,6 2,7 Maksymalny podgraf pusty tworzą wierzchołki:,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 G I następująco: dodajemy 2 wierzchołki s i t. Wierzchołek s łączymy łukami z elementami zbioru W, a wierzchołki zbioru W 2 z wierzchołkiem t. Krawędzie grafu G zastępujemy łukami skierowanymi od W do W 2. Na bazie digrafu G I tworzymy sieć S dla przepływów: gdzie: S = G I, a, c a x W, dla x s 0, dla x s, t W2, dla x t c x, y,, x, y : x s x, y : x W y t y W 2 6
7 Metody wyznaczania skojarzeń najliczniejszych 8 7 6 5 4 3 2 G= S t 8 6 5 4 3 2 7 W sieci S znajdujemy przepływ maksymalny. Krawędzie odpowiadające łukom, które będą miały przepływ równy tworzą skojarzenie maksymalne w G.
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 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 ; 5 5 6 7 8 2 3 6 7 _ 2 3 4 W 4 8 W W 2 W 2 graf Königa siatka z oczkami dopuszczalnymi 8
Algorytm wyznaczania zbioru niezależnych oczek dopuszczalnych. Wyznaczamy dowolny zbiór niezależnych oczek dopuszczalnych cechujemy je jedynkami. 2. Cechujemy wszystkie wiersze bez (np. - ). Wybieramy kolejno ocechowane wiersze i ich numerami cechujemy nieocechowane kolumny odpowiadające oczkom dopuszczalnym. 3. Wybieramy ocechowaną kolumnę i wiersz, w którym znajduje się, 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. Jeżeli takiej kolumny nie można ocechować, to KONIEC. W ocechowanej kolumnie bez umieszczamy w wierszu wskazanym przez cechę tej kolumny. Z wiersza, w którym umieściliśmy usuwamy z kolumny wskazanej przez cechę tego wiersza. W rozpatrywanej kolumnie umieszczamy 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 wyznaczyć U * U tak, aby uu k u ekstr U' U uu * ' k u gdzie U zbiór skojarzeń najliczniejszych grafu G 0
k I ij : k ij Algorytm wyznaczania przydziału optymalnego Dane: macierz kij, gdzie: rxr r max m,n, I II m W, n W ; k ij I k u, v, dla u W, 0 i j, dla i i m j v j W n II I Algorytm dla max : kij : k ij
Algorytm wyznaczania przydziału optymalnego. Od elementów k ij 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 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. 2
Przydział minimaksowy Dla danej sieci S = G,, k, gdzie G - graf Königa, k : U R wyznaczyć U * U tak, aby: u max k min max * I I u U U U u U gdzie: U zbiór skojarzeń najliczniejszych grafu G; ku PRZYKŁAD: (tzw. problem wąskiego gardła ). Grupa m pracowników ma wykonać n prac (mn), 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 k ij. mxn Wszyscy wybrani pracownicy rozpoczynają pracę w tej samej chwili i chodzi o to, aby wszystkie prace zostały zakończone jak najwcześniej. 3
Algorytm wyznaczania przydziału minimaksowego Dane: macierz kij utworzona jak poprzednio (dla algorytmu wyznaczania rxr optymalnego przydziału). Zakładając, że wszystkie oczka są dopuszczalne wyznaczamy najliczniejszy zbiór niezależnych oczek dopuszczalnych. 2. Spośród wybranych oczek wyznaczamy element maksymalny i w tablicy k ij 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. 4
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 min * I k u uu U I U uu 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 k ij. mxn 5
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. 6
Zakład Badań Operacyjnych i Wspomagania Decyzji Instytut Systemów Informatycznych Wydział Cybernetyki, Wojskowa Akademia Techniczna DZIĘKUJĘ ZA UWAGĘ dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl