Cursul 11. Cuplaje. Sisteme de reprezentanti distincţi. Arbori de acoperire. Enumerarea tuturor arborilor cu număr fixat de noduri.

Σχετικά έγγραφα
Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

decembrie 2016 Grafuri. Noţiuni fundamentale. Grafuri euleriene şi grafuri hamilto

Examen AG. Student:... Grupa:... ianuarie 2011

Examen AG. Student:... Grupa: ianuarie 2016

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Metode iterative pentru probleme neliniare - contractii

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Curs 4 Serii de numere reale

Curs 1 Şiruri de numere reale

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Grafuri planare Colorarea grafurilor. Curs 12. Grafuri planare. Colorarea grafurilor. Polinoame cromatice. 23 decembrie 2016.

Curs 2 Şiruri de numere reale

Sisteme diferenţiale liniare de ordinul 1

Criptosisteme cu cheie publică III

Integrala nedefinită (primitive)

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Criterii de comutativitate a grupurilor

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Metode de interpolare bazate pe diferenţe divizate

Geometrie computationala 2. Preliminarii geometrice

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Esalonul Redus pe Linii (ERL). Subspatii.

Subiecte Clasa a VIII-a

Subiecte Clasa a VII-a

Asupra unei inegalităţi date la barajul OBMJ 2006

riptografie şi Securitate

1.3 Baza a unui spaţiu vectorial. Dimensiune

Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri

ELEMENTE DE TEORIA GRAFURILOR

Grafuri. Liviu P. Dinu University of Bucharest Faculty of Mathematics and Computer Science

Laborator 11. Mulţimi Julia. Temă

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

7.2 Problema săptămânii Seminar Seminar Seminar Seminar Conexitate Teorie...

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15


Matrice. Determinanti. Sisteme liniare

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

MARCAREA REZISTOARELOR

f(x) = l 0. Atunci f are local semnul lui l, adică, U 0 V(x 0 ) astfel încât sgnf(x) = sgnl, x U 0 D\{x 0 }. < f(x) < l +

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Arbori și structuri decizionale

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Functii Breviar teoretic 8 ianuarie ianuarie 2011

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

4/29/2011. Arbori minimi de acoperire

O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013

Să se arate că n este număr par. Dan Nedeianu

Asist. Dr. Oana Captarencu. otto/pn.html.

Seminar 5 Analiza stabilității sistemelor liniare

Aplicaţii ale principiului I al termodinamicii la gazul ideal

2 Transformări liniare între spaţii finit dimensionale

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

a. 11 % b. 12 % c. 13 % d. 14 %

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

Principiul Inductiei Matematice.

z a + c 0 + c 1 (z a)

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Al cincilea baraj de selecţie pentru OBMJ Bucureşti, 28 mai 2015

Curs 4. I.4 Grafuri. Grafuri orientate

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Cercetari operationale. O.M. Gurzău

Problema a II - a (10 puncte) Diferite circuite electrice

5.4. MULTIPLEXOARE A 0 A 1 A 2

1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,...

Conice - Câteva proprietǎţi elementare

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

Câmp de probabilitate II

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Progresii aritmetice si geometrice. Progresia aritmetica.

III. Reprezentarea informaţiei în sistemele de calcul

CONCURSUL INTERJUDEȚEAN DE MATEMATICĂ TRAIAN LALESCU, 1998 Clasa a V-a

Definiţia 1.1 Fiind date mulţimile A (alfabetul sursă) şi B (alfabetul cod), o codificare

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

Dumitru Fanache TEORIA ALGORITMICĂ A GRAFURILOR NOŢIUNI FUNDAMENTALE. Volumul I EDITURA PARALELA 45

CONCURSUL INTERJUDEȚEAN DE MATEMATICĂ TRAIAN LALESCU, 2017 Clasa a V-a

a) (3p) Sa se calculeze XY A. b) (4p) Sa se calculeze determinantul si rangul matricei A. c) (3p) Sa se calculeze A.

Subiecte Clasa a V-a

