Sunteți pe pagina 1din 9

Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei

Arbori de acoperire minimala

Andra-Sorina Biculescu Master IISC

Bucuresti 2012

Importanta arborilor minimi de acoperire Aplicatii practice


Gasirea unui arbore minim de acoperire pentru un graf are aplicaii n domenii ct se poate de variate: Reele (de calculatoare, telefonie, cablu TV, electricitate, drumuri): se dorete interconectarea mai multor puncte, cu un cost redus i atunci este utila cunoaterea arborelui care conecteaza toate punctele, cu cel mai mic cost posibil. STP(Spanning Tree Protocol) este un protocol de rutare care previne apariia buclelor ntr-un LAN, i se bazeaza pe crearea unui arbore de acoperire. Singurele legaturi active sunt cele care apar n acest arbore, iar astfel se evita buclele. Segmentarea imaginilor: mparirea unei imagini n regiuni de pixeli cu proprietai asemanatoare. E utila mai apoi n analiza medicala a unei zone afectate de o tumoare de exemplu. Algoritmi de aproximare pt probleme NP-dure: problema comis-voiajorului, arbori Steiner. Clustering: pentru detectarea de clustere cu forme neregulate

Descriere
Dndu-se un graf conex neorientat G=(V, E), se numete arbore de acoperire al lui G un subgraf G=(V, E) care conine toate vrfurile grafului G i o submulime minim de muchii E inclusa in E cu proprietatea c unete toate vrfurile i nu conine cicluri. Cum G este conex i aciclic, el este arbore. Pentru un graf oarecare, exist mai muli arbori de acoperire. Dac asociem o matrice de costuri, w, pentru muchiile din G, fiecare arbore de acoperire va avea asociat un cost egal cu suma costurilor muchiilor coninute. Un arbore care are costul asociat mai mic sau egal cu costul oricrui alt arbore de acoperire se numete arbore minim de acoperire (minimum spanning tree) al grafului G. Un graf poate avea mai muli arbori minimi de acoperire. Dac toate costurile muchiilor sunt diferite, exist un singur AMA. Primul algoritm pentru determinarea unui arbore minim de acoperire a fost scris n 1926 de Otakar Boruvka. n prezent, cei mai folosii algoritmi sunt Prim i Kruskal. Toi trei sunt algoritmi greedy, i ruleaz n timp polinomial. La fiecare pas, pentru a construi arborele se alege cea mai bun variant posibil la momentul respectiv. Generic,
algoritmul de determinare a unui AMA se poate scrie astfel:

ArboreMinimDeAcoperire(G(V, E), c) MuchiiAMA = ; while (MuchiiAMA nu reprezinta muchiile unui arbore minim de acoperire) gaseste o muchie (u, v) care este sigura pentru MuchiiAMA; MuchiiAMA = MuchiiAMA {(u, v)}; return MuchiiAMA;

O muchie sigur este o muchie care se poate aduga unei submulimi de muchii ale unui arbore minim de acoperire, astfel nct noua mulime obinut s aparin tot unui arbore minim de acoperire. Iniial, MuchiiAMA este o mulime vid. La fiecare pas, se adaug cte o muchie sigur, deci MuchiiAMA rmne o submulime a unui AMA. n consecin, la sfaritul rulrii algoritmului (cnd muchiile din mulime unesc toate nodurile din graf), MuchiiAMA va conine de fapt arborele minim de acoperire dorit. Exista mai multe metode de calculare a arborilor de acoperire minimala, dar de fapt, toate sunt instante ale urmatorului algoritm generic. Algoritmul generic al arborilor de acoperire minimala pastreaza un subgraf aciclic F al grafului G de intrare, pe care-l vom numi padure intermediara de acoperire. F este un subgraf al arborelui de acoperire minimala al grafului G, si fiecare componenta a lui F este un arbore de acoperire minimala al nodurilor lui. Initial, F era alcatuit din n arbori cu un singur nod. Algoritmul generic contopeste arborii impreuna, adaugand niste muchii intre ei. Desigur, trebuie sa fim atenti la ce muchii adaugam la padurea care se dezvolta, pentru ca nu toate muchiile sunt in arborele de acoperire minimala. Padurea intermediara de acoperire, F, introduce doua tipuri speciale de muchii. O muchie este nefolositoare daca nu este o muchie a lui F, dar ambele capete ale sale sunt in aceeasi componenta a lui F. Pentru fiecare componenta a lui F asociem o muchie de siguranta muchia de valoare mai mica cu exact un capat in acea componenta. Componente diferite pot sau nu pot avea diferite muchii de siguranta. Unele muchii nu sunt nici de siguranta nici nefolositoare - acestea se numesc muchii indecise. Toti algoritmii arborilor de acoperire minimala se bazeaza pe doua simple observatii: Lema 1: Arborele de acoperire minimala contine toate muchiile de siguranta si nicio muchie nefolositoare. Dovada: Fie T arborele de acoperire minimala. Sa presupunem ca F are o componenta rea a carui muchie de siguranta e=(u,v) nu se gaseste in T. Daca T este conex, contine o cale unica de la u la v, si cel putin o muchie e pe aceasta cale are exact un capat in componenta rea. Daca eliminam e din arborele minimal de acoperire si daca adaugam e, obtinem un nou arbore de acoperire. De vreme ce e este muchia de siguranta a componentei rele, avem w(e)>w(e) (w este valoarea caii), astfel ca noul arbore de acoperire are o valoare totala mai mica decat T. Dar acest lucru este imposibil T este arborele minimal de acoperire. Astfel ca T trebuie sa contina fiecare muchie de siguranta. Adaugarea oricarei muchii nefolositoare in F va introduce un ciclu.

