Konstruieren Sie eine Distanzmatrix aus dem Diagramm. Diagramme von Straßennetzen und Algorithmen für die Arbeit mit ihnen

Im letzten Abschnitt haben wir betont, dass die dort eingeführte Adjazenzmatrix $A$, genauer gesagt die Vertex-Adjazenzmatrix eines Graphen, eine sehr bedeutende Rolle in der Graphentheorie spielt. Wir haben die Vorteile dieser Matrix festgestellt: Sie ist ein Ordnungsquadrat, das der Anzahl der Zeilen der Inzidenzmatrix $B$ entspricht, d. h. sie enthält in der Regel eine geringere Anzahl von Elementen. Zweitens speichert diese Matrix alle Informationen über die Kanten des Diagramms und beschreibt bei einer bestimmten Nummerierung der Eckpunkte das Diagramm eindeutig. Die Adjazenzmatrix ist wie die Inzidenzmatrix eines Graphen eine (0,1)-Matrix, d. h. seine Elemente können als Elemente anderer algebraischer Strukturen betrachtet werden und nicht nur als Elemente der Menge der ganzen Zahlen. Insbesondere haben wir festgestellt, dass die Elemente der Adjazenzmatrix als Elemente der Booleschen Algebra betrachtet werden können, die den Gesetzen der Booleschen Arithmetik unterliegen, haben dies jedoch nicht richtig erklärt. Bevor wir diese Lücke füllen, wollen wir die Vorteile der Adjazenzmatrix hervorheben, die sich aus ihrer Quadratizität ergeben.

Erinnern Sie sich dazu an die Regeln der Matrixmultiplikation. Gegeben seien beliebige Matrizen mit numerischen Elementen: Matrix $A$ der Dimension $n\times m$ mit Elementen $a_(ik)$ und Matrix $B$ der Dimension $m\times q$ mit Elementen $b_(kj)$ . Eine Matrix $C$ der Dimension $n\times q$ heißt das Produkt der Matrix $A$ mit $B$ (die Reihenfolge ist wichtig), wenn ihre Elemente $c_(ij)$ wie folgt definiert sind: $c_(ij ) = \sum\limits_( k = 1)^m (a_(ik) b_(kj))$. Das Produkt von Matrizen wird in der üblichen Weise $AB=C$ geschrieben. Wie wir sehen können, erfordert das Matrizenprodukt Konsistenz in den Größen des ersten und zweiten Faktors (die Anzahl der Spalten der ersten Faktormatrix ist gleich der Anzahl der Zeilen der zweiten Faktormatrix). Diese Anforderung verschwindet, wenn wir quadratische Matrizen derselben Ordnung betrachten und daher beliebige Potenzen einer quadratischen Matrix berücksichtigen können. Dies ist einer der Vorteile quadratischer Matrizen gegenüber rechteckigen. Ein weiterer Vorteil besteht darin, dass wir den Gradelementen der Adjazenzmatrix eine grafische Interpretation geben können.

Die Adjazenzmatrix $A$ habe die Form: $A = \left(((\begin(array)(*c) (a_(11) ) & (a_(12) ) & (...) & (a_ (1n ) ) \\ (a_(21) ) & (a_(22) ) & (...) & (a_(2n) ) \\ (...) & (...) & (... ) & (...) \\ (a_(n1) ) & (a_(n2) ) & (...) & (a_(nn) ) \\ \end(array) )) \right)$, und ihr $ k$ter Grad – $A^k = \left(((\begin(array)(*c) (a_(11)^((k)) ) & (a_(12)^((k)) ) & (...) & (a_(1n)^((k)) ) \\ (a_(21)^((k)) ) & (a_(22)^((k)) ) & (. . .) & (a_(2n)^((k)) ) \\ (...) & (...) & (...) & (...) \\ (a_(n1)^( ( k)) ) & (a_(n2)^((k)) ) & (...) & (a_(nn)^((k)) ) \\ \end(array) )) \right)$ , wobei $k = 2,3,...$ Offensichtlich ist $A^k$ wie die Matrix $A$ eine symmetrische Matrix.

Sei $k=2$. Dann $a_(ij)^((2)) = \sum\limits_(k = 1)^n (a_(il) a_(lj))$ ($i,j = 1,2,...,n $) und jeder Term $a_(il) a_(lj)$ ist entweder gleich $0$ oder $1$. Der Fall, dass $a_(il) a_(lj) = 1$ bedeutet, dass es zwei Kanten im Diagramm gibt: die Kante $\(i,l\)$ (da $a_(il) = 1)$ und die Kante $\( l,j\)$ (da $a_(lj) = 1$) und daher der Pfad $\(( \(i,l\), \(l,j\) )\)$ von $i $-ter Scheitelpunkt zum $j$ten Scheitelpunkt der Länge zwei (ein Pfad mit zwei Kanten). Hier sprechen wir von einem Pfad, nicht von einer Kette, da die angegebene Richtung vom $i$-ten Scheitelpunkt zum $j$-ten Scheitelpunkt verläuft. Somit gibt uns $a_(ij)^((2))$ die Anzahl aller Pfade auf dem Graphen (in der geometrischen Interpretation des Graphen) mit der Länge 2, die vom $i$-ten Scheitelpunkt zum $j$ führen -th.