Transcript:

Cuplaje. Sisteme de reprezentanti distincţi. Arbori de acoperire. Enumerarea tuturor arborilor cu număr fixat de noduri 17 decembrie 2016

Cuprinsul acestui curs Cuplaje Cuplaj perfect, maxim, maximal Cale M-alternantă, M-cale de creştere Teorema lui Berge. Teorema lui Hall. Sisteme de reprezentanţi distincţi (SRD) Cuplaje bipartite ponderate Algoritmul ungar Arbori de acoperire Algoritmul lui Kruskal Enumerarea tuturor arborilor cu n noduri Secvenţe Prüfer

Cuplaje Definiţii (1) Se consideră dat un graf simplu neorientat G = (V, E). Un cuplaj în G este o mulţime de muchii M în care nici o pereche de muchii nu are un nod comun. Nodurile adiacente la muchiile din M se numesc noduri saturate de M (sau M-saturate). Celelalte noduri se numesc M-nesaturate. Exemplu a a b c b c d e f d e f g M 1 = {(a,b),(c,e),(d,f)} Noduri M 1 -saturate: a,b,c,e,d,f g M 2 = {(a,b),(c,d)} Noduri M 2 -saturate: a,b,c,d

Definiţii (2) Un cuplaj perfect al lui G este un cuplaj care saturează toate nodurile lui G. Un cuplaj maxim al lui G este un cuplaj care are cel mai mare număr posibil de muchii. Un cuplaj maximal al lui G este un cuplaj care nu poate fi lărgit prin adăugarea unei muchii. Exemplu (Cuplaje maxime şi maximale) a b Cuplaje maxime? c d h e f g i j

Definiţii (2) Un cuplaj perfect al lui G este un cuplaj care saturează toate nodurile lui G. Un cuplaj maxim al lui G este un cuplaj care are cel mai mare număr posibil de muchii. Un cuplaj maximal al lui G este un cuplaj care nu poate fi lărgit prin adăugarea unei muchii. Exemplu (Cuplaje maxime şi maximale) a b Cuplaje maxime? c d h M 1 = {(a,e),(b,f),(c,d),(g,h)} e f g i j

Definiţii (2) Un cuplaj perfect al lui G este un cuplaj care saturează toate nodurile lui G. Un cuplaj maxim al lui G este un cuplaj care are cel mai mare număr posibil de muchii. Un cuplaj maximal al lui G este un cuplaj care nu poate fi lărgit prin adăugarea unei muchii. Exemplu (Cuplaje maxime şi maximale) a b c d h e f g i Cuplaje maximale? j

Definiţii (2) Un cuplaj perfect al lui G este un cuplaj care saturează toate nodurile lui G. Un cuplaj maxim al lui G este un cuplaj care are cel mai mare număr posibil de muchii. Un cuplaj maximal al lui G este un cuplaj care nu poate fi lărgit prin adăugarea unei muchii. Exemplu (Cuplaje maxime şi maximale) a e c b d h f g i Cuplaje maximale? j M 2 = {(d,g),(a,f),(b,c)}

Definiţii (3) Definiţie (Cale M-alternantă, M-cale de creştere) Dacă se dă un graf G şi un cuplaj M, o cale M-alternantă este o cale în G în care toate muchiile alternează între M-muchii şi non-m-muchii. O M-cale de creştere este o cale M-alternantă care are ambele capete M-nesaturate.

Definiţii (3) Definiţie (Cale M-alternantă, M-cale de creştere) Dacă se dă un graf G şi un cuplaj M, o cale M-alternantă este o cale în G în care toate muchiile alternează între M-muchii şi non-m-muchii. O M-cale de creştere este o cale M-alternantă care are ambele capete M-nesaturate. Exemplu b c g a f d h e i M-cale alternantă: (c,a,d,e,i) M-cale de creştere: (j,g,f,a,c,b) j

