Matematyka dyskretna 1/Wykład 15: Metody algebraiczne w teorii grafów

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Metody algebraiczne w teorii grafów

Graf regularny stopnia r to graf, w którym wszystkie wierzchołki mają stopień r.
Graf taki nazywany jest także r-regularnym.

Maksymalny stopień wierzchołka w grafie

𝐆

, oznaczany przez

Δ(𝐆)

to

Δ(𝐆):=max{deg v: vV(G)}.

Macierz sąsiedztwa A(𝐆) grafu prostego 𝐆=({v1,,vn},E) to zero-jedynkowa macierz aij rozmiaru n×n, gdzie


aij={1,jeżeli vivjE,0,w przeciwnym wypadku.


Uwaga

Macierz sąsiedztwa grafu nieskierowanego jest symetryczna.

Graf prosty 𝐆0 i graf skierowany 𝐆1

Przykład

Na rysunku Graf prosty przedstawiono graf prosty 𝐆0 o wierzchołkach v0,,v5 oraz graf skierowany 𝐆1 o wierzchołkach u1,,u5. Macierze sąsiędztwa grafów 𝐆0 oraz 𝐆1 wyglądają następująco:


A(𝐆0)=[0111010011100101110101010],A(𝐆1)=[0110000011100111100100000]


Domknięcie przechodnie grafu skierowanego 𝐆, to graf TC(𝐆) taki, że:

  • V(TC(𝐆))=V(𝐆), oraz
  • (v,w)E(TC(𝐆))

wtedy i tylko wtedy, gdy w grafie 𝐆 istnieje skierowana marszruta z v do w.

Twierdzenie 15.1

Niech 𝐆=({v1,,vn},E) będzie grafem skierowanym. Wtedy liczba skierowanych marszrut z vi do vj jest dana elementem aij macierzy:


aij=A(𝐆)1+A(𝐆)2++A(𝐆)(n1)


Dowód

Wystarczy pokazać, że

(*) a'ij=A(𝐆)k jest macierzą, w której a'ij jest liczbą skierowanych marszrut z vi do vj o długości k.

Dowód własności (*) przeprowadzimy indukcją względem k. Macierz A(𝐆)1 jest macierzą sąsiedztwa, co natychmiast daje (*) dla k=1. Niech teraz k>1. Oczywiście


A(𝐆)k=A(𝐆)k1A(𝐆)


Jeśli więc aij=A(𝐆), a'ij=A(𝐆)k, oraz a'ij=A(𝐆)k1, to


a'ij=a'i1a1j++a'inanj


Wartość a'il to liczba wszystkich skierowanych marszrut z vi do vl o długości k1. Tak więc iloczyn a'ilalj jest równy liczbie wszystkich skierowanych k-elementowych marszrut mających postać vivlvj, czyli takich skierowanych marszrut z vi do vj o k elementach, których przedostatni wierzchołek to vl. Sumując te wartości po wszystkich l, czyli dopuszczając dowolny wierzchołek vl jako przedostatni, otrzymujemy liczbę wszystkich k-elementowych skierowanych marszrut z vi do vj. To kończy dowód (*), a zatem i całego twierdzenia.

Graf 𝐆2 (a) oraz jego przechodnie domknięcie 𝐆3=TC(𝐆2) (b)

Przykład

Grafy 𝐆2=({u1,,u5},E) i 𝐆3=({u1,,u5},E) zostały przedstawione na animacji.

Macierz sąsiedztwa grafu 𝐆2 to


A(𝐆2)=[0100000011100111100100000]


Ponadto


i=14A(𝐆2)i=[1302323035450473503600000]


W macierzy a'ij=i=14A(𝐆2)i wartość a'ij mówi o liczbie różnych skierowanych marszrut z wierzchołka vi do vj o długości co najwyżej 4. Dla przykładu a34=4 i rzeczywiście u3u4, u3u4u2u4, u3u1u2u4, i u3u4u1u2u4 są wszystkimi skierowanymi marszrutami jakie można znaleźć w grafie 𝐆2 prowadzące z wierzchołka v3 do v4 o długości co najwyżej 4. Z kolei macierz sąsiedztwa dla przechodniego domknięcia grafu 𝐆2 to


A(TC(𝐆2))=[0101110011110111100100000]


Warto zaobserwować oczywisty fakt, że macierz A(TC(𝐆2)) można równie dobrze uzyskać z macierzy i=14A(𝐆2)i przez zamianę każdej niezerowej wartości na 1 oraz wyzerowanie przekątnej.

Wniosek 15.2

Dla grafu 𝐆 o wierzchołkach v1,,vn i macierzy aij=A(𝐆)1+A(𝐆)2++A(𝐆)(n1), jeśli tylko ij, to


aij>0wtedy i tylko wtedy, gdy(vi,vj)E(TC(𝐆))


Macierz incydencji B(𝐆) grafu 𝐆=({v1,,vn},{e1,,em}) to zero-jedynkowa macierz bij rozmiaru n×m, gdzie


bij={1,jeśli wierzchołek vi jest incydentny z krawędzią ej,0,w przeciwnym wypadku.


Zorientowana macierz incydencji C(𝐆) grafu prostego to macierz cij, rozmiaru n×m, otrzymana z macierzy incydencji B(𝐆) poprzez zastąpienie w każdej kolumnie jednej z dwu jedynek przez 1(minus jeden).

Graf prosty 𝐆4

Przykład

Dla grafu 𝐆4=({v1,,v5},{e1,,e7}) przedstawionego na rysunku Graf prosty G4 macierz incydencji oraz zorientowana macierz incydencji, to odpowiednio:


B(𝐆4)=[10110001100100001000100011110100010],

C(𝐆4)=[10110001100100001000100011110100010]


Obserwacja 15.3

  • Dla macierzy incydencji bij oraz zorientowanej macierzy incydencji cij=C(𝐆) zachodzi
    bij=|cij|dla i=1,,n oraz j=1,,m.
  • W zorientowanej macierzy incydencji cij mamy:
    c1j++cnj=0dla j=1,,m.

Macierz stopni D(𝐆) grafu prostego 𝐆=({v1,,vn},E) to diagonalna macierz dij rozmiaru n×n, gdzie


dij={deg vi,jeżeli i=j,0,w przeciwnym wypadku.


Przykład

Dla grafu 𝐆4 przedstawionego na rysunku Graf prosty G4 odpowiednia macierz stopni to


D(𝐆4)=[3000003000002000004000002]


Twierdzenie 15.4

Jeśli 𝐆=(V,E) jest grafem prostym, to


B(𝐆)B(𝐆)T=D(𝐆)+A(𝐆),


gdzie B(𝐆)T jest macierzą transponowaną macierzy B(𝐆).

Przykład

Policzmy macierze opisane w Twierdzeniu 15.4 dla grafu 𝐆4 z rysunku Graf prosty G4. Tak więc


B(𝐆4)B(𝐆4)T=[10110001100100001000100011110100010][11000010011010010010010100001100110]=[3111013011102101114101012]=D(𝐆4)+A(𝐆4).


Dowód [Twierdzenia 15.4]

Niech mij będzie elementem w i-tym wierszu oraz w j-tej kolumnie macierzy M=B(𝐆)B(𝐆)T. Z definicji M wynika, że


mij=bi1bj1++bi|E|bj|E|


Rozważmy dwa przypadki:

  • ij. Wtedy bikbjk=1 jest równoważne temu, że krawędź ek łączy wierzchołek vi z vj. Tak więc mij=1 wtedy i tylko wtedy, gdy vi sąsiaduje z vj.
  • i=j. Wtedy bikbjk=1 jest równoważne temu, że krawędź ek jest incydentna z vi. Sumując wartości bikbik dla k=1,,|E| uzyskujemy liczbę krawędzi incydentnych do vi, czyli stopień deg vi.

Twierdzenie 15.5

Niech 𝐆 będzie grafem skierowanym o n wierzchołkach, a macierz M o rozmiarach (n1)×(n1), będzie minorem (podmacierzą) zorientowanej macierzy incydencji C(𝐆), w którym kolumny odpowiadają krawędziom z pewnego podzbioru E(M) zbioru E(𝐆). Wtedy


𝐇=(V(𝐆),E(M)) jest drzewem wtedy i tylko wtedy, gdy M jest nieosobliwa.


Przykładowe drzewo 𝐇 wraz z zaznaczoną ścieżką Pi

Dowód

Niech w będzie wierzchołkiem odpowiadającym jedynemu wierszowi pominiętemu w minorze M.

Niech 𝐇=(V(𝐆),E(M)) będzie drzewem. Dla pokazania, że wtedy macierz M jest nieosobliwa, dokonamy takiej permutacji wierszy i kolumn macierzy M, by uzyskana w ten sposób macierz M=m'ij była trójkątna i miała wyłącznie niezerowe elementy na przekątnej. Zostanie to uzyskane przez takie ponumerowanie wierzchołków i krawędzi grafu 𝐇, by w nowej macierzy


m'ij0 wtedy i tylko wtedy, gdy wierzchołek vi jest incydentny z ej
.


Przypomnijmy, że odległość pomiędzy dwoma wierzchołkami x i y w grafie to liczność najkrótszej ścieżki od x do y. Ponumerujmy wierzchołki z V(𝐆) w taki sposób, że jeśli vi jest bliżej wierzchołka w, niż vj to ij. Numeracji takich może być wiele, ale dla nas nie ma znaczenia, którą z nich wybierzemy i ustalimy dla dalszej części dowodu. Zauważmy jedynie, że w każdej takiej numeracji wierzchołek w znajduje się na początku. Ponieważ graf 𝐇 jest drzewem, to między wierzchołkiem w i dowolnym vi istnieje dokładnie jedna ścieżka. Oznaczmy ją przez Pi=wvk1vksvi. Oczywiście, dla ij ostanie krawędzie w ścieżkach Pi i Pj są różne. Tę ostatnią krawędź ścieżki Pi oznaczmy, tak jak na rysunku, indeksem i, czyli ei=vksvi.

Ponieważ w drzewie 𝐇 jest dokładnie n1 krawędzi, przypisanie wierzchołkowi vi krawędzi ei jest bijekcją między V(𝐆){w} a E(𝐇). W kolumnie j0 macierzy M, odpowiadającej krawędzi ej0=vj1vj0, są jedynie dwa niezerowe elementy - jeden leży w wierszu j0, odpowiadającemu wierzchołkowi vj0, a drugi w wierszu j1. Skoro krawędź ej0 ma ten sam numer co wierzchołek vj0, wierzchołek vj1 musi leżeć na ścieżce z w do vj0. Tym samym vj1 jest bliżej w niż vj0, a zatem j1<j0. Macierz M jest więc macierzą trójkątną górną z niezerową przekątną, co kończy dowód.

Załóżmy teraz, że 𝐇 nie jest drzewem. Ponieważ 𝐇 ma jedynie n1 krawędzi, to zależność miedzy liczbą wierzchołków, krawędzi i składowych spójnych daje, że 𝐇 ma co najmniej 2 składowe. Niech wierzchołki vi1,,vil tworzą składową, w której nie występuje w. Jeżeli, w ip-tym wierszu i r-tej kolumnie macierzy M jest niezerowy element x=±1, to wierzchołek vip jest incydentny z krawędzią er=vipvis. Wierzchołek vis będący drugim końcem krawędzi er leży oczywiście w tej samej składowej co vip, a zatem macierz M ma liczbę x w r-tej kolumnie i w is-tym wierszu. Sumując teraz wiersze macierzy M o indeksach i1,,il otrzymujemy wektor zerowy. To oczywiście oznacza, że macierz M jest osobliwa.

Wniosek 15.6

W spójnym grafie prostym 𝐆 o n wierzchołkach rząd macierzy C(𝐆) wynosi n1.

Wielomian charakterystyczny grafu 𝐆 to wielomian charakterystyczny macierzy sąsiedztwa A(𝐆).

Permanent grafu 𝐆 to permanent macierzy A(𝐆), czyli


per A(𝐆)=σa1,σ(1)a2,σ(2)an,σ(n),


gdzie suma σ rozciąga się po wszystkich permutacjach σ, zaś aij oznacza element macierzy A(𝐆).

Wyznacznik grafu 𝐆 to wyznacznik macierzy A(𝐆), czyli


det A(𝐆)=σ(1)sgn(σ)a1,σ(1)a2,σ(2)an,σ(n).


Skojarzenie niedoskonałe (a) i doskonałe (b)

Algebraiczne pojęcie permanentu macierzy okazuje się użytecznym przy badaniu skojarzeń w grafie. Rozważaliśmy już skojarzenia w grafach dwudzielnych.

Skojarzenie w grafie 𝐆=(V,E) to taki podzbiór ME, że żadne jego dwie krawędzie nie są incydentne z tym samym wierzchołkiem.

Skojarzenie doskonałe to skojarzenie wykorzystujące wszystkie wierzchołki grafu.

Twierdzenie 15.7

Prosty graf dwudzielny 𝐆=(V1V2,E) ma skojarzenie doskonałe wtedy i tylko wtedy, gdy 𝐆 ma niezerowy permanent.

Dowód

Niech aij=A(𝐆). Dowód ma dwa etapy. Najpierw pokażemy, że:

1. Permanent grafu 𝐆 jest niezerowy wtedy i tylko wtedy, gdy istnieje permutacja ρ0 liczb 1,,n taka, że aiρ0(i)=1 dla i=1,,n.

Istotnie, każdy składnik sumy dającej permanent grafu 𝐆


per A(𝐆)=σa1,σ(1)a2,σ(2)an,σ(n)


jest zawsze nieujemny. A zatem cała suma będzie dodatnia wtedy i tylko wtedy, gdy choć jeden jej składnik będzie niezerowy. To z kolei jest równoważne temu, że dla choć jednej permutacji ρ0 zachodzi


aiρ0(i)=1


dla wszystkich i=1,,n.

2. Graf 𝐆 ma doskonałe skojarzenie ME wtedy i tylko wtedy, gdy istnieje permutacja ρ0 liczb 1,,n taka, że aiρ0(i)=1 dla i=1,,n.

Istotnie, w skojarzeniu doskonałym każdy wierzchołek jest incydentny z dokładnie jedną krawędzią. A zatem skojarzenie M wyznacza permutację ρ0 poprzez


ρ0(i)=jwtedy i tylko wtedy, gdy vivjM


Nadto aiρ0(i)=1 dla wszystkich i=1,,n.

Z drugiej strony, jeśli (i1,,ik) jest cyklem permutacji ρ0, tzn.


ρ0(i1)=i2,ρ0(i2)=i3,,ρ0(ik1)=ik,ρ0(ik)=i1,


to założona równość aiρ0(i)=1 mówi, że cyklowi temu odpowiada cykl vi1vi2vikvi1 w grafie 𝐆. Oczywiście w grafie dwudzielnym cykl taki musi mieć parzystą liczbę wierzchołków, tak więc zbiór krawędzi


{vi1vi2,vi3vi4,,vik1vik}


tworzy doskonałe skojarzenie zbioru wierzchołków {vi1,vi2,vi3,vik1,vik}. Po zsumowaniu skojarzeń odpowidającym wszystkim cyklom permutacji ρ0 otrzymamy skojarzenie doskonałe w grafie 𝐆.

Graf 𝐆5

Skojarzenie doskonałe w grafie 𝐆5

{{przyklad||| Rozważmy graf 𝐆5=({v1,v2,v3,v4,v5,v6},E) przedstawiony na rysunku Graf G5.

Macierz sąsiedztwa A(𝐆5) to


A(𝐆5)=[000110000100000111111000101000111000]


Permanent per 𝐆5=1, tak więc istnieje skojarzenie doskonałe M. Jedno z takich skojarzeń, przedstawione na rysunku Skojarzenie doskonałe w grafie G5, odpowiada wyróżnionym elementom macierzy:


A(𝐆5)=[00011_00001_00000111_11_10001_01000001_000]


Przy badaniu kolorowań grafów przydatne okazuje się inne pojęcie algebraiczne.

Wartość własna grafu 𝐆 to wartość własna macierzy sąsiedztwa A(𝐆).

Obserwacja 15.8

Macierz sąsiedztwa A(𝐆) jest rzeczywista i symetryczna, zatem wszystkie jej wartości własne są rzeczywiste i istnieje baza ortogonalna złożona z jej wektorów własnych.

Dla grafu prostego 𝐆 przyjmujemy oznaczenia:

  • λmax(𝐆) na maksymalną wartość własną macierzy A(𝐆),
  • λmin(𝐆) na minimalną wartość własną macierzy A(𝐆).

Obserwacja 15.9

Wartości własne grafu 𝐆 są, co do wartości bezwzględnej, nie większe niż maksymalny stopień wierzchołków grafu 𝐆, tzn.


|λmax(𝐆)|Δ(𝐆)


Dowód

Niech |𝐆|=n oraz x=x1,,xn będzie niezerowym wektorem własnym macierzy A(𝐆)=aij o wartości własnej λmax(𝐆). Bez straty ogólności można założyć, że |xk|=maxi=1,,n|xi|=1. Oszacowanie modułu k-tej współrzędnej wektora A(𝐆)x=λmax(𝐆)x daje nierówność:


|λmax(𝐆)|=|λmax(𝐆)xk|=|ak1x1++aknxn|ak1|x1|++akn|xn|ak1++akn=deg xk  Δ(𝐆).

Dowód następnych dwu obserwacji pozostawiamy jako ćwicznia 4 i 6.

Obserwacja 15.10

W grafie prostym 𝐆 mamy λmax(𝐆)=Δ(𝐆) wtedy i tylko wtedy, gdy któraś spójna składowa grafu 𝐆 jest grafem regularnym stopnia Δ(𝐆).

Obserwacja 15.11

W spójnym grafie prostym 𝐆 liczba Δ(𝐆) jest wartością własną macierzy A(𝐆) wtedy i tylko wtedy, gdy 𝐆 jest regularnym grafem dwudzielnym stopnia Δ(𝐆).

Twierdzenie 15.12 [wzór Hoffman'a]

W grafie regularnym 𝐆 stopnia r zachodzi


α(𝐆)|V(𝐆)|λmin(𝐆)λmin(𝐆)r,


gdzie α(𝐆) oznacza największy możliwy rozmiar indukowanej antykliki w grafie 𝐆.

Dowód

Niech n=|V(𝐆)| oraz


U:=A(𝐆)λmin(𝐆)I(rλmin(𝐆))n1J,


gdzie I jest macierzą diagonalną rozmiaru n×n, która na przekątnej ma jedynki, a J jest macierzą rozmiaru n×n w całości wypełnioną jedynkami. Ponadto niech wektor x=xi będzie funkcją charakterystyczną najliczniejszego zbioru niezależnego XV(𝐆)takiego, że 𝐆|X jest antykliką. Oznacza to, że


xi={1,jeśli viX,0,w przeciwnym wypadku.


Wtedy y=A(𝐆)x jest funkcją charakterystyczną zbioru sąsiadów wierzchołków w X, czyli


yi={1,jeśli viX,0,w przeciwnym wypadku.


To z kolei daje, że


xTA(𝐆)x=xTy=0


i w konsekwencji


xTUx=λmin(𝐆)|x|(rλmin(𝐆))n1|x|2


Uzasadnimy teraz, że xTUx0. Dla j=[1,1,,1]T mamy:


Uj=rjλmin(𝐆)j(rλmin(𝐆))j=0


Z kolej każdy inny wektor własny z macierzy A(𝐆) o wartości własnej λ, który jest prostopadły do j spełnia


Uz=(λλmin(𝐆))z,


przy czym oczywiście λλmin(𝐆)0. Oznacza to, że wszystkie wartości własne macierzy U są nieujemne. Niech więc u1,,un będzie ortogonalną bazą złożoną z wektorów własnych macierzy U, a λ1,,λn będą odpowiadającymi im wartościami własnymi. Niech ponadto x=b1u1++bnun będzie rozkładem wektora x w tej bazie. Wtedy:


xTUx=xT(b1λ1u1++bnλnun)=b12λ1++bn2λn  0.

W konsekwencji


0λmin(𝐆)|x|(rλmin(𝐆))n1|x|2.


Ponieważ |x|=α(𝐆) a n=|V(𝐆)|, to ta ostatnia jest innym zapisem dowodzonej nierówności.

Wniosek 15.13

W regularnym grafie 𝐆 zachodzi


χ(𝐆)1λmax(𝐆)λmin(𝐆)


Dowód

Ponieważ podział zbioru wierzchołków V(𝐆) na rozłączne podzbiory V1,,Vk indukujące antykliki, jest równoważny z kolorowaniem grafu 𝐆 przy użyciu k kolorów, to


|V(𝐆)|χ(𝐆)α(𝐆)


Jeśli teraz r jest stopniem regularności grafu 𝐆 to Twierdzenie 15.12 daje więc


χ(𝐆)λmin(𝐆)rλmin(𝐆)


Ponieważ graf 𝐆 jest r-regularny, to na mocy Obserwacji 15.10 mamy r=λmax(𝐆), co pozwala zakończyć dowód.