Wenn $k=3$, dann $A^3 = A^2A = AA^2 = AAA$ und $a_(ij)^((3)) = \sum\limits_(l_1 = 1)^n (a_( il_1 ) ) a_(l_1 j)^((2)) = $ $\sum\limits_(l_1 = 1)^n (a_(il_1 ) ) \left((\sum\limits_(l_2 = 1)^n ( a_(l_1 l_2 ) a_(l_2 j) ) \right) =$ $\sum\limits_(l_1 = 1)^n (\sum\limits_(l_2 = 1)^n (a_(il_1 ) ) ) a_( l_1 l_2 ) a_(l_2 j) = \sum\limits_(l_1 ,l_2 = 1)^n (a_(il_1 ) a_(l_1 l_2 ) a_(l_2 j) )$.

Der Term $a_(il_1 ) a_(l_1 l_2 ) a_(l_2 j) $ definiert, wenn er gleich 1 ist, einen Pfad der Länge 3, der vom $i$-ten Scheitelpunkt zum $j$-ten verläuft und durch ihn verläuft die Eckpunkte $l_1$ und $l_2$. Dann gibt uns $a_(ij)^((3))$ die Anzahl der Pfade der Länge 3, die den $i$-ten und den $j$-ten Eckpunkt verbinden. Im Allgemeinen gibt $a_(ij)^((k))$ die Anzahl der Pfade der Länge $k$ an, die den $i$-ten und den $j$-ten Eckpunkt verbinden. In diesem Fall ist $a_(ij)^((k)) = \sum\limits_(l_1 ,l_2 ,...,l_(k - 1) = 1)^n (a_(il_1 ) a_(l_1 l_2 ) .. .) a_(l_(k - 2) l_(k - 1) ) a_(l_(k - 1) j)$.

Es ist klar, dass der Wert $a_(ii)^((k)) $ uns die Anzahl der geschlossenen Pfade der Länge $k$ gibt, die am Scheitelpunkt $i$ beginnen und enden. Somit bedeutet ein Pfad der Länge 2 - $a_(il) a_(li)$ einen Pfad, der entlang der Kante $\( i,l \)$ vom Scheitelpunkt $i$ zum Scheitelpunkt $l$ und zurück verläuft. Daher ist $a_(ii)^((2)) = s_i$, d.h. Die Diagonalelemente der Matrix $A^2$ sind gleich den Graden der entsprechenden Eckpunkte.

Betrachten wir nun neben der Matrix $A$ auch die Matrix $\dot (A)$, die sich von der Matrix $A$ nur dadurch unterscheidet, dass ihre Elemente (Zahlen 0 oder 1) als Elemente der Booleschen Algebra betrachtet werden. Daher werden Aktionen mit solchen Matrizen nach den Regeln der Booleschen Algebra ausgeführt. Da sich die Aktionen des Addierens und Multiplizierens von Matrizen mit booleschen Elementen auf die Aktionen des Addierens und Multiplizierens der Elemente dieser Matrizen nach den Regeln der Booleschen Arithmetik reduzieren, hoffen wir, dass dies nicht zu Schwierigkeiten führt. Eine Matrix mit booleschen Elementen wird als boolesche Matrix bezeichnet. Es ist offensichtlich, dass die Operationen der Addition und Multiplikation boolescher Matrizen auf der Menge der booleschen Matrizen abgeschlossen sind, d.h. Das Ergebnis dieser Operationen wird wiederum eine Boolesche Matrix sein.

Offensichtlich gibt es für eine gegebene Nummerierung von Eckpunkten eine Eins-zu-eins-Entsprechung zwischen booleschen Adjazenzmatrizen und Graphen. Daher ist die grafische Interpretation der Aktionen der Addition und Potenzierung boolescher Adjazenzmatrizen von Interesse (im allgemeinen Fall ist das Produkt zweier symmetrischer Matrizen derselben Ordnung nicht unbedingt eine symmetrische Matrix).

Das Ergebnis der Addition zweier boolescher symmetrischer Matrizen derselben Ordnung ist eine boolesche symmetrische Matrix derselben Ordnung mit Nullen an den Stellen, an denen beide Terme Nullen haben, und Einsen an den Stellen, an denen mindestens ein Term eine Eins hat. In der Graphinterpretation wird diese Operation als Operation bezeichnet Diagrammergänzung. Die Summe zweier Diagramme, gegeben auf derselben Menge von Eckpunkten mit derselben Nummerierung, wird ein Graph genannt, dessen Eckpunkte i und j nicht benachbart sind, wenn sie in beiden Graphkomponenten nicht benachbart sind, und dessen Eckpunkte i und j benachbart sind, wenn sie in at benachbart sind mindestens ein Graph-Term.

Interpretieren wir nun den zweiten Grad der booleschen Adjazenzmatrix $\dot (A)^2$ mit den Elementen $\dot (a)_(ij)^((2)) = \sum\limits_(l = 1)^ n (\dot ( a)_(il) \dot (a)_(lj) )$. Es ist klar, dass $\dot (a)_(ij)^((2)) = 1$, wenn mindestens ein Term $\dot (a)_(il) \dot (a)_(lj) $ gleich ist zu 1 und $\dot (a)_(ij)^((2)) = 0$, wenn alle Terme gleich 0 sind. Wenn die Matrix $\dot (A)$ die Adjazenzmatrix eines Graphen ist, d.h. eine symmetrische (0,1)-Matrix mit einer Hauptdiagonale von Null ist, dann ist die Matrix $\dot (A)^2$ im Allgemeinen keine Adjazenzmatrix eines Graphen in dem von uns akzeptierten Sinne, da alle ihre Diagonalelemente vorhanden sind sind gleich 1 (wenn der Graph keine isolierten Eckpunkte hat). Damit solche Matrizen als Adjazenzmatrizen betrachtet werden können, müssen wir bei der Betrachtung von Verbindungen zwischen den Eckpunkten eines verbundenen Systems, die dieses System als Graphen definieren, zulassen, dass einige Eckpunkte mit sich selbst verbunden sind. Als „Kante“ wird die Verbindung eines bestimmten Scheitelpunktes mit sich selbst bezeichnet Schleife. Darüber hinaus meinen wir mit dem Wort Graph nach wie vor einen Graphen ohne Schleifen und über einen Graphen mit Schleifen, wenn dies aus dem Kontext nicht klar hervorgeht, sagen wir es - einen Graphen mit Schleifen.

Betrachten Sie die Summe $\dot (A)^() = \dot (A) + \dot (A)^2$. Die Matrix $\dot (A)^()$ gibt uns einen Graphen, der aus dem ursprünglichen Graphen entsteht, indem dieser mit zusätzlichen Verbindungen „gesättigt“ wird, die Pfaden der Länge 2 entsprechen. Das heißt, im neuen Graphen die Eckpunkte $i$ und $ j$ sind benachbart, wenn sie im ursprünglichen Diagramm benachbart sind oder diese Eckpunkte durch einen Pfad der Länge 2 verbunden sind, und die Eckpunkte $i$ und $j$ sind nicht benachbart, wenn sie im ursprünglichen Diagramm und dort nicht benachbart sind Es gibt keinen Pfad der Länge 2, der diese Eckpunkte verbindet.

$\dot (A)^() = \dot (A) + \dot (A)^2 + \dot (A)^3$ ist ähnlich definiert. Das heißt, in einem durch die Matrix $\dot (A)^()$ definierten Graphen sind die Eckpunkte $i$ und $j$ benachbart, wenn sie im Graphen $\dot (A)^()$ oder diesen benachbart sind Eckpunkte sind im ursprünglichen Diagramm auf irgendeine Weise mit der Länge 3 verbunden, und die Eckpunkte $i$ und $j$ sind nicht benachbart, wenn sie im Diagramm $\dot (A)^()$ nicht benachbart sind und es keinen Pfad der Länge 3 gibt Verbinden dieser Eckpunkte im Originaldiagramm. Usw.

Im Allgemeinen gilt $\dot (A)^([k]) = \sum\limits_(i = 1)^k (\dot (A)^i) $. Es ist leicht zu erkennen, dass alle $\dot (A)^([k])$ für $k \ge n - 1$, wobei $n$ die Ordnung der Matrix $\dot (A)$ ist, gleich sind zueinander. Wenn nämlich die Eckpunkte $i$ und $j$ verbunden sind, dann gibt es einen Pfad (eine Kette), der diese Eckpunkte verbindet, und daher gibt es einen einfachen Pfad (einfache Kette), der diese Eckpunkte verbindet. Der maximal mögliche einfache Pfad in einem $n$-Scheitelpunktdiagramm hat die Länge $n-1$ (ein einfacher Pfad, der alle unterschiedlichen Eckpunkte des Diagramms verbindet). Wenn also in der Matrix $\dot (A)^()$ an der Stelle $(i,j)$ eine 1 steht, dann an derselben Stelle in der Matrix $\dot (A)^([k] )$ bei $k \ge n - 1$ wird ebenfalls 1 sein, da die Matrix $\dot (A)^()$ als boolescher Term in der Definition der Matrix $\dot (A)^([ k])$. Wenn in der Matrix $\dot (A)^()$ anstelle von $(i,j)$ eine 0 steht, bedeutet dies, dass es im Graphen keine einfache Kette gibt, die das $i$-te und $j verbindet $- Scheitelpunkte, und daher gibt es überhaupt keine Kette, die diese Scheitelpunkte verbindet. Das bedeutet, dass im betrachteten Fall und in der Matrix $\dot (A)^([k])$ für $k \ge n - 1$ an der Stelle ($i$,$j)$ 0 steht. Das beweist unsere Aussage über die Gleichheit aller Matrizen $\dot (A)^([k])$ für $k \ge n - 1$ zur Matrix $\dot (A)^()$ und daher , zueinander.

Die Matrix $\dot (A)^()$ wird aufgerufen Matrix des transitiven Abschlusses der Matrix$\dot (A)$, sowie die Adjazenzmatrix des transitiven Abschlusses des durch die Matrix $\dot (A)$ definierten Graphen. Es ist ziemlich offensichtlich, dass die transitive Abschlussmatrix eines verbundenen Graphen die Adjazenzmatrix des vollständigen Graphen sein wird, d. h. eine quadratische Matrix, die nur aus Einsen besteht. Diese Beobachtung gibt uns auch eine Methode zur Bestimmung der Konnektivität eines Graphen: Ein Graph ist genau dann zusammenhängend, wenn die transitive Abschlussmatrix seiner Adjazenzmatrix nur aus Einsen besteht (wird die Matrix des vollständigen Graphen sein)..

Mit der transitiven Abschlussmatrix können wir auch das Problem der Aufteilung eines Graphen in zusammenhängende Komponenten lösen.

Lassen Sie uns nun zeigen, wie wir mit dem transitiven Schließungsverfahren die sogenannte „Distanzmatrix“ konstruieren können. Dazu bestimmen wir den Abstand zwischen den Eckpunkten $i$ und $j$. Wenn die Eckpunkte $i$ und $j$ verbunden sind, dann Distanz zwischen ihnen nennen wir die Länge des minimalen (in Bezug auf die Anzahl der durchlaufenen Kanten) einfachen Pfads, der diese Eckpunkte verbindet; Wenn die Eckpunkte $i$ und $j$ getrennt sind, dann setzen wir den Abstand gleich Null (Null als Negation jedes Pfades, der diese Eckpunkte verbindet). Bei dieser Abstandsdefinition ist der Abstand zwischen dem Scheitelpunkt und sich selbst gleich 2 (die Länge des Pfades entlang der Kante und zurück). Wenn sich am Scheitelpunkt eine Schleife befindet, ist der Abstand zwischen dem Scheitelpunkt und sich selbst gleich 1.

Um eine Distanzmatrix für einen $n$-Scheitelpunktgraphen mit einer Adjazenzmatrix $A$ zu konstruieren, die den Abstand zwischen zwei beliebigen Eckpunkten angeben würde, führen wir die Matrizen $A^(\(k\)) = A^ in Betracht ([k]) - A^()$, wobei $k = 2,3,...,n - 1$ und $A^(\(1\)) = A^() = A$. Das Fehlen von Punkten über der Matrixbezeichnung weist darauf hin, dass wir die Matrizen $A^([k])$ ($k = 1,2,...,n - 1)$ als numerische (0,1)-Matrizen betrachten, natürlich aus den Matrizen $\dot (A)^([k])$ erhalten (wir betrachten nun die booleschen Elemente 0 und 1 als Zahlen 0 und 1). Aus der Methode zur Konstruktion von Matrizen $A^([k])$ folgt, dass $A^([k]) \ge A^()$ ($k = 2,3,...,n - 1$) und daher sind $A^(\(k\))$ ($k = 1,2,...,n - 1$) (0,1)-Matrizen. Darüber hinaus enthält die Matrix $A^(\(2\))$ nur an den Stellen 1, an denen die durch diese Stelle bestimmten Eckpunkte (Zeilennummer und Spaltennummer) durch einen Pfad der Länge zwei und nicht durch einen kürzeren verbunden sind Weg. Ebenso enthält $A^(\(3\))$ nur an den Stellen 1, an denen die durch diese Stelle definierten Eckpunkte durch einen Pfad der Länge drei und nicht durch einen Pfad kürzerer Länge usw. verbunden sind. Somit ist die Matrix $D = \sum\limits_(k = 1)^(n - 1) (k \cdot A^(\(k\)))$ die erforderliche Distanzmatrix. Das Element $d_(ij)$ dieser Matrix entspricht dem Abstand zwischen den Eckpunkten $i$ und $j$. Der Abstand zwischen den Eckpunkten $u$ und $v$ wird auch als $d(u,v)$ bezeichnet.

Kommentar. Spezifischer Produktterm $a_(il_1 ) a_(l_1 l_2 ) ...a_(l_(k - 2) l_(k - 1) ) a_(l_(k - 1) j) = 1$ Element $a_(ij ) ^((k))$ der $k$-ten Potenz der Adjazenzmatrix $A^k$ gibt einen bestimmten $(i,j)$-Pfad $i\(i,l_1\)l_1 \(l_1 , l_2 \)l_2 ...l_(k - 2) \(l_(k - 2) ,l_(k - 1) \)l_(k - 1) \(l_(k - 1) ,j\)j$ vom $i$-ten Scheitelpunkt zum $j$-ten. Folge benachbarter Eckpunkte und sie verbindender Kanten $i\(i,l_1 \)l_1 \(l_1 ,l_2 \)l_2 ...l_(k - 2) \(l_(k - 2) ,l_(k - 1) \ )l_(k - 1) \(l_(k - 1) ,j\)j$ heißt auch $(i,j)$-Route. Eine Route unterscheidet sich von einer Kette, die nur aus verschiedenen benachbarten Kanten besteht, dadurch, dass die Route gleiche Kanten zulässt. Eine einfache Route besteht aus verschiedenen benachbarten Eckpunkten und Kanten, d. h. stimmt praktisch mit einer einfachen Kette überein.

Es ist ganz offensichtlich, dass das Element $d_(ij) $ der Distanzmatrix die Länge der minimalen Kette bestimmt, die den $i$-ten Scheitelpunkt mit dem $j$-ten Scheitelpunkt verbindet.

Betrachten wir Beispiele für die in den Abbildungen 1 und 2 dargestellten Diagramme, ihre Adjazenzmatrizen und ihre Distanzmatrizen.

Abb. 1 (Graph $\Gamma _1$, Adjazenzmatrix $A_1$, Distanzmatrix $D_1$).
$A_1 = \left(((\begin(array)(*c) 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 \\ 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 & 1 & 1 & 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ \end(array) )) \right), $
$D_1 = \left(((\begin(array)(*c) 2 & 1 & 1 & 1 & 2 & 3 & 3 & 3 & 3 & 2 & 3 & 3 & 2 \\ 1 & 2 & 1 & 1 & 2 & 3 & 3 & 3 & 3 & 2 & 3 & 3 & 2 \\ 1 & 1 & 2 & 1 & 1 & 2 & 2 & 2 & 2 & 1 & 2 & 2 & 1 \\ 1 & 1 & 1 & 2 & 2 & 3 & 3 & 3 & 3 & 2 & 3 & 3 & 2 \\ 2 & 2 & 1 & 2 & 2 & 1 & 1 & 1 & 2 & 1 & 2 & 2 & 1 \\ 3 & 3 & 2 & 3 & 1 & 2 & 1 & 1 & 3 & 2 & 3 & 3 & 2 \\ 3 & 3 & 2 & 3 & 1 & 1 & 2 & 1 & 3 & 2 & 3 & 3 & 2 \\ 3 & 3 & 2 & 3 & 1 & 1 & 1 & 2 & 3 & 2 & 3 & 3 & 2 \\ 3 & 3 & 2 & 3 & 2 & 3 & 3 & 3 & 2 & 1 & 1 & 1 & 2 \\ 2 & 2 & 1 & 2 & 1 & 2 & 2 & 2 & 1 & 2 & 1 & 1 & 1 \\ 3 & 3 & 2 & 3 & 2 & 3 & 3 & 3 & 2 & 2 & 2 & 1 & 2 \\ 3 & 3 & 2 & 3 & 2 & 3 & 3 & 3 & 1 & 1 & 1 & 2 & 2 \\ 2 & 2 & 1 & 2 & 1 & 2 & 2 & 2 & 2 & 1 & 2 & 2 & 2 \\ \end(array) )) \right) $


Reis. 2 (Graph $\Gamma _2$, Adjazenzmatrix $A_2$, Distanzmatrix $D_2$).
$A_2 = \left(((\begin(array)(*c) 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 & 0\ \ 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ \end(array) )) \right)$,
$D_2 = \left(((\begin(array)(*c) 2 & 1 & 2 & 3 & 4 & 5 & 6 & 4 & 4 & 5 \\ 1 & 2 & 1 & 2 & 3 & 4 & 5 & ​​​​3 & 3 & 4 \\ 2 & 1 & 2 & 1 & 2 & 3 & 4 & 2 & 2 & 3 \\ 3 & 2 & 1 & 2 & 1 & 2 & 3 & 1 & 1 & 2\ \ 4 & 3 & 2 & 1 & 2 & 1 & 2 & 2 & 2 & 3 \\ 5 & 4 & 3 & 2 & 1 & 2 & 1 & 3 & 3 & 4 \\ 6 & 5 & 4 & 3 & 2 & 1 & 2 & 4 & 4 & 5 \\ 4 & 3 & 2 & 1 & 2 & 3 & 4 & 2 & 2 & 3 \\ 4 & 3 & 2 & 1 & 2 & 3 & 4 & 2 & 2 & 1 \\ 5 & 4 & 3 & 2 & 3 & 4 & 5 & 3 & 1 & 2 \\ \end(array) )) \right). $

Aus den Matrizen $D_1$ und $D_2$ kann man leicht bestimmen Durchmesser$d_1$ des Graphen $\Gamma _1$ und $d_2$ des Graphen $\Gamma _2$, als Maximalwerte der Elemente dieser Matrizen. Also $d_1 = 3$ und $d_2 = 6$.

Neben der Distanzmatrix berücksichtigt die Graphentheorie auch andere Matrizen, deren Elemente durch die Länge des Weges bestimmt werden. So ist es zum Beispiel Traversierungsmatrix. IN Traversierungsmatrix Das $(i,j)$-te Element ist gleich der Länge des längsten Pfades (längste Kette) vom $i$-ten Scheitelpunkt zum $j$-ten Scheitelpunkt, und wenn es überhaupt keine solchen Pfade gibt, dann in Gemäß der Definition des Abstands $(i ,j)$th Element der Traversierungsmatrix wird gleich Null gesetzt.

Am Ende des Abschnitts machen wir eine Anmerkung zu Methoden zur Bestimmung der minimalen und maximalen Ketten mithilfe einer Abstandsmatrix, die die $i$-ten und $j$-ten Eckpunkte im Diagramm verbindet.

Lassen Sie uns nun einige weitere Definitionen der Graphentheorie geben, die sich auf Abstände zwischen Eckpunkten beziehen und die leicht anhand von Abstandsmatrizen bestimmt werden können.

Exzentrizität$e(v)$ eines Scheitelpunkts $v$ in einem verbundenen Graphen $\Gamma$ ist definiert als max. $d(u,v)$ über alle Scheitelpunkte $u$ in $\Gamma$. Radius$r(\Gamma)$ ist die kleinste Exzentrizität der Eckpunkte. Beachten Sie, dass die größte der Exzentrizitäten dem Durchmesser des Diagramms entspricht. Ein Scheitelpunkt $v$ heißt der zentrale Scheitelpunkt des Graphen $\Gamma$, wenn $e(v) = r(\Gamma)$; Center Graph $\Gamma$ ist die Menge aller zentralen Eckpunkte.

Für den Graphen $\Gamma _1$ aus Abb. 1 ist die Exzentrizität des Scheitelpunkts 13 also gleich 2 ($e(13) = 2$). Die Peaks 3, 5 und 10 haben die gleichen Exzentrizitäten ($e(3) = e(5) = e(10) = 2$). Eine Exzentrizität von 2 ist für den Graphen $\Gamma _1$ am kleinsten, d. h. $r(\Gamma _1) = 2$. Der Mittelpunkt des Graphen $\Gamma _1$ besteht aus den Eckpunkten 3, 5, 10 und 13. Die größte Exzentrizität beträgt 3 und entspricht, wie oben erwähnt, dem Durchmesser des Graphen $\Gamma _1$.

Für den Graphen $\Gamma _2$ aus Abb. 2 hat der einzige Scheitelpunkt 4 die kleinste Exzentrizität ($e(4) = r(\Gamma _2) = 3$). Folglich besteht der Mittelpunkt des Graphen $\Gamma _2$ aus einem Scheitelpunkt 4. Der Durchmesser des Graphen $\Gamma _2$ beträgt, wie oben erwähnt, 6.

Der Graph $\Gamma _2$ ist ein Baum und die Struktur des Zentrums eines jeden Baumes wird durch den unten angegebenen Satz beschrieben.

Der Jordan-Sylvester-Satz. Jeder Baum hat einen Mittelpunkt, der entweder aus einem Scheitelpunkt oder zwei benachbarten Scheitelpunkten besteht.

Nachweisen. Bezeichnen wir mit $K_1$ einen Graphen, der aus einem isolierten Scheitelpunkt besteht, und mit $K_2$ einen Graphen, der aus zwei durch eine Kante verbundenen Scheitelpunkten besteht. Per Definition setzen wir $e(K_1) = r(K_1) = 0$. Dann gilt der Satz für $K_1$ und $K_2$. Zeigen wir, dass jeder Baum $T$ die gleichen zentralen Scheitelpunkte hat wie ein Baum $(T)"$, der aus $T$ durch Entfernen aller seiner hängenden Scheitelpunkte erhalten wurde. Es ist klar, dass der Abstand von einem gegebenen Scheitelpunkt $u$ zu jedem beliebigen Der andere Scheitelpunkt $v$ kann seinen größten Wert nur erreichen, wenn $v$ ein hängender Scheitelpunkt ist.

Somit ist die Exzentrizität jedes Scheitelpunkts des Baums $(T)"$ genau eins kleiner als die Exzentrizität desselben Scheitelpunkts in $T$. Daraus folgt, dass die Scheitelpunkte des Baums $T$ die kleinste Exzentrizität in $ aufweisen T$ fallen mit den Eckpunkten zusammen, die die kleinste Exzentrizität in $(T)"$ haben, d. h. die Mittelpunkte der Bäume $T$ und $(T)"$ fallen zusammen. Wenn wir mit dem Entfernen von hängenden Eckpunkten fortfahren, erhalten wir eine Folge von Bäumen mit dem gleichen Mittelpunkt wie der von $T$. Da $T$ ist endlich sind, kommen wir notwendigerweise entweder zu $ ​​K_1$ oder zu $ ​​K_2$. In jedem Fall bilden alle auf diese Weise erhaltenen Eckpunkte des Baums das Zentrum des Baums, der somit entweder aus einem einzelnen Eckpunkt oder aus zwei benachbarten besteht Eckpunkte. Der Beweis ist vollständig.

Lassen Sie uns nun zeigen, wie wir mithilfe der Distanzmatrix beispielsweise die minimale Kette bestimmen können, die Scheitelpunkt 4 mit Scheitelpunkt 8 im Diagramm $\Gamma _1$ verbindet. In der Matrix $D_1$ ist das Element $d_(48) = 3$. Nehmen wir die 8. Spalte der Matrix $D_1$ und suchen in der Spalte alle Elemente dieser Spalte gleich 1. Mindestens ein solches Element wird aufgrund des Zusammenhangs des Graphen $D_1$ gefunden. Tatsächlich wird es in der 8. Spalte drei solcher Einheiten geben, und sie befinden sich in der 5., 6. und 7. Reihe. Nehmen wir nun die 4. Zeile und schauen uns die darin enthaltenen Elemente in der 5., 6. und 7. Spalte an. Diese Elemente sind 2, 3 bzw. 3. Nur das in der 5. Spalte stehende Element ist gleich 2 und ergibt zusammen mit 1 an der Stelle (5,8) die Summe 3. Dies bedeutet, dass Scheitelpunkt 5 in der Kette $\( \(4, ?\), \(? ,5\), \(5,8\) \)$. Nehmen wir nun die 5. Spalte der Matrix und betrachten 1 dieser Spalte. Dabei handelt es sich um Elemente in der 3., 6., 7., 8., 10. und 13. Zeile. Wir kehren noch einmal zur 4. Zeile zurück und sehen, dass nur am Schnittpunkt der dritten Spalte und der 4. Zeile eine 1 steht, die in Kombination mit der 1 an der Stelle (3.5) insgesamt 2 ergibt. Daher wird die gewünschte Kette entstehen sei $\( \ (4,3\), \(3,5\), \(5,8\) \)$. Nachdem wir uns nun Abbildung 1 angesehen haben, sind wir von der Gültigkeit der gefundenen Lösung überzeugt.

Obwohl in modernen Lehrbüchern über die Traversierungsmatrix gesagt wird, dass „es keine wirksamen Methoden gibt, um ihre Elemente zu finden“, sollten wir uns daran erinnern, dass wir mit der Inzidenzmatrix alle Ketten finden können, die ein Paar von Eckpunkten in einem verbundenen Diagramm verbinden, und daher Ketten des Maximums Länge.

Basierend auf den verarbeiteten Daten können mehrere Modelle erstellt werden.

Rechteckige reelle Matrix

Nach der Datenverarbeitung wurde eine rechteckige reelle Matrix erhalten. Diese Matrix spiegelt Informationen über den Gesamtwert der in m Regionen abgeschlossenen Verträge (denken Sie daran, dass m=86 ist) für n Klassen des OKPD-Klassifikators wider (alle Verträge wurden unter Verwendung von 62 verschiedenen Klassifikatorcodes durchgeführt). Die resultierende Matrix besteht also aus m n-dimensionalen Vektoren.

Die Elemente der Matrix weisen eine starke Streuung im Bereich von 0 bis Rubel auf. Ein solch großer Bereich kann zu Problemen bei der weiteren Datenanalyse führen. Darüber hinaus sind einige Klassifikatoren „beliebt“ und werden für häufige und große Einkaufsmengen verwendet, wie zum Beispiel für den Klassifikatorcode 45. Gleichzeitig enthält der Klassifikatorcode 12 (Uran- und Thoriumerze) sehr seltene Käufe für geringe Mengen. Im Zusammenhang mit dem oben Gesagten ist es wichtig, den Beitrag dieser Größen irgendwie auszugleichen und die Daten zu normalisieren. Bei der Datennormalisierung werden die Originaldaten geändert und in eine dimensionslose Form gebracht. Dieser Prozess führt zu einer verbesserten Datenqualität.

Um diese Matrix zu normalisieren, kann eine der folgenden Methoden gewählt werden: Normalisierung in Anteilen des Gesamtvolumens der Verträge für jede Region, Normalisierung in Anteilen des Gesamtvolumens für jeden Klassifikatorcode, Bevölkerung der Region.

1) Normalisierung nach Region