Teorema lui Berge Teoremă Un cuplaj M al unui graf G este maxim dacă şi numai dacă G nu conţine M-căi de creştere. Demonstraţia lui. Presupunem că M este un cuplaj maxim. Demonstrăm prin contradicţie că G nu are M-căi de creştere. Dacă P : (v 1, v 2,..., v k ) ar fi o M-cale de creştere atunci, conform definiţiei, k ar trebui să fie par astfel încât (v 2, v 3 ), (v 4, v 5 ),..., (v k 2, v k 1 ) sunt muchii din M, iar (v 1, v 2 ), (v 3, v 4 ),..., (v k 1, v k ) nu sunt muchii din M. v 1 v 2 v 3 v 4 v 5 v 6 v k 2 v k 1 v k În acest caz putem defini următorul cuplaj M 1 al lui G: M 1 = (M \ {(v 2, v 3 ),..., (v k 2, v k 1 )}) {(v 1, v 2 ),..., (v k 1, v k )}. Dar M 1 conţine o muchie mai mult decât M, ceea ce contrazice ipoteza că M este maxim.

Teorema lui Berge Demonstraţia lui : Dacă M nu este maxim, există un cuplaj M al lui G cu M > M. Fie H subgraful lui G definit astfel: V (H) = V (G) E(H) =mulţimea muchiilor ce apar exact o dată în M şi M. M > M H are mai multe muchii în M decât în M. Orice nod v al lui H aparţine la cel mult o muchie din M şi la cel mult o muchie din M deg H (v) 2 pentru toţi v V (H) componentele conexe ale lui H cu mai multe M -muchii decât M-muchii sunt căi sau cicluri. Dacă este ciclu, trebuie să fie ciclu par fiindcă muchiile alternează între M-muchii şi M -muchii singurele componente conexe ale lui H care pot conţine mai multe M -muchii decât M-muchii sunt căile. M > M există o cale P în H care începe şi se termină cu o muchie din M P este M-cale de creştere, contradicţie cu ipoteza.

Cuplaj în Dacă G este graf bipartit cu mulţimile partite X şi Y, spunem că X poate fi cuplat în Y dacă există un cuplaj al lui G care saturează nodurile din X. Exemplu X Y X Y (a) Primul este un graf bipartit unde X poate fi cuplat în Y. (b) Al doilea este un graf bipartit unde X nu poate fi cuplat în Y. De ce se întâmplă acest lucru?

Cuplaj în Teorema lui Hall Fie G un graf bipartit cu mulţimile partite X şi Y. X poate fi cuplat în Y dacă şi numai dacă N(S) S pentru toate submulţimile S ale lui X. Demonstraţie. : fie S X. X poate fi cuplat în Y S poate fi cuplat în Y, deci N(S) S. : Presupunem că ar exista un cuplaj maxim M care nu acoperă un nod u X. Fie A mulţimea nodurilor din G ce pot fi conectate la u cu o cale M-alternantă, S = A X, şi T = A Y.

Cuplaj în Teorema lui Hall Fie G un graf bipartit cu mulţimile partite X şi Y. X poate fi cuplat în Y dacă şi numai dacă N(S) S pentru toate submulţimile S ale lui X. Demonstraţie. : fie S X. X poate fi cuplat în Y S poate fi cuplat în Y, deci N(S) S. : Presupunem că ar exista un cuplaj maxim M care nu acoperă un nod u X. Fie A mulţimea nodurilor din G ce pot fi conectate la u cu o cale M-alternantă, S = A X, şi T = A Y.

Cuplaj în Teorema lui Hall Fie G un graf bipartit cu mulţimile partite X şi Y. X poate fi cuplat în Y dacă şi numai dacă N(S) S pentru toate submulţimile S ale lui X. Demonstraţie. : fie S X. X poate fi cuplat în Y S poate fi cuplat în Y, deci N(S) S. : Presupunem că ar exista un cuplaj maxim M care nu acoperă un nod u X. Fie A mulţimea nodurilor din G ce pot fi conectate la u cu o cale M-alternantă, S = A X, şi T = A Y. Conform Teoremei lui Berge, toate nodurile din T sunt saturate de M, iar u este singurul nod nesaturat al lui S T = S 1. Din Teorema lui Berge şi definiţia lui T rezultă că N(S) = T. Dar în acest caz avem N(S) = S 1 < S, contradicţie.

