Unelte utilizator

Unelte site


laboratoare:laborator-06

Aceasta e o versiune anterioară a paginii.


Laborator 06: Arbori minimi de acoperire

1. Obiective laborator

  • Înțelegerea conceptului de arbore minim de acoperire
  • Înțelegerea implementării algoritmilor care determină acest arbore
  • Înțelegere aplicațiilor practice în:
    • rețele de calculatoare: obținerea unui cost redus la interconectarea mai multor stații (ex: protocolul STP folosit în LAN-uri)
    • prelucrarea de imagine: segmentarea cadrelor (ex: folosită în analiza medicală)
    • în clustere: determinarea unei topologii de comunicare, în cazul în care topologia nu era una regulată(arbore, inel)

 Segmentarea de imagini

2. Introducere

2.1 Conexitate în grafuri

Componentă conexă

O componentă conexă a unui graf neorientat este un subgraf cu următoarele proprietăţi:

  1. oricare două noduri din acest subgraf sunt conectate(există un lanţ între ele)
  2. orice nod din acest subgraf NU este conectat cu niciun nod din afara subgrafului(nodurile din componentă fac muchii numai cu alte noduri din componentă)
Orice graf neorientat are cel puţin o componentă conexă.

Graf neorientat conex

Un graf neorientat este numit conex dacă are o singură componentă conexă.

Putem explora toate nodurile dintr-un graf neorientat conex dintr-o singură parcurgere a grafului(DFS sau BFS).

Graf orientat slab conex

Fie graful neorientat asociat unui graf orientat obţinut prin înlocuirea tuturor arcelor cu muchii. Atunci un graf orientat este slab conex dacă graful neorientat asociat acestuia este conex.

Graf orientat tare conex

Un graf orientat este tare conex dacă există drum între oricare două noduri, atât într-un sens, cât şi în celelalt.

Se pot defini similar componentele slab conexă şi tare conexă.

2.2 Arborele văzut ca graf

Folosind noţiunile de mai sus, putem spune că un arbore este un graf(pentru simplitate, fie neorientat) conex şi cu număr minim de muchii, prin urmare, aciclic.

2.3 Arbore vs. pădure de acoperire

Pentru un graf neorientat, construirea unui arbore de acoperire(nu neapărat de cost minim) presupune construirea unui arbore care să fie graf parţial(să acopere toate nodurile).

Acest lucru este posibil numai dacă graful este conex. În caz contrar, se poate construi câte un arbore de acoperire pentru fiecare componentă conexă a grafului, spunând că se construieşte o pădure de acoperire pentru graf.

2.4 Arbore de cost minim

Dacă fiecare muchie dintr-un arbore are un cost(o pondere), atunci costul arborelui este dat de suma costurilor muchiilor ce formează arborele.

Dacă, pe acelaşi principiu, fiecare muchie dintr-un graf are un cost, atunci alegerea unui arbore minim de acoperire presupune alegerea unui arbore care să acopere toate nodurile şi care să folosească muchiile ce dau suma costurilor minimă.

3. Algoritmul lui Kruskal

4. Algoritmul lui Prim

5. Exerciții de laborator

6. Referințe

laboratoare/laborator-06.1490055500.txt.gz · Ultima modificare: 2017/03/21 02:18 de către mihai.iacov