Fig 1.Demonstratia ca fiecare muchie de siguranta se gaseste in AMA

Deci, arborele nostrum generic de acoperire minimala adauga repetat una sau mai multe muchii de siguranta in padurea F care evolueaza. De fiecare data cand adaugam noi muchii in F, cateva muchii nedecise devin de siguranta, iar altele devin nefolositoare. Pentru a specifica un algoritm particular, trebuie sa ne decidem care muchii de siguranta trebuiesc adaugate si cum sa identificam muchii noi de siguranta sau nefolositoare, la fiecare iteratie a modelului generic. In fiecare faza a algoritmilor greedy, se ia o decizie, care se pare a fi buna, fara a lua in considerare consecintele viitoare. In general, inseamna ca este ales un optim local. Aceasta strategie este sursa numelui acestei clase e agoritmi. Cand algoritmul se incheie, speram ca optimul local sa fie acelasi cu cel global. Daca aceasta este situatia, atunci algoritmul este correct; altfel, algoritmul a condus la o solutie suboptimala. Atat algoritmul Kruskal, cat si Prime gasesc solutia optima a problemei, dar prin metode diferite. Algoritmul Kruskal gaseste arborele minim de acoperire bazandu-se pe muchii, pe cand algoritmul Prime pe noduri, dar amandoi au acelasi rezultat. Algoritmul Kruskal a fost prezentat de Joseph Kruskal in 1965. Pasii acestui algoritm sunt urmatorii: 1.Se gaseste cea mai ieftina muchie din graphic (daca sunt mai multe, se alege una la intamplare) 2.Se gaseste cea mai ieftina muchie nemarcata in graf care nu inchide un ciclu. 3.Se repeta pasul 2 pana cand se termina nodurile dintr-un graf (sunt N noduri si N1 muchii, unde N este numarul nodurilor)

Fig.2.Algoritmul Kruskal rulat pe un graf dat.Muchiile ingrosate se regasesc in F, iar cele punctate sunt nefolositoare

Abordare
Pentru a putea intelege mai bine implementarea sistemului de extragere al unui drum dintr-o imagine, figura de mai jos va descrie diagrama sistemului. Folosind aceasta diagrama, diferitele proceduri propuse de sistem pot fi descries dupa cum urmeaza: 1.Imaginea de intrare Datele de intrare ale drumului propus spre extragere sunt imagini multi-spectrale si panoramice ale orasului Lavasan din Iran, obtinute cu ajutorul satelitului IKONOS (rezolutie spatiala de 4 si respective 1 metru). Sistemul propus investigheaza capacitatea si cantitatea de success a sistemului in extragerea diferitelor drumuri, cum ar fi, drept, spiralat, jonctiune sau patrat. Nicio data aditionala nu este folosita pentru implementarea sistemului decat cele ce s-au mentionat. Cea de-a doua figura reprezinta imaginile testate de IKONOS ale orasului Lavasan.

Fig.3.Diagrama semi-automata de extragere a drumului