Sistem de reprezentanţi distincţi (SRD) Definiţie Dacă se dă o familie de mulţimi X = {S 1,..., S n }, un sistem de reprezentanţi distincţi (sau SRD) pentru mulţimile din X este o mulţime de elemente distincte {x 1,..., x n } cu x i S i pentru 1 i n. Exemplu Fie S 1 = {2, 8}, S 2 = {8}, S 3 = {5, 7}, S 4 = {2, 4, 8}, S 5 = {2, 4}. X 1 = {S 1, S 2, S 3, S 4 } are SRD {2, 8, 7, 4} S 1 = {2, 8}, S 2 = {8}, S 3 = {5, 7}, S 4 = {2, 4, 8} X 2 = {S 1, S 2, S 4, S 5 } nu are un SRD. Întrebare. În ce condiţii are o familie finită de mulţimi un SRD?

SRD-uri pentru familii finite de mulţimi Teoremă (Teorema lui Hall) Fie S 1, S 2,..., S k o colecţie de mulţimi nevide finite. Colecţia are un SRD dacă şi numai dacă pentru orice t {1,..., k}, reuniunea a t astfel de mulţimi conţine cel puţin t elemente. Demonstraţie. Fie Y = S 1 S 2... S k. Presupunem că Y = {a 1,..., a n } si considerăm graful bipartit cu mulţimile partite X = {S 1,..., S k } şi Y în care există o muchie de la S i la a j dacă şi numai dacă a j S i. Conform teoremei lui Hall, X poate fi cuplat în Y dacă şi numai dacă t = A N(A) pentru toate submulţimile A = {S i1,..., S it } ale lui X.

Cuplaje bipartite ponderate O problemă motivantă de optimizare combinatorială Trei muncitori: Ion, Dan şi Doru sunt disponibili pentru a efectua trei lucrări: să spele baia, să măture, şi să spele ferestrele. Fiecare cere un anumit preţ pentru fiecare lucrare, de exemplu: spălat baie (SB) măturat (M) spălat ferestre (SF) Ion w(ion, SB) =20 w(ion, M) =30 w(ion, SF) =30 Dan w(dan, SB) =30 w(dan, M) =20 w(dan, SB) =20 Doru w(doru, SB) =30 w(doru, SB) =30 w(doru, SB) =20 Vrem să alocăm câte o lucrare la fiecare muncitor, a.î. să plătim cel mai puţin posibil dacă G este graful ponderat bipartit complet dintre S = {Ion, Dan, Doru} şi T = {SB, M, SF}, cu ponderile muchiilor ca în tabelul anterior, vrem să găsim un cuplaj perfect minim M în G: w(s, t) este minimă. (s,t) M

Cuplaje bipartite ponderate Presupunem că G = K n,n este graf bipartit complet între S = {x 1,..., x n } şi T = {y 1,..., y n }, a.î. fiecare (x, y) E are greutatea w(x, y) 0. Observaţie (König & Egerváry) Găsirea unui cuplaj minim perfect în G se poate reduce la problema găsirii unei acoperiri maxime în G. O acoperire a lui G este o funcţie c : S T R, a.î. c(x) + c(y) w(x, y) pentru toţi (x, y) E. O acoperire maximă a lui G este o acoperire c astfel încât c(x) + c(y) x S y T are valoarea maximă posibilă. Această sumă se numeşte costul acoperirii c.

Cuplaje bipartite ponderate Rezultate teoretice Pentru orice cuplaj perfect M dintre S şi T şi acoperire c, are loc inegalitatea c(x) + c(y) w(x, y). x S y T (x,y) M Mai mult: c(x) + c(y) = x S y T w(x, y) (x,y) M dacă şi numai dacă c(x) + c(y) = w(x, y) pentru toate muchiile (x, y) M. În acest caz, M este un cuplaj perfect minim iar c este o acoperire maximă a lui G.

