Grafy skierowane

by Jerry Sky

2020-05-06



Def\text {Def} Graf skierowany

Graf skierowany (digraf     \impliedby directed graph):
G=(V,E,φ)G = (V,E,\varphi), gdzie φ:EV×V\varphi: E\to V\times V.
Zbiór VV nazywamy zbiorem wierzchołków, zbiór EE nazywamy zbiorem krawędzi skierowanych.

  1. Oznaczenia: jeśli eEe \in E oraz φ(e)=(x,y)\varphi(e) = (x,y), to fst(e)=x\mathrm{fst}(e) = x (ogon ee) oraz snd(e)=y\mathrm{snd}(e) = y (głowa ee)
  2. (stopień wyjściowy, outdegree) deg+(v)={eE:fst(e)=x}\deg^+(v) = |\{e\in E: \mathrm{fst}(e) = x\}|
  3. (stopień wejściowy, indegree) deg(v)={eE:snd(e)=x}\deg^-(v) = |\{e\in E: \mathrm{snd}(e) = x\}|
  4. Ścieżką w grafie skierowanym nazywamy ciąg x0,e1,x1,e2,,en,xnx_0,e_1,x_1,e_2,\dots,e_n,x_n taki, że x0,,xnx_0,\dots,x_n są wierzchołkami, e1,,ene_1,\dots,e_n są krawędziami oraz dla każdego i{1,,n}i \in \{1,\dots,n\} mamy fst(ei)=xi1\mathrm{fst}(e_i) = x_{i-1} i snd(ei)=xi\mathrm{snd}(e_i) = x_i

Twierdzenie\text {Twierdzenie} #1

vVdeg+(v)=EvVdeg(v)=E \sum_{v\in V}\deg^+(v) = |E| \\ \sum_{v\in V}\deg^-(v) = |E|

D-d Twierdzenia\text {Twierdzenia} #1

E=vV{eE:fst(e)=v}=vVdeg+(v). |E| = \sum_{v\in V}|\{e\in E: \mathrm{fst}(e) = v\}| = \sum_{v\in V}\deg^+(v).

Def\text {Def} Szkielet

Szkieletem (underlying graph) grafu skierowanego GG nazywamy graf G=(V,E,φ)G^* = (V,E,\varphi^*), gdzie φ(e)={x,y}\varphi^*(e) = \{x,y\} jeśli φ(e)=(x,y)φ(e)=(y,x)\varphi(e) = (x,y) \lor \varphi(e) = (y,x).

Fakt\text {Fakt} #1

Jeśli GG^* jest szkieletem digrafu GG i xV(G)x \in V(G) to: degG(x)=degG+(x)+degG(x) \deg_{G^*}(x) = \deg^+_G(x) + \deg^-_G(x)

Fakt\text {Fakt} #2

Graf skierowany nazywamy spójnym jeśli jego szkielet jest spójny.

Def\text {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 (vV)(deg(v)=deg+(v))(\forall v\in 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)\deg^-(v) \neq \deg^+(v) wówczas w wierzchołku vv 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\text {Def} Silnie spójny graf

Graf jest silnie spójny, jeśli dla każdej pary wierzchołków x,yx,y istnieje ścieżka od xx do yy. Podzbiór XX E\subseteq E jest silnie spójny jeśli obcięcie grafu GG do XX 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\text {Def} Kondensacja

Kondensacja grafu skierowanego: ustalamy digraf G=(V,E,φ)G=(V,E,\varphi)

  1. Definiujemy xyx\gg y \equiv istnieje (skierowana) ścieżka od xx do yy
  2. Definiujemy (xy)((xy)(yx))(x \equiv y) \leftrightarrow \big((x\gg y) \land (y\gg x)\big)
  3. Pokazujemy, że relacja \equiv jest relacją równoważności na VV
  4. Pokazujemy, że klasy abstrakcji relacji \equiv pokrywają się z silnie spójnymi składowymi
  5. Na V/V_{/\equiv} definiujemy: E={(C1,C2):(eE)(fst(e)C1snd(e)C2)} E' = \{(C_1, C_2): (\exists e\in E)(\mathrm{fst}(e) \in C_1 \land \mathrm{snd}(e) \in C_2)\}

Graf (V/,E)(V_{/\equiv}, E') nazywamy kondensacją grafu GG.

example

Do znajdowania silnie spójnych składowych można się posłużyć algorytmem Kosaraju lub algorytmem Tarjana.

Twierdzenie\text {Twierdzenie} #2

Kondensacja grafu GG jest skierowanym grafem acyklicznym (DAG).

Def\text {Def} Źródło/ Odpływ

Źródło to taki wierzchołek vv, że deg(v)=0\deg^-(v) = 0.

Odpływ to taki wierzchołek vv, że deg+(v)=0\deg^+(v) = 0.

Twierdzenie\text {Twierdzenie} #3

W każdym skończonym DAGu istnieje źródło i istnieje odpływ.

D-d Twierdzenia\text {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\text {Def} Graf orientowalny

Graf GG jest orientowalny jeśli istnieje graf skierowany o zbiorze wierzchołków V(G)V(G) którego szkieletem jest GG.

Twierdzenie\text {Twierdzenie} #4

Graf GG jest orientowalny iff, gdy jest spójny i nie zawiera mostu (czyli jest spójny i każda krawędź leży na cyklu).