Der gewichtete Grad eines Knotens ii ist die Summe der Gewichtungen aller Kanten, die von diesem Knoten ausgehen. Formal lässt sich der gewichtete Grad als j=1mdi=wij\sum_{j=1}^{m} d_i = w_{ij} ausdrücken, wobei wijw_{ij} die Gewichtung der Kante zwischen den Knoten ii und jj darstellt. Der Vektor der gewichteten Grade ist der Vektor Td=(d1,d2,,dm)T_d = (d_1, d_2, \dots, d_m), der die Grade der Knoten als Einträge enthält. Die gewichtete Gradmatrix ist eine m×mm \times m Diagonalmatrix D=diag(d1,,dm)D = \text{diag}(d_1, \dots, d_m), die die Grade der Knoten auf der Diagonalen abbildet.

In der Praxis wird häufig davon ausgegangen, dass der Grad die ausgehenden Kanten eines Knotens misst. Ein isolierter Knoten, der keine ausgehenden Kanten hat, hat folglich den Grad 0, obwohl er eingehende Kanten besitzen kann. Interessanterweise ist die Gradmatrix DD genau dann invertierbar, wenn der Digraph keine isolierten Knoten enthält. In einem ungewichteten Graphen oder Digraphen, in dem alle Gewichtungen wij=1w_{ij} = 1 sind, fällt die Gewichtungsmatrix mit der Adjazenzmatrix W=AW = A zusammen. In diesem Fall entspricht der Grad eines Knotens einfach der Anzahl der benachbarten Knoten, also der Anzahl der angrenzenden Knoten.

In der Praxis sprechen wir häufig einfach von den "Graden" der Knoten und der Gradmatrix, ohne das Adjektiv „gewichtet“ zu verwenden. Für einen Digraphen gibt es eine äquivalente Definition des eingehenden Grads d~i\tilde{d}_i, der die Kanten misst, die an Knoten ii enden. Dieser eingehende Grad ergibt sich, indem man in der Formel für den Grad wijw_{ij} durch wjiw_{ji} ersetzt. Der Vektor der eingehenden Grade lautet dann d~=WT1\tilde{d} = W^T1. Bei einem ungerichteten Graphen, also einem Fall, bei dem W=WTW = W^T symmetrisch ist, sind die Grade der Knoten identisch, das heißt, d~=d\tilde{d} = d.

Ein Digraph wird als "ausgeglichen" bezeichnet, wenn der eingehende und der ausgehende Grad für alle Knoten gleich sind, also d~=d\tilde{d} = d. Die Gewichtungsmatrix eines ausgeglichenen Digraphen muss nicht notwendigerweise symmetrisch sein, hat jedoch die Eigenschaft, dass die Summen der Zeilen gleich den Summen der entsprechenden Spalten sind.

In vielen praktischen Anwendungen von Graphen kommen zusätzliche Informationen zu den Knoten hinzu, die als Knotenmerkmale bezeichnet werden. Diese Merkmale können unterschiedliche Eigenschaften haben, abhängig davon, was die Knoten repräsentieren. Wenn die Knoten beispielsweise Bilder darstellen, könnten die Merkmale Pixelwerte der Bilder oder Informationen über deren Klassifikation oder Annotationen sein. Wenn die Knoten Websites darstellen, könnten die Merkmale den Typ der Website oder statistische Zusammenfassungen des Inhalts enthalten.

Ein „Walk“ in einem gewichteten Digraphen ist eine geordnete Liste von Kanten ϵ1,ϵ2,,ϵk\epsilon_1, \epsilon_2, \dots, \epsilon_k, die benachbarte Knoten m1,m2,,mk+1m_1, m_2, \dots, m_{k+1} verbinden, wobei jede Kante ϵi=(mi,mi+1)\epsilon_i = (m_i, m_{i+1}) den Knoten mim_i mit dem Knoten mi+1m_{i+1} verbindet und dabei eine positive Gewichtung wm>0w_m > 0 aufweist. In einem ungerichteten Graphen wird beim Walk keine Beachtung auf die Kantenrichtung gelegt. Ein „Trail“ ist ein Walk, bei dem keine Kanten wiederholt werden, also ϵiϵj\epsilon_i \neq \epsilon_j für iji \neq j. Ein „Path“ ist ein Trail, bei dem auch keine Knoten wiederholt werden, also mimjm_i \neq m_j für iji \neq j.

Die Begriffe „Walk“, „Trail“ und „Path“ sind von zentraler Bedeutung, um das Verhalten von Graphen und deren Verbindungen zu verstehen. Zum Beispiel stellt ein Walk in einem Graphen eine mögliche Route dar, die mit den Kanten des Graphen entlang benachbarter Knoten durchlaufen wird. Ein Path geht jedoch noch weiter und garantiert, dass sowohl Kanten als auch Knoten auf diesem Weg einzigartig sind.