Cuplaje bipartite ponderate Algoritmul ungar (1) Calculează o acoperire a unui graf ponderat K n,n în timp polinomial O(n 4 ): Iniţial, c(x) = 0 şi c(y) = max{w(x, y) x S} pentru toţi x S şi y T. (Observaţie: c este acoperire a nodurilor lui G.) Algoritmul efectuează un număr finit de paşi de modificare a lui c, până când c devine acoperire maximă. La fiecare pas, se consideră: 1 graful G c := {(x, y) c(x) + c(y) = w(x, y)} şi un cuplaj M al lui G c. Iniţial, M =. Algoritmul se opreşte când M este cuplaj perfect (are n muchii). 2 R S S sunt nodurile nesaturate de M din S, iar R T T sunt nodurile nesaturate de M din T. 3 Z :=mulţimea de noduri unde se poate ajunge din R S cu o cale M-alternantă: Se disting 2 cazuri: dacă R T Z = sau R T Z

Cuplaje bipartite ponderate Algoritmul ungar (2) Dacă R T Z, fie (x i1, y j1, x i2,..., x ip, y jp ) o cale M-alternantă de la x i1 R S la y jp R T. Înseamnă că (x ik+1, y jk ) M pentru 1 k < p şi (x ik, y jk ) M pentru 1 k p. În acest caz, modificăm M să fie M := (M {(x ik+1, y jk ) 1 k < p}) {(x ik, y jk ) 1 k p}. R S S T...... x i1 y j1 R T Graful G c : x ip. x i2 y jp 1. y j1 Observaţie: M creşte cu 1

Cuplaje bipartite ponderate Algoritmul ungar (2) Dacă R T Z, fie (x i1, y j1, x i2,..., x ip, y jp ) o cale M-alternantă de la x i1 R S la y jp R T. Înseamnă că (x ik+1, y jk ) M pentru 1 k < p şi (x ik, y jk ) M pentru 1 k p. În acest caz, modificăm M să fie M := (M {(x ik+1, y jk ) 1 k < p}) {(x ik, y jk ) 1 k p}. R S S T...... x i1 y j1 R T Graful G c modificat: x ip. x i2 y jp 1. y j1 Observaţie: M creşte cu 1

Cuplaje bipartite ponderate Algoritmul ungar (3) Dacă R T Z =, fie δ = min{w(x, y) c(x) c(y) x Z S, y T \ Z} Graful G c : R S S T...... x i x i1. x ip w(x i, y j ) = c(x i ) + c(y j ) + δ w(x i1, x j1 ) = c(x i1 ) + c(y j1 ) w(x ip, y jp ) = c(x ip ) + c(y jp ) x j y j1. y jp R T Se observă că δ > 0. Modificăm c astfel: c(x) := c(x) + δ pentru x Z S, şi c(y) = c(y) δ pentru toţi y Z T G c se modifică: R T Z creşte, iar M G c continuă să aibe loc

Cuplaje bipartite ponderate Algoritmul ungar (3) Dacă R T Z =, fie δ = min{w(x, y) c(x) c(y) x Z S, y T \ Z} Noul graf G c : R S S T...... x i x i1. x ip w(x i, y j ) = c(x i ) + c(y j ) w(x i1, x j1 ) = c(x i1 ) + c(y j1 ) w(x ip, y jp ) = c(x ip ) + c(y jp ) x j y j1. y jp R T Se observă că δ > 0. Modificăm c astfel: c(x) := c(x) + δ pentru x Z S, şi c(y) = c(y) δ pentru toţi y Z T G c se modifică: R T Z creşte, iar M G c continuă să aibe loc

