O punte este o muchie în teoria grafurilor , a cărei îndepărtare crește numărul de componente conectate [1] . Astfel de nervuri sunt cunoscute și sub denumirea de nervuri de tăiere , arcuri de tăiere sau istmuri . O definiție echivalentă este aceea că o muchie este o punte dacă și numai dacă nu este conținută în niciun ciclu .
Un grafic cu vârfuri poate conține cel mult poduri, deoarece adăugarea unei laturi suplimentare va duce inevitabil la apariția unui ciclu. Graficele care au exact poduri sunt cunoscute sub numele de copaci , iar graficele în care orice margine este un pod sunt păduri .
În orice graf nedirecționat, există o relație de echivalență a vârfurilor , conform căreia două vârfuri sunt echivalente dacă există două căi care le conectează care nu se intersectează de-a lungul muchiilor (orice vârf este considerat echivalent cu el însuși). Clasele de echivalență ale acestei relații sunt numite componente conectate cu 2 muchii , iar punțile unui graf sunt exact acele muchii ale căror capete aparțin unor componente diferite. Diagrama bloc de legătură a unui grafic are un vârf pentru orice componentă netrivială și o muchie pentru fiecare punte [2] .
Podurile sunt strâns legate de conceptul de balamale , vârfuri care intră în orice cale care leagă două vârfuri. Cele două vârfuri ale unui pod sunt articulate, cu excepția cazului în care sunt de gradul 1, deși marginile fără punte pot fi, de asemenea, articulate la ambele capete. Ca și graficele fără punți, care sunt conectate cu 2 muchii, graficele fără balamale sunt conectate cu 2 vârfuri .
În graficele cubice , orice balama este un vârf terminal al cel puțin o punte.
După cum sugerează și numele, un grafic fără punte este un grafic care nu are punți. Condițiile echivalente sunt că fiecare componentă conexă a unui grafic are o descompunere în ureche deschisă [3] , că fiecare componentă conexă este conectată cu 2 muchii sau (după teorema lui Robbins ) că fiecare componentă conectată are o orientare puternică [3 ] ] .
O problemă deschisă importantă legată de punți este conjectura de acoperire cu ciclu dublu , propusă de Seymour și Székeres (în 1978 și 1979, independent), care afirmă că orice graf fără punte poate fi acoperit de cicluri simple care conțin fiecare muchie de două ori [4] .
Primul algoritm pentru găsirea punților într-un grafic cu timp de rulare liniar a fost descris de Robert Tarjan în 1974 [5] . Algoritmul funcționează astfel:
Vom nota marginea (v,w) conținută în arbore ca , și nu conținută ca .
.
Dacă este o punte, atunci este clar că dintr-un subarboresc înrădăcinat nu ar trebui să existe nicio modalitate de a merge la un vârf care nu aparține acestui subarboresc. Pentru a verifica acest lucru, este suficient să verificăm L(w), H(w) - condiția înseamnă că nu vom merge la vârful care se află mai aproape de rădăcină, iar condiția înseamnă că nu vom merge la alt subarbore.
Un algoritm foarte simplu de căutare a podurilor [6] se bazează pe descompunerea în lanț. Descompunerea lanțului nu numai că dă toate punțile, ci produce și toate balamalele (și componentele dublu conectate) ale graficului G , oferind astfel o bază pentru testarea conectivității marginii și vârfurilor 2 (și această metodă poate fi extinsă la verificarea liniară în timp). de margine- și vârf 3-conexiuni).
Descompunerea în lanț este un caz special de descompunere a urechii bazat pe căutarea în adâncime pe arborele T al graficului G și poate fi făcută foarte simplu:
lăsați toate vârfurile să fie marcate ca nevizitate. Pentru toate vârfurile v în ordinea crescătoare a numerelor de parcurgere 1... n , parcurgem fiecare muchie înapoi (adică o muchie care nu aparține arborelui de traversare) incidentă la v și urmărim marginile arborelui până la rădăcină până când vom întâlni vârful vizitat. În timpul acestei treceri, marchem toate nodurile trecute ca vizitate. Această trecere se va termina cu o cale sau o buclă care începe la v , vom numi aceasta cale sau buclă un lanț . Vom nota i --lea șir obținut printr-o procedură precum C i . C=C 1 ,C 2 ,... este atunci o partiție a graficului G în lanțuri .
Următoarele proprietăți fac posibilă obținerea eficientă a unor informații despre graficul G din C , inclusiv toate punțile [6] :
Fie C o descompunere în lanț a unui graf conex simplu G=(V,E) .