4/29/2011. Arbori minimi de acoperire

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

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

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

Metode iterative pentru probleme neliniare - contractii

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

Geometrie computationala 2. Preliminarii geometrice

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

Curs 1 Şiruri de numere reale

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

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

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

riptografie şi Securitate

Metode de interpolare bazate pe diferenţe divizate

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

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

Curs 4 Serii de numere reale

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

Sisteme diferenţiale liniare de ordinul 1

Subiecte Clasa a VII-a

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

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

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

Integrala nedefinită (primitive)

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

Laborator 11. Mulţimi Julia. Temă

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

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.

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

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

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

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

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

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

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

Asupra unei inegalităţi date la barajul OBMJ 2006

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

Subiecte Clasa a VIII-a

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

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

5.4. MULTIPLEXOARE A 0 A 1 A 2

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

Criptosisteme cu cheie publică III

Curs 2 Şiruri de numere reale

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

6. Algoritmi greedy. 6.1 Tehnica greedy

ELEMENTE DE TEORIA GRAFURILOR

Curs 4. RPA (2017) Curs 4 1 / 45

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

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

Aplicaţii ale principiului I al termodinamicii la gazul ideal

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

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

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

Profesor Blaga Mirela-Gabriela DREAPTA

MARCAREA REZISTOARELOR

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

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

IX. GRAFURI. e 1. e 2

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.

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

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

Sortare. 29 martie Utilizarea şi programarea calculatoarelor. Curs 16

MULTIMEA NUMERELOR REALE

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

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Seminar 5 Analiza stabilității sistemelor liniare

Matrice. Determinanti. Sisteme liniare

GEOMETRIE PLANĂ TEOREME IMPORTANTE ARII. bh lh 2. abc. abc. formula înălţimii

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

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

Proiectarea Algoritmilor 4. Scheme de algoritmi Programare dinamica

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

Curs 4. I.4 Grafuri. Grafuri orientate


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

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

Spaţii vectoriale. Definiţia 1.1. Fie (K, +, ) un corp şi (V, +) un grup abelian.

Capitolul IC.07. Grafuri

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

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

Capitolul 14. Asamblari prin pene

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

Esalonul Redus pe Linii (ERL). Subspatii.

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

Cercetari operationale. O.M. Gurzău

Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare

Functii Breviar teoretic 8 ianuarie ianuarie 2011

Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1

Algoritmi i Structuri de Date. pentru. Imagistic i Bioinformatic

SUBGRUPURI CLASICE. 1. SUBGRUPURI recapitulare

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 +

Arbori și structuri decizionale

2CP Electropompe centrifugale cu turbina dubla

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

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

Movile Binomiale (Heap-uri binomiale)

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

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

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

Transcript:

Arbori minimi de acoperire 1

Planul cursului Arbori minimi de acoperire Definitie Utilizare Algoritmi Operatii cu multimi disjuncte Structuri de date pentru reprezentarea multimilor disjuncte Algoritmi pentru reuniune si cautare Calcul de complexitate

Arbori minimi de acoperire -Definitie si notatii G=(V,E) graf neorientat si conex; w:e->r functie de cost w(u,v)= costul muchiei (u,v) Def. arbore liberal lui G este un graf neorientat conex si aciclic Arb=(V,E ); V V, E E; C(Arb)=Σw(e) e E Def. un arbore liber se numeste arbore de acoperire daca V =V Def. un arbore de acoperire se numeste arbore minim de acoperirearb ARB(G) a.i. C(Arb)=min{C(Arb ) Arb ARB(G)} 3

4 Exemple L A B C D E F G H I J K 3 7 6 1 4 Graf neorientat L A B C D E F G H I J K 3 7 6 1 Arbore de acoperire Muchiile punctate nu fac parte din arbore L A B C D E F G H I J K 3 7 6 1 4 Arbore minim de acoperire Muchiile punctate au fost eliminate din graf

Proiectarea retelelor Utilizari Electrice, calculatoare, drumuri Clustering Algoritmi de aproximare pentru probleme NPcomplete

