Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Σχετικά έγγραφα
Examen AG. Student:... Grupa: ianuarie 2016

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

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

Metode iterative pentru probleme neliniare - contractii

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

Curs 4 Serii de numere reale

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

Criptosisteme cu cheie publică III

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

Subiecte Clasa a VII-a

Geometrie computationala 2. Preliminarii geometrice

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

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

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

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

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

Curs 1 Şiruri de numere reale

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

Esalonul Redus pe Linii (ERL). Subspatii.

Subiecte Clasa a VIII-a

riptografie şi Securitate

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

Sisteme diferenţiale liniare de ordinul 1

Cercetari operationale. O.M. Gurzău

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

Metode de interpolare bazate pe diferenţe divizate

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

Asupra unei inegalităţi date la barajul OBMJ 2006

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

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

Curs 2 Şiruri de numere reale

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

Integrala nedefinită (primitive)

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

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

MARCAREA REZISTOARELOR

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


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

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

ELEMENTE DE TEORIA GRAFURILOR

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

Laborator 11. Mulţimi Julia. Temă

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

Seminar 5 Analiza stabilității sistemelor liniare

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

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

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

* 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

Arbori și structuri decizionale

Proiectarea filtrelor prin metoda pierderilor de inserţie

Aplicaţii ale principiului I al termodinamicii la gazul ideal

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

V O. = v I v stabilizator

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

5.4. MULTIPLEXOARE A 0 A 1 A 2

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

1.3 Baza a unui spaţiu vectorial. Dimensiune

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

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

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

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

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

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

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

Curs 2 DIODE. CIRCUITE DR

Sisteme liniare - metode directe

Capitolul 2 - HIDROCARBURI 2.4.ALCADIENE

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

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

Functii Breviar teoretic 8 ianuarie ianuarie 2011

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

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.


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

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

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

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

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

Matrice. Determinanti. Sisteme liniare

Modelare şi simulare Seminar 4 SEMINAR NR. 4. Figura 4.1 Reprezentarea evoluţiei sistemului prin graful de tranziţii 1 A A =

GRAFURI NEORIENTATE. 1. NoŃiunea de graf neorientat

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

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

Conice - Câteva proprietǎţi elementare

Principiul Inductiei Matematice.

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,...

Curs 4. I.4 Grafuri. Grafuri orientate

Subiecte Clasa a VIII-a

1.4 Schimbarea bazei unui spaţiu vectorial

Subiecte Clasa a V-a

Capitolul IC.07. Grafuri

Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Algebră (1)

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

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

Descompunerea unui graf in componente triconexe Algoritmul - J.E. Hopcroft si R.E. Tarjan

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 +

Stabilizator cu diodă Zener

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

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

Transcript:

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey Mihai Suciu Facultatea de Matematică și Informatică (UBB) Departamentul de Informatică Mai, 16, 2018 Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 1 / 28

Continut 1 Cuplaje in grafuri Etichetarea grafului 2 Numere Ramtsey Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 2 / 28

Cuplaje în grafuri - recapitulare C10 Un cuplaj în G este o mulțime de muchii M în care nici o pereche de muchii nu are un vârf comun. vârfurile adiacente la muchiile din M se numesc vârfuri saturate de M (sau M-saturate). Celelalte vârfuri se numesc M-nesaturate. Tipuri de cuplaje: un cuplaj perfect al lui G este un cuplaj care saturează toate vârfurile 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. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 3 / 28

Cuplaje în grafuri Un graf bipartit: Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 4 / 28

Cuplaje în grafuri Un cuplaj aleator în G Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 5 / 28

Cuplaje în grafuri - lanţ M-alternant Un lanț M-alternant (cale M-alternantă) este un lanț în G în care toate muchiile alternează între muchii din M și muchii ce nu aparțin cuplajului M. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 6 / 28

Cuplaje în grafuri - M-lanţ de creştere Un M-lanț de creștere (M-cale de creștere) este un lanț M-alternant care are ambele capete M-nesaturate. Teorema lui Berge Un cuplaj M al unui graf G = (V, E) este maxim dacă și numai dacă G nu conține M-lanțuri de creștere. Demonstraţie Vezi cursul 10. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 7 / 28

