In der Graphentheorie bezeichnet ein Gelenkpunkt, Artikulationspunkt, Artikulation oder Schnittknoten einen Knoten eines Graphen, dessen Entfernen die Anzahl der zusammenhängenden Teilgraphen erhöhen würde. Wenn der Graph vor dem Entfernen des Knotens zusammenhängend war, ist er danach unzusammenhängend. Ein Gelenkpunkt ist ein Spezialfall eines Trenners.

Ein ungerichteter Graph mit n=5 Knoten und 3 Gelenkpunkten (rot markiert)
Ein ungerichteter Graph ohne Gelenkpunkte

Der Begriff des Gelenkpunkts ist auch für gerichtete Graphen wohldefiniert[1], wird aber hauptsächlich für ungerichtete Graphen verwendet. Grundsätzlich kann ein zusammenhängender ungerichteter Graph mit n Knoten nicht mehr als n-2 Gelenkpunkte besitzen.

Eine Brücke ist eine Kante analog zu einem Gelenkpunkt; das heißt, das Entfernen der Brücke erhöht die Anzahl der zusammenhängenden Teilgraphen.

Finden von Gelenkpunkten Bearbeiten

Ein trivialer   Algorithmus:

C = leere Menge (nach Beenden des Algorithmus wird sie die Gelenkpunkte enthalten)
a = Anzahl der zusammenhängenden Teilgraphen (gefunden mit Tiefensuche/Breitensuche)
for alle Knoten i in V auf den Kanten zeigen
    b = Anzahl der zusammenhängenden Teilgraphen, wenn i entfernt wird
    if b > a
        i ist ein Gelenkpunkt
        C = C + {i}
    endif
endfor

Es gibt einen Algorithmus, der mittels Tiefensuche eine wesentlich bessere Laufzeit von   erreicht[2].

Gelenkpunkte in Bäumen Bearbeiten

Ein Knoten eines Baums G ist genau dann ein Gelenkpunkt, wenn der Grad des Knotens größer als 1 ist.

Literatur Bearbeiten

  • Nirmala, K.; Ramachandra Rao, A. The number of cut vertices in a regular graph. Cah. Cent. Étud. Rech. Opér. 17, 295–299 (1975).

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. Rao, S.B.; Ramachandra Rao, A. The number of cut vertices and cut arcs in a strong directed graph. Acta Math. Acad. Sci. Hung. 22, 411–421 (1972)
  2. Präsentation des O(n+m) Algorithmus (auf Englisch; PDF; 447 kB)