Professional Documents
Culture Documents
Teoria Grafów
Teoria Grafów
Teoria grafów
Adam Gregosiewicz
6 listopada 2019 r.
Kontakt
Adam Gregosiewicz
a.gregosiewicz@pollub.pl
Definicja (Graf)
Grafem nazywamy parę G = (V , E ), gdzie
I V jest zbiorem wierzchołków,
I E jest rodziną krawędzi.
Grafy
Definicja (Graf)
Grafem nazywamy parę G = (V , E ), gdzie
I V jest zbiorem wierzchołków,
I E jest rodziną krawędzi.
Uwaga
Krawędzie w grafie mogą się powtarzać oraz mogą łączyć
wierzchołek z samym sobą.
Grafy
Uwaga
Graf prosty nie ma krawędzi wielokrotnych i pętli.
Grafy
Graf (ogólny)
Grafy
Graf prosty
Grafy
G = (V , E ), V (G ) := V , E (G ) = E .
Graf ogólny:
E ⊂ {vw : v , w ∈ V } – multizbiór.
Graf prosty:
E ⊂ {vw : v , w ∈ V , v 6= w }, vw = wv .
Grafy
deg v .
Grafy
Twierdzenie
Dla dowolnego grafu G = (V , E ) mamy
X
deg v = 2|E |.
v ∈V
Grafy
Twierdzenie
Dla dowolnego grafu G = (V , E ) mamy
X
deg v = 2|E |.
v ∈V
sprzeczność.
Grafy - podstawowe konstrukcje
I Obcięcie G do X ⊂ V :
G|X := (X , {vw ∈ E : v , w ∈ X }).
I Podgraf indukowany: dowolne obcięcie grafu G .
Grafy - podstawowe klasy
E = {vw : v ∈ V1 , w ∈ V2 }.
Grafy - podstawowe klasy
E = {vw : v ∈ V1 , w ∈ V2 }.
vv1 , v1 v2 , . . . , vk−1 w .
v → v1 → v2 → · · · → vk−1 → w .
Grafy - podstawowe definicje
vv1 , v1 v2 , . . . , vk−1 w .
v → v1 → v2 → · · · → vk−1 → w .
vv1 , v1 v2 , . . . , vk−1 w .
v → v1 → v2 → · · · → vk−1 → w .
I Ścieżka zamknięta - v = w .
Grafy - podstawowe definicje
Uwaga
Każdy graf G można rozłożyć jednoznacznie na spójne
składowe, które tworzą podział zbioru V (G ).
Uwaga
Wierzchołki izolowane są jednoelementowymi spójnymi
składowymi.
Spójne składowe
|V (G )|(|V (G )| − 1)
.
2
Spójne składowe
Twierdzenie
Jeżeli G = (V , E ) jest grafem prostym o k spójnych
składowych, to
(|V | − k)(|V | − k + 1)
|V | − k ¬ |E | ¬ .
2
Spójne składowe
Twierdzenie
Jeżeli G = (V , E ) jest grafem prostym o k spójnych
składowych, to
(|V | − k)(|V | − k + 1)
|V | − k ¬ |E | ¬ .
2
Dowód. Oznaczmy n = |V | i m = |E |.
Spójne składowe
Twierdzenie
Jeżeli G = (V , E ) jest grafem prostym o k spójnych
składowych, to
(|V | − k)(|V | − k + 1)
|V | − k ¬ |E | ¬ .
2
n − k ¬ m.
Spójne składowe
Twierdzenie
Jeżeli G = (V , E ) jest grafem prostym o k spójnych
składowych, to
(|V | − k)(|V | − k + 1)
|V | − k ¬ |E | ¬ .
2
n − k ¬ m.
Indukcja względem m.
Spójne składowe
Twierdzenie
Jeżeli G = (V , E ) jest grafem prostym o k spójnych
składowych, to
(|V | − k)(|V | − k + 1)
|V | − k ¬ |E | ¬ .
2
n − k ¬ m.
n − k ¬ m.
n − k ¬ m.
n − k ¬ m.
n − k ¬ m.
n − k ¬ m.
n − (k + 1) ¬ m,
czyli n − k ¬ m + 1.
Spójne składowe
(n − k)(n − k + 1)
m¬ .
2
Spójne składowe
(n − k)(n − k + 1)
m¬ .
2
I Załóżmy, że G ma maksymalnie dużo krawędzi,
Spójne składowe
(n − k)(n − k + 1)
m¬ .
2
I Załóżmy, że G ma maksymalnie dużo krawędzi,
Spójne składowe
(n − k)(n − k + 1)
m¬ .
2
I Załóżmy, że G ma maksymalnie dużo krawędzi, to znaczy,
że nie istnieje graf o k spójnych składowych, który ma
więcej krawędzi.
I Wtedy każda ze spójnych składowych jest grafem pełnym
(dlaczego?).
Spójne składowe
(n − k)(n − k + 1)
m¬ .
2
I Załóżmy, że G ma maksymalnie dużo krawędzi, to znaczy,
że nie istnieje graf o k spójnych składowych, który ma
więcej krawędzi.
I Wtedy każda ze spójnych składowych jest grafem pełnym
(dlaczego?).
I Okazuje się, że tylko jedna spójna składowa może mieć
więcej niż jeden wierzchołek.
Spójne składowe
(n − k)(n − k + 1)
m¬ .
2
I Załóżmy, że G ma maksymalnie dużo krawędzi, to znaczy,
że nie istnieje graf o k spójnych składowych, który ma
więcej krawędzi.
I Wtedy każda ze spójnych składowych jest grafem pełnym
(dlaczego?).
I Okazuje się, że tylko jedna spójna składowa może mieć
więcej niż jeden wierzchołek.
I Załóżmy bowiem, że składowe V1 i V2 mają odpowiednio
n1 i n2 wierzchołków, przy czym n1 n2 2.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Liczba krawędzi w G|V1 to n21 , a w G|V2 to n22 .
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Liczba krawędzi w G|V1 to n21 , a w G|V2 to n22 .
I Przenosimy jeden wierzchołek z V2 do V1 z zachowaniem
pełności nowych składowych.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Liczba krawędzi w G|V1 to n21 , a w G|V2 to n22 .
I Przenosimy jeden wierzchołek z V2 do V1 z zachowaniem
pełności nowych składowych.
I W zmienionych
składowych mamy co najmniej
n1 +1 n2 −1
2
+ 2
krawędzi.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Liczba krawędzi w G|V1 to n21 , a w G|V2 to n22 .
I Przenosimy jeden wierzchołek z V2 do V1 z zachowaniem
pełności nowych składowych.
I W zmienionych
składowych mamy co najmniej
n1 +1 n2 −1
2
+ 2
krawędzi.
I Jednak
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Liczba krawędzi w G|V1 to n21 , a w G|V2 to n22 .
I Przenosimy jeden wierzchołek z V2 do V1 z zachowaniem
pełności nowych składowych.
I W zmienionych
składowych mamy co najmniej
n1 +1 n2 −1
2
+ 2
krawędzi.
I Jednak
! ! ! !
n1 + 1 n2 − 1 n1 n2
+ − − =
2 2 2 2
(n1 + 1)n1 + (n2 − 1)(n2 − 2) − n1 (n1 − 1) − n2 (n2 − 1)
= =
2
= n1 − n2 + 1 1.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Zatem liczba krawędzi nowe grafu jest większa niż liczba
krawędzi wyjściowego grafu.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Zatem liczba krawędzi nowe grafu jest większa niż liczba
krawędzi wyjściowego grafu.
I Ale graf G miał mieć maksymalnie dużo krawędzi.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Zatem liczba krawędzi nowe grafu jest większa niż liczba
krawędzi wyjściowego grafu.
I Ale graf G miał mieć maksymalnie dużo krawędzi.
I Sprzeczność dowodzi, że graf G może mieć tylko jedną
składową o więcej niż jednym wierzchołku.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Zatem liczba krawędzi nowe grafu jest większa niż liczba
krawędzi wyjściowego grafu.
I Ale graf G miał mieć maksymalnie dużo krawędzi.
I Sprzeczność dowodzi, że graf G może mieć tylko jedną
składową o więcej niż jednym wierzchołku.
I Wtedy mamy k − 1 wierzchołków izolowanych i jedną
składową spójną o n − (k − 1) wierzchołkach.
Spójne składowe
Dowód cd. Chcemy wykazać, że
(n − k)(n − k + 1)
m¬ .
2
I Zatem liczba krawędzi nowe grafu jest większa niż liczba
krawędzi wyjściowego grafu.
I Ale graf G miał mieć maksymalnie dużo krawędzi.
I Sprzeczność dowodzi, że graf G może mieć tylko jedną
składową o więcej niż jednym wierzchołku.
I Wtedy mamy k − 1 wierzchołków izolowanych i jedną
składową spójną o n − (k − 1) wierzchołkach.
I Stąd
!
n−k +1 (n − k + 1)(n − k)
m= = .
2 2
Spójne składowe
Uwaga
Oszacowań z poprzedniego twierdzenia nie można poprawić.
Definicje
Twierdzenie
Dla grafu G = (V , E ) następujące warunki są równoważne:
1. G jest drzewem.
2. G nie zawiera cykli i ma |V | − 1 krawędzi.
3. G jest spójny i ma |V | − 1 krawędzi.
4. G jest spójny, a usunięcie dowolnej krawędzi tworzy
dokładnie dwie spójne składowe.
5. Dowolne dwa wierzchołki grafu G są połączone dokładnie
jedną drogą.
6. G nie zawiera cykli, ale dodanie dowolnej nowej krawędzi
tworzy dokładnie jeden cykl.
Charakteryzacja drzew
Wniosek
Każdy las G = (V , E ) o k składowych spójnych ma |V | − k
krawędzi.
Mosty królewieckie
Mosty królewieckie
Uwaga
W grafie eulerowskim każdy wierzchołek jest stopnia
parzystego.
Cykl Eulera
Definicja (Cykl Eulera)
Ścieżkę zamkniętą, która przechodzi przez każdą krawędź
grafu dokładnie jeden raz nazywamy cyklem Eulera. Graf,
który posiada cykl Eulera, nazywamy grafem eulerowskim.
Uwaga
W grafie eulerowskim każdy wierzchołek jest stopnia
parzystego.
Cykl Eulera
Definicja (Cykl Eulera)
Ścieżkę zamkniętą, która przechodzi przez każdą krawędź
grafu dokładnie jeden raz nazywamy cyklem Eulera. Graf,
który posiada cykl Eulera, nazywamy grafem eulerowskim.
Uwaga
W grafie eulerowskim każdy wierzchołek jest stopnia
parzystego.
2. Indukcja względem |E |.
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
I Jeżeli jest to cykl Eulera, to kończymy.
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
I Jeżeli jest to cykl Eulera, to kończymy.
I Jeżeli nie, to usuwamy ten cykl razem z krawędziami
i wierzchołkami (jeżeli już nie mają innych krawędzi),
otrzymując nowy graf G 0 .
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
I Jeżeli jest to cykl Eulera, to kończymy.
I Jeżeli nie, to usuwamy ten cykl razem z krawędziami
i wierzchołkami (jeżeli już nie mają innych krawędzi),
otrzymując nowy graf G 0 .
I Graf G 0 nie musi być spójny, ale każdy jego wierzchołek
ma stopień parzysty.
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
I Jeżeli jest to cykl Eulera, to kończymy.
I Jeżeli nie, to usuwamy ten cykl razem z krawędziami
i wierzchołkami (jeżeli już nie mają innych krawędzi),
otrzymując nowy graf G 0 .
I Graf G 0 nie musi być spójny, ale każdy jego wierzchołek
ma stopień parzysty.
I W każdej spójnej składowej grafu G 0 znajdziemy cykl
Eulera (być może pusty).
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
I Jeżeli jest to cykl Eulera, to kończymy.
I Jeżeli nie, to usuwamy ten cykl razem z krawędziami
i wierzchołkami (jeżeli już nie mają innych krawędzi),
otrzymując nowy graf G 0 .
I Graf G 0 nie musi być spójny, ale każdy jego wierzchołek
ma stopień parzysty.
I W każdej spójnej składowej grafu G 0 znajdziemy cykl
Eulera (być może pusty).
I Cykl C musi mieć wierzchołki w każdej spójnej składowej
G 0.
Twierdzenie Eulera
2. Indukcja względem |E |.
I Wybierzmy w grafie G cykl C .
I Jeżeli jest to cykl Eulera, to kończymy.
I Jeżeli nie, to usuwamy ten cykl razem z krawędziami
i wierzchołkami (jeżeli już nie mają innych krawędzi),
otrzymując nowy graf G 0 .
I Graf G 0 nie musi być spójny, ale każdy jego wierzchołek
ma stopień parzysty.
I W każdej spójnej składowej grafu G 0 znajdziemy cykl
Eulera (być może pusty).
I Cykl C musi mieć wierzchołki w każdej spójnej składowej
G 0.
I Wystarczy teraz iść po cyklu C i w razie napotkania
wierzchołka ze spójnej składowej G 0 przejść po cyklu
Eulera w tej składowej.
Twierdzenie Eulera
Twierdzenie Eulera
Twierdzenie Eulera
Twierdzenie Eulera
1 2
4 3
Twierdzenie Eulera
2
3
1
5 1 2
4 3
Twierdzenie Eulera
2
3
1
5 1 2
4 3
Twierdzenie Eulera
2
3
1
4 2 3
5 1 2
4 3
Twierdzenie Eulera
2
3
1
4 2 3
5 1 2
4 3
Twierdzenie Eulera
2
3
1
4 2 3
5 1 2
4 3
Twierdzenie Eulera
2
3
1
4 2 3
5 1 2
4 3
1→2→3→4→1→5→1→2→3→4→2→3
Twierdzenie Eulera
Twierdzenie
Graf jest grafem eulerowskim wtedy i tylko wtedy, gdy jest
spójny i każdy jego wierzchołek jest stopnia parzystego.
Ścieżka Eulera
Uwaga
Zamknięta ścieżka Eulera jest cyklem Eulera.
Ścieżka Eulera
Uwaga
Zamknięta ścieżka Eulera jest cyklem Eulera.
VE =
EE =
Algorytm Fleury’ego
7
B D
8
1
A 3 4 5 F
2 9 10
C 6 E G
12 11
H
VE =
EE =
Algorytm Fleury’ego
7
B D
8
1
A 3 4 5 F
2 9 10
C 6 E G
12 11
H
VE = A
EE =
Algorytm Fleury’ego
7
B D
8
A 3 4 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B
EE = 1
Algorytm Fleury’ego
7
B D
8
A 3 4 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B
EE = 1
Algorytm Fleury’ego
7
B D
8
A 4 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C
EE = 1, 3
Algorytm Fleury’ego
7
B D
8
A 4 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C
EE = 1, 3
Algorytm Fleury’ego
7
B D
8
A 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D
EE = 1, 3, 4, 7
Algorytm Fleury’ego
7
B D
8
A 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D
EE = 1, 3, 4, 7
Algorytm Fleury’ego
B D
8
A 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B
EE = 1, 3, 4, 7
Algorytm Fleury’ego
B D
8
A 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B
EE = 1, 3, 4, 7
Algorytm Fleury’ego
A 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D
EE = 1, 3, 4, 7, 8
Algorytm Fleury’ego
A 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D
EE = 1, 3, 4, 7, 8
Algorytm Fleury’ego
A F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E
EE = 1, 3, 4, 7, 8, 5
Algorytm Fleury’ego
A F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E
EE = 1, 3, 4, 7, 8, 5
Algorytm Fleury’ego
A F
2 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E , F
EE = 1, 3, 4, 7, 8, 5, 9
Algorytm Fleury’ego
A F
2 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E , F
EE = 1, 3, 4, 7, 8, 5, 9
Algorytm Fleury’ego
A
2
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E , F , G
EE = 1, 3, 4, 7, 8, 5, 9, 10
Algorytm Fleury’ego
A
2
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E , F , G
EE = 1, 3, 4, 7, 8, 5, 9, 10
Algorytm Fleury’ego
A
2
C 6 E
12
H
VE = A, B, C , D, B, D, E , F , G , H
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11
Algorytm Fleury’ego
A
2
C 6 E
12
H
VE = A, B, C , D, B, D, E , F , G , H
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11
Algorytm Fleury’ego
A
2
C 6 E
VE = A, B, C , D, B, D, E , F , G , H, E
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11, 12
Algorytm Fleury’ego
A
2
C 6 E
VE = A, B, C , D, B, D, E , F , G , H, E
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11, 12
Algorytm Fleury’ego
A
2
C
VE = A, B, C , D, B, D, E , F , G , H, E , C
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11, 12, 6
Algorytm Fleury’ego
A
2
C
VE = A, B, C , D, B, D, E , F , G , H, E , C
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11, 12, 6
Algorytm Fleury’ego
VE = A, B, C , D, B, D, E , F , G , H, E , C , A
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11, 12, 6, 2
Algorytm Fleury’ego
7
B D
8
1
A 3 4 5 F
2 9 10
C 6 E G
12 11
H
VE = A, B, C , D, B, D, E , F , G , H, E , C , A
EE = 1, 3, 4, 7, 8, 5, 9, 10, 11, 12, 6, 2
Cykl Hamiltona
Uwaga
Nie jest znana charakteryzacja grafów hamiltonowskich tak
prosta, jak dla grafów eulerowskich.
Cykl Hamiltona
Uwaga
Nie jest znana charakteryzacja grafów hamiltonowskich tak
prosta, jak dla grafów eulerowskich.
deg v + deg w |V |,
deg v + deg w n, vw 6∈ E ,
deg v + deg w n, vw 6∈ E ,
deg v + deg w n, vw 6∈ E ,
Wniosek
Jeżeli w grafie G = (V , E ) dla dowolnego wierzchołka v ∈ V
zachodzi
|V |
deg v ,
2
to graf G jest hamiltonowski.
Grafy hamiltonowskie
Uwaga
Problem znajdowanie cykli Hamiltona jest znacznie trudniejszy
od problemu znajdowania cykli Eulera.
Grafy hamiltonowskie
Uwaga
Problem znajdowanie cykli Hamiltona jest znacznie trudniejszy
od problemu znajdowania cykli Eulera.
Problem komiwojażera
Znaleźć najkrótszą drogę Hamiltona w zadanym grafie
z wagami.
Grafy hamiltonowskie
Uwaga
Problem znajdowanie cykli Hamiltona jest znacznie trudniejszy
od problemu znajdowania cykli Eulera.
Problem komiwojażera
Znaleźć najkrótszą drogę Hamiltona w zadanym grafie
z wagami.
Uwaga
P = NP ⇔ SAT
⇔ (decyzyjny) problem komiwojażera
Skojarzenia w grafach dwudzielnych
Definicja (Skojarzenie)
Skojarzeniem w grafie G nazywamy taki podzbiór M ⊂ E , że
nie istnieją dwie krawędzie w M wychodzące z tego samego
wierzchołka, czyli
v1 v2 ∈ M ∧ w1 w2 ∈ M ⇒ v1 6= w1 ∧ v2 6= w2 .
Twierdzenie
Jeżeli w grafie dwudzielnym G = (V1 ∪ V2 , E ) zachodzi
warunek
deg v deg w , v ∈ V1 , w ∈ V2 ,
Definicja (Kolorowanie)
Kolorowaniem grafu G nazywamy takie przyporządkowanie
pewnej liczby kolorów wierzchołkom tego grafu, że każde dwa
sąsiednie wierzchołki mają różne kolory.
Kolorowanie grafów
Definicja (Kolorowanie)
Kolorowaniem grafu G nazywamy takie przyporządkowanie
pewnej liczby kolorów wierzchołkom tego grafu, że każde dwa
sąsiednie wierzchołki mają różne kolory.
χ(K5 ) = 5
Kolorowanie grafów
χ(K5 ) = 5
χ(Kn ) = n
Kolorowanie grafów
Kolorowanie grafów
χ(C5 ) = 3, χ(C4 ) = 2
Kolorowanie grafów
χ(C5 ) = 3, χ(C4 ) = 2
χ(C2n+1 ) = 3, χ(C2n ) = 2
Kolorowanie grafów
Twierdzenie
Graf G , który ma co najmniej jedną krawędź, jest dwudzielny
wtedy i tylko wtedy, gdy χ(G ) = 2.
Kolorowanie grafów
Twierdzenie
Graf G , który ma co najmniej jedną krawędź, jest dwudzielny
wtedy i tylko wtedy, gdy χ(G ) = 2.
Twierdzenie
Jeżeli w grafie G maksymalny stopień wierzchołków wynosi k,
to χ(G ) ¬ k + 1.
Kolorowanie się przydaje
χ(G ) ¬ 4.
Kolorowanie grafów
P = NP ⇔ SAT
⇔ (decyzyjny) problem komiwojażera
⇔ znalezienie χ(G )
⇔ χ(planarny) = 3?
Teoria Ramsey’a
Niech KN będzie grafem pełnym o N wierzchołkach.
Kolorujemy każdą jego krawędź jednym z dwóch kolorów:
czerwonym lub niebieskim (R,B).
Teoria Ramsey’a
Niech KN będzie grafem pełnym o N wierzchołkach.
Kolorujemy każdą jego krawędź jednym z dwóch kolorów:
czerwonym lub niebieskim (R,B).
R(n, k).
Teoria Ramsey’a
Twierdzenie
Twierdzenie
Twierdzenie
Twierdzenie
Twierdzenie
B
Teoria Ramsey’a
B
Teoria Ramsey’a
B
Teoria Ramsey’a
R(3, 3) > 5.
Teoria Ramsey’a
[
Pytanie]
R(3, 3) = ?
R(3, 3) > 5.
Teoria Ramsey’a
Twierdzenie
R(3, 3) = 6.
Teoria Ramsey’a
Twierdzenie
R(3, 3) = 6.
Teoria Ramsey’a
Twierdzenie
R(3, 3) = 6.
Twierdzenie
R(3, 3) = 6.
Twierdzenie
R(3, 3) = 6.
Twierdzenie
R(3, 3) = 6.
R(3, 3) = 6
Teoria Ramsey’a
R(3, 3) = 6
R(4, 4) = 18
Teoria Ramsey’a
R(3, 3) = 6
R(4, 4) = 18
43 ¬ R(5, 5) ¬ 48
Teoria Ramsey’a
R(3, 3) = 6
R(4, 4) = 18
43 ¬ R(5, 5) ¬ 48
..
.
Grafy planarne
Definicja (Ściana)
W grafie płaskim ścianą nazywamy zbiór punktów
płaszczyzny, które da się połączyć krzywą, która nie przecina
żadnej krawędzi.
Grafy planarne
Grafy planarne
|V | − |E | + f = k + 1.
Grafy planarne
|V | − |E | + f = k + 1.
|V | − |E | + f = k − 0 + 1 = k + 1.
Piszemy również
A = [aij ] i=1,...,n
j=1,...,m
lub
A = [aij ].
Macierze
Macierzą wymiaru n × m (o n wierszach i m kolumnach)
nazywamy tablicę liczb rzeczywistych
a11 a12 . . . a1n
a21 a22 . . . a2n
A=
.. .. . . .
..
. . . .
an1 an2 . . . anm
Piszemy również
A = [aij ] i=1,...,n
j=1,...,m
lub
A = [aij ].
Element aij jest liczbą znajdującą się w i-tym wierszu i j-tej
kolumnie.
Macierze
Macierzą wymiaru n × m (o n wierszach i m kolumnach)
nazywamy tablicę liczb rzeczywistych
a11 a12 . . . a1n
a21 a22 . . . a2n
A=
.. .. . . .
..
. . . .
an1 an2 . . . anm
Piszemy również
A = [aij ] i=1,...,n
j=1,...,m
lub
A = [aij ].
Element aij jest liczbą znajdującą się w i-tym wierszu i j-tej
kolumnie.
Zbiór macierzy wymiaru n × m oznaczamy Rn×m .
Dodawanie i odejmowanie macierzy
Inaczej mówiąc,
Niech c ∈ R. Wtedy
a11 . . . a1n ca11 . . . ca1n
a21 . . . a2n ca21 . . . ca2n
c .. . .
.. = ..
.. .
..
. . . . . .
an1 . . . anm can1 . . . canm
Mnożenie macierzy przez liczbę
Niech c ∈ R. Wtedy
a11 . . . a1n ca11 . . . ca1n
a21 . . . a2n ca21 . . . ca2n
c .. . .
.. = ..
.. .
..
. . . . . .
an1 . . . anm can1 . . . canm
Inaczej mówiąc,
cA = c[aij ] = [caij ].
Własności
I A+B =B +A
I A + (B + C ) = (A + B) + C
I c(A + B) = cA + cB
I (c + d)A = cA + dA
I (cd)A = c(dA)
Mnożenie macierzy
G = ({v1 , v2 , . . . , vn }, E )
v1 v4
v5
v2 v3
Reprezentacje grafu
v1 v4 0 1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2 0 1 0 1
0 0 1 1 0
v2 v3
Reprezentacje grafu
v1 v4
v5
v2 v3
Reprezentacje grafu
v1 v4
0 1 1 1 0
0 0 1 0 0
0
A= 0 0 1 1
v5 1 0 0 0 1
0 0 0 0 0
v2 v3
Liczba ścieżek
v1 v4
0 1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek
v1 v4 0
1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek od v1 do v5 o długości 2 jest równa
Liczba ścieżek
v1 v4 0
1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek od v1 do v5 o długości 2 jest równa 3.
Liczba ścieżek
v1 v4 0
1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek od v1 do v5 o długości 2 jest równa 3.
6 1 3 1 3
1 2 1 3 1
A2 = A · A =
3 1 4 3 1
1 3 3 6 1
3 1 1 1 2
Liczba ścieżek
v1 v4
0 1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek
v1 v4 0
1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek od v2 do v5 o długości 3 jest równa
Liczba ścieżek
v1 v4 0
1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek od v2 do v5 o długości 3 jest równa 4.
Liczba ścieżek
v1 v4 0
1 1 2 0
1 0 1 0 0
1
A= 1 0 1 1
v5 2
0 1 0 1
0 0 1 1 0
v2 v3
Liczba ścieżek od v2 do v5 o długości 3 jest równa 4.
6 9 11 18 4
9 2 7 4 4
A3 = A · A · A =
11 7 8 11 7
18 4 11 6 9
4 4 7 9 2
Liczba ścieżek
v1 v4
0 1 1 1 0
0 0 1 0 0
0
A= 0 0 1 1
v5 1
0 0 0 1
0 0 0 0 0
v2 v3
Liczba ścieżek
v1 v4
0 1 1 1 0
0 0 1 0 0
0
A= 0 0 1 1
v5 1
0 0 0 1
0 0 0 0 0
v2 v3
Liczba ścieżek od v1 do v5 o długości 2 jest równa
Liczba ścieżek
v1 v4
0 1 1 1 0
0 0 1 0 0
0
A= 0 0 1 1
v5 1
0 0 0 1
0 0 0 0 0
v2 v3
Liczba ścieżek od v1 do v5 o długości 2 jest równa 2.
Liczba ścieżek
v1 v4
0 1 1 1 0
0 0 1 0 0
0
A= 0 0 1 1
v5 1
0 0 0 1
0 0 0 0 0
v2 v3
Liczba ścieżek od v1 do v5 o długości 2 jest równa 2.
1 0 1 1 2
0 0 0 1 1
A2 = A · A =
1 0 0 0 1
0 1 1 1 0
0 0 0 0 0
Liczba ścieżek
Twierdzenie
Niech G = ({v1 , v2 , . . . , vn }, E ) będzie dowolnym grafem
(skierowanym lub nie). Liczba ścieżek o długości k 1 od
wierzchołka vi do wierzchołka vj jest równa wyrazowi w i-tym
wierszu i j-tej kolumnie macierzy A(G )k .
Liczba ścieżek
Twierdzenie
Niech G = ({v1 , v2 , . . . , vn }, E ) będzie dowolnym grafem
(skierowanym lub nie). Liczba ścieżek o długości k 1 od
wierzchołka vi do wierzchołka vj jest równa wyrazowi w i-tym
wierszu i j-tej kolumnie macierzy A(G )k .
Wniosek
Aby znaleźć najkrótszą ścieżkę łączącą wierzchołek vi z vj
w grafie G , wystarczy znaleźć najmniejszą potęgę k macierzy
sąsiedztwa A(G ), dla której wyraz w i-tym wierszu i j-tej
kolumnie macierzy A(G )k jest dodatni. Wtedy najkrótsza
ścieżka ma długość k.
Liczba ścieżek
v1 1 v4
2
7
4 7 3 v5
2
1
v2 v3
Liczba ścieżek
v1 1 v4
2
7
4 7 3 v5
2
1
v2 v3
W v1 v2 v3 v4 v5
v1 4 7 1
v2 1
v3 3 2
v4 2 7
v5
Algorytm Dijkstry