Exemple de utilizare The Minimum Spanning Tree connections and the peer-topeer connection quality for a set of VRVS reflectors (caltech) [1] Arbore minim de acoperire pentru cca 0 de orase din USA [] 6

Greedy Construire AMA Se adaugă arce sigure până când nu mai există noduri neconectate 7

Tăietura (T, N-T) Arc care travesrsează tăietura O tăietură ocolește o mulțime B Arc ieftin de traversare a unei tăieturi Teoremă Un arc ieftin este sigur Corolar G, B inclus într-un AMA, C componentă conexă în G B un arc ieftin ce conectează două componente conexe din G B este sigur

Proprietati 1. G=(V,E), C=(V,E ) ciclu in G; e E a.i. w(e) = max{w(e ) e E }=> e Arb(G) unde Arb(G)=arbore minim de acoperire in G. A B D 3 6 C E 1 G 4 I H F J K L 7 Pp e Arb(G) Eliminand e din Arb(G)=>S1, S multimi de muchii e E (ciclu)=> e E w(e)>w(e ) a.i. un capat din e este in S1 si celalalt in S Arb(G)-e+e = arbore de acoperire =>Cost(Arb(G)- w(e)+w(e )<Cost(Arb(G))=>Arb(G) nu este arbore minim

Proprietati. G=(V,E); S=(V,E ), V V; e=(u,v) a.i. e E dar (u xor v) V cu proprietatea ca w(u,v)=min{w(u,v ) (u xor v ) V } =>(u,v) arbore minim de acoperire Arb B A D C 3 6 E 1 G 4 F I H J K L 7 Pp e Arb(G) Arb = Arb(G) e +e (unde e o muchie similara cu e) Arb = arbore de acoperire Cost(Arb )<Cost(Arb) => Arb nu este arbore minim 10

Algoritmul lui Kruskal Kruskal(G,w) A= ; Foreach (v in V) ConstrArb(v) Sorteaza_asc(E,w) Foreach((u,v) in E ) If(Arb(u)!=Arb(v)) Arb(u)=Arb(u) Arb(v) A=A {(u,v)} Return A 11

Exemplu A B D 3 6 C E 1 G 4 I H J K L 7 CE -1 EF - AG- JK- AJ-3 GH-4 BC- IJ- AH-6 KL-7 BG- CD- IL- AB- 1

Corectitudine (I) 1. aratam ca muchiile ignorate nu fac parte din Arb Pp (u,v) a.i. Arb(u)=Arb(v) =>(u,v) creeaza un ciclu in Arb(u) (arborii sunt aciclici) w(u,v)=max{w(u,v ) (u,v ) Arb(u)} //din faptul ca muchiile sunt sortate ascendent => (din (1)) (u,v) Arb 13

Corectitudine (II). aratam ca muchiile pe care le adaugam apartin Arb Arb(u)!=Arb(v) =>(u,v) muchie cu un capat in Arb(u) (u,v) are cel mai mic cost din muchiile cu un capat in u (din faptul ca muchiile sunt sortate crescator) =>(u,v) Arb (din ()) 14

Prim(G,w,s) A= Foreach(u in V) d[u]= ; p[u]=null d[s]=0; Q=constrQ(V); while(q!= ) u=extrmin(q); A=A {(u,p[u])} foreach(v succs(u)) If(d[v]>w(u,v)» d[v]=w(u,v);» p[v]=u; return A-{s,p(s)} Algoritmul lui Prim 1

Exemplu A B D 3 6 C E 1 G 4 I H J K L 7 IA -AJL AG -GBJL GH -BJLH IJ -BJLK JK -BLK KL BL GB -BC BC CDE CE DE F-DF CD -D 16

Corectitudine S=(V,E ) multimea varfurilor si muchiilor adaugate deja in arbore inainte de a adauga (u,p[u]) p[u] V, u V ; (u,p[u]) are cost minim dintre muchiile care au un capat in S (conform extrage minim) => (din ()) (u,p[u]) Arb 17

Complexitate Prim Depinde de implementare (v. Dijkstra) matrice de adiacenta O(V ) heap binar O(ElogV) heap fibonacci O(VlogV+E) Concluzii grafuri dese matrice de adiacenta preferata grafuri rare heap binar sau fibonacci 1

Complexitate Kruskal elementele algoritmului sortarea muchiilor O(ElogE)=O(ElogV) Arb(u)=Arb(v) compararea a multimi disjuncte {1,,3} {4,,6} mai precis trebuie identificat daca elemente sunt in acelasi set? Arb(u) Arb(v) reuniunea a multimi disjuncte intr-una singura => depinde de implementarea multimilor disjuncte 1

Variante de implementare multimi disjuncte (I) contraexemplu varianta 1 (populara la laborator ) nerecomandata Multimile implementate ca vectori equal?(m1, M) foreach(u in M1) foreach(v in M) if (u==v) return true return false union for(i=length(m1);i<length(m)+length(m1);i++) M1[i]=M[i-length(M1)] return M1 equal? complexitate V union complexitate V numarul de apelari M Complexitate totala M*V 0

Variante de implementare multimi disjuncte regasire rapida Varianta M1- vector Id- vector de id-uri A B C D E F G H I J K L 0 1 3 4 6 7 10 11 0 1 1 1 1 1 1 1 0 0 0 0 Arb(u)!=Arb(v) O(1) Arb(u)=Arb(u) Arb(v) O(n) A B D 3 6 C E 1 G 4 I H F J K L 7 1

Variante de implementare multimi disjuncte regasire rapida Varianta Continuare Complexitate O(V*E) //E=numarul de reuniuni Inacceptabil pentru grafuri ff mari

Variante de implementare multimi disjuncte reuniune rapida se foloseste tot un vector auxiliar de id-uri A B C D E F G H I J K L 0 1 3 4 6 7 10 11 1 1 4 1 6 10 id[i] reprezinta parintele lui i pentru radacina arborelui id[i]=i A B D 3 6 C E 1 G 4 I H F J K L 7 3

Variante de implementare multimi disjuncte reuniune rapida cautare Arb(u)!=Arb(v) verifica daca noduri au aceeasi radacina Arb(u) if(id[u]==id[id[u]] return u return Arb(u) reuniune(u,v) p[v]=u; 4

Optimizarea reuniunii rapide compresia caii Arb(u) if(id[u]==id[id[u]] return u id[u]=arb(u) return id[u] salvarea inaltimii arborelui pentru a minimiza inaltimea arborelui rezultat A A B C D E F G H I J K L 0 1 3 4 6 7 10 11 1 1 4 1 6 10 I J K L A I J K L

Complexitate dupa optimizari Orice secventa de E operatii de cautare si reuniune consuma O(V+E*α(V,E)) α de cate ori trebuie aplicat log pentru a ajunge la 1 in practica este <= => in practica O(E) 6

Complexitate Kruskal max(complexitate sortare, complexitate operatii multimi)= max(o(elogv), O(E))=O(ElogV) => complexitatea algoritmului Kruskal este data de complexitatea sortarii costurilor muchiilor 7

Aplicatie practica k-clustering impartirea unui set de obiecte in grupuri astfel incat obiectele din cadrul unui grup sa fie apropiate considerand o distanta data utilizat in clasificare, cautare (web search de exemplu) dandu-se un intreg K sa se imparta grupul de obiecte in K grupuri astfel incat spatiul dintre grupuri sa fie maximizat

Exemplu []

Algoritm se formeaza V clustere gaseste cele mai apropiate obiecte din clustere diferite uneste cele clustere opreste cand au mai ramas k clustere =>chiar algoritmul Kruskal 30

Bibliografie 1. http://monalisa.cacr.caltech.edu/monalisa Servic e_applications Monitoring_VRVS.html. http://www.cobblestoneconcepts.com/ucgissum mer00/guo/guo.html 3. Introducere in Algoritmi C. Giumale 4. R. Sedgewick, K Wayne curs de algoritmi Princeton 007 www.cs.princeton.edu/~rs/algsds07/ 1 si 14. http://www.pui.ch/phred/automated_tag_clusteri ng/ 31