Ermitteln Sie für jede Region den Anteil der Beteiligung jedes Klassifikators an der Bildung des Vertragswerts in Region i.

2) Normalisierung durch Klassifikatorcodes

Ermitteln Sie für jeden Klassifikatorcode den Anteil der Beteiligung jeder Region an der Bildung des Vertragswerts gemäß den Klassifikatorcodes j.

3) Normalisierung durch die Anzahl der Regionen

Es ist notwendig, jedes Element der Matrix durch die Bevölkerung der entsprechenden Region zu dividieren.

Sie können auch Standardmethoden zur Datennormalisierung in Betracht ziehen:

1) Mini-Max-lineare Normalisierung

Wo sind die minimalen und maximalen Kostenwerte für jede Region i im Vektor?

Durch diese Normalisierung werden alle Daten auf Werte innerhalb eines Bereichs gebracht.

2) Reduktion auf eine Verteilung vom Typ N (Datenstandardisierung)

Wo ist Mathe? Erwartung,

Standardabweichung des Vektors.

3) Nichtlineare Normalisierung

Diese Methode basiert auf der nichtlinearen Beziehung zwischen den ursprünglichen und normalisierten Daten. Es ist notwendig, ein bestimmtes Datenarray auszuwählen, es als normalisiert zu bezeichnen und darauf basierend eine Normalisierungsfunktion zu erstellen. Alle anderen Daten sollten entsprechend dieser Funktion normalisiert werden.