Ein „Circuit“ ist ein Trail, der zu seinem Ausgangspunkt zurückkehrt, also mk+1=m1m_{k+1} = m_1. In einem solchen Circuit können Knoten zwar mehrfach besucht werden, aber jede Kante wird nur einmal durchlaufen. Bei gerichteten Graphen ist es wichtig, dass die Kanten in der richtigen Reihenfolge befahren werden, um einen validen Circuit zu bilden. Ein Circuit in einem ungerichteten Graphen hat hingegen keine Beachtung für die Kantenrichtung.

Ein Graph oder Digraph wird als „zusammenhängend“ bezeichnet, wenn es einen Pfad zwischen jedem Paar von Knoten gibt. Ein Graph, der isolierte Knoten enthält (also Knoten mit Grad 0), ist automatisch nicht zusammenhängend. Jeder Graph kann als disjunkte Vereinigung von verbundenen Teilgraphen betrachtet werden, die keine Knoten miteinander teilen. Ein zusammenhängender Graph besitzt genau einen zusammenhängenden Teilgraphen. Im Extremfall ist ein Graph völlig unzusammenhängend, wenn er keine Kanten hat. In diesem Fall besteht der Graph aus mm isolierten Knoten, wobei jeder Knoten eine eigene Komponente darstellt.

Schließlich wird häufig das Konzept eines „Indikatorvektors“ verwendet, um eine Teilmenge von Knoten SNS \subset N zu repräsentieren. Der Indikatorvektor 1SRm1_S \in \mathbb{R}^m hat den Wert 1 an den Positionen der Knoten, die zu SS gehören, und den Wert 0 an allen anderen Positionen. Diese Vektoren sind in der Regel orthogonal, wenn sie verschiedene Teilmengen repräsentieren.

Ein wichtiger Punkt, den man zusätzlich beachten sollte, ist, dass die Art und Weise, wie die Knoten und Kanten eines Graphen gewichtet werden, weitreichende Auswirkungen auf die Analyse und Interpretation von Graphen hat. Gerade in komplexen Netzwerken (wie sozialen Netzwerken, Verkehrsnetzwerken oder biochemischen Netzwerken) sind die Gewichtungen ein wesentlicher Bestandteil des Modells und beeinflussen die Resultate von Algorithmen, die zur Analyse oder Vorhersage von Verhaltensmustern eingesetzt werden. Auch das Verständnis von Konzepten wie zusammenhängenden Komponenten, Pfaden und Zyklen ist in der Analyse von Graphen und deren Anwendungen entscheidend, um die Struktur und Dynamik eines Netzwerks zu begreifen und zu steuern.

Wie lässt sich der Graph-Laplacian für die binäre spektrale Clusterung nutzen?

Die Diskussion über die Struktur der Eigenvektoren des Graph-Laplacians in Lemma 9.28 vermittelt wichtige Einsichten in die Funktionsweise von spektralen Methoden zur Clusterung. Insbesondere wird dort gezeigt, dass die höchsten Eigenvektoren des Graph-Laplacians besonders stark schwanken, was zu einer schnellen Wechselwirkung der Vorzeichen entlang der Kanten führt. Diese Erkenntnis ist von grundlegender Bedeutung, wenn man sich der Frage widmet, wie man Graphen in Cluster unterteilt.

Wenn wir uns ein einfaches Szenario vorstellen, bei dem der Grad di=dd_i = d für alle Knoten im Graph konstant ist, wird die einzige Stelle, an der eine Ungleichung im Beweis von Lemma 9.28 auftritt, die Schätzung in Gleichung (9.28). Angenommen, alle Einträge des Vektors xx haben den absoluten Wert 1, das heißt xi=±1x_i = \pm 1 für alle ii, dann gilt die Gleichung (9.28) genau dann, wenn xi=1x_i = 1 und xj=1x_j = -1 oder umgekehrt, was bedeutet, dass beide Seiten der Ungleichung den Wert 4 erreichen. Diese Erkenntnis wird noch deutlicher, wenn man bedenkt, dass diese Schätzung nur über Kanten im Graphen genutzt wird, da sie mit wijw_{ij} im nächsten Schritt des Beweises multipliziert wird. Daraus folgt, dass die höchsten Eigenvektoren des Graph-Laplacians Vektoren sind, deren Einträge über den Graphen hinweg stark oszillieren, indem sie die Vorzeichen über möglichst viele Kanten hinweg ändern.