Cuplaje în grafuri Este cuplajul M de mai jos maxim? M = {(A1, B2), (A2, B3), (A3, B5)} Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 8 / 28

Cuplaje în grafuri Nu, deoarece conține un M-lanț de creștere. M-lanț de creștere (B1, A1, B2, A2, B3, A3, B5, A5) Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 9 / 28

Etichetarea grafului Etichetarea grafurilor Fie un graf bipartit ponderat unde: muchia (x, y) E are asociată ponderea w(x, y) ponderea cuplajului M este suma ponderilor muchiilor din cuplajul M w(m) = w(x, y) (x,y) M Problema: pentru graful bipartit G găsiți un cuplaj de pondere maximă. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 10 / 28

Etichetarea grafului Etichetarea grafurilor o etichetare a vârfurilor este o funcție l : V R, o etichetare fezabilă respectă: l(x) + l(y) w(x, y), x X, y Y, un graf egal (ținând cont de l) este un graf G = (V, E l ) unde: E l = {(x, y) l(x) + l(y) = w(x, y)}. (a) etichetare fezabila l (b) Graf egal G l Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 11 / 28

Etichetarea grafului Etichetarea grafurilor (II) Teorema Kuhn-Munkres Dacă l este fezabilă și M este un cuplaj perfect în E l atunci M este un cuplaj de pondere maximă. Teorema KM transformă problema găsirii unui cuplaj de pondere maximă (problemă de optimizare) într-o problemă combinatorială ce presupune găsirea unui cuplaj perfect. pentru un cuplaj M și o etichetare fezabilă l avem: w(m) l(v) v V (seamană cu teorema fluxului maxim și a tăieturii minime) Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 12 / 28

Un posibil algoritm cuplaj(g) 1: start cu o etichetare fezabilă l și un cuplaj M în E l 2: while cuplajul M nu e perfect do 3: caută un M-lanț de creștere pentru M în E l (crește dimensiunea lui M) 4: if nu există un M-lanț de creștere then 5: îmbunătățește l la l astfel încât E l E l în fiecare pas se crește dimensiunea lui M sau E l conform teoremei Kuhn-Munkres, M va fi un cuplaj de pondere maximă Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 13 / 28

Găsirea unei etichetări fezabile iniţiale pentru a găsi inițial o etichetare fezabilă se poate folosi: astfel este evident y Y, l(y) = 0, x X, l(x) = max{w(x, y)} y Y x X, y Y, w(x, y) l(x) + l(y) Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 14 / 28