Quadratische Distanzmatrix

Von einer rechteckigen reellen Matrix können wir zu einer Matrix von Abständen zwischen Regionen übergehen. Dies wird eine quadratische Größenmatrix sein. Die Entfernung kann anhand einer der folgenden Metriken berechnet werden.

Schauen wir uns die gängigsten Kennzahlen an:

1) Euklidischer Abstand

Die gebräuchlichste Metrik ist ein geometrischer Abstand in einem mehrdimensionalen Raum.

2) Minkowski-Metrik

Die sogenannte Machtdistanz. In diesem Fall ist r für die Gewichtung großer Entfernungsunterschiede und p für die Gewichtung von Koordinatenunterschieden verantwortlich. Beachten Sie, dass bei r,p=2 mit dem euklidischen Abstand übereinstimmt.

3) Manhattan-Metrik

Wird auch als Stadtblockmetrik bezeichnet. Sie wird als durchschnittliche Differenz über die Koordinaten berechnet. Erzeugt in der Regel ähnliche Ergebnisse wie der euklidische Abstand, hat jedoch einen Vorteil bei Stichproben mit großen Ausreißerwerten.

4) Kosinusähnlichkeit

Diese Maßnahme ist für dünn besetzte Vektoren wirksam, da nur Werte ungleich Null gezählt werden. Diese Methode kann angewendet werden, wenn die ursprüngliche reale Matrix transformiert (Daten ab einem bestimmten Schwellenwert abgeschnitten) und spärlicher gemacht wird.

