Documente Academic
Documente Profesional
Documente Cultură
Grafuri triangulate
16.1 Definiții
Să ne amintim că orice graf simplu planar cu vârfuri are cel mult muchii.
În acest capitol, acum vom studia grafuri simple planare unde acestea sunt dense. Adică
aceste grafuri sunt maximale planar în sensul în care nu le mai putem adăuga o muchie fără să
stricăm planaritatea sau simplitatea. Un alt termen mai des folosit pentru aceste grafuri este
graf triangulat planar, ceea ce vom studia în cele ce urmează.
Definiția. 16.1
Un graf triangulat este un graf planar unde fiecare față este un triunghi.
În Figura 16.1 putem vedea un graf care nu este triangulat pentru că fețele nu sunt triunghiuri
și un graf care este triangulat dar nu este simplu
Lema 16.2 Fie un graf planar simplu conex cu cel puțin 3 vârfuri. Atunci dacă
și numai dacă este un graf triangulat.
Din formula lui Euler, care spune că , putem arată foarte ușor că fiecare
graf triangulat cu cel puțin 3 vârfuri are exact fețe.
Vezi Figura 16.2 pentru o ilustrare a acestui exemplu. În mod special această lemă arată că
fiecare graf triangulat are o includere planară unică în teorema lui Whitney
Figura 16.2 Un graf triangulat este 3-conex, altfel putem adăuga o muchie
Noi folosim acest termen pentru grafurile planare ale căror fețe sunt triunghiuri.
Oriunde posibil vom scrie ”graf triangulat planar” pentru claritate.
Unele referințe (de exemplu [Gol80] se referă la grafurile cordale ca grafuri
triangulate, deoarece în mare parte pentru fiecare ciclu, avem o coardă și deci cel mai
scurt ciclu indus trebuie să fie un triunghi.
Nu este absolut nici o asemănare între grafuri cordale și grafuri triangulate planar: sunt
multe grafuri care sunt cordale dar nu sunt triangulate planar ( ex. orice arbore) și sunt
multe grafuri care sunt triangulate planar dar nu sunt cordale (ex. o dublă piramidă).
O a treia utilizare a ”triangulat” ( sau în mod specific, ”triangulare”) provine de la
geometria computațională, grafic și simularea numerică. Aici, o triangulare se referă la
un set de puncte în și serie de muchii drepte între ele în așa fel încât toate fețele
interioare sunt triunghiuri. Este relativ asemănătoare cu grafurile triangulate planar,
dar nu se cere ca și fețele exterioare să fie triunghiuri. ( În mod special, triangularea
trebuie să fie 3-conex). Ne vom referi câteodată la aceste grafuri ca grafuri triangulate
interne planare. Iar o triangulare are în mod general o figură asociată cu ea, în timp
ce un graf triangulat planar este definit doar prin includere planară.
Figura 16.3 Un graf cordal care nu este un graf triangulat planar;un graf triangulat
planar care nu este cordal; și o triangulare
Teorema 16.4 Fie un graf planar conex simplu cu . Atunci putem găsi un set de
muchii în așa fel încât este un graf planar simplu biconex.
Demonstrație: ( Schematic) Nu este greu să verificăm că dacă apare pe un circuit al unei fețe
Teorema 16.6 Fie un graf planar biconex simplu cu . Atunci putem găsi un set de
muchii în așa fel încât este un graf simplu, triangulat și planar.
Figura 16.5: Dacă un vârf apare mai mult de o dată pe o față, atunci este un punct de
articulație
Demonstrație: Fie o față cu gradul și cu vârfurile (vezi Figura 16.6 (a). Cel
mai simplu mod de a face fața triangulată este acela de a adăuga muchii
(liniile punctate din Figura 16.6(b)). Dar această metodă nu
funcționează întotdeauna, pentru că ar putea fi deja o muchie pentru , iar
astfel s-ar adăuga muchii multiple (vezi linia punctată din Figura 16.6(b)).
Figura 16.6: Crearea unui graf triangulat planar
Luăm altă față cu gradul și vom urma aceași procedură. În acest fel, prin inducție, tot
graful devine triangulat.
Mai sus am dat un pseudo-cod pentru un algoritm care va triangula grafuri planare. Diferă
puțin de metoda din demonstrația Teoremei 16.6. Anterior, am lăsat (Linia 4) să fie un vârf
aleatoriu pe o față, dar în această metodă alegem un vârf cu un grad minim nu unul aleator.
Acesta este necesar pentru a reduce timpul și complexitatea codului
Obiectivul nostru este acela de a arăta că algoritmului îi ia timp, ceea ce nu era evident
deloc. Găsirea tuturor fețelor poate fi făcut în timp. De asemenea, pentru fiecare față
trebuie să găsim vârful de minim grad, care poate fi făcut în timp. Acum pentru
fiecare față , trebuie să marcăm și demarcăm vecinii vârfului de grad minim. Asta durează
timp, unde este vârful de grad minim din . Este posibil ca , așa că
vom fi nevoiți să arătăm că peste toate fețele timpul să nu fie prea mare. Restul de operații pe
fiecare față ia timp, așa că timpul total de rulare este proporțional cu
uităm la al doilea termen din acest timp de rulare, în mod special să găsim o limită pentru
Asta se face în mod repetat aplicând limitele superioare. Ca prim pas, observați că
Din moment ce fiecărei muchie îi aparține exact 2 fețe putem spune că:
Acum avem o expresie care nu mai depinde de planaritate. Pentru grafuri generale, această
expresie poate fi foarte bine cubică (ex. pentru un graf complet), dar nu pentru grafurile
planare, în acest caz putem arăta că este cel mul liniar. Pentru a face asta, avem nevoie de
noțiunea de arboricitate.
Definiția 16.7 Fie un graf. Spunem că are arboricitate dacă și dacă există
păduri pe vârfurilelui în așa fel încât
Figura 16.7: Un graf cu o arboricitate de cel mult 3. Cele 3 păduri sunt marcate cu linii
punctate, întrerupte și continue
Arboricitatea poate fi folosită ca limită a timpului de rulare pentru triangularea grafului din
cauza următorului rezultat:
Cât de des apare în această sumă? Ori de câte ori există muchii incidente în . Dar
are cel mult o muchie incidentă! Așa că,
Din moment ce fiecare muchie aparține unei singure păduri, putem acum face suma tuturor
muchiilor prin însumarea pădurilor și obținem
Teorema 16.9 Oricare graf planar simplu poate fi triangulat prin adăugarea de muchii. Un
asemnea set de muchii poate fi găsit în timp.
Demonstrație: Am scris mai devreme algoritmul și am analizat timpul de rulare al lui ca fiind
proporțional cu ,și după cum știm din Lema 16.8 că este cel
mult .Dar nici aceasta nu este liniară în general (de exemplu, graful complet
are o arboricitate n/2), dar după cum vom vedea în curând, grafurile planare au o arboricitate
de cel mult 3, și prin urmare rezultă .
Acum vom introduce noțiunea de ordonare canonică, ceea ce este o noțiune utilă pentru
crearea unui graf cât și pentru alte aplicații. În cele ce urmează, atunci când ne vom referi la
un graf triangulat planar, vom presupune că includerea planară este fixă (adică este doar una
din moment ce graful este triconex), iar o față exterioară este aleasă.
Figura 16.8 ne arată un exemplu de ordonare canonică și ilustrează cum este adăugat
grafului .
Definiția originală a ordonărilor canonice (vezi [FPP90]) menționează mai multe condiții în
privința ordonării, dar toate respectă cele listate în cele ce urmează:
Lema 16.11 Fie un graf triangulat planar cu ordonarea canonică . Atunci pentru
oricare , următoarele condiții se mențin:
4.Fiecare față interioră a lui este o față a lui . este triangulat în interior.
Figura 16.8: Un exemplu de ordonare canonică și modul în care este adăugat lui
Numărul (3) este dovedit prin inducție. este pe fața exterioară al lui , care face parte
din fața exterioară a lui din moment ce este pe fața exterioară a lui . Folosind
inducția matematică, fața exterioară a lui este parte a lui și implicit și . Condiția (4)
este și ea simplu de demonstrat plecând de la (3). Din moment ce toate vârfurile în
aparțin feței exterioare a lui , toate fețe interioare a lui sunt neschimbate în . Iar
fiind triangulat, toate fețele interne ale lui sunt și ele triangulate.
(5) asemenea condiției (4). Din moment ce este pe fața exterioară a lui și deci toți
vecinii din trebuie să fie pe fața exterioară a lui .Când adăugăm muchii din către
vecinii lui în , creăm fețe interioare lui . Conform lui (4) acestea trebuie să fie
triunghiuri și deci fiecare vecin consecutiv lui trebuie să îi fie adiacent și formează un
drum pe fața exterioară a lui .
(6) asemenea lui (5). Întrucât , vârful nu aparține unei feței exterioare
a lui , dar aparține feței exterioare a lui . Astfel la un moment dat vârful
trebuie să dispară de pe fața exterioară, de exemplu când adăugăm vârful . Conform
(5), vârful este adiacent lui și deci succesor lui .
Observăm că ordonarea canonică este un tip de sortare-st, deoarece fiecare vârf are un
predecesor și un succesor și este muchie. Dar ordonarea canonică are și ceva în plus,
pentru că fiecare vârf (cu excepție primelor 2) au doi predecesori. Sunt multe generalizări ale
acestei idei (pentru grafurile triangulate 4-conex), dar nu vom aprofunda asta ; vezi [KH97].
În primul rând trebuie stabilit dacă o ordonare canonică există. Ea există, indiferent
cum este aleasă fața exterioară.
Teorema 16.12 Fie un graf triangulat planar și fața exterioară a lui . Atunci o
ordonare canonică a lui va exista în așa fel încât și
Demonstrație: Vom arată folosind inducție inversă, adică vom arată cum să îi alegem lui
un vârf care să satisfacă condițiile.
Nu orice vârf poate fi ales pe fața exterioară al lui ; vezi Figura 16.9
În acest mod, pute găsi toate vârfurile . În final, rămânem cu 2 vârfuri ( care sunt și
) și le fixăm ca și .