Diese Idee wird weiter konkretisiert, wenn wir uns mit der diskreten Fourier-Transformation in Abschnitt 9.10 befassen. Es zeigt sich, dass solche Eigenvektoren eine schnelle Vorzeichenumkehr über den Graphen hinweg aufweisen, was sie für die Analyse von Strukturen in Graphen nützlich macht, insbesondere in Bezug auf die Clusterung.

Ein Beispiel für eine konkrete Anwendung dieser Theorie ist die binäre spektrale Clusterung, bei der wir den Graph-Laplacian dazu verwenden, Knoten eines gewichteten Graphen in zwei Gruppen zu unterteilen. Ziel ist es, eine Partition des Graphen in zwei komplementäre Teilmengen ANA \subset N und Ac=NAA^c = N \setminus A zu finden, sodass möglichst wenige Kanten zwischen den beiden Teilmengen existieren. Dies lässt sich als Minimierung der sogenannten Graph-Cut-Energie formulieren, die in Gleichung (9.29) angegeben ist:

cut(A)=iA,jAcwij.\text{cut}(A) = \sum_{i \in A, j \in A^c} w_{ij}.

Dabei stellt die Graph-Cut-Energie die Summe der Kantengewichte dar, die durch das Schneiden der Kanten des Graphen zwischen den zwei Teilmengen entstehen. Die Idee, diese Energie zu minimieren, erscheint zunächst sinnvoll, da dies zu einer Trennung des Graphen führt, bei der nur wenige Kanten durchtrennt werden müssen. In der Praxis hat sich jedoch gezeigt, dass diese Methode suboptimale Clusterungen erzeugen kann, insbesondere in Fällen, in denen eine Teilmenge AA nur einen einzelnen ausreißenden Knoten enthält oder sogar die triviale Partition A=A = \emptyset gewählt wird, was dann eine ungenaue Clusterung zur Folge hat.

Um dieses Problem zu umgehen und eine ausgewogenere Aufteilung zu erzielen, kann man die Graph-Cut-Energie auf verschiedene Weisen normalisieren. Eine der gängigsten Methoden ist die Einführung des sogenannten Average Cut, bei dem die Graph-Cut-Energie durch die Produktgröße der Kardinalitäten der beiden Teilmengen AA und AcA^c geteilt wird:

cutavg(A)=cut(A)AAc.\text{cutavg}(A) = \frac{\text{cut}(A)}{|A| \cdot |A^c|}.

Diese Normalisierung sorgt dafür, dass keine der beiden Teilmengen zu klein wird. Wenn eine der Mengen leer ist, wird die Average Cut-Energie unendlich, was darauf hinweist, dass eine triviale Partition vermieden wird. Darüber hinaus hat man die Möglichkeit, die so genannte Normalized Cut-Energie zu minimieren, die die Größe der Teilmengen auf eine andere Weise berücksichtigt und ebenfalls eine verbesserte Clusterung ermöglicht.

Allerdings bleibt das Problem der Minimierung sowohl der Average Cut- als auch der Normalized Cut-Energie im Allgemeinen ein NP-schweres Problem. Das bedeutet, dass es für Graphen mit einer großen Anzahl von Knoten sehr schwierig wird, die optimale Lösung zu finden. Ein üblicher Weg, mit dieser Schwierigkeit umzugehen, besteht darin, den Optimierungsprozess zu vereinfachen und approximative Lösungen zu finden. Dies wird erreicht, indem man eine Entspannung der ursprünglichen Aufgabe in Betracht zieht, bei der der Graph-Laplacian genutzt wird, um eine einfachere Form des Problems zu formulieren, die dann mit effizienteren Algorithmen gelöst werden kann.

Ein weiteres nützliches Konzept, das hier in Betracht gezogen wird, ist der Zusammenhang zwischen der Durchschnitts-Cut-Energie und der Spektraltheorie des Graphen, speziell den Eigenwerten und Eigenvektoren des Graph-Laplacians. Durch die Spektralanalyse des Graphen wird es möglich, die Clusterstrukturen des Graphen zu extrahieren, ohne sich direkt mit den schwierigen Optimierungsproblemen auseinanderzusetzen.

Wichtig für den Leser ist, dass der Graph-Laplacian eine tiefere Bedeutung für die Struktur eines Graphen hat, als nur als mathematische Konstruktion für die Clusterung. Seine Eigenvektoren und Eigenwerte geben wertvolle Einblicke in die Struktur der Daten und ermöglichen die effiziente Durchführung von Clusterungsaufgaben, die auf den Beziehungen zwischen den Knoten basieren. Insbesondere die Verbindung zwischen dem Laplacian und der spektralen Clusterung zeigt, dass das Erkennen von Gruppen und Zusammenhängen in komplexen Daten nicht nur auf den einfacheren Euclidischen Entfernungen basiert, sondern auf der zugrundeliegenden Struktur des Graphen.