5) Hamming-Distanz

Sie ist ein Sonderfall der Minkowski-Metrik und wird für binäre Vektoren verwendet. Um diesen Abstand bei der Berechnung der Abstandsmatrix in diesem Problem anzuwenden, ist es notwendig, die anfängliche reelle Matrix auf eine binäre Eins zu reduzieren (durch Einführung eines bestimmten Schwellenwerts).

Näherungsdiagramm

Das Größennähediagramm wird aus der Abstandsmatrix basierend auf einem bestimmten Schwellenwert oder Scheitelpunktgrad abgeleitet. Da die Distanzmatrix nicht dünn besetzt ist, können wir bestimmte Schwellenwerte berücksichtigen, beispielsweise die obersten 5 Elemente in jeder Zeile (für jeden Klassifikatorcode) oder die obersten 5 in Spalten (für jede Region). Auf diese Weise erhalten Sie eine dünn besetzte Matrix, mit der Sie die Ergebnisse klarer visualisieren können.

Die oben beschriebenen Modelle sind im Rahmen der betrachteten Problemstellung universell.

Erstens können sie nicht nur auf Daten für das Jahr 2015, sondern für jeden beliebigen Zeitraum angewendet werden.

Zweitens können Sie durch die Verwendung unterschiedlicher Schnitte und unterschiedlicher Schwellenwerte zu ähnlichen Matrizen gelangen, was bedeutet, dass Sie dieses Modell je nach Situation mehrmals anwenden können.

In diesem Abschnitt werden drei mathematische Modelle beschrieben. Aus einer reellwertigen Rechteckmatrix können Sie eine quadratische Distanzmatrix erhalten. Die oben beschriebenen Metriken können als Maß für die Entfernung verwendet werden. Aus der Distanzmatrix kann durch Einführung bestimmter Schwellenwerte und/oder Einschränkungen ein dünnbesiedelter Proximity-Graph erstellt werden.

Graph ist eine Sammlung von zwei Mengen: Eckpunkten und Rippen , zwischen denen die Beziehung definiert ist Vorfall .

Jede Rippe e aus E Inzidenz auf genau zwei Eckpunkte Und was es verbindet. Gleichzeitig die Spitze und Rippe e werden genannt zufällig einander und die Spitzen Und werden genannt benachbart.

Akzeptierte Bezeichnung N für die Anzahl der Eckpunkte des Graphen (Kardinalität der Menge). ):
Und M für die Anzahl seiner Kanten:
. Sie sagen, dass Graf G Es gibt ( N, M) Diagramm, wo N– Diagrammreihenfolge, M– Diagrammgröße.

Wenn alle Kanten
Graphen sind ungerichtet, d.h. Eckpunktpaare, die Elemente einer Menge definieren E, ungeordnet sind, dann heißt ein solcher Graph ungerichteter Graph, oder Neograph. In Abb. Abbildung 12.1 zeigt ein Beispiel eines Neographen. Dieser Graph hat fünf Eckpunkte und sechs Kanten.

Route – eine Folge von Kanten, bei der jeweils zwei benachbarte Kanten einen gemeinsamen Scheitelpunkt haben. Graph kohärent , wenn zwei beliebige Eckpunkte durch mindestens eine Route verbunden sind. Die Anzahl der Kanten einer Route bestimmt ihre Länge.

Kanten, die auf ein Scheitelpunktpaar fallen, werden als parallel oder bezeichnet Vielfache . Ein Graph mit mehreren Kanten heißt Multigraph .

Rand
angerufen Schleife (Endscheitelpunkte fallen zusammen). Ein Graph, der Schleifen und mehrere Kanten enthält, wird aufgerufen Pseudograph . In Abb. Abbildung 12.2 zeigt ein Pseudograph.

Grad Grad( v) Scheitelpunkte ist die Anzahl der einfallenden Kanten v. In einem Neographen ist die Summe der Grade aller Eckpunkte gleich der doppelten Anzahl der Kanten(Handshake-Lemma):

. (12.1)

Die Schleife trägt 2 zum Grad des Scheitelpunkts bei.

Leistungsfolge – eine Folge von Graden aller Eckpunkte des Diagramms, geschrieben in einer bestimmten Reihenfolge (aufsteigend oder absteigend).

Beispiel 12.1. Die Potenzfolge des Neographen in Abb. 12.1 sieht, in aufsteigender Reihenfolge geschrieben, so aus:

=1,
=2,
=3,
=3,
=3.

Die Summe der Grade aller Eckpunkte des Diagramms ist gleich:

.

Dieses Ergebnis widerspricht nicht dem Handshake-Lemma, da der Graph sechs Kanten hat ( M = 6).

Adjazenzmatrix Diagramm – quadratische Matrix A Befehl N, wo-Element gleich der Anzahl der Kanten, die die Eckpunkte verbinden ich Und J.

Beispiel 12.2. Die in Abb. dargestellte Grafik 12.1 hat die folgende Adjazenzmatrix

.

Inzidenzmatrix ICH– eine andere Möglichkeit, einen Graphen zu beschreiben. Die Anzahl der Zeilen dieser Matrix entspricht der Anzahl der Eckpunkte, die Anzahl der Spalten entspricht der Anzahl der Kanten; =1 wenn Scheitelpunkt v Vorfall bis zum Rand e; sonst =0. Jede Spalte der Inzidenzmatrix eines einfachen Graphen (ohne Schleifen und ohne Mehrfachkanten) enthält zwei Einsen. Die Anzahl der Einsen in einer Zeile entspricht dem Grad des entsprechenden Scheitelpunkts.

Beispiel 12.3. Die in Abb. 12.1 hat die folgende Inzidenzmatrix

.

Graph
angerufen Untergraph Graph
, Wenn
Und
. Wenn
, dann wird der Untergraph aufgerufen Kern .

Konnektivitätskomponente Graph – ein maximal verbundener Teilgraph im Hinblick auf die Einbeziehung von Eckpunkten und Kanten.

Rang Graph
, Wo k– Anzahl der angeschlossenen Komponenten.

Baum – ein verbundener Graph, der enthält N– 1 Rippe.

Beispiel 12.4. In Abb. Abbildung 12.3 zeigt einen Baum, der auch ein aufspannender Untergraph des in Abbildung gezeigten Diagramms ist. 12.1.

      Radius, Durchmesser und Mittelpunkt des Diagramms