Îmbunătăţirea etichetării fie l o etichetare fezabilă se definește un vecin al lui u V un set S V astfel: N l (u) = {v (u, v) E l }, N l (S) = u S N l (u) Lema Fie S X și T = N l (S) Y. Fie α l = min x S,y / T {l(x) + l(y) w(x, y)} (1) { l(v) αl dacă v S, l (v) = Atunci l este o etchetare fezabilă și l(v) + α l dacă v T, l(v) altfel. (2) 1 dacă (x, y) E l pentru x S, y T atunci (x, y) E l 2 dacă (x, y) E l pentru x / S, y / T atunci (x, y) E l 3 există o muchie (x, y) E l pentru x S, y / T Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 15 / 28

Metoda maghiară - exemplu matriceal Vreau să organizez o petrecere, vreau să angajez un mizician, bucătar și serviciu de curățenie. Am la dispoziție 3 companii, fiecare poate furniza un singur serviciu. Ce companie trebuie să furnizeze fiecare serviciu astfel încât costul total să fie minim? Companie Cost muzician Cost bucatar Cost curățenie A 108 125 150 B 150 135 175 C 122 148 250 Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 16 / 28

Metoda maghiară - exemplu matriceal (II) Companie Cost muzician Cost bucatar Cost curățenie A 108 125 150 B 150 135 175 C 122 148 250 Fie matricea asociată tabelului: Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 17 / 28

Metoda maghiară - exemplu matriceal (III) Fie matricea asociată tabelului: Pas 1. Se scade valoarea minimă de pe fiecare rând din fiecare element de pe rând: Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 18 / 28

Metoda maghiară - exemplu matriceal (IV) Pas 1. Se scade valoarea minimă de pe fiecare rând din fiecare element de pe rând: Pas 2. Se scade valoarea minimă de pe fiecare coloană din fiecare element de pe coloană: Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 19 / 28

Metoda maghiară - exemplu matriceal (V) Pas 3. Se desenează linii pe rândurile și coloanele din matrice ce conțin valoarea 0 astfel încât să se traseze cât mai puține linii: Au fost trasate doar două linii (2 < n = 3), algoritmul continuă. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 20 / 28

Metoda maghiară - exemplu matriceal (VI) Se caută cea mai mică valoare care nu este acoperită de nicio linie. Se scade această valoare de pe fiecare rând pe care nu s-au trasat linii și apoi se adaugă la fiecare coloană pe care am trasat linii. Apoi, se revine la Pasul 3. (a) Scade val. minimă (b) Adaugă pe col. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 21 / 28

Metoda maghiară - exemplu matriceal (VII) Se revine la Pasul 3: Am trasat 3 linii, n = 3, algoritmul a terminat. Se alege o alocare prin alegerea unui set de valori 0 astfel încât fieacere rând sau coloană sa aibă o singură valoare selectată. Ex. compania C trebuie sa furnizeze muzicianul, compania A trebuie să furnizeze serviciul de curățenie compania B ne dă bucătarul. Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 22 / 28

Metoda maghiară - exemplu matriceal (VIII) Soluția finală: Putem verifica soluția și exhaustiv: 108 + 135 + 250 = 493 108 + 148 + 175 = 431 150 + 125 + 250 = 525 150 + 148 + 150 = 448 122 + 125 + 175 = 422 122 + 135 + 150 = 407 Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 23 / 28

Metoda maghiară metoda_maghiară(g) 1: generează o etichetare iniținală l și un cuplaj M în E l 2: if M nu este un cuplaj perfect then 3: alege un vârf liber x X 4: S = {u}, T = 5: if N l (S) = T then 6: actualizează etichetele conform (1) și (2) (forțând N L (S) T ) 7: if N l (S) T then 8: alege y N l (S) T 9: if y e liber then 10: u y este un lanț-m de creștere. 11: îmbunătățește M și sari la linia 2 12: else 13: T = T {y} și sari la linia 5 Complexitatea algoritmului O(V 4 ), ulterior redusă la O(V 3 ). Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 24 / 28

Metoda maghiară - exemplu (a) graful iniţial (b) E l şi cuplaj (c) lanţ alternant graful inițial, etichetarea vârfurilor și graful egal asociat cuplajul inițial M = {(x 3, y 1 ), (x 2, y 2 )}, S = {x 1 }, T = deoarece N l (S) T mergi la linia 7: alege y 2 N l (S) T y 2 este în cuplaj, crește lanțul alternant prin adăugarea lui (y 2, x 2 ), S = {x 1, x 2 }, T = {y 2 } N l (S) = T, sari la linia 5 Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 25 / 28

Metoda maghiară - exemplu (II) (a) graful iniţial (b) vechiul graf E l şi M (c) noul graf E l şi M S = {x 1, x 2 }, T = {y 2 } și N l (S) = T se determină α l α l = min x S,y / T 6 + 0 1 (x 1, y 1 ) 6 + 0 0 (x 1, y 3 ) 8 + 0 0 (x 2, y 1 ) 8 + 0 6 (x 2, y 3 ) = 2 Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 26 / 28

Metoda maghiară - exemplu (III) redu etichetele lui S cu 2, mărește etichetele lui T cu 2 acum N l (S) = {y 2, y 3 } {y 2 } = T, S = {x 1, x 2 } (a) graful iniţial (b) noul graf E l şi M (c) cuplaj nou alege y 3 N l (S) T și adaugă în T y 3 nu e în cuplaj, am găsit un lanț de creștere (x 1, y 2, x 2, y 3 ) cuplajul {(x 1, y 2 ), (x 2, y 3 ), (x 3, y 1 )} are costul 6 + 6 + 4 = 16 care este egal cu suma etichetelor grafului final Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 27 / 28

Numere Ramtsey Numere Ramsey Mihai Suciu (UBB) Algoritmica grafurilor Mai, 16, 2018 28 / 28