Bez tytułu slajdu

Transkrypt

Bez tytułu slajdu
DIGRAFY
Q
Digraf ( V(D), A(D) )
V(D) - zbiór wierzchołków
A(D) - skończona rodzina
uporządkowanych par
elementów zbioru V(D)
– łuki
P
T
R
S
Szkielet digrafu D - graf otrzymany z D po usunięciu
„strzałek”
Digraf prosty - gdy wszystkie łuki są parami różne i nie ma
pętli
Dwa wierzchołki v i w digrafu D są sąsiednie,
sąsiednie gdy w rodzinie
A(D) istnieje łuk postaci vw lub wv.
Wierzchołki v i w są incydentne z takim łukiem.
Dwa digrafy są izomorficzne,
izomorficzne jeżeli istnieje izomorfizm ich
szkieletów zachowujący kolejność wierzchołków w
każdym łuku.
u
v
u
z
v
w
z
w
Nie są izomorficzne.
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
1
Trasa w digrafie D – skończony ciąg łuków
v0 → v1 → v2 → ... → vn
Podobnie definicja – ścieżka, droga, cykl
Ścieżka – trasa, w której wszystkie łuki są różne.
Droga – ścieżka, w której wszystkie wierzchołki są różne.
Ścieżka lub droga są zamknięte,
zamknięte gdy v0 = vm.
Cykl – droga zamknięta zawierającą przynajmniej jeden łuk.
Ale: chociaż ścieżka nie może zawierać danego łuku więcej
niż jeden raz, to może zawierać oba łuki vw i wv.
Ścieżka:
u
v
z
z→ w→v→w→u
w
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
2
Stopnie wierzchołków
r
Stopień wyjściowy wierzchołka v d (v )
- liczba łuków postaci vw.
s
Stopień wejściowy wierzchołka v d (v )
- liczba łuków postaci wv.
outdeg(v)
indeg(v)
Suma stopni wyjściowych wszystkich wierzchołków D jest
równa sumie ich stopni wejściowych.
u
Źródło digrafu D - wierzchołek
o stopniu wejściowym równym 0.
Ujście digrafu D- wierzchołek
o stopniu wyjściowym równym 0. v
w
Digraf jest spójny (słabo spójny)
spójny):
• jeżeli nie może być przedstawiony w postaci sumy
dwóch rozłącznych digrafów
• szkielet digrafu jest spójny
Digraf jest silnie spójny:
spójny
dla dwóch dowolnych wierzchołków v i w digrafu D
istnieje droga z v do w.
u
u
w
v
spójny
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
w
v
silnie spójny
3
Macierz incydencji
Digraf D ma n wierzchołków i m łuków
Macierz M wymiaru n x m
⎧ 1 gdy j-ta krawędź jest incydentna z i-tego wierzchołka
⎪
mij = ⎨ − 1 gdy j-ta krawędź jest incydentna w i-ty wierzchołek
⎪ 0 gdy j-ta krawędź nie jest incydentna z i-tym wierzchołkiem
⎩
v1
e1
0
0
0
0⎤
⎡ 1 0
⎢− 1
1
1 0
0
0⎥
⎢
⎥
1 0
0⎥
⎢ 0 −1 0
⎢
⎥
0 −1 −1
1 − 1⎥
⎢ 0
⎢⎣ 0
0
0
0 −1
1⎥⎦
e6
e3
v4
v2
e4
e2
v5
e5
v3
Macierz przyległości
(Macierz sąsiedztwa, przejść, relacji, poprzedników)
D - digraf o n wierzchołkach
X =[xij]nxn
xij = liczba łuków od i-tego wierzchołka do j-tego wierzchołka
v1
e1
e6
e3
v4
v2
e2
e4
v3
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
e5
v5
⎡0
⎢0
⎢
⎢0
⎢
⎢0
⎢⎣0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0⎤
0⎥
⎥
0⎥
⎥
1⎥
0⎥⎦
4
• Niezerowy element na przekątnej reprezentuje pętlę
• Dwa digrafy są izomorficzne wtedy i tylko wtedy, gdy ich
macierze przyległości różnią się jedynie przestawionymi
wierszami połączonymi z przestawieniem
odpowiadających kolumn.
• Jeśli X jest macierzą przyległości digrafu D, to macierz
transponowana XT jest macierzą przyległości digrafu
otrzymanego przez zmianę kierunku każdego łuku D.
Graf G jest orientowalny,
orientowalny jeśli każdą jego krawędź można
skierować tak, by otrzymany digraf był silnie spójny.
Dowolny graf eulerowski jest orientowalny (idąc wzdłuż cyklu Eulera
możemy orientować krawędzie zgodnie z kierunkiem, w jaki je
przechodzimy).
Twierdzenie:
Niech G graf spójny. Graf G jest orientowalny wtedy i tylko
wtedy, gdy każda krawędź grafu G jest zawarta w co
najmniej jednym cyklu.
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
5
Digrafy eulerowskie
Digraf spójny D jest eulerowski,
eulerowski jeżeli istnieje ścieżka
zamknięta zawierająca każdy łuk digrafu D.
digraf eulerowski
u
v
Szkielet jest grafem eulerowskim.
Digraf nie jest eulerowski.
w
Digrafy eulerowskie
Warunkiem koniecznym jest, aby digraf był silnie spójny.
W digrafie eulerowskim nie ma źródeł ani ujść.
Twierdzenie:
Digraf spójny jest digrafem eulerowskim wtedy i tylko wtedy,
gdy dla każdego wierzchołka v digrafu D zachodzi:
r
s
d (v) = d (v )
Definicja:
Digraf nazywamy półeulerowskim,
półeulerowskim gdy nie jest digrafem
eulerowskim oraz jeżeli istnieje ścieżka zawierająca każdy
łuk digrafu.
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
6
Digrafy hamiltonowskie
Digraf D nazywamy hamiltonowskim,
hamiltonowskim
jeżeli istnieje cykl zawierający
każdy wierzchołek D.
Digraf D nazywamy półhamiltonowskim,
półhamiltonowskim
gdy istnieje droga przechodząca
przez każdy wierzchołek D.
Turnieje
Turniej - digraf, w którym każde
dwa wierzchołki są połączone
dokładnie jednym łukiem.
Turnieje mogą mieć źródła i ujścia → na ogół nie są digrafami hamiltonowskimi.
Twierdzenie:
(a) Każdy turniej nie będący digrafem hamiltonowskim jest
półhamiltonowski.
(b) Każdy turniej silnie spójny jest hamiltonowski.
W dowolnym turnieju z udziałem n graczy można przyporządkować graczom
etykiety p1, p2, ... , pn tak, że p1 pokonał p2, p2 pokonał p3, ... , pn-1 pokonał pn.
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
7
Porównania parami
Wymaga się uszeregowania pewnej liczby obiektów przez porównanie
dokonywane za każdym razem na tylko dwóch obiektach. Po
⎛ n⎞
wykonaniu ⎜⎜⎝ 2 ⎟⎟⎠ porównań ustawia się n obiektów w porządku ich
„preferencji”.
Np. uszeregować sześć różnych potraw dla psów. Każdego dnia
podawano psu dwa z przysmaków, a pies ustalał wyższość jednego
nad drugim (zgodnie z tym, który talerz opróżnił najpierw).
1
( 1, 3 ) ( 2, 5, 6 ) ( 4 )
2
3
6
5
Ustawienie w drogę Hamiltona tak, że
każdy posiłek (gracz) pokonał następnego:
np. 1 3 2 5 6 4 lub 1 3 5 6 2 4
4
W turnieju z udziałem n graczy 1, 2, ... , n niech bi oznacza liczbę graczy
pokonanych przez gracza i. Wówczas b1, b2, ... , bn są wynikami turnieju.
Twierdzenie:
Niech b1, b2, ... , bn będą liczbami całkowitymi. Liczby te są
wynikami turnieju z udziałem n graczy wtedy i tylko wtedy, gdy:
n
(i) b1 + b2 + L + bn = ⎛⎜⎜ ⎞⎟⎟
oraz
⎝2⎠
(ii) dla 1≤ r ≤ n każde r spośród liczb sumuje się do co najmniej
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
⎛r⎞
⎜⎜ 2 ⎟⎟
⎝ ⎠
8
Przykład:
Który z następujących ciągów może być wektorem wyników turnieju
sześciu graczy?
A) 4, 4, 4, 2, 1, 1
B) 5, 3, 3, 2, 1, 1
C) 5, 4, 4, 1, 1, 0
(5)
A) nie, bo 4 + 4 + 4 + 2 + 1 + 1 = 16
(3)
(3)
(1)
B)
(2)
(1)
C) 5 + 4 + 4 + 1 + 1 + 0 = 15
Ale: rozważmy przebieg gier dla trzech graczy, dla których wyniki
1, 1, 0.
Zagrają między sobą 3 gry, czyli trzy zwycięstwa muszą być
rozdzielone między nich, a 1 + 1 + 0 < 3
Przepływy w sieciach
x
digraf z wagami
4
v
2
4
1
3
2
w
y
1
2
4
z
Każdemu łukowi a przypisujemy nieujemną liczbę ψ(a) przepustowość
outdeg(v) - suma przepustowości łuków postaci vw.
indeg(v) - suma przepustowości łuków postaci wv.
Zakładamy, że digraf ma dokładnie jedno źródło i jedno ujście.
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
9
Przepływ w sieci - funkcja ϕ, która przypisuje każdemu
łukowi a nieujemną liczbę ϕ(a), nazywaną przepływem
wzdłuż łuku a tak, by:
(1) dla każdego łuku zachodziła nierówność
ϕ( a ) ≤ ψ ( a )
(2) stopień wejściowy i wyjściowy przepływu dla każdego
wierzchołka różnego od źródła i ujścia były równe.
Łuk a, dla którego zachodzi ϕ( a ) = ψ( a )
nazywamy nasyconym.
nasyconym
Wartość przepływu - suma przepływów wzdłuż łuków
wchodzących do wierzchołka ujścia
= suma przepływów wzdłuż łuków wychodzących z
wierzchołka źródła
Przekrój - zbiór łuków A taki, że każda droga z v do w musi
przechodzić przez pewien łuk należący do A.
Przepustowość przekroju - suma przepustowości łuków
należących do tego przekroju
Przekrój minimalny - przekrój o najmniejszej
przepustowości
x
4
v
1
3
2
w
y
1
Przekrój minimalny
- łuki:
2
4
2
4
z
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
vz, xz, yz, xw
Przepustowość:
1+1+2+2=6
10
Przepływ maksymalny?
Wartość dowolnego przepływu nie może przekroczyć
przepustowości żadnego przekroju.
Twierdzenie (Forda, Fulkersona, 1955):
W każdej sieci wartość dowolnego przepływu maksymalnego
jest równa przepustowości dowolnego przekroju
minimalnego.
Algorytmy poszukiwania przepływów maksymalnych polegają głównie
na tworzeniu dróg powiększających przepływ.
Drogi składają się z łuków nienasyconych xz i łuków zx mających
5
s
t
niezerowy przepływ.
Na początku bierzemy przepływ zerowy.
Następnie konstruujemy drogi
powiększające przepływ:
v → s → t → w, wzdłuż której możemy
zwiększyć przepływ o 2.
2
v
1
2
3
1
w
2
3
x
z
2
1
4
1
y
u
Potem v → x → z → w, wzdłuż której możemy zwiększyć przepływ o 2.
Wreszcie v → u → z → w, wzdłuż której
możemy zwiększyć przepływ o 1.
Otrzymany przepływ o wartości 5.
s
2
v
0
2
x
t
2
2
0
z
1
1
1
1
u
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
w
2
1
y
11
Problem dróg krytycznych
Dotyczy szeregowania zadań. Sieć zdarzeń, w którym każdy łuk ma
przypisaną wagę - np. czas wykonania zadania. (Digraf acykliczny)
W czasie, gdy przesuwamy się w digrafie z lewa na prawo, wiążemy z
wierzchołkiem v liczbę l(v) wskazującą długość najdłuższej drogi z A
do v.
A 0
B l(A) + 3 = 3
C l(A) + 2 = 2
D l(B) + 2 = 5
E max{l(A) + 9, l(B) + 4, l(C) + 6} = 9
B
D
G
J
F l(C) + 9 = 11
G max{l(D) + 3, l(E) + 1} = 10
E
H
A
H max{l(E) + 2, l(F) + 1} = 12
I l(F) + 2 = 13
J max{l(D) + 3, l(E) + 1} = 10
K
C
I
F
K max{l(H) + 6, l(I) + 2} = 18
L max{l(H) + 9, l(J) + 5, l(K) + 3} = 22
droga krytyczna
Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości
Barbara Głut
L
12