Sunteți pe pagina 1din 7

MODULUL III.

GRAFURI PLANARE
Tema are ca scop prezentarea detaliat a noiunilor privind grafurile planare, care constituie unul dintre instrumentele utile ale geometriei computaionale. Teorema lui Euler ofer importante aplicaii n calculul complexitii unor algoritme. Dup parcurgerea i nsuirea acestei teme, studentul va cunoate: Noiunea de graf planar. Teorema lui Euler. Algoritme specifice.

Studenii vor ntocmi o tem de cas care const n rezolvarea problemelor i exerciiilor propuse. Cuvinte cheie: graf planar, regiuni, parcurgerea conturului unei regiuni. Indicaii de studiere a temei: Timpul minim pe care trebuie s-l acordai studierii acestui modul este de 2 ore. Se citete cu atenie i se noteaz ideile principale, ecuaiile matematice, se aprofundeaz noiunile subliniate. Se parcurg ntrebrile de control i testele de verificare. Se studiaz problemele i exerciiile rezolvate. Se rezolv exerciiile propuse. Dac nu se neleg rezolvrile sau nu pot da soluii unor probleme propuse se restudiaz subiectul n cauz.

Cuprins
3.1. Teorema lui Euler; consecine. 3.2. Tabelul dublu conex al muchiilor unui graf planar. 3.3 Algoritmul parcurgerii unei regiuni. 3.4. Probleme propuse. 3.5. Teme pentru cas.

3.1. TEOREMA LUI EULER. CONSECINE.


Definiie Se numete graf planar un graf care se poate reprezenta printr-un desen n plan, vrfurile fiind puncte ale planului iar muchiile (orientate sau nu) fiind arce de curb care unesc vrfurile corespunztoare. Se cere ca muchiile s nu aib puncte interioare comune. Dintre grafurile planare prezint interes cele care au ca muchii segmente de dreapt. Vom considera mai ales astfel de grafuri planare. Dat fiind un graf planar el determin o mprire a planului n regiuni astfel c oricare dou puncte ale unei regiuni se pot uni cu o curb care nu traverseaz nici o muchie. Notnd v numrul vrfurilor, m numrul muchiilor i r numrul regiunilor, aceste trei numere satisfac teorema lui Euler: vm+r=2 PROPOZIIE Dac un graf planar satisface ipoteza suplimentar c n fiecare vrf se ntlnesc cel puin trei muchii atunci numerele v,m,r sunt de acelai ordin de mrime. DEMONSTRAIE Ipoteza suplimentar nseamn c 3v 2m de unde rezult c v (2/3)m, adic v = O(m). Folosind inegalitatea v (2/3)m i relaia lui Euler se obine: 2 = v m + r (2/3)m m + r de unde rezult m 3r 6 adic m = O(r). Deoarece fiecare regiune trebuie s aib o frontier format din cel puin trei muchii nseamn c 3r 2m adic r (2/3)m. Folosind din nou relaia lui Euler se obine: r (2/3)m (2/3)(v + r 2) de unde rezult r 2v 4 adic r = O(v). Q.E.D.

3.2. TABELUL DUBLU CONEX AL MUCHIILOR UNUI GRAF Datele ce constituie un graf constau din lista vrfurilor, care sunt puncte n plan definite prin coordonatele lor carteziene i lista muchiilor, adic a perechilor corespunztoare de vrfuri.

Pentru a extrage diverse informaii asupra unui graf planar trebuie ca nregistrarea n calculator a datelor ce constituie graful s conin o structur suplimentar numit tabelul dublu conex al muchiilor. n aceast tabel al muchiilor fiecare muchie se nregistreaz ca un set de informaii (cmpuri) care excede precizarea perechii de vrfuri ce definete muchia respectiv. Tabelul are urmtoarele cmpuri: V1, V2, s, d, Rs, Rc n care: -V1 i V2 sunt vrfurile care constituie capetele muchiei. Se definete astfel i o orientare a muchiei, fiecare avnd drept surs vrful V1 i drept capt vrful V2. -Cmpul s nseamn regiunea grafului care se afl n stnga atunci cnd ne deplasm pe muchia respectiv n sensul definit, adic de la V1 la V2. Analog, d este regiunea situat n partea dreapt. -n ce privete cmpurile Rs i Rc s considerm o muchie avnd drept surs vrful V1() i drept capt vrful V2(). Se ia drept Rs() prima muchie incident n vrful surs pe care o ntlnete muchia n rotirea ei n sens trigonometric n jurul sursei V1(). Analog, pentru a preciza muchia Rd(), se rotete muchia n sens trigonometric n jurul vrfului V2(), care servete drept capt al muchiei , pn cnd ntlnete prima muchie incident n acest vrf. Aceast muchie este Rd(). Baza de date ce definete graful mai conine, firete, si lista P1, P2, Pn a vrfurilor grafului precum i lista 1, 2, ..., r a regiunilor definite de graf. n afar de aceste liste, pentru diferite operaii asupra grafului se mai folosesc nc dou liste de pointeri: -O list MV indexat pe mulimea vrfurilor care, pentru fiecare vrf Pi , indic una din muchiile incidente n acest vrf. -O list MR indexat pe mulimea regiunilor care, pentru fiecare regiune j, indic o muchie situat pe frontiera regiunii respective.
EXEMPLU

Fie graful din figura alturat avnd ca list de vrfuri punctele P1, P2, P3, P4. Regiunile sunt: 1 constituit din exteriorul triunghiului P1 P2 P4, regiunea 2 mrginit de triunghiul P1 P3 P4 i regiunea 3 avnd conturul P1, P2, P4, P3, P1. Muchiile orientate sunt cele indicate n figur: 1, 2, 3, 4, 5. Listele de pointeri sunt: MV = {1, 5, 2, 3} MR = { 3, 3, 1}