Fig.4.Imaginile orasului Lavasan extrase cu Ikonos (imagini de intrare) 2.Pre-procesarea imaginilor Intensificarea imaginii pentru a putea modifica valoarea pixelilor de imagine, este o metoda clasica de imbunatatire a perceptiei vizuale. In cazul de fata se foloseste tehnica Linear Histogram Stretching care foloseste software-ul PCI Geomatica V9.1 folosit pentru preprocesarea imaginilor atunci cand este nevoie. Prin folosirea acestei metode, nivelurile de gri ale imaginii sunt transformate dintr-un domeniu de observatie intr-un domeniu complet dynamic folosind functii lineare de transformare. Cu toate ca imaginea procesata se potriveste mult mai bine decat imaginea originala, unor aplicatii, in aplicatia de clasificare (folosita aici) este sugerat sa nu se foloseasca aceasta tehnica, pe cat este posibil. Deoarece schimbarea nivelului de gri poate conduce gresit la clasificarea procedurii. 3.Fuzzy C-means(FCM) clustering in domeniu spectral In acest pas al algoritmului propus, tehnica de clustering FCM este implementata prin definirea unor centre ale clusterului (C) si parametrul fuzzy, m, in spatiul spectral. Pentru definirea centrelor clusterelor, initial, tehnica C-means a fost realizata prin definirea C si iesirea acestei tehnici erau introduce ca intrari in centrele clusterelor FCM . Numarul

centrelor clusterelor (C) este definit functie de diversitatea imaginilor obiectelor si prin operatii de incercare si eroare. Dupa realizarea tehnicii de clustering, prin supravegherea unui expert si prin definirea unui prag potrivit, este obtinuta clasa imaginii binare a drumului. 4.Post-procesarea imaginilor Dupa selesctarea clasei imaginii binare a drumului, deoarece clasa obtinuta nu este curata si exista pixeli incorect clasificati in imagine, operatia de prost-procesare este obligatory pentru a creste acuratetea clasificarii. In acest studio operatorii morfologici sunt folositi pentru imbunatatirea imaginii si pentru indepartarea zgomotului si a spatiilor de umplutura. Acesti operatori sunt: Deschiderea, Inchiderea, Puntea, Curatirea, Majoritatea si Subtierea, care se folosesc in conformitate cu structura pixelilor incorrect clasificati, in aceasta clasa a imaginii binare a drumului. 5.Clustering C-Means in domeniul spatial Conform sectiunii 3 clusteringul FCM a fsot realizat pe valorile de gri ale nivelelor pixelilor din banda spectrala a imaginii. In acest pas, clusteringul C-means se realizeaza pe coordonatele spatiale ale pixelilor. Deci, initial, o grila de puncte este suprapusa peste clasa imaginii binare a drumului si folosind C-means, locatia unor noduri predefinite este schimbata. Aceste noduri sunt numite Noduri active. Nodurile a caror locatie ramane neschimbata se numesc Noduri moarte. Nodurile moarte, sunt pur si simplu omise de restul procesului. Spatierea grilei este bazata pe pre-specificare si difera in diferite imagini bazate pe forma si latimea drmului din imagine. 6.Folosirea arborilor de acoperire minimala pentru a extrage cursul drumului Pentru a extrage cursul drumului, nodurile active trebuiesc conectate folosind algoritmul arborelui minimal de acoperire. In aceasta aplicatie algoritmul Kruskal este folosit pentru conectarea nodurilor active si definirea formei drumului. Astfel se obtine arborele de acoperire minimala care conecteaza toate nodurile cursului drumului. 7.Estimarea preciziei Estimarea preciziei sistemului propus de extragere a drumului este realizata in doi pasi: clasificarea preciziei de evaluare si extragerea cursului drumului.

Experimentarea cu imagistica
Dupa ce ne-am familiarizat cu propunerea de procedura semi-automatica de extragere a drumului, timpul este perfect pentru a explora rezultatele practice ale implementarii sistemului pe imaginile de test. Figura 5 denota procedura semiautomatica a extragerii semi-automatice a cursului drumului din imaginile extrase de IKONOS (la rezolutii de 119x170 pixeli) din zonele muntoase. Figura 5b arata clusteringul FCM al imaginii de intrare si clasa rezultanta a drumului prin definirea pragului. Este clar ca detaliile clusteringului sunt imateriale pentru scopul acestei investigatii. Figura 5c arata rezultatul folosind operatorii morfologici ca operatie de post-procesare.

Fig.5.Implementarea propusa intr-o imagine panoramica a Lavasanului Figura 5d este o grila de initializare 8x12 peste imaginea binara a drumului, care este translatata in noduri active de catre clusteringul C-means in figura 5e. In figura 3f aceste noduri active sunt conectate folosinf algoritmul pentru arbori minimali de acoperire (Kruskal) si cursul drumuluieste obtinut dupa care se suprapune cu imaginea originala, in figura 5g.

S-ar putea să vă placă și