Die Berechnung von Entfernungen und die Bestimmung von Routen in einem Diagramm ist eines der offensichtlichsten und praktischsten Probleme, die in der Diagrammtheorie auftreten. Lassen Sie uns einige notwendige Definitionen vorstellen.

Exzentrizität Diagrammscheitelpunkte – der Abstand zum maximalen Scheitelpunkt davon. Für ein Diagramm, für das es nicht definiert ist Gewicht seine Kanten, der Abstand ist definiert als die Anzahl der Kanten.

Radius Graph ist die minimale Exzentrizität der Eckpunkte und Durchmesser Diagramm – maximale Exzentrizität der Eckpunkte.

Center Der Graph wird durch Eckpunkte gebildet, deren Exzentrizität gleich dem Radius ist. Der Mittelpunkt des Graphen kann aus einem, mehreren oder allen Eckpunkten des Graphen bestehen.

Peripherie Die Eckpunkte haben eine Exzentrizität, die dem Durchmesser entspricht.

Eine einfache Kette mit einer Länge gleich dem Durchmesser des Graphen wird aufgerufen diametral .

Satz 12.1. In einem zusammenhängenden Graphen ist der Durchmesser nicht größer als der Rang seiner Adjazenzmatrix.

Satz 12.2. (Jordan) Jeder Baum hat ein Zentrum, das aus einem oder zwei benachbarten Eckpunkten besteht.

Satz 12.3. Wenn der Durchmesser des Baumes gerade ist, dann hat der Baum einen einzigen Mittelpunkt und alle diametralen Ketten verlaufen durch ihn; ist der Durchmesser ungerade, dann gibt es zwei Mittelpunkte und alle diametralen Ketten enthalten eine sie verbindende Kante.

Die praktische Bedeutung des Graphenzentrums liegt auf der Hand. Wenn es sich beispielsweise um ein Diagramm von Straßen mit Stadteckpunkten handelt, empfiehlt es sich, im mathematischen Zentrum ein Verwaltungszentrum, Lagerhäuser usw. zu platzieren. Der gleiche Ansatz kann auf einen gewichteten Graphen angewendet werden, bei dem die Abstände die Gewichte der Kanten sind. Als Gewicht können Sie die euklidische Distanz, die Zeit oder die Kosten der Bewegung zwischen Punkten verwenden.

Beispiel 12.5. Finden Sie den Radius, den Durchmesser und die Mitte des in Abb. gezeigten Diagramms. 12.1.

Lösung. Bei dieser Aufgabe ist es bequem zu verwenden DistanzmatrixS. Element dieser quadratischen symmetrischen Matrix gleich dem Abstand zwischen den Scheitelpunkten ich und die Spitze J. Für die in Abb. 12.1 hat die Distanzmatrix folgende Form:

. (12.2)

Berechnen wir die Exzentrizität jeder Scheitelpunkt. Dieser Wert kann als maximales Element der entsprechenden Spalte der Distanzmatrix (oder Zeile - da die Matrix) definiert werden S symmetrisch). Wir bekommen

Diagrammradius R– minimale Exzentrizität der Eckpunkte. In diesem Fall R= 2. Die Eckpunkte Nr. 2, Nr. 4 und Nr. 5 haben eine solche Exzentrizität. Diese Eckpunkte bilden den Mittelpunkt des Diagramms. Zähldurchmesser D– maximale Exzentrizität der Eckpunkte. In diesem Fall D= 3. Die Spitzen Nr. 1 und Nr. 3 weisen eine solche Exzentrizität auf; dies ist die Peripherie des Diagramms. In der untersuchten Grafik erwiesen sich die Scheitelpunkte entweder als zentral oder als peripher. In Graphen höherer Ordnung gibt es andere Eckpunkte.

Die Exzentrizitäten der Eckpunkte eines kleinen Diagramms können leicht durch direkte Berechnung aus der Zeichnung berechnet werden. Allerdings wird der Graph nicht immer durch sein Design definiert. Darüber hinaus kann die Grafik groß sein. Daher ist ein anderer Weg zur Lösung des vorherigen Problems erforderlich. Der folgende Satz ist bekannt.

Satz 12.4. Lassen
– Graphenadjazenzmatrix
Gohne Schleifen und
, Wo
. Dann gleich der Anzahl der Routenlänge
kvon oben Zum Seitenanfang .

Das Lösen graphentheoretischer Probleme mithilfe verschiedener Transformationen der Adjazenzmatrix wird aufgerufen algebraische Methode .

Beispiel 12.6. Finden Sie die Distanzmatrix des in Abb. gezeigten Diagramms. 12.1, mit der algebraischen Methode.

Lösung. Die Adjazenzmatrix dieses Diagramms ist gleich:

.

Wir werden die Distanzmatrix ausfüllen, indem wir die Grade der Adjazenzmatrix berücksichtigen. Die Einheiten der Adjazenzmatrix zeigen Paare von Scheitelpunkten, die einen Abstand von eins zwischen sich haben (d. h. sie sind durch eine einzelne Kante verbunden).

.

Die Diagonalelemente der Distanzmatrix sind Nullen. Multiplizieren Sie die Adjazenzmatrix mit sich selbst:

.

Nach dem Satz zwischen den Eckpunkten 2 und 3, 1 und 4 usw. Es gibt eine bestimmte Anzahl von Routen der Länge 2 (da der Grad der Matrix zwei ist). Die Anzahl der Routen wird hier nicht verwendet; die Tatsache des Vorhandenseins einer Route und ihre Länge sind wichtig, wie durch das Nicht-Null-Element des Matrixgrades angezeigt, das nicht mit dem Element übereinstimmt, das bei der Berechnung einer Route angegeben wurde kürzere Länge. Wir setzen 2 in die leeren Elemente der Distanzmatrix und erhalten die folgende Näherung:

.

Der Abstand zwischen den Eckpunkten 1 und 3 bleibt unbekannt. Wir werden die Adjazenzmatrix multiplizieren auf sich selbst bis in die Matrix
Elemente ungleich Null werden nicht angezeigt
. Dann ist das entsprechende Element der Distanzmatrix gleich dem Grad der Adjazenzmatrix:
. Im nächsten Schritt bekommen wir

,

somit,
, und schlussendlich

.

Die resultierende Matrix stimmt mit der Distanzmatrix überein S(12.2), ermittelt durch direkte Berechnungen aus der Abbildung.

      Euler-Kette

Eine Route in einem Neographen, bei der alle Kanten unterschiedlich sind, wird aufgerufen Kette . Die Kette im Diagramm heißt Eulerianer , wenn es alle Kanten und alle Eckpunkte des Graphen enthält.

Reis. 12.4. Schema der Königsberger Brücken

Die Graphentheorie wurde von verschiedenen Autoren mehrfach bei der Lösung verschiedener angewandter Probleme wiederentdeckt. Unter ihnen ist der berühmte Mathematiker Leonhard Euler (1707-1783). Den Anstoß zur Entwicklung der Graphentheorie gab ihm das Problem der Königsberger Brücken, das er 1736 löste. Gemäß den Aufgabenbedingungen war es notwendig, alle sieben Brücken der Stadt Königsberg einmal über den Fluss Pregol zu überqueren und zum Ausgangspunkt zurückzukehren. In Abb. Abbildung 12.4 zeigt ein Diagramm dieser Brücken (eine davon verbindet zwei Inseln, der Rest sind Inseln mit Ufern). Dieses Schema entspricht dem in der folgenden Abbildung gezeigten Multigraphen mit vier Eckpunkten.

Euler löste das Problem der Königsberger Brücken im negativen Sinne. Er bewies, dass dieses Problem keine Lösung hat. Dazu musste er den folgenden Satz beweisen.

Satz 12.5 (Euler). Ein Multigraph hat genau dann eine Eulersche Kette, wenn er zusammenhängend ist und die Anzahl der Eckpunkte ungeraden Grades 0 oder 2 ist.

Die Ecken ungeraden Grades in diesem Satz sind offensichtlich der Anfang und das Ende der Kette. Wenn es keine solchen Eckpunkte gibt, wird die Euler-Kette Euler-Zyklus . Ein Graph, der einen Eulerschen Kreis hat, heißt Eulerianer . Wenn ein Graph eine Eulerkette, aber keinen Eulerkreis hat (die Anzahl der Eckpunkte ungeraden Grades beträgt 2), wird er aufgerufen Halbeulerianisch zählen.

