Def Graf skierowany
Graf skierowany (digraf ⟸ directed graph):
G=(V,E,φ), gdzie φ:E→V×V.
Zbiór V nazywamy zbiorem wierzchołków, zbiór E nazywamy zbiorem krawędzi skierowanych.
- Oznaczenia: jeśli e∈E oraz φ(e)=(x,y), to fst(e)=x (ogon e) oraz snd(e)=y (głowa e)
- (stopień wyjściowy, outdegree) deg+(v)=∣{e∈E:fst(e)=x}∣
- (stopień wejściowy, indegree) deg−(v)=∣{e∈E:snd(e)=x}∣
- Ścieżką w grafie skierowanym nazywamy ciąg x0,e1,x1,e2,…,en,xn taki, że x0,…,xn są wierzchołkami, e1,…,en są krawędziami oraz dla każdego i∈{1,…,n} mamy fst(ei)=xi−1 i snd(ei)=xi
Twierdzenie #1
v∈V∑deg+(v)=∣E∣v∈V∑deg−(v)=∣E∣
D-d Twierdzenia #1
∣E∣=v∈V∑∣{e∈E:fst(e)=v}∣=v∈V∑deg+(v).
Def Szkielet
Szkieletem (underlying graph) grafu skierowanego G nazywamy graf G∗=(V,E,φ∗), gdzie φ∗(e)={x,y} jeśli φ(e)=(x,y)∨φ(e)=(y,x).
Fakt #1
Jeśli G∗ jest szkieletem digrafu G i x∈V(G) to: degG∗(x)=degG+(x)+degG−(x)
Fakt #2
Graf skierowany nazywamy spójnym jeśli jego szkielet jest spójny.
Def Skierowany graf eulerowski
Skierowanym grafem eulerowskim nazywamy taki graf, w którym istnieje ścieżka zamknięta (początek równa się końcowi) która przechodzi przez wszystkie krawędzie.
Klasyczne twierdzenie Eulera bez trudu przenosi się na grafy skierowane: są to grafy spójne takie, że (∀v∈V)(deg−(v)=deg+(v)). Wynika to z faktu, że do z każdego wierzchołka chcemy wyjść tyle samo razy jak i do niego wejść. Jeśli deg−(v)=deg+(v) wówczas w wierzchołku v możemy utknąć lub też pominąć jedną z krawędzi.
//TODO: Sformułuj pojęcie grafu pół-eulerowskiego, sformułuj twierdzenie charakteryzujące grafy pół-eulerowskie i udowodnij je.
Def Silnie spójny graf
Graf jest silnie spójny, jeśli dla każdej pary wierzchołków x,y istnieje ścieżka od x do y. Podzbiór X ⊆E jest silnie spójny jeśli obcięcie grafu G do X jest grafem silnie spójnym. Silnie spójną składową nazywamy maksymalny w sensie inkluzji silnie spójny podzbiór zbioru wierzchołków.
Def Kondensacja
Kondensacja grafu skierowanego: ustalamy digraf G=(V,E,φ)
- Definiujemy x≫y≡ istnieje (skierowana) ścieżka od x do y
- Definiujemy (x≡y)↔((x≫y)∧(y≫x))
- Pokazujemy, że relacja ≡ jest relacją równoważności na V
- Pokazujemy, że klasy abstrakcji relacji ≡ pokrywają się z silnie spójnymi składowymi
- Na V/≡ definiujemy: E′={(C1,C2):(∃e∈E)(fst(e)∈C1∧snd(e)∈C2)}
Graf (V/≡,E′) nazywamy kondensacją grafu G.
Do znajdowania silnie spójnych składowych można się posłużyć algorytmem Kosaraju lub algorytmem Tarjana.
Twierdzenie #2
Kondensacja grafu G jest skierowanym grafem acyklicznym (DAG).
Def Źródło/ Odpływ
Źródło to taki wierzchołek v, że deg−(v)=0.
Odpływ to taki wierzchołek v, że deg+(v)=0.
Twierdzenie #3
W każdym skończonym DAGu istnieje źródło i istnieje odpływ.
D-d Twierdzenia #3
Bierzemy skierowaną drogę o największej długości; pokazujemy, że jej początek jest źródłem a końcowy wierzchołek jest odpływem.
Def Graf orientowalny
Graf G jest orientowalny jeśli istnieje graf skierowany o zbiorze wierzchołków V(G) którego szkieletem jest G.
Twierdzenie #4
Graf G jest orientowalny iff, gdy jest spójny i nie zawiera mostu (czyli jest spójny i każda krawędź leży na cyklu).