Remarcă Problema motivaţională poate fi rezolvată cu algoritmul ungar: Considerăm graful ponderat complet K 3,3 dintre S = {Ion, Dan,Doru} şi T = {SB,M,SF} unde SB: spălat baie, M: măturat, SF: spălat ferestre. Pentru acest graf, algoritmul ungar calculează un cuplaj perfect M, care indică lucrarea alocată fiecărui muncitor.

Arbori de acoperire Problemă motivantă Departamentul de Transporturi din Carolina de Nord (NCDOT) a decis să realizeze o reţea feroviar rapidă între 8 oraşe din vestul statului. Unele oraşe sunt deja conectate cu drumuri, şi se doreşte plasarea de linii ferate de-a lungul drumurilor existente. Formele diferite de teren impun costuri diferite de amplasare a căii ferate. NCDOT a angajat un consultant să calculeze costurile de construire a unei căi ferate de-a lungul fiecărui drum de legătură între 2 oraşe. Consultantul a produs graful ilustrat mai jos, în care sunt marcate costurile de realizare a fiecărei conexiuni. Se doreşte ca reţeaua feroviară să fie realizată cu cost minim şi să asigure legătură între orice 2 oraşe.

Arbori de acoperire Problemă motivantă

Arbori de acoperire Problemă motivantă Un arbore de acoperire al unui graf G este un arbore care conţine toate nodurile lui G.

Arbori de acoperire Problemă motivantă Un arbore de acoperire al unui graf G este un arbore care conţine toate nodurile lui G. Vrem să găsim un arbore de acoperire T al cărui cost total să fie minim, adică un arbore minim de acoperire: Suma costurilor muchiilor lui T suma costurilor muchiilor oricărui alt arbore de acoperire al lui G.

Arbori de acoperire Problemă motivantă (continuare)

Găsirea unui arbore minim de acoperire Algoritmul lui Kruskal Se dă un graf ponderat şi conectat G (1) Se găseşte o muchie cu pondere minimă şi se marchează. (2) Se iau în considerate muchiile nemarcate care nu formează un ciclu cu cele marcate: se alege o muchie nemarcată care are pondere minimă, şi se marchează. (3) Pasul (2) se repetă până când muchiile marcate formează un arbore de acoperire al lui G.

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 30 45 20 10

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 30 45 20 10

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 30 45 20 10

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 30 45 20 10

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 10 30 45 20

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 10 30 45 20

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 10 30 45 20

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 10 30 45 20

Algoritmul lui Kruskal Paşii algoritmului pentru graful ilustrat 25 50 60 35 95 40 20 10 30 45 20 25 50 35 40 10 30 20 Greutate totală: 210

Enumerarea arborilor Vrem să enumerăm toţi arborii cu n noduri. Considerăm că poziţiile nodurilor sunt fixate şi considerăm toate variantele de trasat un arbore între nodurile respective. De exemplu, pentru n = 4 avem 16 arbori etichetaţi diferiţi:

Enumerarea arborilor Vrem să enumerăm toţi arborii cu n noduri. Considerăm că poziţiile nodurilor sunt fixate şi considerăm toate variantele de trasat un arbore între nodurile respective. De exemplu, pentru n = 4 avem 16 arbori etichetaţi diferiţi:

Enumerarea arborilor Teorema lui Cayley. Metoda de enumerare a lui Prüfer Teoremă (Teorema lui Cayley) Există n n 2 arbori distincţi cu n noduri. Prüfer a găsit o metodă de enumerare a tuturor arborilor etichetaţi cu 1,2,..., n prin intermediul unei corespondenţe bijective între aceşti arbori şi mulţimea secvenţelor de numere de n 2 numere între 1 şi n: v 1, v 2,..., v n 2 }{{} n 2 numere unde 1 v i n Observaţie: Există n n 2 astfel de secvenţe.

Enumerarea arborilor Calculul secvenţei Prüfer pentru un arbore T cu nodurile 1,2,...,n Se dă un arbore T cu nodurile 1,..., n (1) Iniţial, secvenţa este vidă. Fie i = 0 şi T 0 = T. (2) Se caută frunza lui T i cu cea mai mică etichetă; fie aceasta v. (3) Se adaugă la secvenţă eticheta vecinului lui v. (4) Se şterge nodul v din T i un arbore mai mict i+1. (5) Dacă T i+1 este K 2, ne oprim. Altfel, incrementăm i cu 1 şi revenim la pasul (2).

Metoda lui Prüfer Calculul secvenţei Prüfer Arbore curent 2 5 3 1 T = T 0 4 6 7 5 3 1 T 1 4 6 7 5 3 1 T 2 6 7 3 1 T 3 6 7 T 4 3 1 7 T 5 1 7 secvenţă curentă 4 4,3 4,3,1 4,3,1,3 4,3,1,3,1

Enumerarea arborilor Calculul arborelui T corespunzător unei secvenţe a 1,..., a k Se dă o secvenţă σ = a 1, a 2,..., a k de numere din mulţimea {1,..., k + 2} (1) Se desenează k + 2 noduri care se etichetează cu numerele 1, 2,..., k + 2. Fie S = {1, 2,..., k + 2}. (2) Fie i = 0, σ 0 = σ şi S 0 = S. (3) Fie j cel mai mic număr din S i care nu apare în secvenţa σ i. (4) Se trasează o muchie între nodul j şi primul nod din σ i. (5) Se elimină primul nod din secvenţa σ i secvenţa σ i+1. Se şterge j din S i şi rezultă mulţimea S i+1. (6) Dacă secvenţa σ i+1 este vidă, se trasează o muchie între nodurile rămase în S i+1 iar algoritmul se termină. Altfel, se incrementează i cu 1 şi se revine la pasul (3).

Metoda lui Prüfer Construirea unui arbore etichetat (1) σ = σ 0 = 4, 3, 1, 3, 1 S = S 0 = {1, 2, 3, 4, 5, 6, 7} σ 1 = 3, 1, 3, 1 S 1 = {1, 3, 4, 5, 6, 7} σ 2 = 1, 3, 1 S 2 = {1, 3, 5, 6, 7} v 3 v 2 v 4 v 1 v 5 v v 7 6 v 3 v 2 v 4 v 1 v 5 v v 7 6 v 3 v 2 v 4 v 1 v 5 v v 7 6

Metoda lui Prüfer Construirea unui arbore etichetat (2) σ 3 = 3, 1 S 3 = {1, 3, 6, 7} σ 4 = 1 S 4 = {1, 3, 7} σ 5 este secvenţa vidă S 5 = {1, 7} v 3 v 2 v 4 v 1 v 5 v v 7 6 v 3 v 2 v 4 v 1 v 5 v v 7 6 v 3 v 2 v 4 v 1 v 5 v v 7 6

Exerciţii (1) 1. Pentru toate grafurile de mai jos, cu cuplajele M marcate îngroşat, găsiţi (a) o cale M-alternantă care nu este M-cale de creştere; (b) o M-cale de creştere, dacă există, şi în acest caz folosiţi-o pentru a obţine un cuplaj mai mare.

Exerciţii (2) (2) Pentru fiecare din familiile următoare de mulţimi să se determine dacă are un sistem de reprezentanţi distincţi (SRD). Dacă nu, să se indice care condiţie a teoremei de existenţă a unui SRD este violată. 1 {1, 2, 3}, {2, 3, 4}, {3, 4, 5}, {4, 5}, {1, 2, 5} 2 {1, 2, 4}, {2, 4}, {2, 3}, {1, 2, 3} 3 {1, 2}, {2, 3}, {1, 2, 3}, {2, 3, 4}, {1, 3}, {3, 4} 4 {1, 2, 5}, {1, 5}, {1, 2}, {2, 5}

Exerciţii (3) 1. Să se folosească algoritmul lui Kruskal pentru a găsi arbori minimi de acoperire ai următoarelor grafuri 2. Să se determine secvenţa Prüfer a arborilor următori: 3. Să se deseneze un arbore a cărui secvenţă Prüfer este 3,4,5,5,4,8.