Angenommen, der Graph hat einen Eulerschen Kreis. Im weiteren Verlauf zählen wir die Grade der Scheitelpunkte, wobei wir davon ausgehen, dass sie vor Beginn der Passage Null sind. Das Übergeben jedes Scheitelpunkts trägt 2 zum Grad dieses Scheitelpunkts bei. Da der Euler-Zyklus alle Kanten enthält, werden nach Abschluss der Durchquerung alle Kanten berücksichtigt und die Grade der Scheitelpunkte sind gerade.

Alle vier Eckpunkte des in Abb. gezeigten Multigraphen. 12,5, haben ungerade Grade. Daher hat dieser Graph keinen Euler-Kreis und das Königsberg-Brücken-Problem hat keine Lösung.

Betrachten Sie zum Vergleich einen Graphen mit einer Eulerschen Kette. In der Grafik in Abb. 12.6 haben nur zwei Knoten einen ungeraden Grad, daher gibt es eine Euler-Kette.

Es können mehrere Ketten vorhanden sein. Zum Beispiel die Grafik in Abb. 12.6 hat zwei Euler-Ketten: 1-2-3-4-1-3 und 1-2-3-1-4-3.

      Kantendiagramm

Betrachten Sie zwei Diagramme G Und L(G) . Graph G hat eine beliebige Form und die Eckpunkte des Diagramms L(G) befindet sich an den Rändern des Diagramms G. In diesem Fall die Grafik L(G) angerufen Kantendiagramm in Bezug auf die Grafik G.

Der englische Name für einen Kantengraphen ist Linie Graph , daher die Grafikbezeichnung – L(G) . In Abb. Abbildung 12.7 zeigt einen Kantengraphen (er ist durch fette Linien hervorgehoben), der für den Graphen in Abb. erstellt wurde. 12.1.

Reis. 12.7. Kantendiagramm

Satz 12.6. Wenn
– Leistungsfolge (
N, M) DiagrammG, DasL(G) Ist (M, )-Graph, wo

. (12.3)

Für die Zählung G, dargestellt in Abb. 12.7 (und Abb. 12.1), seine Potenzfolge: 1-3-2-3-3. Deshalb

      Graphfärbung, chromatisches Polynom

Nehmen wir an, wir stehen vor der Aufgabe, die Weltkarte so einzufärben, dass jedes Land seine eigene Farbe hat. Da es auf der Welt mehrere hundert Staaten gibt, werden natürlich viele verschiedene Farben benötigt.

Vereinfachen wir die Aufgabe. Wir werden weniger Farben verwenden, aber wir werden nicht zulassen, dass Nachbarländer, die gemeinsame Grenzen haben, in derselben Farbe bemalt werden. Es stellt sich die Frage: Wie viel Farbe ist mindestens erforderlich, um diese Bedingung zu erfüllen?

Diese Frage kann mithilfe der Graphentheorie beantwortet werden. Dazu müssen Sie sich eine Weltkarte in Form eines Diagramms vorstellen, bei dem jeder Scheitelpunkt einem einzelnen Land entspricht und eine Kante zwischen benachbarten Scheitelpunkten dem Vorhandensein einer gemeinsamen Grenze zwischen Ländern entspricht.

Beliebige Funktion
auf der Menge der Eckpunkte des Graphen heißt Malbuch Graph. Eine Färbung gilt als korrekt, wenn
für alle benachbarten Eckpunkte Und . Mindestanzahl k, für die der Graph G Ist k- färbbar genannt chromatische Zahl Graph
.

Der Graph heißt leer , wenn alle Kanten entfernt und die Eckpunkte voneinander isoliert werden. Der Graph heißt vollständig , wenn es unmöglich ist, eine neue Kante hinzuzufügen, ohne gleichzeitig einen neuen Scheitelpunkt hinzuzufügen.

Satz 12.7 (Brooks). Für jedes DiagrammG, was nicht vollständig ist,
, Wenn
Maximum der Grade der Eckpunkte des Diagramms.

Um die Anzahl der Möglichkeiten zum Einfärben eines Diagramms zu bestimmen X Blumen, die du machen musst chromatisches Polynom P(G, X). Der Wert des Polynoms zu einem bestimmten Zeitpunkt
ist gleich der Anzahl der korrekten Färbungen des Diagramms in Farben.

Es gibt ein Lemma, das das besagt Das chromatische Polynom des Graphen hat die Form

, (12.4)

Wo – Grafik erhalten vonGHinzufügen einer Kante (u, v) und die Grafik erhalten vonGIdentifizierung von EckpunktenuUndv.

Eine andere Version des Lemmas:

Wo – Grafik erhalten vonGdurch Entfernen der Kante (u, v) und die Grafik erhalten vonGIdentifizierung von EckpunktenuUndv.

Scheu Und v auch Rippenkontraktion genannt ( u, v).

Beide Versionen des Lemmas bilden die Grundlage für die chromatische Reduktion des Graphen ( die Ermäßigung – „Abkürzung“ im Englischen). Die chromatische Reduktion eines Graphen ist eine Darstellung eines Graphen in Form mehrerer leerer oder vollständiger Graphen, deren Summe der chromatischen Polynome gleich dem chromatischen Polynom des Graphen ist. Offensichtlich das chromatische Polynom des leeren Graphen gleicht (jeder Scheitelpunkt kann unabhängig von den anderen gefärbt werden), aber für einen vollständigen Graphen. Der letzte Ausdruck heißt Fakultätsabschluss Variable X:
.

Zerlegungen über leere und vollständige Graphen hängen zusammen. Der Fakultätsgrad kann als Polynom dargestellt werden:

, (12.6)

Wo
– Stirlingzahlen erster Art. Umgekehrt der Abschluss kann in Faktorialkräften ausgedrückt werden:

, (12.7)

Wo
– Stirlingzahlen zweiter Art mit folgenden Eigenschaften:

bei
, (12.8)

bei
,
bei
.

Die folgenden Sätze können bei der Ableitung eines chromatischen Polynoms hilfreich sein.

Satz 12.8. Die Koeffizienten des chromatischen Polynoms bilden eine alternierende Folge.

Satz 12.9. Der Absolutwert des zweiten Koeffizienten des chromatischen Polynoms ist gleich der Anzahl der Kanten des Graphen.

Satz 12.10. Kleinste Zahlich, für den der Koeffizient bei im chromatischen Polynom des GraphenGist gleich der Anzahl der verbundenen Komponenten des DiagrammsG.

Neben der Scheitelpunktfärbung gibt es auch Kantenfärbung und Flächenfärbung.

Beispiel 12.7. Finden Sie das chromatische Polynom des in Abb. gezeigten Diagramms. 12.8.

Lösung. Abhängig von der Anzahl der Kanten des Graphen kann die Erweiterung (12.4) oder (12.5) verwendet werden. Wenn der Graph nahezu vollständig ist, erhalten wir durch Addition mehrerer Kanten gemäß Erweiterung (12.4) ein chromatisches Polynom in Form einer Summe faktorieller Potenzen. Wenn es wenige Kanten gibt und nur wenige Kanten entfernt werden müssen, um einen leeren Graphen zu erhalten, sollte die Zerlegung (12.5) mit Kantenentfernung verwendet werden. Solche Aktionen werden als chromatische Reduktion bezeichnet.

1. Chromatische Reduktion mit leeren Diagrammen . Lassen Sie uns zunächst Lemma (12.5) verwenden. Indem wir Kanten entfernen und die entsprechenden Eckpunkte identifizieren (die Kanten zusammenziehen), reduzieren wir den ursprünglichen Graphen auf leere Graphen. Zuerst zerlegen wir den Graphen in zwei Teile, indem wir die Kanten 1-3 entfernen und dann zusammenziehen. Wir schreiben die ausgeführte Aktion in Form einer bedingten Gleichheit:

Hier gilt die Subtraktionsoperation nicht für den Graphen selbst, sondern für sein chromatisches Polynom. Somit bedeutet die letzte Gleichheit, dass . Um die Notation zu verkürzen, die Notation P(...) wir werden es weglassen. Als nächstes erweitern wir jedes der Diagramme Und , unter Verwendung des gleichen Lemmas.

Hier sind einige ähnliche Begriffe:

Als Ergebnis erhalten wir das gewünschte chromatische Polynom:

Die Zerlegung (12.9) nennt man die chromatische Reduktion eines Graphen in leere Graphen.

Offensichtlich entspricht das Ergebnis den Aussagen der Sätze 12.8-12.10. Die Koeffizienten in (12.10) bilden eine alternierende Folge und der Koeffizient bei gleich vier - die Anzahl der Rippen. Niedrigster Abschluss X in einem Polynom ist gleich 1, d.h. Anzahl der verbundenen Komponenten des Diagramms.

