ZE SZYTY NA UK OW E POLITECHNIKI ŚL ĄSKIEJ Seria: A U T O M A T Y K A z. 63
1982 Nr kol. 735
Eugeniusz T O C Z Y Ł O W S K I , Krzysztof RUDOWSKI Instytut Automatyki, Politechniko Wa rs za ws ka
A L GO RY TM RO ZW IĄ ZY WA NI A ZADANI PR ZY OZ IA ŁU Z M I N I M A K S O W Y M KRYT ER IU M
S t r e s z c z e n i e . W pracy przeds ta wi on o kilka we rs ji algorytmu roz
wiązyw an ia problemu przydziału. Różnię się one efektywnościę w z a leżności od wy miaru i li czby danych pomo cn ic ze go zadania z n a j d o w a nia pełnego skojarzenia w grafie dwudzielnym. Pr ze dstawiono kilko metod umoż li wi aj ąc yc h zw ię ks ze ni e efektywności ob liczeń przez w y k o rzystanie rozrzedzenie gr afów dwudzielnych. Z a p r o p on ow an o efektywne w y k o r z ys ta ni e pamięci i efektywnę organizację ob liczeń w p r oc ed u
rach realizujęcych algorytmy.
1. ZADANIE PRZYDZIAŁU
Dany jest zbiór n zada ń oraz zbió r m pracowników. Bez st ra ty o g ó l ności mo że my założyć, że m ^ n. Przydziałem zada ń do prac ow ni kó w n a z w i e my do wolne przyporz ąd ko wa ni e zadań do pracowników, Jeżeli każdemu p r a c o w nikowi przypo rz ąd ko wa ne Jest dokładnie Jedno, odrębne zadanie, to pr zy
dz ia ł nazywany Jest dopuszczalnym. Niech będzie czasem wykonanie i-tego zadania przez J-tego pracownika (jeżeli i-te za danie nie może być wykonane przez j-tego pracownika, to pr zy jmujemy a =<*>). W p ro wa dź my zmienne de cy zy jn e zero-j ed yn ko we x ^ , przy czym x ^ = 1 wtedy i tylko wtedy, gdy J-te zadanie pr zy dzielono i-temu pracownikowi. Jeżeli z a ł o ż y my, że wszystkie zadania sę wy ko ny wa ne Jednocześnie, to przydział m i n i m a lizujący czas wykonania zadań można w y zn ac zy ć przez rozwięzanie mi nimak- sowego zadania .
zm in imalizować z = max a,,x. . i ii.j
m
(1) i = l
n
i = 1
X = 0,1
174 E. Toczyłowskl, K. Rudowskl
Wa rt oś ć pr zyporządkowana 6ędzic krawędzi | ri ' c]
grafie dw ud zi el ny * ok re śl an y Jest pojęciem skojarzenia
Funkcja celu zadania (l) Jest typu wąskie gardło. Z algo ry tm ic zn eg o punk
tu wi dzenia bedą interesujące inna, równoważne re pr ezentacje zadania (l) w ujęciu ma ci er zo wy m i w ujęciu teorii grafów. W reprezentacji m a c i er zo
wej rozpatrywano Jest ma cierz A = [®ij] mxti ’ w której po sz uk iw an y jest przydział kolumn do wi e r s z y (tzn. każdemu w i er sz ow i przydzielana Jest od
dzielna kolumna) i taki, że najwię ks zy z w y ró żn io ny ch w ten sposób e l e
ment a ^ Jest Jak najmniejszy. W notacji teorii g r af ów kons tr uo wa ny Jest graf dw ud zi el ny G(M,N,E), gdzie M = r^J jest zbiorem w i e r z c h o ł ków od po wi ad aj ąc yc h wi erszom ma cierzy A (pracownikom), N «
Jest zbiorem w i e r z c h o ł k ó w od po wi ad aj ąc yc h kolumnom ma cierzy a (zadaniom"), natomiast E jest zbiorem (nieskiorowanych) krawędzi łączących w i e r z chołki z M i N, tzn. j r ^ C j j e E wted y i tylko wtedy, gdy s ij < '*°- iowana będzie krawędzi ir., ,c, . Przydział na skojarzenia wierz
ch ołków należących do zhioru M z wi er z c h o ł k a m i należącymi do N ) . Zadanie przydziału ma wiele interpretacji. Przykładam może byc z e d B - nie przydziału mo nterów do stanowisk mo nt ażowych na linii montażowej. In
nym przykładem Jest zadanie wzaj em ni e Je dn oz na cz ne go przyporządkowania w i e r s z y i kolumn zadanej macierzy. Za da ni e to Jest często rozwiązywane podczas an al iz y strukturalnej w i e l ki ch prob le mó w obliczeniowych, gdzie n craz m może być nawet rzędu kilku tysięcy.
Sz cz eg ól ni e efektywną klasą a l go ry tm ów ro zw ią zu ją cy ch zadanie pr zy
dz iału jest klasa al go ry tm ów progowych M M . W al go ry tm ac h tych z a s a d niczą rolę odgrywa pomocn ic zy problem decy zy jn y p a ra me tr yz ow an y przez zmienną progowa V. Problem ten polega na sprawdzeniu, czy dla ustalonej wa rtości zmiennej progowej V, istnieje dopu sz cz al ny pr zy dz ia ł o koszcie V. Problem progowy jest równoważny problemowi istnienia pełnogo s k o j ar ze
nia w grafie dwudzielnym.
Złożoność obliczeniowe na jl epszych a l go ry tm ów mi ni ma ks ow eg o zadania przydziału Jest równa O ( n 3 log,,n) [śj dla n =■ m. In tencją tej prscy Jest opracowanie algorytmu o Jak nBjmniej6Z0j złożon oś ci obliczeniowej.
Z a p r o p on ow an o kilka metod zw ię ks za ją cy ch efektywność algorytmu, wy ko
rzystujących szczególne właś ci wo śc i rozwią zy wa ny ch zadań.
2. PR OBLEM M A K S Y M A L N E G O SK OJ ARZENIA
Dla ustalonej wartości zmiennej progowej V ro zp atrywany Jest Drogowy graf dw ud zi el ny g(m ,N,Ev ), gdzie Ev = | { ri ,ci]': a ij ^ V } * Niech s<= EV będzie pewnym podzbiorem Jego krawędzi. Zbiór S nazy wa ny Jest skojarze
niem, jeżeli każdy wi er z c h o ł e k grafu Jest incydentny z co najwyżej Jed
ną krawędzią z S. Jeżeli |S| = m, to skojarzenie nazywane Jest pałnym.
Dis danego grafu g(m,N,Ev ) oraz da nego skojarzenia S mó wi my ,ż e wierz-
Algorytm ro zw iązywania zadań przydziału... 175
chołek v c M u N Jest swobodny. Jeżeli nie Jest d.neydentny z krawędziami skojarzenia. Droga prosta P w grafie g(m ,N,Ev )
nazywana Jest drogę p o w l ę k s z a l n ę , Jeżeli krawędzie drogi należę pr ze mi en
nie do E \ S , S , . . . , E \ S , a ponadto wi er z c h o ł k i krańcowe v Ł i v 2(< sę swobodne. Pods ta wo wy m faktem, wy ko r z y s t y w a n y m w al go ry tm ac h zn aj dowania
«aksymalnego sk oj arzenia jest twierdzenie, że dane sk oj arzenie S nie Jest skojarzeniem o największej liczności wted y i tylko wtedy, gdy w grafie G(m, N ,Ey ) istnieje droga po wi ększalna [ l ] . De że li nie jest skoj ar ze ni em o największej liczności, czyli gdy istnieje pewna dr o g a powi ęk sz al na (2).
to sk oj arzenie S można za stępie sk oj ar ze ni em o liczności większej o je
den, stosujęc po ds ta wi en ie S' = S © P, gdzie symbol © oz na cz a różnicę symetryczną dwóch zbiorów. Pods ta wi en ie to odpowiada za st ęp ie ni u krawędzi skojarzenia odpo wi ad aj ęc yc h parzystym łukom dr og i (2) przez krawędzie n i e parzyste, których liczba jest d o kł ad ni e wi ęk sz a o Jeden. W s z y s t k i e a l g o rytmy z n a j do wa ni a m a ks ym al ne go skojarzenia oparte sę na p o wy żs zy m p o d s t a wieniu. R o zr óż ni a się dwie zasadn ic ze grupy me to d:
(i) al go ry tm y szeregowe (Hall [2]), w których jedna iteracja oolega na zn al ez ie ni u pojedynczej dr og i powiększalnej P i dokonaniu ‘p o d stawienia S' - 5 © P,
(ii) al go ry tm y równoległe (H op croft-Karp [3J ), w których Jedna iter a
cja polega na w y z n a c z e n i u 'możliwie maks ym al ne go zbioru rozłęcz- nych dróg po wi ęk sz al ny ch P^,...,P^ a następnie d o ko na ni u p o d
stawienia S r = S © Pj © . . . © P ^ -
^Oaśli o z na cz ym y NM =« |EV |> to as ym pt ot yc zn a złoż on oś ć a l go ry tm ów pi er
wszej i drugiej grupy jest równa od po wi ed ni o 0(m NM) oraz 0 ( Y m ’ • N M ) . Praktyczna przewaga al go ry tm ów równoległych nad szeregowymi uwidacznia się dopiero dla w i ęk sz yc h zadań, co w y ni ka z wi ęk s z e g o w s p ó ł c zy nn ik a p r op or
cjonalności w os za cowaniu złożoności obliczeniowej. Oak w y k a zu ję d o ś w i a d czenia numeryczne, al go ry tm y szeregowe sę bardziej efektywne od al g o r y t mów równ ol eg ły ch dla zadań, w których m jest rzędu kilkadziesięt oraz dla ni ek tó ry ch zadań nawet przy m rzędu kilkaset. Zb io ry zada ń, dl a któ
rych al go ry tm y szeregowe i równoległe sę sz cz eg ól ni e ef ek ty wn e w y da ję się uzupełniać: przewaga al go ry tm ów ró wn ol eg ły ch nad sz er eg ow ym i uwidacznia się dla g r a f ó w z wi ększę liczbę w i e r z c h o ł k ó w i stosun ko wo rozrzedzonych (w których NM i k m, gdzie k Jest niewielkę stełę) , podczas gdy dla grafów z mn iejszę liczbę w i e r z c h o ł k ó w lub dla g r af ów prawie pe łnych (gdy NM s a ) bardziej efektywna sę algo ry tm y szeregowe.2
Z powyżs ze go powodu podczas ro zw ięzywanie zadania pr zy dz ia łu opłacalne Jsst wy ko r z y s t y w a n i e kilku różnych a l g o r y t m ó w poszukiwania maks ym al ne go skojarzenia, gdyż zachodzi wted y potrzeba badanie istnienie pełnego s k o
jarzenia dla różnych gr afów progowych o różnym stopniu rozrzedzenia.
P ■ (v4 ,v2 ) (v2 ,v3 ) ... (v.2 k - l ,v2 k ■
(
2)
176 E. To cz yłowskl, K. Rudowski
Dla da ne go grafu progowego o llczbia krawędzi Nfi przez A oznaczać będziemy ma ci er z progową 9dzle * s ij Jeżeli { ł *Jj € Ev oraz
^ j = <x> w or ze ci wn ym przypadku,
3. W Y K O R Z YS TA NI E S Z CZ EG ÓL NY CH W Ł A Ś CI WO ŚC I ZA D A N I A PR OG OW EG O
Dedna duża iteracja algorytmu mi ni ma ks ow eg o zadania przydz ia łu polega na rozwięzaniu zadania Drogowego, czyli za da ni a ma ks ym a l n e g o skojarzenia, co w najgorszym przyoadku może w y ma ga ć 0(m*NM) ob li cz eń dla algorytmu Helia. W rozdziale tym z a j m ie my się metodami umożliwiajęcyrai uproszczenie rozwiązania za da ni a progowego. Zauważmy, że w istocie zsdanie to polega na odpowiedzi na pytanie, czy dla ustalonej wartości progu w grafie pro
gowym istnieje pełne skojarzenie. Problem ten nie jest problemem optyma
lizacyjnym, lecz Jedynie problemem de cy zy jn ym i może być rozwiązany ła
twiej aniżeli zadanie zn al ez ie ni s ma ks ym a l n e g o skojarzenia. Podamy teraz metodę up raszczającą rozwiązanie tego problemu de cy zy jn eg o, w przyped“
ku gdy o « n.
Wy ko r z y s t a n i e silnie spójnych okładowych
Dla dalszych ce ló w zm od yf ik uj em y nieco pojęcio skojarzenia. Niech ScM*N będzie pewnym zbiorem krawędzi, niekon ie cz ni e na le żą cy ch do E. Zbiór S nazywamy skojarzeniem. Jeżeli każdy wi er z c h o ł e k v ę M u N Jest incydent- ny z do kł ad ni e Jedną krawędzią z S. Dla da nego grafu d w u d z i e l n e g o g(h, N ,'Cy) liczbę | S n Ey | , czyli 1 iczbę • ws pó l n y c h krawędzi z Ev nazywać bę
dziemy licznością skojarzenia S. S k o j ar ze ni e o liczności m na zywane jest s k oj arzeniem pełnym. Powyższe d e fi ni cj a sk oj ar ze ni a pełnego pokrywa się z definicją z rozdz. 2. Droga prosta P w grafie G ( M , N , E V u S)
p = (v1 .v2 ).(v2 .v3 ) ...i''2k-2'v 2 k - l )
z parzystą liczbą łuków nazywana Jest drogą p r z e s u w a l n ą , Jeżeli niepa
rzyste łuki należą do S, parzyste do Ey-S, a ponadto pi erwszy luk ni®
należy do Ey (tzn. wier zc ho łk i i v 2 są swobodne). Dożęli =
= v 2 |<_i> to p na zy wa ny jest cy kl em przesuwalnym. Deżeli t0 z P twor zy my cykl cl(p) jak następuje. Niech s K u N będzie wierz
chołkiem określ on ym Je dn oznacznie przez wa ru ne k ^v 2 k - l ’v 2k^ * S ' cl(P& tworzymy dodając do P łuk ^v 2k - l ' v 2k^ e S oraz łuk domykający
(v 2k'v l^ ’ n * ekoniecznie na le żą cy do E y , tzn.
Algorytm ro zw iązywania zadań przydziału. 177
W cyklu cl(P) zn ajdują »ię krawędzie nie należące do Ev< Niech dj będzie liczbą tych ni ep ar zy st yc h krawędzi, które nie należą do E v oraz ri,, liczbą krawędzi pa rz ys ty ch nie należących do E v> Ró żnicę n a z >'W 8 m y defektem drog i P i oz naczać będziemy przez df(P). Osżeli d f ( P ) > l , to drogę przesuwalną na zywać będziemy drogą p o w i ę k s z o l r ą . Dla tak u o g ó l n i o nego pojęcia drog i powiększalnej można u d ow od ni ć uo gó ln ie ni a podstawowych twierdzeń z teorii sk oj ar ze ń na grafach dwudzielnych.
Tw i er dz en ie 1 [6]. Oeżeli S Jest skoj ar ze ni em i P jest drogą pr ze
suwalną, to S' = S © c l (P) jest s k oj ar ze ni em i Jego liczność jest po
większona o df(p).
Twie rd ze ni e 2 [6], Oeżeli S i R są sk ojarzeniami o liczności od
powiednio a i r, s > r . to S © R zawiera zbiór w i e r z c ho łk ow o rozłącz
nych dróg pr ze su wa ln yc h Pj_,...,P^ w z g l ę d o m skojarzenia S, takich że df(p^ ) + . , .d f (p^) = s-r.
Dla zd ef in i o w a n e g o w powy żs zy sposób skojarzenia S utwórzmy z grafu dwudzielnego G ( M , N , E V U S) graf s k i e r o w a n y Gg = G ( m , N , E v U S) przez skie
rowanie kr awędzi z S od w i e r z c h o ł k ó w z M (wierszy) do wi er zc h o ł k ó w z N (kolumn) , natomiast krawędzi z Ey S od wi e r z c h o ł k ó w z N do w i e r z chołków z M„ Przyjmijmy, że sk oj ar ze ni e S nie Jeat skoj ar ze ni em p e ł nym. Za łóżmy, że w grafie Gg z o st ał y z n al ez io ne silnie spójne s k ł a d o we. Najbardziej ef ek ty wn ym algory tm em w y o d r ę b n i a n i a silnie s p ó J n y c R s k ł a dowych grafu jest algo ry tm Tarjana, [5] o złożoności obliczeniowej o ( n m ) , gdzie NM Jest liczbą łuków grafu <J^. Łuki w grafie łączące w i e r z chołki z różnych sk ła do wy ch silnej soójności n a z y wa my łukami skrośnymi.
Tw i e rd ze ni e 3 [fi]. Oeżeli S i R są skojarzeniami., R jest s k o j a rzeniem pełnym, to każda droga po wi ększalna na leżąca do S © R Jest za
warta w jednaj z silnie spójnych sk ła do wy ch grafu Gg.
Dzięki powyższej w ł a ś ci wo śc i us un ię ci e łuków skrośnych z grafu Gg i oddzielne w y z n a c z a n i e dróg po wi ęk sz al ay ch dla każdej silnie spójnej sk ła
dowej umoż li wi a zmni ej sz en ie maksymalnej liczby kr ok ów al go ry tm ów Helia i Hopcrofta-Karpa o d o o wi ed ni o z m i 2Vm do p 1 2Yp\ gdzie D=Sm Jest liczbą w i e r z c h o ł k ó w największej silnio spójnej składowej grafu.
W y k o r z y s t a n i e algo ry tm u Tarjana w trakcie w y k o ny wa ni a kolejnych it er a
cji jednego z al go r y t m ó w znaj do wa ni a m a ks ym al ne go skojarzenia Jest ko
rzystne dla gr afów ro zrzedzonych o dużej liczbie wierzchołków.
Z punktu wi dz en ia ro zw iązywania zadania prog ow eg o szczególnie intere
sujący jest fakt, iż w y o d r ę bn ia ni e silnie spójnych składowych grafu Gg umożliwia uzyskanie w pewnych sytuacjach odpowiedzi negatywnej "w grafie progowym pełne sk oj ar ze ni e nie istnieje" bez ko ni ec zn oś ci znajdowania ma- ksymalnogo skojarzenia. Załóżmy, że dla da ne go skojarzenia S, nie będą
cego s k oj ar ze ni em pełnym w grafie Gg istnieje wi er zc ho łe k r £ M sta
nowiący silnie spójną składową grafu. Oeżeli krawędź skojarzenia | r , c j « S incydentna z r nie należy do Ev , to łatwo wykazać, że skojarzenie peł
178 E. Tocz ył ow sk l, K. Rudowskl
ne w grafie progowym nie istnieje. Wynika to z faktu, że w ma ci er zy A NM można w y o d r ę b n i ć k+1 wi er sz y z a w i e r aj ęc yc h jedynie k ni ez er ow yc h ko
lumn, k ^ 0 .
Wy od r ę b n i a n i e silnie spójnych składowych pozwala również na wyłączenie z rozważań “ni eo bi ec uj ąc yc h" elem en tó w a^j o których w i a d o m o , że nie w e j dę one w skład pełnych skojarzeń ni ez ależnie od zmian progu V. Niech V będzie progiem górnym, tzn. takim, że w grafie G(m ,N,Ev ) istnieje pełne skojarzenie S. Przypuśćmy teraz, że dla us ta lo ne go progu gó rnego V w y o d rę bn io no w grafie Gg Je go silnie spójne składowe. Obniżenie progu V prowadzi co najwyżej do rozbicie wy od rę b n i o n y c h składo wy ch grafu G g . 2 po
wyżs ze go faktu oraz z twierdzenia 3 wynika, że łuki s k r o ś n ą grafu 5^ nie będę w c h o d z i ć w skład pełnych skoj ar ze ń dla do wo ln yc h wa rt oś ci progowych V mniejs zy ch od progu gó rn eg o a zatem mogę one być całkow ic ie usunięte.
Jest oczywiste, że za powyższe, do da tk ow e informacje płacimy kosztem w y o d r ę bn ia ni a silnie spójnych składowych (za pomocę algo ry tm u Tarjana).
Koszt ten Jest liniowę funkcję liczby krawędzi grafu. Możn a oczekiwać, że u s uwanie łuków skrośnych będzie opłacalne dla wi ę k s z y c h zadań, szczegól
nie dla m n ie js zy ch w a rt oś ci progu V, kiedy to graf y progowe są stosunko
wo rozrzedzona.
4. OPIS REALIZACJI A L GO RY TM U
Przyjmiemy wstępnie, że znane s ę : dolna wa rt oś ć progowa Vd , dla której w grafie prog ow ym nie istnieje pełne skojarzenie oraz górna wa r t o ś ć pro
gowa V , dla której w grafie progówym pełne skojarzenie istnieje. Pod
st aw ow y schemat algory tm ów progowych można zapisać następujęco.
Al go ry tm
1. (Dobór progu). Dobierz nowę wa rt oś ć progowę V e (v cj'V g^ ic^ż do 2 - 2. (Problem pe łnego skojarzenia). Zbadaj, czy istnieje w grafie progo
wym G(m , N ,Ey) pełne skojarzenie. Jeżeli istnieją, to idż do 3, Jeżeli nie istnieje, to idż do 4.
3. V g :«V, idż do 5.
4. Vd :-V, idż do 5.
5. Jeżeli V d < V g idż do 1. W pr ze ci wn ym przypadku w y zn ac z ma ksymal
ne skojarzenie w grafie G ( M , N , E V ). Stop.
Schemat algorytmu łatwo można zmod yf ik ow ać również na przypadek, w któ
rym wa r t o ś ć progu gó rn eg o Vg nie Jest znana 1 kiedy w y k o r z y s t y w a n y Jest wy łą c z n i e próg dolny V d jak w al go ry tm ie G a rf in ke la [i]. Om ówimy teraz w a r i a n t y algorytmu do boru progu i al go ry tm u pełnego skojarzenia.
A l g o r y t m ro zw ią zy wa ni a zsdan przydziału. 179
4.1. Dobór progu
Wy ró ż n i m y dwa zasadnicze scosoby co bo ru progu. Pi er ws zy oochodzi od Garfin ke la [lj i polega na s t op ni ow ym p o dw yż sz an iu progu w taki sposób, że w kolejnych krokach uz ys ki wa ne są proai dolne (dla których nie i s tn ie
je przy dz ia ł pełny) , natomiast pierwszy przydział oełny jest rozwiązaniem optymalnym. Wa rt oś ć nowego progu wy nika z an alizy rozwiązania zadania p r o
g o we go dla starej w a r t oś ci prcpu. Zaletą tej reguły Jest to, że grafy p r o
gowe ro zo otrywane w kolejnych iteracjach algorytmu są st os un ko wo r o z r z e dzone. co g e ne ra ln ie zwiększa ef ek ty wn oś ć rozwiązywania zadań progowych.
Do wad me tody na leży zaliczyć stosunkowo dużą liczbę kroków metody, n i e
zb ędnych do uzyskania do D u s z c z a l n e g o rozwiązania.
Drugi sposób do bo ru procu, za pr o p o n o w a n y przez S ł om iń ak le go [4] . w y k o rz ystuje po dział d y c h o t om ic zn y i wy ma ga jedynie 0 ( l o g 2 n't kroków. P r z y j mijmy, że el em en ty m a c i er zy A - Ca ijJ siJ w s t ę p n i e usze re go wa ne w ko l e j ności n i s m a l a j ą c e j . Na jl ep sz e algo ry tm y sortowania um oż li wi aj ą u p o r z ą d k o wanie zb ioru o liczności t za pomocą 0 ( t l o g 2 T() operacji (oorównań, prze
st awień itp.) £7]. Dla u p o r z ą d k o w a n e g o w kolejności nlemalejącej ciągu e- lementów ma ci er zy jJ m °żna st osować dwa rodzaje progów. Pr ogiem li cz
bowym na zw ie my do wo ln ą całk ow it ą liczbę NM, 1 ^ N M ^ T ok re śl aj ąc ą zbiór NM pi er ws zy ch e l em en tó w tego ciągu. Próg V okre śl aj ąc y zbiór elem en tó w C = { 8 ij : a ij ^ v j n a z y w a m y orogiea w a r t o ś c i o w y m . D y ch ot om ic zn y po
dzia ł można st osować za równo dla progu liczbowego. Jak l dla progu w a r t o ściowego. W pier ws zy m przy pa dk u w a r t o ś ć orogu NM Jest wy zn ac za na według r e gu ły NM = (NM£j+NMQ )/2 (z z a o k r ą gl en ie m do liczby ca łk owitej). gdzie NM^ i NMg są odpo wi ed ni o progami d o ln ym i górnym. W przypadku u s t a l e nie progu w a r t o ś c i o w e g o do bi er an a jest wa rt oś ć progu V w taki sposób, że rozp at ry wa ny podciąg elementów/ o wa rt o ś c i a c h (a ij : <~ 8 ij ^ V g) Je 8t d z ie lo ny na dwa podc ią gi (0^ : ^ V) oraz ^ : V C a ^ < V^) zr ów no w a ż o n e “wa rt oś ci ow o" , tzn. zawi er aj ąc e tę samą liczbę różnych w a r tości.
Re gu ła pierwsza w y ma ga o ( l o g 2 n) kroków, podczas gdy reguła dr ug a w y maga Jedynie o ( l o q 2 z) kroków, gdzie z Jest ma ks ym al ną liczbą e l e m e n tów maci er zy £a ijJ 0 różnych wartościach. Re gu ła dr ug a może więc wy m a g a ć zn ac zn ie mniej kr ok ów w przypadku ma cierzy p o s i a d aj ąc yc h du żo el em e n t ó w o tych samych wartościach. Dej wadą jeat Je dn ak koni ec zn oś ć pamiętania d o datkowej tablicy o wymi ar ze z. W o p is yw an ym algorytmie im pl em en to wa ne są obie reguły, przy czym wybór reguły będzie u z a l eż ni on y od p a r a m e t r ó w za
dania. Ponadto za st o s o w a n o po dział "niesymetryczny" u m o ż l i wi aj ąc y dobór progu s t os un ko wo blisko progu dolnego, co Jak w i a d o m o zwiększa e f e k t y w ność ro zw ią zy wa ni a zadania progowego.
180 E. Toczyłowski, K. Rudowski
4.2. Realiz ac ja algorytmu oałnsgo skojarzenie
Dla zadanego orogu V poszukiwanie ma ks ymalnego sk oj ar ze ni a w pr og o
wym grafie d w u d zi el ny m G(M,N,Ey) jest równoważne p o s z uk iw an iu pr zy po
rządkowania wi erszy i kolumn w maci er zy A takiego, że liczba o g r a n i czonych progiem ws p ó ł c z y n n i k ó w a ^ na skrzyżowaniu tych wi er sz y i ko
lumn jest jak największa. Najbardziej efektywna realizacja algorytmów peł
nego skojarzenia opiera się na powyższej równoważności. Niech P będzie macierz* osrmutacyjnę stopnia n. W zapisie maci er zo wy m zadaniu pełnego skojarzenia odoowiada zadanie zn al ezienia takiej m a c i er zy permutacyjnej P że macierz A....P posiada skończoną przekętnę. Ogólnie, dowolnemu skoja- NM rżeniu S w grafie G ( M , N , E V ) odpowiada wzajemnie Je dn oz na cz ni e pewna macierz oermutacyjna P.
cs(v)--- r io , > ADO,)— - * RIO,) AD (iJ
--- --- - *
■
Rt OJ 0
Rys. 1. Li stowy kolumnowy zapis ma ci er zy A. V - numer kolumny. GS(v' adres pierws ze go elementu listy z kolumnę V. Zapis i-tego el ementu lis
ty: Rl(i) - numer wi ersza tego elementu: AD(i) - adres następ ne go el em en
tu w liście w kolumnie V (jeżeli element i-ty Jest osta tn im w kolumnie V, to AD(i) « O)
A NM zapisy wa na Jest w postaci listowej (rys. 1). Dla ustalo- Macierz wn
nej wart oś ci progowej ma ci er z A ^ za wi er a NM e l em en tó w m n ia js zy cn od wa rt oś ci progowej i tylko to el ementy sę elementami listy. Przyjęto ko
lumnową postać lietowę, która pozwala na szybki d o st ęp do kolejnych ele
me nt ów kolumn ma cierzy A N M - Pozwala również na proste mo dy fi ka cj e listy polegające na do pi s a n i u (rys. 2) lub us un ię ci u (rys. 3) pewnej liczby ele-
»
RI(NM) ACKNM)
Rys. 2. Do pi sa ni e nowego elementu awv orzy zmianie progu z NM na w y ż szy :
N M :«NM + 1 , A D ( N M ):«CS(V), CS(v):«NM. R l ( N M ) : « W
nentów listy. Mo dy fi ka cj e listy sę niezbędne orzy zmianie progu. W y k o r z y stanie algorytmu Ta rjana d o eliminacji łuków skrośnych w grafie (repre
zentowanych przez el ementy m a ci er zy A^.,) również wymaga usuwania ele
me nt ów listy.
Al gorytm ro zw iązywania zadań przydziału.
Rys. 3. Us uwanie elementu ^ oraz i, CS(V) :-l2 , A D ( l 2 ) :-i4
Elementy macierzy usze re go wa ne sę we dł ug na st ęp uj ąc eg o porzędku:
Jeżeli a Aj > a k ^. to element listy od po wi ad aj ęc y elementowi a ^ Jest umie sz cz on y na pozycji wc ześniejszej niż element 3 tj- Pozwala to w pr os
ty sposób mody fi ko wa ć listę przy zmianie w a r t oś ci progu NM.
A l go ry tm y po sz uk iw an ia pełnego skojarzenia w grafie progowym Dolegaję na znal ez ie ni u ma cierzy permutacyjnej P takiej, Ze ma cierz A ^ P ma na przekętnej głównej w s p ó ł c zy nn ik i o ograni cz on yc h wartościach.
Oeżeli n = m. to d o da tk ow o w y zn ac za na Jest macierz pe rm ut ac yj na S, umożli wi aj ąc a transformację
W - s . ( A NMP l . s T .
gdżie ma ci er z pe rm utacyjna S służy do jednoczesnej oermutacji wi er sz y i kolumn ma ci er zy A N M P takiej postaci. Ze prowadzi to do wyodrę bn ie ni a silnie spójnych składowych sk ie ro wa ne go grafu orogowego (odpowiadajęcych kwad ra to wy m podm ac ie rz om w z d ł u ż przekętnej głównej). Oznacza to, Ze Je
żeli pomi ni em y nies ko ńc zo ne w s p ó ł c zy nn ik i w ma cierzy Aj^» to wy nikowa permutowana ma ci er z posiada strukturę b l o k o w o - t r ó j k ą t n ą .
Wszystkie macierze permutacyjne pamiętane sę w postaci w e k t o r ó w permu- tacyjnych. Przy kł ad ow o m a c i e r z y pnxn odpowiada n w y m i a r o w y we kt or p =■ ( p ( l ) p (n ) ) , taki. Ze P(i,j) « i wted y i tylko wtedy, gdy J * - p(i). W realiz ow an yc h al go rytmach we kt or y pe rm ut ac yj ne p oraz s p a miętane sę w postaci tablic o nazwie R1 i STACK.
Do pa mi ęt an ia struktury blokowo-trójkętnej ma cierzy A służy obok m a c i er zy permutacyjnej S we kt or FATHER o wy mi ar ze n (rys. 4), Każdemu w y od rę b n i o n e m u olokowi m a c i er zy A odpowiada obszar tablicy FATHER od oo- czętkowej pozycji CP do końcowej pozycji NZ . na których znajduję się w tablicy ST AC K numery kolumn wy o d r ę b n i o n e g o bloku. W tablicy FATHER na koń
cowej pozycji NZ wy od rę b n i o n e g o bloku wp is an y jest adres początku bloku CP. W zwięzku z przyjętym za pisem bloki sę ęnalizowęne sekwencyjnie od os
tatniego d o pierwszego. Do zepleu swobodnych kolumn za st os ow an o d o da tk ow y we ktor STOS o wy mi ar ze n. Ko lumny te zopiauje się dla każdego bloku od
dzielnie (rys. 4). Zn ac z n i k i e m końca zbioru swobodnych kolumn jest zero
182 E, T o c z y ł o w s k l , K. Rudowski
CP N Z
STACK
STOS
0V,
FA TH ER CP
Rys. a. Oois bloku od po wi ad aj ąc eg o eilnie spójnej składowej grafu prog o
we go (Vj,...,V^ - numery sw ob od ny ch kolumn bloku)
(jeżeli w bloku ws zy s t k i e ko lumny tą swobodne, to w y p e ł n i a j ? cały obszer bloku'. Kolumny swobodne rozpatrywane są od ko lumny zapisanej w STOS(NZ).
Liczna za jętość pamięci tablic używ an yc h we w s z y s t k i c h implementowa- nych algo ry tm ac h posz uk iw an ia pełnej przekętnej Jest równa lin + 2NM,
VI celu ro zw iązania zadania pełnego p r zy dz ia łu w y bi er an y Jest jeden z na st ęp uj ąc yc h al go ry tm ów
(i) Halla
(ii) Ho pc ro ft a- Ka rp a (iii) Halla plus Tarjana
(iv) H o pc ro ft a- Ka rp a plus Tarjana
w zależności od wa rt oś ci p a r a m e t r ó w st er uj ąc yc h u z a l e ż ni on yc h od rozmia
rów i rozr ze dz en ia maci er zy struktury grafu. VI p r z y pa dk ac h (iii) oraz (iv) brak pełnego przydz ia łu może być st wi erdzony w al go ry tm ie T a r j a n a . W chwi
li obecr.ej au torzy impl em en tu ję al go ry tm y (i) oraz (iii). Po ds ta wo wy m pa
rametrem st er uj ęc ym Jest para me tr o nazwie NU okre śl aj ąc y wa ru ne k w y wo ła
nia algo ry tm u Tarjana w algo ry tm ac h m a k s ym al ne go skojarzenia. Reguły do- tyczęce wartości tego parametru sę us talane na oodstawia eksperymentów nu
merycznych.
Dla z w i ę ks ze ni e ef ek ty wn oś ci ro zw ięzywania zadania pr og ow eg o przy zmia
nie progu na w y ż s z y za ch ow yw an e sa d o t y c h c z a s znalezione p r zy dz ia ły z po
przedniej iteracji. Podobnie przy zmianie progu na ni żs zy znikeje Jedynie przydz ia ły od po wiadaJęce elem en to m położonym na przekętnej ma cierzy A j^p w i ę k s z y m od nowej w a r t oś ci progu.
PO DS UM OW AN IE
Om ów io ne w pracy rozwięzanin a l go ry tm ic zn e i orogramowe stanowię ood- stawę organizacji ro zbudowanego pa kietu z u n i fi ko wa ny ch pr ocedur służęcych do efek ty wn eg o rozwięzywania zadań przydziału. Realiz ac ja całego oakletu Jest zami er ze ni em d ł ug of al ow ym i będzie realizowana etapami. VI pierwszym etapie zaimpl em en to wa no algorytmy Halla i Tarjana w we rs ji umożliwiającej bezp oś re dn ią i efektywną współp ra cę tych algorytmów.
Aloorytm rozwiązywania zadań or -ycizia t u . lf-3
LJTtRAT'JRA
[lj Garf in ke i R.5.: An Im proved Algo ri th m for the Bottleneck Assignment Problem, Oons, Res. 19 1971'. 174V-17bl,
[z] Hail M. : An Al oc ri th m for Distinct Raorezent at i o n s , Amer. Math. M o n t h l y , Vol 63 11956). 716-717.
[j] Hoocroft O.E. . k a rc R.M.: An r S//2 Al g o r i t h m for M a xi mu m Ma tc hi ng s in Bipartite Grsrhs, SI AM P. O o m o u t , Vol 2 (1973), No 4. 225-231.
[4] 5lomir.sk 1 L.: bottleneck Assignment Problem: an Efficient Algorithm, Arch. Aut. tern 24, zeszyt 4, 469-482, 1979,
[b] Tarjan R.E. : Depth-First Ec ar ch and Linear Grapn Algori th ms SI AM 0.
C o m o u t . Vol 1, Dp. 146-160. 1972.
[t] 1 oczylowsk i t;. : A Ma ximum Ma tc hi ng alaorithm for block-1 rangularizs - n o n of Large-Scale Ma tr ic es , or ze dl oz on o do Anp. Disc' . Moth.
[7] Trybus E.: M e tp dy p o r z g d k o w a n i a , Mat. Stcs. IV. 1975, 95-117.
Recenzent: Prof. dr inż. Henryk k d w a l d w s kI
Wpłynęło do Reda kc ji 15.05.1982 r.
AJirOPlITM PSffiEHHH ¡IHHWiAKCHOli uiWi'-CI 0 HAbKMEffi:;:
P e
3v M_e
3 paO dT e r .r .i.,jr a ii.ic s o :;c o u d a ô ::'j . ..o r o i'K 'iîis . ;:x
zjO-Meiuta. „ u k a uî.toah 'j.v -iu m:»4 0w*i»eKl::3H0CXK J.va<j...
r p a . u o . .ypôAJio iaU o ay ;e:t?« i> a 3 e a c n o . ' . L o U i : : _ u TuKxe Jv Je K iH B a y o a p ra u ita a w tiu . ; j b ..
2..
AN ALGORITHM FOR THE BOTTLE NE CK A S S I G N M E N T PROBLEM
S u m m a r y
net. threshold algorithm for the bottleneck assignment 'roller, is p r e
sented. We apply a met nod wh i c h arables to improve the e f •:r iency of f-e algorithms for finoing full matchings in the bipartite graphs. We also show how to reduce the number of steps of the threshold a l go ri th m by m a king e f f i c1ent use of the information from the previous steps of the a l gorithm.