n care prima alege, pentru fiecare vrf, cte o mucie din fascicolul de muchii incidente n acel vrf iar a doua alege, pentru fiecare din cele trei regiuni, cte o muchie aflat pe frontiera acelei regiuni.

P1 1 1 3 P2 5 P4 2 3 P3 2 4

Lista dublu conex a celor 5 muchii este urmtoarea: Muchia 1 2 3 4 5 V1 P2 P3 P1 P4 P2 V2 P1 P1 P4 P3 P4 s 1 3 1 3 3 d 3 2 2 2 1 Rs 5 4 1 5 1 Rc 2 1 4 2 3

3.3. ALGORITMUL DE PARCURGERE A CONTURULUI UNEI REGIUNI


Folosind baza de date aferent unui graf planar, constituit din cele patru liste i din tabelul dublu conex se pot elabora diferite algoritme pentru probleme cum ar fi parcurgerea conturului unei regiuni. Paii algoritmului sunt, pentru regiunea i, urmtorii: 1. Se iniializeaz muchia cu muchia din lista de pointeri MR, corespunztoare regiunii i. Aceasta este o muchie aflat pe conturul regiunii i. Parcurgnd aceast muchie n sensul ei

regiunea i se va afla sau la stnga sau la dreapta, adic sau i = s() sau i = d(). 2. Dac i = s() atunci se redefinete prin egalitatea: = Rs(). Dac i = d() atunci se redefinete prin egalitatea: = Rc(). 3. Se continu pasul 2. pn cnd devine .

Complexitatea algoritmului este numrul de muchii ale conturului regiunii, care poate fi chiar numrul total al muchiilor grafului. Reamintim c numrul muchiilor are acelai ordin de mrime ca i numrul de vrfuri ca i acela de regiuni. Un algoritm asemntor dar mult mai simplu se poate elabora pentru enumerarea fasciculului de muchii incidente ntr-un vrf, parcurgerea fascicolului fcndu-se fie n sens trigonometric fie invers.

3.4. PROBLEME REZOLVATE.


3.4.1. S se verifice Teorema lui Euler pentru un arbore 2-3. Rezolvare. Notm cu v numrul vrfurilor. Potrivit definiiei arborelui fiecare vrf are un ascendent bine determinat i deci o muchie ctre acesta, n afar de vrful numit rdcin. Deci numrul muchiilor este m = v 1. Graful are o singur regiune deoarece oricare dou puncte care nu se afl pe vreo muchie se pot uni cu o curb care nu intersecteaz nici o muchie. Deci r = 1. Ca urmare, v m + r = v (v - 1) + 1 = 2. 3.4.2. Pentru graful din exemplul de la seciunea 3.2 s se parcurg conturul regiunii 3. Rezolvare 1. Din lista de pointeri MR = {3, 3, 1} se ia muchia = 1 corespunztoare regiunii 3. Aceasta se afl pe frontiera regiunii 3 i are sensul de la P2 la P1. Din tabelul dublu conex al muchiilor gsim c d(1) = 3. 2. Pentru pasul 2 se ia deci a doua variant i deci se redefinete prin egalitatea = Rc(), adic = Rc(1) i n tabel gsim Rc(1) = 2.

3.1 Pentru = 2 gsim n tabelul dublu conex al muchiilor s(2) = 3 deci se ia prima variant din pasul doi i anume se redefinete prin egalitatea = Rs(2), i n tabel gsim Rs(2) = 4. 3.2 Pentru = 4 gsim n tabel 3 = s() i apoi, din acelai tabel gsim Rs(4) = 5. 3.3 Pentru = 5 gsim n tabel 3 = s(), ca urmare cutm n tabel Rs(5) care este 1 astfel c se redefinete ca fiind = 1 i deci se ncheie algoritmul. n concluzie s-a gsit pentru conturul regiunii 3 sirul de muchii: 1, 2, 4, 5. Remarcm faptul c acest contur este parcurs n sensul invers celui trigonometric, adic n sensul acelor ceasornicului. O modificare corespunztoare a algoritmului d ca rezultat parcurgerea conturului regiunii n sensul trigonometric.

3.5. TEME PENTRU CAS.


3.5.1. S se verifice Teorema lui Euler pentru graful planar constituit din vrfurile unui triunghi i laturile sale. 3.5.2. S se modifice graful din exemplul de la seciunea 3.2 adugnd muchia 6 = P2P3. Regiunea 3 se va mpri n dou regiuni. S se alctuiasc atbelul dublu conex al muchiilor grafului obinut. 3.5.3. Pentru graful din exemplul de la seciunea 3.2 s se aplice algoritmul de parcurgere a conturului regiunilor 1 i 3. 3.5.4. S se elaboreze algoritmul de enumerare a muchiilor incidente ntrun vrf al unui graf planar, folosind tabelul dublu conex al muchiilor grafului. 3.5.5. Pentru graful obinut la exerciiul 3.5.2 s se aplice algoritmul de enumerare a muchiilor incidente n vrfurile P1 i P3.

Bibliografie
[1] J. CHEN, Computational Geometry: Methods and Applications, Texas A&M University, 1996. [2] F. P. PREPARATA, M. I .SHAMOS, Computational Geometry: An Introduction, Springer-Verlag, New York, 1985.

[3] J. SCHWARTZ, C. YAP Algorithmic and Geometric Aspects of Robotics, New Jersei, 1987.