2. Chromatische Reduzierung anhand vollständiger Diagramme . Ergänzend zu dem in Abb. 12.8 der Graph die Kanten 1–4 hat, erhalten wir einen Graphen mit einer großen Anzahl von Kanten. Dann identifizieren wir im Originaldiagramm die Eckpunkte 1 und 4. Als Ergebnis erhalten wir zwei Diagramme.

Die Identifizierung von Eckpunkten führt zu einer Verringerung der Reihenfolge und manchmal auch der Größe des Diagramms. Das zweite Diagramm ist ein vollständiges Diagramm
, es muss nicht mehr konvertiert werden. Wir fügen Kante 1–2 zum ersten Diagramm hinzu und identifizieren die Eckpunkte 1 und 2:

Als Ergebnis erhalten wir

(12.11)

Das chromatische Polynom wird die Form annehmen

Die Zerlegung (12.11) nennt man chromatische Reduktion eines Graphen über vollständige Graphen.

Beide Methoden lieferten das gleiche Ergebnis, und aus einer Reduktion über vollständige Graphen lässt sich leicht eine Reduktion über leere Graphen erzielen. Dazu genügt es, die Klammern zu öffnen und ähnliche Begriffe wie in (12.12) einzubringen. Der umgekehrte Effekt ist jedoch nicht offensichtlich. Um ein aus leeren Graphen gewonnenes Polynom als Summe faktorieller Potenzen auszudrücken, werden Stirling-Zahlen 2. Art benötigt. Nach wiederkehrenden Formeln (12.8) haben wir folgende Zahlen:

Mit (12.7) und den gefundenen Stirling-Zahlen 2. Art erhalten wir

,

Lassen Sie uns das chromatische Polynom transformieren:

Chromatische Zahl
Den Graphen erhält man am besten durch Faktorisieren des chromatischen Polynoms:

Minimale natürliche Zahl X, bei welchem
nicht verschwindet, gleich 3. Dies impliziert
. Da der maximale Grad der Eckpunkte des Diagramms
, wird die Auswertung durchgeführt
.

      Rangpolynom des Graphen

Der Diagrammrang ist definiert als
, Wo N– Anzahl der Eckpunkte, k– die Anzahl der verbundenen Komponenten des Diagramms. Der Korang eines Graphen oder zyklomatischer Rang ist das Wo M– Anzahl der Rippen.

Rangpolynom des Graphen G sieht aus wie

,

Wo
– Diagrammrang G, A
– corang Kern (d. h. einschließlich aller Eckpunkte des Diagramms) Untergraph H, A - sein Rang. Die Summation erfolgt über alle aufspannenden Teilgraphen des Graphen G.

Das Rangpolynom wird zur Analyse einer Menge aufspannender Teilgraphen verwendet. So zum Beispiel der Koeffizient bei
V
ist die Anzahl der Teilgraphen der Größe k, und der Wert
ist gleich der Anzahl der Teilgraphen (einschließlich des uneigentlichen Teilgraphen), deren Rang dem Rang des Graphen selbst entspricht.

Beispiel 12.8. Finden Sie das Rangpolynom des in Abb. gezeigten Diagramms. 12.8.

Lösung. Finden Sie alle 16 aufspannenden Untergraphen des Diagramms G(Abb. 12.9). Die Menge kann als vier Graphen der Größe 1 (d. h. mit einer Kante), sechs Graphen der Größe 2, vier Graphen der Größe 3 und zwei uneigentliche Graphen (der leere Graph und der Graph) dargestellt werden G).

In Anbetracht dessen, dass der Rang Spalte gleich 3 ist, erhalten wir die Summe:

      Fahrräder

Eine Route, bei der Anfang und Ende zusammenfallen, ist - zyklisch . Der Rundweg heißt Zyklus , wenn er eine Kette ist.

Skelett Graph G ist ein Graph, der keine Zyklen enthält und aus den Kanten des Graphen besteht G und all seine Gipfel. Das Skelett eines Graphen ist nicht eindeutig bestimmt.

Die Kanten des Graphen, die nicht im Skelett enthalten sind, werden aufgerufen Akkorde . Der Zyklus, der sich aus dem Hinzufügen seines Akkords zum Skelett eines Graphen ergibt, wird aufgerufen grundlegend relativ zu diesem Akkord.

Satz 12.11. Die Anzahl der Kanten eines Neographen, die entfernt werden müssen, um ein Skelett zu erhalten, hängt nicht von der Reihenfolge ihrer Entfernung ab und ist gleich dem zyklomatischen Rang des Graphen.

Beispiel 12.8. Für eine gegebene Adjazenzmatrix:

,

Bestimmen Sie die Anzahl der Zyklen der Länge 3 ( ) und Länge 4 ( ). Aufschreiben Matrix grundlegender Zyklen .

Lösung. Die Adjazenzmatrix dieses Graphen ist symmetrisch, entspricht also einem ungerichteten Graphen. Die Summe der Nicht-Null-Elemente der Matrix beträgt 12, daher hat der Graph gemäß dem Handshake-Lemma 6 Kanten. Lassen Sie uns dieses Diagramm erstellen (Abb. 12.10). Offensichtlich enthält es zwei Zyklen (3–4–5 und 1–3–5) der Länge 3 und einen Zyklus (1–3–4–5) der Länge 4. Bei diesem Problem erhält man die Lösung durch direkte Berechnung aus das Bild des Diagramms. Für komplexere Fälle gibt es einen Algorithmus zur Lösung des Problems mithilfe der Adjazenzmatrix.

Es ist bekannt, dass Schiene (verfolgen ) Adjazenzmatrix erhöht auf k Grad, gleich der Anzahl der zyklischen Routen der Länge k(siehe Satz 12.4). In dieser Zahl ist auch die erforderliche Anzahl an Zyklen enthalten. Eine Schleife unterscheidet sich von einer zyklischen Route dadurch, dass sie keine Kanten wiederholt. Darüber hinaus wird davon ausgegangen, dass die erforderlichen Zyklen nicht markiert sind und die Spur der Matrix genau markierte Routen enthält.

Es gibt sechsmal weniger unmarkierte Zyklen der Länge 3 als markierte, da sich jeder markierte Zyklus in seinem Anfang (und in diesem Fall sind es drei davon) und in zwei Durchlaufrichtungen (im Uhrzeigersinn und gegen den Uhrzeigersinn) unterscheiden kann. Erhöhen wir die gegebene Adjazenzmatrix auf die dritte Potenz:

,

und wir bekommen

.

Da es außer Zyklen der Länge 3 keine zyklischen Routen der Länge 3 gibt, ist die gefundene Zahl die Antwort auf das Problem.

Schleifen der Länge 4 sind etwas komplizierter. In der Spur vierten Grades der Adjazenzmatrix des Graphen

,

umfasst nicht nur Radwege, sondern auch Radwege mit doppelter und vierfacher Kantendurchfahrt. Bezeichnen wir die Anzahl solcher Routen mit Und jeweils. Offensichtlich ist die Anzahl der Routen mit vier Durchgängen einer Kante für einen Scheitelpunkt ist gleich dem Grad dieses Scheitelpunkts:
. Die Anzahl der Routen mit doppelter Durchquerung einer Kante ist die Summe der Anzahl
oben hängend und Zahlen
Routen mit einem Gipfel im Zentrum.

Das ist leicht zu erkennen
. Nummer
hängt von den Graden der angrenzenden Eckpunkte ab :

,

Wo
– Kante inzident zu Eckpunkten ich Und k.

Für die Grafik in Abb. 12.10 erhalten wir

,

Unter Berücksichtigung der Tatsache, dass es achtmal weniger unbeschriftete Zyklen der Länge 4 gibt, erhalten wir

Nach der Transformation nimmt die Formel die Form an

Um die Matrix der Grundzyklen zu finden, nummerieren wir die Kanten des Diagramms, beginnend mit den Sehnen, wie in Abb. 12.11(a).

Zwei Akkorde, 1 und 2, entsprechen zwei Grundzyklen: 1–4–5 und 2–4–6 (Abb. 12.11 (b und c)). Die grundlegende Zyklusmatrix besteht aus zwei Zeilen (Anzahl der Zyklen) und sechs Spalten (Anzahl der Kanten).

In der ersten Zeile der Matrix werden Spalten mit der Anzahl der im ersten Zyklus enthaltenen Kanten durch Einsen markiert, und in der zweiten Zeile werden die Anzahl der Kanten aus dem zweiten Zyklus durch Einsen gekennzeichnet.