Upload
vohanh
View
228
Download
0
Embed Size (px)
Citation preview
Zasady zaliczania kursu z matematyki dyskretnej I-MDA-DA na studiach dziennych w sem. zimowym roku akad. 2011/12
1. Wystawiana jest jedna ocena końcowa z całego kursu na podstawie sumy punktów uzyskanych przez studenta w trakcie semestru i na egzaminie końcowym w sesji zimowej. Ocena wystawiana jest wyłącznie studentom zapisanym na kurs.
2. W ciągu semestru przeprowadzane są na ćwiczeniach 3 kolokwia: na 4, 8 i 13 zajęciach. Pierwsze dwa sprawdzają opanowanie zagadnień kombinatorycznych a trzecie – z teorii grafów.
3. Każde kolokwium trwa 2 godz. akademickie, składa się z nie więcej niż 10 zadań i oceniane jest w skali od 0 do 16 punktów (pierwsze) lub od 0 do 17 punktów (dwa pozostałe).
4. Punkty z trzech kolokwiów są sumowane i warunkiem dopuszczenia do egzaminu jest uzyskanie na ćwiczeniach przynajmniej 26 punktów, co nazywane jest zaliczeniem ćwiczeń. Zatem nie uzyskanie przez studenta zaliczenia ćwiczeń oznacza brak możliwości zaliczenia całego kursu.
5. Kolokwium poprawkowe jest organizowane w ostatnim tygodniu zajęć semestru zimowego w wyznaczonym dodatkowym terminie. Na kolokwium poprawkowym student może wybrać do poprawy zakres tematyczny jednego z trzech kolokwiów przeprowadzanych na ćwiczeniach. Punkty uzyskane na kolokwium poprawkowym zastępują punkty uzyskane na wybranym do poprawy regularnym kolokwium i stają się składnikiem sumy decydującej o dopuszczeniu do egzaminu (dotyczy to również studentów, którzy przystąpiliby do kolokwium poprawkowego po uzyskaniu na ćwiczeniach 26 lub więcej punktów).
6. Kolokwium poprawkowe trwa 2 godz. akademickie, składa się z nie więcej niż 10 zadań i oceniane jest w tej samej skali, co wybrane do poprawy kolokwium regularne. Uzyskanie po kolokwium poprawkowym sumy przynajmniej 26 punktów dopuszcza do egzaminu końcowego. Brak zaliczenia ćwiczeń po kolokwium poprawkowym oznacza niezaliczenie kursu z przedmiotu.
7. Egzamin w sesji trwa 2,0 godz. zegarowe, składa się z nie więcej niż 12 zadań i oceniany jest w skali od 0 do 50 punktów. Zatem maksymalna suma punktów, która jest podstawą wystawienia oceny końcowej z kursu wynosi 16+17+17+50=100.
8. Punkty uzyskane na ćwiczeniach i punkty z egzaminu są sumowane i na podstawie tej sumy wystawiana jest ocena końcowa z kursu wg skali: 51 – 60 pkt ocena 3,0, 61 – 70 pkt ocena 3,5, 71 – 80 pkt ocena 4,0, 81 – 90 pkt ocena 4,5, 91 – 100 pkt ocena 5,0.
9. Studentom, którzy przystępują do egzaminu dwukrotnie (w sesji są dwa terminy) wystawia się ocenę końcową na podstawie liczby punktów uzyskanych w II terminie.
10. Uzyskanie po egzaminie w sumie mniej niż 51 punktów oznacza niezaliczenie całego kursu.
11. Regulaminowy termin egzaminu poprawkowego jest w sesji wrześniowej. Zaliczenie ćwiczeń pozostaje warunkiem dopuszczenia do egzaminu poprawkowego. Wynik egzaminu poprawkowego uwzględniany jest w ocenie końcowej z kursu w taki sam sposób, jak wynik egzaminu podstawowego.
J. Sikorski (prowadzący kurs)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (1) J.Sikorski Strona 1 / 6
MATEMATYKA DYSKRETNA
Program wykładu dla studiów stacjonarnych w semestrze zimowym:
KOMBINATORYKA – wykłady 1. – 8.
Literatura:
• M.Libura, J.Sikorski „Wykłady z matematyki dyskretnej. Cz.I: Kombinatoryka” Wydawnictwo WSISiZ (2003)
• Z.Palka, A.Ruciński „Wykłady z kombinatoryki” WNT (1998, 2004)
• W.Lipski „Kombinatoryka dla programistów” WNT (1989, 2004)
• K.Ross, C.Wright „Matematyka dyskretna” PWN (1996, 2003)
• R.Graham, D.Knuth, O.Patashnik „Matematyka konkretna” PWN (2002)
GRAFY i SIECI – wykłady 9. – 15.
Literatura:
• M.Libura, J.Sikorski „Wykłady z matematyki dyskretnej. Cz.II: Teoria grafów” Wydawnictwo WSISiZ (2002)
• N.Deo „Teoria grafów i jej zastosowania w technice” PWN (1980)
• R.Wilson „Wprowadzenie do teorii grafów” PWN (2000)
• K.Ross, C.Wright „Matematyka dyskretna” PWN (1996)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (1) J.Sikorski Strona 2 / 6
NOTACJA I POJĘCIA PODSTAWOWE
Funktory zdaniotwórcze:
∨∨∨∨ - lub (alternatywa, suma logiczna)
∧∧∧∧ - i (koniunkcja, iloczyn logiczny)
¬¬¬¬ - nie (negacja)
⇒⇒⇒⇒ - jeśli ..., to ... (implikacja)
⇔⇔⇔⇔ - ... wtedy i tylko wtedy, kiedy ... (równoważność)
Kwantyfikatory:
∃∃∃∃ - istnieje (kwantyfikator szczegółowy, egzystencjalny)
∀∀∀∀ - dla każdego (kwantyfikator ogólny)
Zbiory:
- zbiór liczb rzeczywistych, - zespolonych,
= 0, 1, 2, ... - zbiór liczb naturalnych,
= ..., −2, −1, 0, 1, 2, ... - zbiór liczb całkowitych,
= 0, 1 - zbiór „binarny”, ∅ - zbiór pusty,
a1, ..., an - zbiór składający się z n elementów a1, ..., an
a - zbiór jednoelementowy zawierający tylko a,
x ∈ X : W(x) - zbiór tych elementów zbioru X, dla których
funkcja zdaniowa W(x) ma wartość „prawda”,
∪∪∪∪ - suma zbiorów, ∩∩∩∩ - iloczyn zbiorów, \ - różnica zbiorów,
⊗⊗⊗⊗ - różnica symetryczna zbiorów: A ⊗ B = (A \ B) ∪ (B \ A)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (1) J.Sikorski Strona 3 / 6
C = A B∪
A B
C = A B∩
B
C = A B\ C = A B⊗
A B
A A B
⊆⊆⊆⊆ - zawieranie się zbiorów: A ⊆ B (A jest zawarty w B)
⊂⊂⊂⊂ - właściwe zawieranie się: A ⊂ B
(A jest podzbiorem właściwym zbioru B) ∀∀∀∀ A: A ⊆ A, ale A ⊄ A
(A) - zbiór wszystkich podzbiorów zbioru A;
∀∀∀∀ A: ∅∅∅∅ ⊆ A ⇒⇒⇒⇒ ∀∀∀∀ A: ∅∅∅∅ ∈ (A) oraz ∀∀∀∀ A: A ∈ (A)
| A | - liczność (moc) zbioru A, np. | a1, a2, a3 | = 3
( a, b ) - para uporządkowana: a - poprzednik, b - następnik
A × B - iloczyn kartezjański zbiorów A i B:
A × B = (a, b) : a ∈ A ∧ b ∈ B
( a1, ..., an ) - n-tka uporządkowana (wektor n-elementowy)
A1 × ... × An - iloczyn kartezjański zbiorów A1, ..., An A1 × ... × An = ( a1, ..., an ) : a1 ∈ A1 ∧ ... ∧ an ∈ An
Funkcje i operacje:
Q =
falszywejest Q zdanie jesli 0,
prawdziwejest Q zdanie jesli , 1 - „binarna wartość zdania”,
xyZyx ≤∈= :max - „podłoga”; xyZyx ≥∈= :min - „sufit”
yxyxyx ⋅−=mod - „modulo”, czyli reszta z dzielenia x przez y
x, y ∈ , y ≠ 0
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (1) J.Sikorski Strona 4 / 6
Relacja binarna
R ⊆ A × B
(relacja dwuczłonowa w iloczynie kartezjańskim zbiorów A i B)
A
B
A Bx( , ) x y R∈
Relacja binarna na zbiorze A: R ⊆ A × A
to, że elementy a i b są w relacji, zapisujemy: (a, b) ∈ R lub aRb
Dziedzina relacji R : a ∈ A : ( ∃ b ∈ B : ( a, b ) ∈ R)
- zbiór poprzedników par należących do R
Przeciwdziedzina relacji R : b ∈ B : ( ∃ a ∈ A : ( a, b ) ∈ R)
- zbiór następników par należących do R
Przykład relacji
A = 1, 2, 3, 4, 5 , B = 1, 2, 1, 4
R - relacja przynależności do zbioru
R = (1, 1, 2), (1, 1, 4), (2, 1, 2), (4, 1, 4) ⊆ A × B
dziedzina relacji R : 1, 2, 4
przeciwdziedzina relacji R : 1, 2, 1, 4
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (1) J.Sikorski Strona 5 / 6
graf relacji:
1
2
3
4
1, 2
1, 4
tablica relacji:
1
2
3
4
1, 2 1, 4
1
1
1
1
Relacja (binarna) R na zbiorze X jest:
• zwrotna, jeśli ∀ x ∈ X : xRx
• przechodnia, jeśli ∀ x, y, z ∈ X : ( xRy ∧ yRz ) ⇒ xRz
• symetryczna, jeśli ∀ x, y ∈ X : xRy ⇒ yRx
• antysymetryczna, jeśli ∀ x, y ∈ X : ( xRy ∧ yRx ) ⇒ x = y
Relację zwrotną, przechodnią i symetryczną
nazywamy relacją równoważności
typowe oznaczenie: ≈≈≈≈ , np. a ≈ b
Przykład relacji równoważności w zbiorze liczb rzeczywistych
dla x, y ∈ relacja x ≈ y zachodzi wtedy i tylko wtedy,
gdy x − y ∈ (różnica jest liczbą całkowitą)
Relację zwrotną, przechodnią i antysymetryczną
nazywamy relacją porządkuj ącą zbiór X
typowe oznaczenie: ¹ , np. a ¹ b
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (1) J.Sikorski Strona 6 / 6
Przykłady relacji porządkujących
Relacja podzielności w zbiorze : aRb ⇔ a jest podzielnikiem b
Relacja zawierania w zbiorze (X) : ARB ⇔ A ⊆ B
Pierwsze pytania „kombinatoryczne”:
• Ile jest relacji binarnych w iloczynie kartezjańskim X × Y ,
jeśli | X | = n i | Y | = m ?
• Ile jest relacji binarnych na zbiorze | X | = n ?
• Ile jest zwrotnych relacji binarnych na zbiorze | X | = n ?
• Ile jest (anty)symetrycznych relacji binarnych na zbiorze | X | = n ?
Funkcja f : X →→→→ Y
to taka relacja R ⊆ X × Y, że dla każdego x ∈ X istnieje
dokładnie jedna para postaci ( x, y = f (x) ) ∈ R
Fun(X, Y) – zbiór wszystkich funkcji z X w Y
Dla dowolnych zbiorów A ⊆ X i B ⊆ Y definiujemy:
f (A) = y ∈ Y : ∃ x ∈ A : y = f (x) (obraz zbioru A)
f −1(B) = x ∈ X : f (x) ∈ B (przeciwobraz zbioru B)
• o funkcji f : X → Y mówimy, że jest „na” jeśli f ( X ) = Y
Sur(X, Y) – zbiór wszystkich funkcji z X na Y (surjekcji )
• funkcja jest różnowartościowa (wzajemnie jednoznaczna), jeśli
∀ a, b ∈ X a ≠ b ⇒ f (a) ≠ f (b)
Inj(X, Y) – zbiór wszystkich funkcji różnowart. z X w Y (injekcji )
Bij(X, Y) = Sur(X, Y) ∩ Inj(X, Y) – zbiór wszystkich bijekcji z X na Y
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 1 / 7
Zasada równoliczności
Bij(X, Y) ≠ ∅ ⇒ | X | = | Y |
Przykład zastosowania zasady
X – zbiór wszystkich rozmieszczeń n jednakowych przedmiotów
w k ponumerowanych pojemnikach,
Y – zbiór wszystkich wektorów binarnych (ai ∈ 0, 1 ) o n+k–1
składowych, z których n jest równych 0
| X | ? | Y |
Zasada włączania-wyłączania
Dla 2 zbiorów: | A ∪ B | = | A | + | B | − | A ∩ B |
Dla 3 zbiorów: | A ∪ B ∪ C | =
| A | + | B | + | C | − | A ∩ B | − | A ∩ C | − | B ∩ C | + | A ∩ B ∩ C |
A1 A2
A3
A1 A2
A3
A A∩1 2
A1 A2
A3
A A∩2 3
A1 A2
A3
A A∩1 3 A A A∩ ∩1 2 3
A1 A2
A3
A A A∪ ∪1 2 3
Dla n zbiorów: | A1 ∪ A2 ∪ ... ∪ An | = ?
Twierdzenie (zasada włączania-wyłączania)
...||||||1111
−∩∩+∩−= ∑∑∑≤<<≤≤<≤== nkji
kjinji
ji
n
ii
n
ii AAAAAAAU
... + (−1)n−1| A1 ∩ ... ∩ An |
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 2 / 7
Przykłady zastosowania zasady włączania-wyłączania (prosty)
Zbadano 50 samochodów wykonując testy na poziom zawartości
trzech grup zanieczyszczeń: NOx, HC, CO;
1 samochód nie spełnia żadnej z trzech norm, 3 samochody
przekroczyły poziom NOx i HC, 2 samochody przekroczyły poziom
NOx i CO, 1 samochód przekroczył poziom HC i CO, 6 samochodów
ma zbyt wysoki poziom NOx, 4 samochody maja zbyt wysoki poziom
HC a 3 samochody maja zbyt wysoki poziom CO.
Ile samochodów spełnia wszystkie testowane normy?
A – zbiór samochodów, które przekroczyły poziom NOx ,
B – zbiór samochodów, które przekroczyły poziom HC ,
C – zbiór samochodów, które przekroczyły poziom CO ;
| A | = 6 , | B | = 4 , | C | = 3 ,
| A ∩ B | = 3 , | A ∩ C | = 2 , | B ∩ C | = 1 ,
| A ∩ B ∩ C | = 1
| zbiór samochodów, które nie spełniają co najmniej jednej normy| =
| A ∪ B ∪ C | = 6 + 4 + 3 – 3 – 2 –1 + 1 = 8
| zbiór samochodów, które spełniają wszystkie normy| = 50 – 8 = 42
Zasada szufladkowa
Twierdzenie (Dirichlet)
Dla skończonych zbiorów X i Y , takich że | X | > r ⋅ | Y | dla r > 0 :
dla każdej funkcji f ∈ Fun(X, Y) warunek | f −1( y) | > r jest
spełniony dla co najmniej jednego y ∈ Y.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 3 / 7
J. Lejeune Dirichlet (1805 – 1869)
Dla r = 1:
jeśli chowamy do szuflad więcej przedmiotów niż mamy szuflad, to w
co najmniej jednej szufladzie znajdzie się więcej niż jeden przedmiot.
Przykład zastosowania zasady szufladkowej (mało ambitny)
W aglomeracji warszawskiej mieszkają co najmniej 4 osoby o tej
samej liczbie włosów na głowie.
Zliczanie funkcji
Dane są dwa zbiory X i Y o licznościach | X | = n i | Y | = m .
| Fun(X, Y) | = ?
Ile jest funkcji f : X → Y?
Interpretacja
Na ile sposobów można rozmieścić n ponumerowanych przedmiotów
w m ponumerowanych pudełkach?
X - zbiór przedmiotów, Y - zbiór pudełek,
każda funkcja f : X → Y określa pewne rozmieszczenie przedmiotów
w pudełkach przez wskazanie dla każdego przedmiotu x ∈ X pudełka
f (x) ∈ Y, w którym ten przedmiot zostaje umieszczony
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 4 / 7
1
2
3
4
5
n
1 = (3)f
2 = (1) = (4)f f
3 = ( )f n
m f f = (2) = (5)
X Y
f :
4
Elementy w skończonych zbiorach X i Y można ponumerować
i przyjmować, że X = 1, 2, ..., n i Y = 1, 2, ..., m
Twierdzenie
Jeśli | X | = n i | Y | = m, to liczba wszystkich funkcji f : X → Y
jest równa m n ; | Fun(X, Y) | = m n
9
8
7
6
5
4
3
2
11
2
3
4
5
6
7
8
9
1 2 3 4 5 6 7 8 9
... ...
...
mn
1
1
1
1
1
1
1
1
1
1
81
64
49
36
25
16
9
4
729
512
343
216
125
64
27
6561
4096
2401
1296
625
256
59049
32768
16807
7776
3125
531441
262144
117649
46656
1 1 1 1 1 1 1 1
8
81
16
1024
243
32
15625
4096
729
64
4782969
2097152
823543
279936
78125
16384
2187
128
43046721
16777216
5764801
1679616
390625
65536
6561
256
387420489
134217728
40353607
10077696
1953125
262144
19683
512
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 5 / 7
Zliczanie injekcji
Dane są dwa zbiory X i Y o licznościach | X | = n i | Y | = m (n ≤ m).
| Inj(X, Y) | = ?
Ile jest funkcji różnowartościowych f : X → Y ?
Interpretacja
Na ile sposobów można rozmieścić n ponumerowanych przedmiotów
w m ponumerowanych pudełkach, tak aby w żadnym pudełku nie był
więcej niż 1 przedmiot?
Twierdzenie
Jeśli | X | = n , | Y | = m i n ≤ m to liczba wszystkich funkcji
różnowartościowych (injekcji) f : X → Y jest równa
m⋅( m −−−− 1)⋅ ... ⋅( m −−−− n + 1 ) = m n ; | Inj(X, Y) | = m n
9
8
7
6
5
4
3
2
11
2
3
4
5
6
7
8
9
1 2 3 4 5 6 7 8 9
... ...
...
mn
1
1
1
1
1
1
1
1
1
1
72
56
42
30
20
12
6
2
504
336
210
120
60
24
6
3024
1680
840
360
120
24
15120
6720
2520
720
120
60480
20160
5040
720
181440
40320
5040
362880
40320
362880
1010 1 90 720 5040 3024015120060480018144003628800
10
3628800
Przyjmując formalne oznaczenie symbolu potęgi ubywającej:
m n = m⋅( m −−−− 1)⋅ ... ⋅( m −−−− n + 1 ) , dookreślamy jego wartość m 0 = 1
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 6 / 7
Jeśli m = n , to każda funkcja różnowartościowa f : X → Y jest
wzajemnie jednoznacznym odwzorowaniem zbioru X na zbiór Y.
m = n ⇒ | Inj(X, Y) | = | Sur(X, Y) | = | Bij(X, Y) |
Permutacja
Permutacją zbioru X nazywamy wzajemnie jednoznaczne odwzorowanie
(bijekcję) f : X → X .
| Bij(X, X) | = n n = n⋅⋅⋅⋅( n −−−− 1)⋅⋅⋅⋅ ... ⋅⋅⋅⋅1 = n! , dla | X | = n
Twierdzenie
Liczba permutacji zbioru n-elementowego jest równa n!
Zasada mnożenia
Jeżeli rozważane są funkcje f : X → Y ,
dla których X = X1∪ X2 i Y = Y1∪ Y2 oraz spełnione są warunki
X1∩ X2 = ∅, f ( X1) ⊆ Y1 i f ( X2) ⊆ Y2 ,
to | Fun(X, Y) | = | Fun(X1, Y1) | ⋅ | Fun(X2, Y2) |
Jeżeli ponadto Y1∩ Y2 = ∅,
to | Inj(X, Y) | = | Inj(X1, Y1) | ⋅ | Inj(X2, Y2) |
Zliczanie rozmieszczeń uporządkowanych
Interpretacja
Na ile sposobów można rozmieścić n ponumerowanych przedmiotów
w m ponumerowanych pudełkach, jeśli dodatkowo rozróżniamy
uporządkowanie przedmiotów, które trafiły do tego samego pudełka?
Dwa rozmieszczenia są identyczne, jeśli w każdym pudełku jest taka
sama liczba i kolejność przedmiotów.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (2) J.Sikorski Strona 7 / 7
Twierdzenie
Liczba rozmieszczeń uporządkowanych n przedmiotów
w m pudełkach jest równa m n = m⋅( m ++++ 1)⋅ ... ⋅( m ++++ n −−−− 1 )
(symbol m n nazywa się potęgą przyrastającą)
9
8
7
6
5
4
3
2
11
2
3
4
5
6
7
8
9
1 2 3 4 5 6 7 8 9
... ...
...
mn
1
1
1
1
1
1
1
1
1
1
90
72
56
42
30
20
12
6
990
720
504
336
210
120
60
11880
7920
5040
3024
1680
840
154440
95040
55440
30240
15120
2162160
1235520
665280
332640
2 6 24 120 720 5040 40320 362880
24
360
120
6720
2520
720
151200
60480
20160
5040
32432400
17297280
8648640
3991680
1663200
604800
181440
40320
518918400
259459200
121080960
51891840
19958400
6652800
1814400
3628800
8821612800
4151347200
1816214400
726485760
259459200
79833600
19958400
3628800
Przykład rozmieszczania uporządkowanego
X = a, b , | X | = 2, | Y | = 3
a b1
b a1
a1
b1
a1
b1
b2
a2
b3
a3
2
2
2
2
3
3
3
3 a
b
a b
b a
b
a
a b
b a
1
1
1
1
1
1
2
2
3
3
2
2
2
2
3
3
3
31.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
32 = 3 ⋅ 4 = 12
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 1 / 11
PERMUTACJE
Permutacją zbioru n-elementowego X nazywamy każdą
wzajemnie jednoznaczną funkcj ę f : X →→→→ X
|Bij(X, X)| = n! , dla | X | = n
n n! 0 1 1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880
10 3628800 11 39916800 12 479001600 13 6227020800 14 87178291200 15 1307674368000 16 20922789888000 17 355687428096000 18 6402373705728000 19 121645100408832000 20 2432902008176640000
Przykład permutacji
dla X = a, b, c, d : f (a) = d, f (b) = a, f (c) = c, f (d) = b
Zapis permutacji w postaci tablicy: fa b c d
d a c b=
,
w górnym wierszu - elementy zbioru X w dowolnej kolejności,
w dolnym wierszu - pod elementem x ∈ X wypisujemy f (x).
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 2 / 11
Jeśli uporządkujemy elementy w górnym wierszu tablicy, to danej
permutacji odpowiada jednoznacznie wektor z dolnego wiersza,
składający się z elementów zbioru X: ( d, a, c, b )
Zatem dowolny wektor n-elementowy, zawierający różne elementy
zbioru X (dla |X| = n), możemy także nazywać permutacją zbioru X.
Przyjmujemy dalej dla uproszczenia, że X = 1, 2, 3, ..., n
Sn - zbiór wszystkich permutacji zbioru 1, 2, ..., n
Każdy element f ∈∈∈∈ Sn identyfikujemy z wektorem (a1, ..., an ),
gdzie ai = f (i) lub zapisujemy w postaci tablicy:
fn
a a an
=
1 2
1 2
...
...
Definicja
Złożeniem permutacji f i g nazywamy permutację f g , taką że
f g (i) = ( )f g i( )
(jest to po prostu złożenie funkcji, gdzie g jest funkcją wewnętrzną)
Przykład złożenia permutacji
f =
1 2 3 4 5
5 3 2 1 4, g =
1 2 3 4 5
2 5 3 1 4
f g =
1 2 3 4 5
3 4 2 5 1
Definicja
Permutację en
n=
1 2
1 2
...
... nazywamy permutacją identycznościową
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 3 / 11
Permutacja e ∈ Sn jest elementem neutralnym dla operacji złożenia:
∀ f ∈ Sn : e f = f e = f
Definicja
Permutacją odwrotną do f ∈ Sn nazywamy permutację f -1 ∈ Sn ,
taką że : f -1 f = e
fi
j=
... ...
... ... f
j
i− =
1 ... ...
... ...
Dla każdej permutacji f zachodzi: f -1 f = f f -1 = e
Rozważmy trzy dowolne permutacje f, g, h ∈ Sn :
fk
l=
... ...
... ..., g
j
k=
... ...
... ..., h
i
j=
... ...
... ...
f ghi
l( )
... ...
... ...=
i ( )
... ...
... ...fg h
i
l=
zatem zachodzi f ( g h ) = ( f g ) h (łączność złożenia)
Dla dowolnych permutacji f, g, h ∈ Sn spełnione są zależności:
f ( g h ) = ( f g ) h
f e = e f = f
f -1 f = f f -1 = e
Zbiór permutacji Sn jest zatem grupą ze względu na działanie
złożenia (grupą symetryczną stopnia n)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 4 / 11
Dowolny podzbiór G ⊆ Sn spełniający warunki:
f, g ∈ G ⇒ f g ∈ G
f ∈ G ⇒ f -1 ∈ G
nazywany jest grupą permutacji stopnia n
Przykłady grup permutacji stopnia 3
G1 = 1 2 3
1 2 3
1 2 3
2 1 3
1 2 3
1 3 2
1 2 3
3 2 1
1 2 3
2 3 1
1 2 3
3 1 2
, , , , , ,
G2 =
312
321,
321
321.
GRAFICZNA REPREZENTACJA PERMUTACJI
f =
1 2 3 4 5
5 3 2 1 4
1
4 5
2
3
Permutacja przedstawiana jest w formie grafu skierowanego
o zbiorze wierzchołków X = 1, ..., n , w którym:
• z wierzch. l ∈ X wychodzi dokładnie jeden łuk do wierzch. f (l),
• do wierzch. l ∈ X dochodzi dokładnie jeden łuk z wierzch. f -1(l).
Graf każdej permutacji składa się z pewnej liczby fragmentów, z
których każdy jest zamkniętą skierowaną drogą, prowadzącą przez
pewien podzbiór wierzchołków grafu.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 5 / 11
Definicja
Permutacją f ∈ Sn nazywamy cyklem wyznaczonym przez ciąg
różnowartościowy (1ia ,
2ia , ..., kia ) o wyrazach ze zbioru 1, ..., n
dla 1 ≤ k ≤ n , jeśli:
• 21
)( ii aaf = , 32
)( ii aaf = , ..., 1
)( ii aafk
=
• jj aaf =)( dla j ≠ 1i , 2i , ..., ki
ai1 ai 2 aik aik+1 ain
Cykl oznaczamy symbolem [1ia ,
2ia , ..., kia ] (k jest jego długością)
np.
f 1 = [1, 5, 4] i f 2 = [2, 3]
ROZKŁAD PERMUTACJI NA CYKLE
Każdą permutację f ∈ Sn można przedstawić w postaci złożenia m
rozłącznych cykli ( 1 ≤ m ≤ n ) o długościach n1, ..., n m
( n1 + ... + n m = n ).
Przykład rozkładu permutacji na cykle
f =
1 2 3 4 5
5 3 2 1 4
f = f 1 f 2 , gdzie f11 2 3 4 5
5 2 3 1 4=
i f2
1 2 3 4 5
1 3 2 4 5=
Zapisujemy: f 1 = [ 1, 5, 4 ] , f 2 = [ 2, 3 ] i f = [ 1, 5, 4 ] [ 2, 3 ]
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 6 / 11
Definicja
Mówimy, że permutacja jest typu (λλλλ1, λλλλ2, ..., λλλλn) , jeśli zawiera w
rozkładzie na rozłączne cykle dokładnie λλλλi cykli o długości i
dla i = 1, 2, ..., n.
Typ permutacji często zapisujemy w postaci:
1 21 2λ λ λ... n n
( symbol i iλ pomijamy w zapisie, jeśli λi = 0 )
Przykład oznaczania typu permutacji
f =
1 2 3 4 5 6 7 8 9
7 5 1 4 2 3 6 9 8
(1 krok) rozkład na cykle: f = [ 1, 7, 6, 3 ] [ 2, 5 ] [ 4 ] [ 8, 9 ] ;
zatem typ permutacji: 11 22 41
Definicja
Parę ( a i , a j ), dla i < j ≤ n, nazywamy inwersją permutacji
( a1, a2, ..., a n ), jeśli a i > a j .
Liczbę wszystkich inwersji w permutacji f ∈ Sn oznaczamy I( f )
Definicja
Znakiem permutacji f ∈ Sn nazywamy liczbę sgn( ) ( ) ( )f I f= −1 .
Definicja
Permutację f ∈ Sn nazywamy parzystą, jeśli sgn( f ) = 1, albo nieparzystą, jeśli sgn( f ) = −1.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 7 / 11
Przykład wyznaczania znaku permutacji
f =
1 2 3 4 5
5 3 2 1 4
inwersje f : (5, 3), (5, 2), (5, 1), (5, 4), (3, 2), (3, 1), (2, 1) ;
zatem I( f ) = 7 ; znak permutacji sgn( f ) = (−1)7 = −1 .
g =
1 2 3 4 5
3 1 4 5 2
inwersje g : (3, 1), (3, 2), (4, 2), (5, 2) ;
zatem I( g ) = 4 ; znak permutacji sgn( g ) = (−1)4 = 1 .
Definicja
Permutację, która jest cyklem o długości 2, nazywamy transpozycją.
Przykład transpozycji
f =
1 2 3 4 5
1 2 5 4 3 = [ 3, 5 ]
Lemat
Dowolną permutację f ∈ Sn można przedstawić w postaci złożenia
I( f ) transpozycji sąsiednich elementów
(tzn. transpozycji postaci [ i, i+1 ] )
Przykład rozkładu na transpozycje
f =
1 2 3 4 5
3 1 4 5 2, I( f ) = 4 i f = [2, 3] [3, 4] [4, 5] [1, 2]
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 8 / 11
Lemat
Znak dowolnego cyklu o długości k jest równy (−1) k−1
Wniosek
Każda transpozycja jest permutacją nieparzystą.
Lemat
Dla dowolnych permutacji f , g ∈ Sn sgn( f g ) = sgn( f ) ⋅ sgn( g ).
Przykład wyznaczania znaku permutacji z zastosowaniem lematu
f =
1 2 3 4 5 6 7 8 9
7 5 1 4 2 3 6 9 8
rozkład na rozłączne cykle: f = [ 1, 7, 6, 3 ] [ 2, 5 ] [ 4 ] [ 8, 9 ]
znaki poszczególnych cykli: sgn([1, 7, 6, 3]) = (−1)3 = −1,
sgn([2, 5]) = (−1)1 = −1, sgn([4]) = (−1)0 = 1, sgn([8, 9]) = (−1)1 = −1
zatem znak permutacji sgn( f ) = (−1)⋅(−1)⋅1⋅(−1) = −1
i permutacja jest nieparzysta
Twierdzenie
Znak dowolnej permutacji f ∈ Sn , która jest typu 1 21 2λ λ λ... n n
wyraża się wzorem
sgn( ) ( )fj
j
n
= −∑=1
21
2
λ
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 9 / 11
Przykład wyznaczania znaku permutacji na podstawie twierdzenia
f =
1 2 3 4 5 6 7 8 9
7 5 1 4 2 3 6 9 8; n = 9 , n 2 4 5 4= =,
rozkład na cykle: f = [ 1, 7, 6, 3 ] [ 2, 5 ] [ 4 ] [ 8, 9 ]
typ permutacji: 11 22 41
sgn( ) ( ) ( )fj
j= −∑
= −= + + +1 12
1
4
2 4 6 8
λλ λ λ λ = (−1)2+1 = −1
i permutacja jest nieparzysta.
PODZBIORY ZBIORU
X = x1, ..., xn , (X) - zbiór wszystkich podzbiorów zbioru X
dla dowolnego podzbioru Y ∈ (X) wyznaczamy jego wektor
charakterystyczny ξ( Y ) = ( b1, b2, ..., bn ) według wzoru:
bx Y
x Yii
i
=∈∉
1
0
jeśli
jeśli , dla i = 1, ..., n
(ξ - grecka litera ksi)
• dowolny wektor ( b1, b2, ..., bn ), gdzie bi ∈ 0, 1 ,
jednoznacznie wyznacza pewien podzbiór zbioru X
• wektor charakterystyczny może być utożsamiony z funkcją
f : 1, 2, ..., n → 0, 1 ⇒ | (X) | = 2n
Liczba wszystkich podzbiorów zbioru n-elementowego wynosi n2
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 10 / 11
Wyznaczanie wszystkich podzbiorów zbioru X
1 sposób:
wystarczy zauważyć, że wektorowi charakterystycznemu ( b1, ..., bn ),
gdzie bi ∈ 0, 1 , odpowiada liczba z przedziału [ 0; n2 − 1 ]
Przykład
X = a, b, c, d, e , n = 5, Y = b, d, e ⊆ X ,
ξ( Y ) = ( 0, 1, 0, 1, 1 )
01011(2) = 0⋅24 + 1⋅23 + 0⋅22 + 1⋅21 + 1⋅20 = 8 + 2 + 1 = 11(10) ∈ [0; 31]
Zatem wypisując po kolei wszystkie liczby z przedziału [ 0; n2 − 1 ]
w systemie dwójkowym można wskazać wszystkie podzbiory zbioru
n-elementowego.
2 sposób (binarny kod Gray’a rzędu n):
kod rzędu n jest ciągiem n-elementowych wektorów binarnych o
długości n2 , w którym każdy kolejny wektor różni się od
poprzedniego tylko jedną współrzedną.
Dla dowolnego naturalnego n ≥ 1 kod Gray’a można wyznaczać
rekurencyjnie :
• dla n = 1 ciąg składa się z dwoch jednoelementowych wektorów
binarnych:
C1 = ( 0 ) i C2 = ( 1 )
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (3) J.Sikorski Strona 11 / 11
• jeśli dla n > 1 mamy wyznaczony ciąg n-elementowych wektorów
binarnych C1, C2, ..., Cm (m = n2 ), w których dwa sąsiednie
wektory różnią się dokładnie jedną współrzędną, to tworzymy ciąg
wektorów binarnych (n+1)-elementowych według schematu:
(C1, 0), (C2, 0), ..., (Cm−1, 0), (Cm, 0), (Cm, 1), (Cm−1, 1), ..., (C1, 1)
Przykład
n = 1 : 0 1
n = 2 : 00 10 11 01
n = 3 : 000 100 110 010 011 111 101 001
n = 4 : 0000 1000 1100 0100 0110 1110 1010 0010
0011 1011 1111 0111 0101 1101 1001 0001
n = 5 : 00000 10000 11000 01000 01100 11100 10100 00100
00110 10110 11110 01110 01010 11010 10010 00010
00011 10011 11011 01011 01111 11111 10111 00111
itd. 00101 10101 11101 01101 01001 11001 10001 00001
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 1 / 9
PODZBIORY k-ELEMENTOWE
X = x1, ..., xn
Przyjmijmy dla dowolnego naturalnego k oznaczenie:
n
k
- liczba wszystkich podzbiorów k-elementowych zbioru
n-elementowego (współczynnik dwumianowy)
Symbol n
k
występuje w tzw. wzorze dwumianowym:
( )x yn
ix yn i n i
i
n
+ =
−
=∑
0
Twierdzenie
k
knnn
knk
n
k
n
k
n k
⋅⋅⋅+−−=
−==
...21
)1(...)1(
)!(!
!
!
Tożsamości spełnione przez współczynniki dwumianowe:
n
ii
nn
=
=∑
0
2 n
ii n
i
nn
=
=
−∑0
12
n
k
n
n k
=
−
n
k
n
k
n
k
=
−
+
−−
1 1
1
W tzw. trójkącie Pascala i-ty wiersz zawiera kolejno i
0
,
i
1
, ...,
i
i
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 2 / 9
„Trójk ąt Pascala”
000
0000
00
0000
000
00
0 0 0
0
00
0
000
00
0
924 792792 495495 220220 6666 1212 111
11
11
11
11
11
1
11111111111
23 3456789
65
4
67
89
1011
1011
10 1015 152021 2135 3528 2856 567036 3684 84126 1264555
4555
120 120210 210252165 462 330462 165330
0 0
0 00 0
000000000
0000 0000000 0000000 0000000 0000 000n = 0
1
2
3
4
5
6
7
8
9
10
11
12
k = 0 1 2 3 4 5 6 7 8 9 10 11 12
... ...
...
nk
Interpretacja współczynnika dwumianowego na kracie:
A
B
n k = 7−
k = 4
Najkrótsza droga z A do B jest sekwencją n = 11 odcinków
z k = 4 pionowymi
A Bn = 11
Podzbiór k odcinków pionowych z n tworzących taką drogę można
wybrać na
k
n =
4
11 sposobów
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 3 / 9
A
B
n k = 7−
k = 4
Najkrótsza droga z A do B jest sekwencją n = 11 odcinków
z n – k = 7 pionowymi
A Bn = 11
Podzbiór n – k odcinków pionowych z n tworzących taką drogę można
wybrać na
− kn
n =
7
11 sposobów
Ponieważ najkrótszych dróg jest tyle samo, to n
k
n
n k
=
−
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 4 / 9
n k = 7−
k = 4
A
BC
D
k 1 = 3−
n k 1 = 6− −
liczba najkrótszych dróg z A do C
=
−=
4
101
k
nPC
A
liczba najkrótszych dróg z A do D
=
−−
=3
10
1
1
k
nPD
A
zbiór najkrótszych dróg z A do B
DA
CA
BA PPP ∪= , gdzie ∅=∩ D
ACA PP
Zatem
+
=+==
3
10
4
10
4
11 DA
CA
BA PPP
n
k
n
k
n
k
=
−
+
−−
1 1
1
A
B
1 1 1 1 1 1 1 1
1
1
1
1
2 3 4 5 6 7 8
3
4
5
6 10
10 20
15
15 21
35
35 70
56
28 36
84 120
126210330
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 5 / 9
W tzw. trójkącie Pascala i-ty wiersz zawiera kolejno i
0
,
i
1
, ...,
i
i
000
0000
00
0000
000
00
0 0 0
0
00
0
000
00
0
924 792792 495495 220220 6666 1212 111
11
11
11
11
11
1
11111111111
23 3456789
65
4
67
89
1011
1011
10 1015 152021 2135 3528 2856 567036 3684 84126 1264555
4555
120 120210 210252165 462 330462 165330
0 0
0 00 0
000000000
0000 0000000 0000000 0000000 0000 000n = 0
1
2
3
4
5
6
7
8
9
10
11
12
k = 0 1 2 3 4 5 6 7 8 9 10 11 12
... ...
...
nk
n
k
n
k
n
k
=
−
+
−−
1 1
1
Blaise Pascal (1623 – 1662)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 6 / 9
Współczynnik wielomianowy
Rozbicie zbioru X na m podzbiorów o zadanych liczbach elementów k1, k2, ..., km
mXXXX ∪∪∪= ...21
∅=∩ ji XX dla 1 ≤ i < j ≤ m ; ii kXnX == ,
mkkk
n
...21- liczba wszystkich rozbić zbioru n-elementowego
Twierdzenie
!...!!!
... mm kkk
n
kkk
n
⋅⋅⋅=
2121
Dowód
Podzbiór X1 można wybrać na
1k
n sposobów,
następnie podzbiór X2 można wybrać na
−
2
1
k
kn sposobów,
następnie podzbiór X3 można wybrać na
−−
3
21
k
kkn sposobów,
...
i w koncu podzbiór Xm można wybrać na
−−− −
m
m
k
kkn 11 ... sposobów.
Zatem
!...!!!...
...... mm
m
m kkk
n
k
kkn
k
kn
k
n
kkk
n
⋅⋅⋅=
−−−⋅⋅
−⋅
=
−
21
11
2
1
121
Przykład wyznaczania wartości wsp. wielomianowego
!!!!!
!!!
!!!
!!!
!!!
223411
022
224
437
7411
2
2
2
4
3
7
4
11
2234
11
⋅⋅⋅=
⋅⋅
⋅⋅
⋅⋅
⋅=
⋅
⋅
⋅
=
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 7 / 9
ZBIORY Z POWTÓRZENIAMI
W zbiorze z powtórzeniami ten sam element może występować
kilkakrotnie.
Liczbę wystąpień nazywamy krotnością tego elementu w zbiorze
X = x1, ..., xn - zbiór
k1, ..., kn - krotności elementów
A = < k1∗x1, ..., kn∗xn > - zbiór z powtórzeniami
Przykład zbioru z powtórzeniami
X = a, b, c ka = 2, kb = 1, kc = 3
Zbiór z powtórzeniami: A = < 2∗a, 1∗b, 3∗c > = < a, a, b, c, c, c >
Liczność zbioru z powtórzeniami: | A | = k1 + ... + kn
Podzbiór zbioru z powtórzeniami jest wyznaczany przez wektor
n-elementowy (m1, ..., mn ), w którym
0 ≤ m1 ≤ k1, . . . , 0 ≤ mn ≤ kn
Zatem liczba podzbiorów zbioru z powtórzeniami o krotnościach
k1, k2,..., kn jest równa ( k1 + 1) ⋅ ( k2 + 1) ⋅ ... ⋅ ( kn + 1)
Twierdzenie
Liczba k-elementowych podzbiorów zbioru z powtórzeniami
< k∗x1, ..., k∗xn > jest równa
−+=
k
kn
k
nk 1
!
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 8 / 9
Dowód
Rozważmy rozmieszczenie uporządkowane k obiektów w n pudełkach.
Liczba takich rozmieszczeń jest równa kn = n⋅( n + 1)⋅...⋅( n + k − 1).
Każde takie rozmieszczenie wyznacza wektor n-elementowy (r1, ..., rn ),
dla którego zachodzi r1 + ... + rn = k , gdzie r i jest liczbą obiektów w
pudełku i.
Wektor (r1, ..., rn ) odpowiada k-elementowemu podzbiorowi
< r1∗x1, ..., rn∗xn > ⊆ < k∗x1, ..., k∗xn >
Ponadto k! rozmieszczeń wyznacza ten sam podzbiór k-elementowy,
a zatem liczba różnych podzbiorów k-elementowych zbioru z
powtórzeniami o wszystkich krotnościach równych k wynosi
−+=
−−+=−+⋅⋅+⋅=
k
kn
nk
kn
k
knnn
k
nk 1
)!1(!
)!1(
!
)1(...)1(
!
Przykład zastosowania twierdzenia
Wyznaczanie liczby całkowitych nieujemnych rozwiązań linowego
równania diofantycznego: x1 + x2 + ... + xn = k
Każde rozwiązanie odpowiada k-elementowemu podzbiorowi
< x1∗z1, ..., xn∗zn > zbioru < k∗z1, ..., k∗zn >.
Zatem liczba rozwiązań wynosi
−+k
kn 1.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (4) J.Sikorski Strona 9 / 9
Interpretacja równania diofantycznego na kracie:
x1 + x2 + x3 + x4 + x5 = 7
k = 7
x1 x2 x4 x5x3
n 1 = 4−
A
B
x1 = 1, x2 = 0, x3 = 3, x4 = 2, x5 = 1
Każde rozwiązanie równania diofantycznego ma wzajemnie
jednoznacznie przyporządkowaną jedną z najkrótszych dróg z A do B.
Zatem liczba rozwiązań jest równa liczbie najkrótszych dróg:
=
+−=
+−7
11
7
7151
k
kn
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 1 / 11
FUNKCJA TWORZ ĄCA
Nieskończony ciąg liczbowy:
(ak) = a0, a1, a2, ..., ak, ...
możemy przedstawić w postaci szeregu potęgowego:
∑∞
==
0
)(k
kkxaxA
- uzyskujemy formalną reprezentację ciągu za pomocą funkcji A(x)
Funkcję A(x) nazywamy funkcja tworzącą dla ciągu (ak)
W oparciu o funkcje tworzące można zdefiniować operacje na ciągach:
∑∞
==
0
)(k
kkxaxA dla (ak) i ∑
∞
==
0
)(k
kkxbxB dla (bk)
• dodawanie: ∑∞
=+=+
0
)()()(k
kkk xbaxBxA dla (ak + bk)
• mnożenie przez liczbę: ∑∞
=⋅=⋅
0
)(k
kkxapxAp dla (p⋅ak)
• iloczyn Cauchy’go: ∑∞
==⋅
0
)()(k
kkxcxBxA dla (ck)
gdzie ck = a0 bk + a1 bk−1 + ... + ak b0 = ∑=
−
k
iikiba
0
;
ciąg (ck) = c0, c1, ..., ck, ... nazywamy splotem ciągów (ak) i (bk)
(ck) = (ak)∗(bk)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 2 / 11
Jeżeli szereg ∑∞
=0k
kkxa jest zbieżny w pewnym otoczeniu zera, to jego
suma A(x) jest funkcją analityczną w tym otoczeniu i wtedy
!
)0()(
k
Aa
k
k = dla k = 0, 1, 2, ...
gdzie A(k)(0) jest wartością k-tej pochodnej funkcji A(x) dla x = 0
Jeśli szereg jest zbieżny to jego funkcją tworząca A(x) jest funkcją
analityczną, np.
xx
k
k
−=∑
∞
= 11
0
x
k
k exk
=∑∞
=0 !1
Przykłady funkcji tworzących
1. ciąg współczynników dwumianowych dla ustalonego n
0
n,
1
n,
2
n, ...,
n
n, 0, 0, ...
i jego funkcja tworząca: ∑∑=
∞
=+=
=
n
k
nk
k
k xxk
nx
k
n
00
)1(
2. ciąg 1, −1, 1, −1, ..., (−1)k, ...
i jego funkcja tworząca: ∑∑∞
=
∞
= +=−=−
00 11
)()1(k
k
k
kk
xxx
3. ciąg 1, 2, 4, 8, ..., 2k, ...
i jego funkcja tworząca: ∑∑∞
=
∞
= −==
00 211
)2(2k
k
k
kk
xxx
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 3 / 11
Jeżeli ciąg jest skończony, tzn. ak = 0 dla k > n , to funkcja tworząca
ciągu jest wielomianem A(x) = a0 + a1x + ... + an xn
Funkcja tworząca dla ciągu liczb podzbiorów k-elementowych
Zbiór X = a1, a2, ..., an
↓ ↓ ↓
(x0 + x1) ⋅ (x0 + x1) ⋅ ... ⋅ (x0 + x1)
↓ ↓ ↓
(1 + x) ⋅ (1 + x) ⋅ ... ⋅ (1 + x) = (1 + x)n =∑∞
=
0k
kxk
n
każdy podzbiór zbioru X może być wskazany przez podanie
czy dany element ak ( k = 1, ..., n ) jest w nim zawarty, czy nie:
x0 = 1 – odpowiada brakowi danego elementu (zero wystąpień)
x1 = x – odpowiada wystąpieniu danego elementu (jeden raz)
Podzbiór jest k-elementowy ⇔ w k czynnikach wybrano składnik x1
Zbiór z powtórzeniami:
Z = < 3∗a1, 1∗a2, 2∗a3 >
↓ ↓ ↓
(1 + x + x2 + x3) ⋅ (1 + x) ⋅ (1 + x + x2) = A(x) = ∑∞
=0k
kkxc
Podzbiór jest k-elementowy ⇔ z każdego nawiasu wybrano taki
składnik ikx , że kkkkkkk xxxxx ==⋅⋅ ++ 321321
Zatem ck , to liczba podzbiorów k-elementowych zbioru Z.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 4 / 11
A(x) = (1 + x + x2 + x3) ⋅ (1 + x) ⋅ (1 + x + x2)
= 1 + 3x + 5x2 + 6x3 + 5x4 + 3x5 + x6
⇒ występuje 1 podzbiór pusty, 3 podzbiory jednoelementowe,
5 podzbiorów dwuelementowych, 6 podzbiorów trzyelementowych,
itd.
Przykłady uwzględnienia dodatkowych warunków dla zb. z powtórz.
Z = < 5∗a1, 2∗a2, 4∗a3 >
Funkcja tworząca dla ciągu liczb podzbiorów k-elementowych:
A(x) = (1 + x + x2 + x3 + x4 + x5 ) ⋅ (1 + x + x2 ) ⋅ (1 + x + x2 + x3 + x4 ).
Trzeba wyznaczyć ile jest podzbiorów k-elementowych, w których
a1, a2 i a3 występują nieparzystą liczbę razy.
Modyfikujemy funkcję tworzącą usuwając potęgi o wykładnikach
parzystych:
A*(x) = (x + x3 + x5 ) ⋅ ( x ) ⋅ ( x + x3 ) = x3 + 2 x5 + 2 x7 + x9.
⇒ występuje
1 podzbiór 3-elementowy: < 1∗a1, 1∗a2, 1∗a3 > ,
2 podzbiory 5-elementowe: < 3∗a1, 1∗a2, 1∗a3 > i < 1∗a1, 1∗a2, 3∗a3 >,
2 podzbiory 7-elementowe: < 5∗a1, 1∗a2, 1∗a3 > i < 3∗a1, 1∗a2, 3∗a3 >,
i 1 podzbiór 9-elementowy: < 5∗a1, 1∗a2, 3∗a3 > .
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 5 / 11
PODZIAŁ ZBIORU NA BLOKI
Podziałem zbioru n-elementowego X na k bloków nazywamy
każdą rodzinę zbiorów,
A1 A2 A3
A4 A5
π = A1, ..., Ak , dla której zachodzi
A1 ∪ ... ∪ Ak = X , Ai ∩ Aj = ∅ dla 1 ≤ i < j ≤ k oraz Ai ≠ ∅ , 1 ≤ i ≤ k
A1, ..., Ak - bloki podziału π
Πk(X) - zbiór wszystkich podziałów zbioru X na k bloków
Π(X) - zbiór wszystkich podziałów zbioru X
Π(X) = Π1(X) ∪ ... ∪ Πn(X)
Przykład zbioru podziałów na zadaną liczbę bloków
X = a, b, c, d k = 3 Π3(X):
π 1 = a, b, c, d π 2 = a, b, c, d
π 3 = a, b, c, d π 4 = a, c, b, d
π 5 = a, b, d, c π 6 = a, d, b, c
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 6 / 11
Ile jest podziałów zbioru n-elementowego na k bloków?
Przykład c.d.
X = a, b, c, d , | X | = 4, k = 3
Π3(X) = π 1, π 2, ..., π 6 | Π3(X) | = 6
LICZBY STIRLINGA (drugiego rodzaju)
k
n = | Πk(X) | , dla | X | = n
k
n = 0 , dla k > n . Dodatkowo przyjmujemy, że
0
0 = 1
Wyznaczanie liczb Stirlinga drugiego rodzaju:
n
n = 1 , dla n ≥ 0
0
n = 0 i dodatkowo
1
n = 1 , dla n > 0
Twierdzenie
k
n =
−−
1
1
k
n + k
−
k
n 1 , dla 0 < k < n
Dowód
Rozważmy zbiór wszystkich podziałów zbioru X = 1, 2, ..., n na
k bloków. Dla dowolnego podziału π ∈ Πk(X) zachodzi jeden z
dwóch rozłącznych przypadków:
• zawiera blok jednoelementowy n albo
• n jest elementem bloku co najmniej dwuelementowego.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 7 / 11
Liczba podziałów w Πk(X), dla których zachodzi przypadek pierwszy,
jest równa liczbie podziałów zbioru n −1 elementowego na k −1
bloków, czyli wynosi
−−
1
1
k
n.
Liczba podziałów, dla których zachodzi przypadek drugi, jest równa
k
−
k
n 1, ponieważ podziały te otrzymujemy z podziałów zbioru
1, 2, ..., n −1 na k bloków poprzez dodawanie elementu n
kolejno do każdego z bloków takiego podziału.
Oba przypadki są rozłączne, a zatem | Πk(X) | =
−−
1
1
k
n + k
−
k
n 1.
Ile jest wszystkich podziałów zbioru n-elementowego?
Bn = |Π(X)| dla | X | = n ; ∑=
=
n
kn k
nB
0
; Bn - liczba Bella
Tablica liczb Stirlinga drugiego rodzaju i liczb Bella:
1
1
1
1
1
1
1
1
1
1
n = 0
1
2
3
4
5
6
7
8
9
10
k = 0 1 2 3 4 5 6 7 8 9 10
... ...
...
nk
1
0
0
0
0
0
0
0
0
0
0
511
255
127
63
31
15
7
3
1
9330
3025
966
301
90
25
6
1
34105
7770
1701
350
65
10
1
42525
6951
1050
140
15
1
22827
2646
266
21
1
2114741408772035215
5211
115975 5880
462
28
750
Bn
36
1
1
45
1
1...
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 8 / 11
GENEROWANIE PODZIAŁÓW ZBIORU
Jeśli mamy podział π = A1, ..., Ak na k bloków
dla zbioru 1, ..., n −1 ,
to możemy utworzyć k +1 podziałów zbioru X = 1, ..., n :
A1 ∪ n, A2 , ..., Ak
A1 , A2 ∪ n, ..., Ak . . . A1 , A2 , ..., Ak ∪ n
A1 , A2 , ..., Ak , n
Przykład generowania podziałów zbioru 1, 2, 3
1
1, 2
1, 2, 3
n = 1
1, 2
1, 2, 3 1, 3, 2 1, 2, 3 1, 2, 3
n = 2
n = 3
Tożsamości dla liczb Stirlinga i Bella
dla m, n ∈ zachodzi ∑∑ =−
= ⋅
⋅−=⋅
= n
kkknn
kkn m
k
nm
k
nm
001)(
in
in Bi
nB ⋅
=∑ =+ 01
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 9 / 11
ZWI ĄZEK PODZIAŁU ZBIORU NA BLOKI
Z RELACJĄ RÓWNOWAŻNOŚCI
Każdemu podziałowi π ∈ Π(X) można jednoznacznie przyporząd-
kować relację równoważności E(π) w zbiorze X , definiując ją jako
Uπ
π∈
×=A
AAE )(
tzn. dwa elementy x, y ∈ X są w relacji E(π), czyli (x, y) ∈ E(π),
wtedy i tylko wtedy, gdy x i y należą do tego samego bloku podziału.
Przykład relacji definiowanej podziałem
X = a, b, c, d , e , π 5 = a, b, d, c, e
E(π 5) = (a, a), (b, b), (b, d), (d, b), (d, d), (c, c), (c, e), (e, c), (e, e) | a ×a b, d ×b, d c, e ×c, e
tablica relacji:
a b c d e a b d c e
a 1 a 1
b 1 1 b 1 1
c 1 1 d 1 1
d 1 1 c 1 1
e 1 1 e 1 1
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 10 / 11
Każdej relacji równoważności E w zbiorze X można jednoznacznie
przyporządkować podział zbioru X na bloki, definiując go jako
X|E = x|E : x ∈ X ,
gdzie pojedynczy blok x|E = y ∈ X : xEy nazywany jest
klasą abstrakcji elementu x
Przykład podziału zbioru na klasy abstrakcji
X = , xEy ⇔ x + y jest liczbą parzystą
podział |E = 0|E, 1|E
0|E = y ∈ : y jest parzysta , 1|E = y ∈ : y jest nieparzysta
Przykład podziału zbioru na klasy abstrakcji
tablica relacji E na zbiorze X = a, b, c, d , e:
a b c d e
a 1 1
b 1 1 1
c 1 1
d 1 1 1
e 1 1 1
podział X|E = a|E, b|E , gdzie a|E = a, c , b|E = b, d, e
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (5) J.Sikorski Strona 11 / 11
Ile jest wszystkich relacji równoważności na zbiorze n-element.?
Twierdzenie
Liczba wszystkich relacji równoważności w zbiorze X, dla | X | = n,
jest równa liczbie Bella nB .
Dowód
Istnieje bijekcja pomiędzy zbiorem relacji równoważności na danym
zbiorze a zbiorem wszystkich podziałów danego zbioru Π(X).
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (6) J.Sikorski Strona 1 / 6
ZLICZANIE SURJEKCJI
Ile jest funkcji ze zbioru X na zbiór Y ?
| Sur(X, Y) | = ?
Przyjmijmy oznaczenie:
mns , = | Sur(X, Y) | - liczba funkcji z X na Y , dla | X | = n, | Y | = m
1
2
3f :
1 = (2) = (3)f f
2 = (4)f
4 3 = (1)f
• każdej funkcji f ∈ Sur(X, Y) można przyporządkować podział
zbioru X na m bloków, definiując go jako
N( f ) = f −1( y) : y ∈ Y (tzw. jądro funkcji)
• każdemu podziałowi π ∈ Πk(X) odpowiada dokładnie m! funkcji
f ∈ Sur(X, Y) , dla których N( f ) = π . Każda z tych surjekcji
przyporządkowuje wzajemnie jednoznacznie blokom podziału π
elementy zbioru Y
⋅=m
nms mn !, = | Sur(X, Y) | , dla | X | = n, | Y | = m
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (6) J.Sikorski Strona 2 / 6
Przykład
1
2
3f :
1 = (2) = (3)f f
2 = (4)f
4 3 = (1)f
n = 4 , m = 3 , Π3(X) ∋ π = N( f ) = 1, 2, 3, 4
PODZIAŁ LICZBY
n, k ∈ 1, 2, ...
Na ile sposobów można zapisać liczbę n
w postaci sumy k składników: n = a1 + ... + ak ,
gdzie a1 ≥≥≥≥ a2 ≥≥≥≥ ... ≥≥≥≥ ak > 0 ?
Każdy taki ciąg składników a1 , ..., ak nazywamy podziałem liczby n
na k składników
P(n, k) - liczba podziałów liczby n na k składników
P(n) = ∑ =n
kknP
1),( - liczba wszystkich podziałów liczby n
Przyjmujemy dodatkowo, że P(0, 0) = P(0) = 1
Przykład zbioru podziałów liczby 6
n = 6 6 P(6,1) = 1 5 1 P(6,2) = 3 4 2 P(6,3) = 3 4 1 1 P(6,4) = 2
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (6) J.Sikorski Strona 3 / 6
3 3 P(6,5) = 1 3 2 1 P(6,6) = 1 3 1 1 1 2 2 2 P(6) = 11 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1
Diagram Ferrersa
Dla podziału n = a1 + ... + ak tworzymy diagram o k wierszach,
który zawiera ai punktów w i-tym wierszu
Przykład diagramu dla podziału liczby 10
10 = 5 + 3 + 2 • • • • • • • • • •
Podział sprzężony powstaje po tzw. transpozycji diagramu Ferrersa
Przykład podziałów sprzężonych
10 = 5 + 3 + 2 • • • • • i 10 = 3 + 3 + 2 + 1 + 1 • • • • • • • • • • • • • • •
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (6) J.Sikorski Strona 4 / 6
Pk(n) - liczba podziałów liczby n o największym składniku równym k
Twierdzenie
Liczba podziałów liczby n na k składników jest równa liczbie takich
podziałów liczby n , w których największy składnik równy jest k :
P(n, k) = Pk(n) , dla k ≤ n
Dowód
Każdy podział liczby n na k składników po transpozycji wyznacza
dokładnie jeden, sprzężony z nim, podział liczby n , w którym
największy składnik równy jest k. Transpozycja tego podziału
sprzężonego wskazuje jednoznacznie na wyjściowy podział. Zatem
istnieje bijekcja pomiędzy tymi dwoma zbiorami podziałów.
Twierdzenie
Dla n ≥ k > 0 zachodzi P(n, k) = P(n −1, k −1) + P(n − k, k)
Dowód
Rozważmy zbiór wszystkich podziałów liczby n na k składników.
Podzielmy go na dwa rozłączne podzbiory:
• podziałów, które nie zawierają żadnego składnika równego 1
• podziałów, które zawierają co najmniej jeden składnik równy 1.
Każdemu podziałowi a1 + ... + ak z pierwszego podzbioru można
wzajemnie jednoznacznie przyporządkować podział
(a1 – 1) + ... + (ak – 1) = n – k .
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (6) J.Sikorski Strona 5 / 6
Zatem liczba podziałów w pierwszym podzbiorze wynosi P(n − k, k),
bo tyle jest podziałów liczby n – k na k składników.
Każdemu podziałowi a1 + ... + ak - 1 + 1 z drugiego podzbioru można
wzajemnie jednoznacznie przyporządkować podział
a1 + ... + ak - 1 = n – 1 .
Zatem liczba podziałów w drugim podzbiorze wynosi P(n − 1, k – 1),
bo tyle jest podziałów liczby n – 1 na k – 1 składników.
Oba podzbiory są rozłączne, a zatem wszystkich podziałów liczby n
na k składników jest P(n, k) = P(n −1, k −1) + P(n − k, k).
Tablica liczby podziałów liczby na składniki:
1
1
1
1
1
1
1
1
1
1n = 0
1
2
3
4
5
6
7
8
9
10
k = 0 1 2 3 4 5 6 7 8 9 10
... ...
...
1
0
0
0
0
0
0
0
0
0
0
2
1
1
12
1
15
1
13
1
11
1
3022151175
3211
42
P n( )
1
1
1
1
P n k( , )
111 056 1
112 077 2
11
1
1
12
1
2
33
44
5
5
6
10
1
2
3
4
57
8
11
1
2
3
56
9
10
1
2
35
7
1
23
5
7
12
3
5
7
1
2
3
5
1
2
3...
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (6) J.Sikorski Strona 6 / 6
Twierdzenie
Dla n ≥ k > 0 zachodzi P(n, k) = ∑ = −k
iiknP
0),(
Dowód
Rozbijmy zbiór wszystkich podziałów liczby n na k składników na
k + 1 bloków: B0, B1, ..., Bk, gdzie Bi (i = 0, 1, ..., k) oznacza zbiór
takich podziałów liczby n, które zawierają k – i składników równych 1.
Każdemu podziałowi a1 + a2 +... + ai + 1 + ... +1 ze zbioru Bi, można
wzajemnie jednoznacznie przyporządkować podział
(a1 – 1) + (a2 – 1) +... + (ai – 1) = n – k .
Zatem liczba podziałów w zbiorze Bi wynosi P(n − k, i), bo tyle jest
podziałów liczby n – k na i składników.
Sumując wszystkie P(n − k, i) po i = 0, 1, ..., k dostajemy liczność
zbioru wszystkich podziałów liczby n na k składników.
Pk(n) - liczba podziałów liczby n na składniki nie większe od k
( n = a1 + ... + aj i ai ≤ k dla i = 1, 2, ..., j ) Twierdzenie
Dla n ≥ k > 0 zachodzi Pk(n) = ∑ =k
iinP
1),(
Dowód
Zauważmy, że Pk(n) = ∑ =k
ii nP
1)( , a wcześniej wykazano, że
Pi(n) = P(n, i).
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 1 / 13
Zbiory uporządkowane
Relację binarną R ⊆ X × X , która jest
• zwrotna, jeśli ∀ x ∈ X : xRx
• przechodnia, jeśli ∀ x, y, z ∈ X : ( xRy ∧ yRz ) ⇒ xRz
• antysymetryczna, jeśli ∀ x, y ∈ X : ( xRy ∧ yRx ) ⇒ x = y
nazywamy relacją (częściowego porządku) i oznaczamy p .
Parę (X, p ) nazywamy zbiorem (częściowo) uporządkowanym:
X – zbiór podstawowy, p − relacja porządkująca X
Dwa elementy x, y ∈ X nazywamy porównywalnymi ,
jeśli x p y lub y p x ,
w przeciwnym przypadku są one nieporównywalne.
Jeśli każde dwa elementy x, y ∈ X są porównywalne, to parę (X, p )
nazywamy zbiorem liniowo uporządkowanym.
W zbiorze uporządkowanym (X, p ) wprowadzamy oznaczenie:
x p y ⇔ x p y ∧ x ≠ y
Jeżeli dla dwóch elementów s, t ∈ X zachodzi s p t i nie istnieje taki
element u ∈ X , że s p u i u p t , to s nazywamy bezpośrednim
poprzednikiem t, a t – bezpośrednim następnikiem s.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 2 / 13
Przykład zbioru uporządkowanego
X = 2, 3, 5, 6, 10, 12, 25, 50, 70, 100 ,
dla a, b ∈ X , a p b ⇔ b mod a = 0 (relacja podzielności).
Graf relacji:
100
502570
12
63
2 10
5
(X, p ) jest zbiorem częściowo uporządkowanym,
ale nie jest zbiorem liniowo uporządkowanym, bo ani (2, 3), ani (3, 2)
nie należy do relacji.
3 p 12, ale 3 nie jest bezpośrednim poprzednikiem 12, bo zachodzi:
3 p 6 i 6 p 12
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 3 / 13
Przykład zbioru uporządkowanego
X = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 – zbiór procesorów;
w(pi) – wydajność procesora i , o(pi) – opłacalność procesora i ;
pi p pj ⇔ w(pi) ≤ w(pj) ∧ o(pi) ≤ o(pj) (pj „nie gorszy od” pi)
pi = pj ⇔ w(pi) = w(pj) ∧ o(pi) = o(pj) (pj „taki sam jak” pi)
pi p pj − pj „lepszy od” pi
oplacalnosc
p1
p2
p3
wydajnosc
p4
p5p6
p7
p8
p9
p10
procesory p2 i p3 są nieporównywalne,
procesor p10 jest lepszy od p6 i jest jego bezpośrednim następnikiem,
procesor p10 jest lepszy od p4 , ale nie jest jego bezpośrednim
następnikiem.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 4 / 13
Wygodnym i czytelnym sposobem przedstawienia zbioru
uporządkowanego (X, p ) jest tzw. diagram Hassego, na którym łączymy odcinkami tylko bezpośrednie poprzedniki z ich następnikami
i następniki umieszczamy powyżej poprzedników.
Przykład diagramu Hassego
X = 2, 3, 5, 6, 10, 12, 25, 50, 70, 100 ,
a p b ⇔ b mod a = 0 .
Diagram:
100
50
25
70
12
6
3 2
10
5
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 5 / 13
Przykład diagramu Hassego
X = p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 – zbiór procesorów;
pi p pj ⇔ pj „nie gorszy od” pi
p1
p8
p3
p7
p5
p2
p4
p6
p10p9
Element xo ∈ X nazywamy elementem maksymalnym w zbiorze
częściowo uporządkowanym (X, p ), jeśli w zbiorze X nie istnieje
element x ≠ xo, dla którego xo p x .
Element xo ∈ X nazywamy elementem minimalnym w zbiorze
częściowo uporządkowanym (X, p ), jeśli w zbiorze X nie istnieje
element x ≠ xo, dla którego x p xo .
Przykład
Procesory p7, p9, p10 są elementami maksymalnymi,
a procesory p1, p4, p5 są elementami minimalnymi.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 6 / 13
Element xo ∈ X nazywamy elementem największym w zbiorze
częściowo uporządkowanym (X, p ), jeśli dla każdego x ∈ X zachodzi
zależność x p xo.
Element xo ∈ X nazywamy elementem najmniejszym w zbiorze
częściowo uporządkowanym (X, p ), jeśli dla każdego x ∈ X zachodzi
zależność xo p x .
Przykład
X = 5, 10, 25, 50, 100 , a p b ⇔ b mod a = 0 ;
100
50
2510
5
Element 100 jest elementem największym, a element 5 jest elementem
najmniejszym,
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 7 / 13
Twierdzenie
W zbiorze częściowo uporządkowanym istnieje co najwyżej jeden
element największy i co najwyżej jeden element najmniejszy.
Przy tym element największy jest elementem maksymalnym, a element
najmniejszy jest elementem minimalnym.
Twierdzenie
W zbiorze liniowo uporządkowanym (X, p ) następujące stwierdzenia
są równoważne:
xo ∈ X jest elementem największym,
x p xo dla każdego x ∈ X \ xo ,
xo ∈ X jest elementem maksymalnym.
Twierdzenie
W zbiorze liniowo uporządkowanym (X, p ) następujące stwierdzenia
są równoważne:
xo ∈ X jest elementem najmniejszym,
xo p x dla każdego x ∈ X \ xo ,
xo ∈ X jest elementem minimalnym.
Twierdzenie
Jeśli (X, p ) jest zbiorem liniowo uporządkowanym oraz X jest
zbiorem skończonym i niepustym, to w (X, p ) istnieją elementy
największy i najmniejszy.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 8 / 13
Element xo ∈ X nazywamy ograniczeniem dolnym zbioru A ⊆ X ,
jeśli dla każdego x ∈ A zachodzi zależność xo p x .
Element xo ∈ X nazywamy ograniczeniem górnym zbioru A ⊆ X ,
jeśli dla każdego x ∈ A zachodzi zależność x p xo .
Przykład
p1
p8
p3
p7
p5
p2
p4
p6
p10p9
A
Procesor p7 jest ograniczeniem górnym dla zbioru procesorów A ;
a procesor p5 jest ograniczeniem dolnym dla zbioru A.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 9 / 13
Jeśli zbiór ograniczeń górnych zbioru A ma element najmniejszy, to
nazywamy go kresem górnym zbioru A i oznaczamy sup A
(łac. supremum – wyżej stojące)
Jeśli zbiór ograniczeń dolnych zbioru A ma element największy, to
nazywamy go kresem dolnym zbioru A i oznaczamy inf A
(łac. infimum – niżej położone)
Przykład
100
50
25
70
12
6
3 2
10
5
A
zbiór ograniczeń górnych zbioru A
inf A
sup A
zbiór ograniczeń dolnych zbioru A
Jeśli xo = sup A oraz xo ∈ A , to stosujemy zapis xo = max A
(łac. maximum – największe)
Jeśli xo = inf A oraz xo ∈ A , to stosujemy zapis xo = min A
(łac. minimum – najmniejsze)
np. 50 = sup A i 50 = max A
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 10 / 13
Przykład
p1
p8
p3
p7
p5 p4
p6
p10p9
Bp2
p9, p10 jest zbiorem ograniczeń górnych dla zbioru procesorów B,
ale w tym zbiorze nie ma elementu najmniejszego;
zatem nie istnieje kres górny zbioru B.
Kres dolny oczywiście istnieje i p4 = inf B .
Pokryciem zbioru X nazywamy taką rodzinę jego podzbiorów
Y1, Y2, ..., Yk (Yi ⊆ X), dla której zachodzi X = Y1 ∪ Y2 ∪ ... ∪ Yk.
Zbiory Y1, Y2, ..., Yk pokrywają zbiór X.
Przykład
Rodzina 2, 3, 5, 5, 6, 10, 12, 25, 50, 25, 50, 70, 100 ,
jest pokryciem zbioru 2, 3, 5, 6, 10, 12, 25, 50, 70, 100 ,
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 11 / 13
Łańcuchem z zbiorze uporządkowanym (X, p ) nazywamy taki
podzbiór L ⊆ X , w którym każde dwa elementy x, y ∈ L są
porównywalne, tzn. zawsze zachodzi x p y lub y p x .
Para złożona z łańcucha L i relacji porządku p obciętej do L tworzy
zatem zbiór liniowo uporządkowany (L, p L).
Antyłańcuchem z zbiorze uporządkowanym (X, p ) nazywamy taki
podzbiór A ⊆ X , w którym żadne dwa różne elementy x, y ∈ L nie są
porównywalne, tzn. zawsze zachodzi x p y ⇔ x = y .
Przykład łańcucha i antyłańcucha
p1
p8
p3
p7
p5
p2
p4
p6
p10p9
L = p3 , p5 , p7 , p8 lub L = p2 , p5 , p10 ;
A = p1 , p2 , p6 lub A = p3 , p9 , p10
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 12 / 13
Robert P. Dilworth (1914 – 1993, California)
Twierdzenie
W każdym skończonym zbiorze częściowo uporządkowanym (X, p )
maksymalna liczność antyłańcucha jest równa minimalnej liczbie
łańcuchów pokrywających zbiór X.
Twierdzenie (dualne)
W każdym skończonym zbiorze częściowo uporządkowanym (X, p )
maksymalna liczność łańcucha jest równa minimalnej liczbie
antyłańcuchów pokrywających zbiór X.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (7) J.Sikorski Strona 13 / 13
Przykład
100
50
25
70
12
6
3 2
10
5
100
50
25
70
12
6
3 2
10
5
100
50
25
70
12
6
3 2
10
5
Jeśli istnieją 3 łańcuchy, które pokrywają zbiór X, to maksymalna
liczność antyłańcucha nie może być większa od 3.
Jeśli najliczniejszy łańcuch ma 4 elementy, to potrzeba nie mniej niż 4
antyłańcuchy, aby pokryć zbiór X.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 1 / 9
Techniki rozwiązywania problemów kombinatorycznych
zasada mnożenia
zasada równoliczności
zasada szufladkowa Dirichleta
zasada włączania-wyłączania
funkcje tworzące
Zasada mnożenia
Jeżeli rozważane są funkcje f : X → Y ,
dla których X = X1∪ X2 i Y = Y1∪ Y2 oraz spełnione są warunki
X1∩ X2 = ∅, f ( X1) ⊆ Y1 i f ( X2) ⊆ Y2 ,
to | Fun(X, Y) | = | Fun(X1, Y1) | ⋅ | Fun(X2, Y2) |
Jeżeli ponadto Y1∩ Y2 = ∅,
to | Inj(X, Y) | = | Inj(X1, Y1) | ⋅ | Inj(X2, Y2) |
Przykład
Jaka jest maksymalna liczba tablic rejestracyjnych typu WI07049?
Tablica to zbiór 7 znaków X = z1, z2, z3, z4, z5, z6, z7,
X1 = z1, z2, X2 = z3, z4, z5, z6, z7, Y1 – zbiór liter, Y2 – zbiór cyfr,
| X1| = 2, | X2| =5, | Y1| = 26, | Y2| = 10, |Fun(X, Y)| = 262 ⋅⋅⋅⋅ 105
Jaka jest maksymalna liczba tablic o różnych literach i różnych cyfrach?
| Inj(X, Y) | = 262 ⋅⋅⋅⋅ 105
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 2 / 9
Zasada równoliczności
Bij(X, Y) ≠ ∅ ⇒ | X | = | Y |
Przykład
Dlaczego podziałów liczby n na k składników jest tyle samo co
podziałów liczby n o największym składniku równym k ?
Bo możemy wzajemnie jednoznacznie przyporządkować podziałowi
liczby n na k składników jego podział sprzężony, który jest podziałem
liczby n o największym składniku równym k.
Zasada szufladkowa
Dla skończonych zbiorów X i Y , takich że | X | > r ⋅ | Y | dla r > 0 :
dla każdej funkcji f ∈ Fun(X, Y) warunek | f −1( y) | > r jest
spełniony dla co najmniej jednego y ∈ Y.
(jeśli wkładamy n przedmiotów do m pudełek i n > r ⋅ m , to w
przynajmniej jednym pudełku znajdzie się ponad r przedmiotów)
Przykład
Dlaczego na egzaminie dla 401 studentów, na którym każdy student
może dowolnie wybrać do rozwiązania 7 zadań z 9, będzie co
najmniej 12 studentów rozwiązujących ten sam zestaw zadań?
Bo wszystkich zestawów, które mogą powstać jest
7
9= 36, a zatem
liczba studentów 401 > 11 ⋅ 36 = 396 i w twierdzeniu r = 11.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 3 / 9
Zasada włączania-wyłączania
...||||||,...,,,,...,,
−∩∩+∩−= ∑∑∑⊆⊆== nkji
kjinji
ji
n
ii
n
ii AAAAAAA
1111U
... + (−1)n−1| A1 ∩ ... ∩ An | =
= ∑∑⊆=
− ∩∩∩−,...,,...,,
|...|)(nppp
ppp
n
i
i
ii
AAA11
1
2121
1
dla n = 3: | A ∪ B ∪ C | =
= | A | + | B | + | C | − | A ∩ B | − | A ∩ C | − | B ∩ C | + | A ∩ B ∩ C |
Zastosowanie zasady włączania-wyłączania do wyznaczenia liczby
podzbiorów k-elementowych zbioru z powtórzeniami
Rozważmy zbiór z powtórzeniami X = < 5∗a, 2∗b, 3∗c >
Ile jest 7-elementowych podzbiorów zbioru X ?
Wprowadźmy pomocniczy zbiór Y = < 7∗a, 7∗b, 7∗c >
Wśród 7-elementowych podzbiorów zbioru Y są takie, które są także
podzbiorami zbioru X i takie, które nimi nie są.
Oznaczmy przez P zbiór 7-elementowych podzbiorów zbioru Y :
| P | =
−+7
173=
7
9= 36
Podzbiorami zbioru X nie są te 7-elementowe podzbiory zbioru Y,
które zawierają ponad 5 powtórzeń elementu a lub ponad 2
powtórzenia elementu b, lub ponad 3 powtórzenia elementu c.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 4 / 9
Rozważmy następujące zbiory:
Pa – zbiór 7-elementowych podzbiorów zbioru Y, które zawierają
ponad 5 powtórzeń elementu a ,
Pb – zbiór 7-elementowych podzbiorów zbioru Y, które zawierają
ponad 2 powtórzenia elementu b :
Pc – zbiór 7-elementowych podzbiorów zbioru Y, które zawierają
ponad 3 powtórzenia elementu c :
Zbiór 7-elementowych podzbiorów zbioru Y, które nie są podzbiorami
zbioru X to Pa ∪ Pb ∪ Pc ,
a zatem liczba 7-elementowych podzbiorów zbioru Y, które są
podzbiorami zbioru X wynosi | P | − | Pa ∪ Pb ∪ Pc |
| Pa ∪ Pb ∪ Pc | = | Pa | + | Pb | + | Pc | +
− | Pa ∩ Pb | − | Pa ∩ Pc | − | Pb ∩ Pc | + | Pa ∩ Pb ∩ Pc |
Każde A ∈ Pa może być zapisane jako A = < 6∗a, 0∗b, 0∗c > ∪ A',
gdzie A' jest 1-elementowym podzbiorem zbioru < 1∗a, 7∗b, 7∗c > :
| Pa | =
−+1
113=
1
3= 3
Każde B ∈ Pb może być zapisane jako B = < 0∗a, 3∗b, 0∗c > ∪ B',
gdzie B' jest 4-elementowym podzbiorem zbioru < 7∗a, 4∗b, 7∗c > :
| Pb | =
−+4
143=
4
6= 15
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 5 / 9
Każde C ∈ Pc może być zapisane jako C = < 0∗a, 0∗b, 4∗c > ∪ C',
gdzie C' jest 3-elementowym podzbiorem zbioru < 7∗a, 7∗b, 3∗c > :
| Pc | =
−+3
133=
3
5= 10
| Pa ∩ Pb | = 0, bo podzbiór należący do Pa ∩ Pb musiałby mieć co
najmniej 9 elementów < 6∗a, 3∗b, ?∗c >.
| Pa ∩ Pc | = 0, bo podzbiór należący do Pa ∩ Pc musiałby mieć co
najmniej 10 elementów < 6∗a, ?∗b, 4∗c >.
| Pb ∩ Pc | = 1, bo podzbiór należący do Pb ∩ Pc jest tylko jeden
< 0∗a, 3∗b, 4∗c >.
| Pa ∩ Pb ∩ Pc | = 0, bo podzbiór należący do Pa ∩ Pb ∩ Pc musiałby
mieć co najmniej 13 elementów < 6∗a, 3∗b, 4∗c >.
Czyli | Pa ∪ Pb ∪ Pc | = 3 + 15 + 10 – 0 – 0 – 1 + 0 = 27,
27 podzbiorów 7-elementowych zbioru Y nie jest podzbiorami X.
Liczba 7-elementowych podzbiorów zbioru X wynosi zatem
| P | − | Pa ∪ Pb ∪ Pc | = 36 – 27 = 9
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 6 / 9
Zastosowanie zasady włączania-wyłączania
do wyznaczenia liczby surjekcji
Dla | X | = n, | Y | = m , | Sur(X, Y) | =
⋅=m
nms mn !, ,
ale spróbujmy ominąć odwołanie do liczb Stirlinga drugiego rodzaju.
Przyjmijmy, że Y = y1, y2, ..., ym i podzbiór Fi ⊆ Fun(X, Y) jest
zbiorem takich funkcji f , dla których yi ∉ f (X).
Zatem zbiór F1 ∪ F2 ∪ ... ∪ Fm jest zbiorem funkcji f ∈ Fun(X, Y) ,
które nie są surjekcjami:
mns , = | Fun(X, Y) | − | F1 ∪ F2 ∪ ... ∪ Fm |, | Fun(X, Y) | = mn
| F1 ∪ F2 ∪ ... ∪ Fm | = ∑∑⊆=
− ∩∩∩−,...,,...,,
|...|)(mppp
ppp
m
i
i
ii
FFF11
1
2121
1
Należy zatem wyznaczyć liczności zbiorów ippp FFF ∩∩∩ ...
21dla
i = 1, 2, ..., m i mppp i ,...,,...,, 121 ⊆ .
Zauważmy, że jeśli f ∈ ippp FFF ∩∩∩ ...
21, to
ippp yyy ,...,,21
∉ f (X).
Zatem ippp FFF ∩∩∩ ...
21= Fun(X, Y \
ippp yyy ,...,,21
) ;
|ippp FFF ∩∩∩ ...
21| = | Fun(X, Y \
ippp yyy ,...,,21
) | = nim )( −
Podzbiór ippp yyy ,...,,
21 można wybrać ze zbioru Y na
i
m sposobów,
a zatem n
mpppppp im
i
mFFF
ii
)(|...|,...,,...,,
−
=∩∩∩∑⊆ 121
21
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 7 / 9
i ostatecznie | F1 ∪ F2 ∪ ... ∪ Fm | = ∑=
− −
−m
i
ni imi
m
1
11 )()( .
Liczba surjekcji mns , = | Fun(X, Y) | − | F1 ∪ F2 ∪ ... ∪ Fm | =
= nm − ∑=
− −
−m
i
ni imi
m
1
11 )()( = nm + ∑=
−
−m
i
ni imi
m
1
1 )()(
mns , =∑−
=−
−1
0
1m
i
ni imi
m)()(
Porównując
⋅m
nm! = ∑
−
=−
−1
0
1m
i
ni imi
m)()( otrzymujemy wzór pozwalający bez
rekurencji wyznaczać liczby Stirlinga drugiego rodzaju:
∑∑−
=
−
= ⋅−−−=−
−=
1
0
1
0
111 m
i
ni
m
i
ni
iim
imim
i
m
mm
n
!)!()(
)()()(!
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 8 / 9
Zastosowanie zasady włączania-wyłączania
do wyznaczenia liczby nieporządków
Sn − zbiór wszystkich permutacji zbioru 1, 2, ..., n
Każdy element f ∈ Sn możemy zapisać w postaci tablicy:
=)(...)()(
...
nfff
nf
21
21
Nieporządkiem nazywamy taką permutację f ∈ Sn ,
dla której f (i) ≠ i dla każdego i ∈ 1, 2, ..., n
Dn − zbiór wszystkich nieporządków w zbiorze 1, 2, ..., n
| Dn | = ?
Przyjmijmy, że Ai = f ∈ Sn : f (i) = i dla i ∈ 1, 2, ..., n .
W zbiorze A1 ∪ A2 ∪ ... ∪ An są wszystkie permutacje f ∈ Sn , które
nie są nieporządkami, a zatem | Dn | = | Sn | − | A1 ∪ A2 ∪ ... ∪ An |.
| Sn | = n! ,
| A1 ∪ A2 ∪ ... ∪ An | = ∑∑⊆=
− ∩∩∩−,...,,...,,
|...|)(nppp
ppp
n
i
i
ii
AAA11
1
2121
1 .
Należy zatem wyznaczyć liczności zbiorów ippp AAA ∩∩∩ ...
21dla
i = 1, 2, ..., n i mppp i ,...,,...,, 121 ⊆ .
ippp AAA ∩∩∩ ...21
jest zbiorem wszystkich takich permutacji
f ∈ Sn , dla których f (pj) = pj dla j = 1, 2, ..., i , a zatem
|ippp AAA ∩∩∩ ...
21| = (n – i)!
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (8) J.Sikorski Strona 9 / 9
Podzbiór p1, p2, ..., pi można wybrać ze zbioru 1, 2, ..., n na
i
n
sposobów, a zatem )!(|...|,...,,...,,
ini
nAAA
npppppp
ii
−
=∩∩∩∑⊆ 121
21
i ostatecznie | A1 ∪ A2 ∪ ... ∪ An | = ∑=
− −
−n
i
i ini
n
1
11 )!()( .
Liczba nieporządków | Dn | = | Sn | − | A1 ∪ A2 ∪ ... ∪ An | =
n! − ∑=
− −
−n
i
i ini
n
1
11 )!()( = n! + ∑=
−
−n
i
i ini
n
1
1 )!()( = ∑=
−n
i
i
i
n
0
1!!
)( .
| Dn | = ∑=
−n
i
i
in
0
1!)(
!
Na przykład
Dla n = 5 liczba nieporządków
| Dn | =
−+−+−!!!!!
!51
41
31
21
11
15 = 44
spośród wszystkich 5! = 120 permutacji, czyli ponad 36%
36787944011
0
,!)( ≈ →−=
∞→=∑
eiS
Dn
n
i
i
n
n
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 1 / 13
GRAFY i SIECI
GRAFY – podstawowe definicje
Graf : G = ( V, E ) - para uporządkowana
V = 1, 2, ..., n - zbiór wierzchołków grafu
E ⊆ i, j : i ≠ j i i, j ∈ V - zbiór krawędzi grafu
Terminologia:
graf = graf symetryczny, graf nieskierowany, graf niezorientowany
Rysunek grafu:
• wierzchołek i przedstawiamy symbolicznie i
• krawędź i, j przedstawiamy i j
Przykład grafu
G = ( V, E ):
1
2 3
4
5
6
7
V = 1, ..., 7 , E = 1, 2, 1, 3, 1, 4, 2, 3, 3, 4, 6, 7
Graf skierowany: D = ( V, A ) - para uporządkowana
V = 1, 2, ..., n - zbiór wierzchołków grafu
A ⊆ V × V - zbiór łuków grafu
Terminologia:
graf skierowany = digraf, graf zorientowany
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 2 / 13
Rysunek grafu skierowanego:
• wierzchołek i przedstawiamy symbolicznie i
• łuk ( i, j ) przedstawiamy ji
Przykład grafu skierowanego
D = ( V, A ): V = 1, ..., 7 ,
1
2 3
4
5
6
7
A = (1, 4), (2, 1), (2, 3), (2, 4), (3, 2), (3, 4), (5, 7), (6, 6), (7, 5)
Dla grafu skierowanego D = ( V, A ) definiujemy pochodny graf
nieskierowany G(D) = ( V, ED ):
i, j ∈ ED ⇔ ( i, j ) ∈ A ∨ ( j, i ) ∈ A dla i ≠ j
Przykład grafu pochodnego
G(D) = ( V, ED ):
1
2 3
4
5
6
7
V = 1, ..., 7 , ED = 1, 2, 1, 4, 2, 3, 2, 4, 3, 4, 5, 7
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 3 / 13
Graf nazywamy pełnym, jeśli dla każdej pary wierzchołków istnieje
krawędź łącząca te wierzchołki.
Symboliczne oznaczenie grafu pełnego o n wierzchołkach − K n
Przykłady grafów pełnych
K5K4K3K2K1 K6
Liczba krawędzi w grafie pełnym K n wynosi 2
)1(2
−=
nnn
Dopełnieniem grafu G = (V, E) nazywamy graf G , który ma ten sam
zbiór wierzchołków co G i wszystkie krawędzie grafu pełnego VK
nie występujące w grafie G.
Przykład dopełnienia grafu
1
2
3
4
5
6
1
2
3
4
5
6
G G
W grafie G = ( V, E ) dla krawędzi e = i, j ∈ E mówimy, że
wierzchołki i, j są incydentne z krawędzią e. Dwa wierzchołki grafu
incydentne z tą samą krawędzią nazywamy sąsiednimi lub zależnymi.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 4 / 13
Dwie krawędzie grafu incydentne z tym samym jego wierzchołkiem
nazywamy zależnymi.
Grafem krawędziowym grafu G = (V, E) nazywamy graf L(G),
którego wierzchołki odpowiadają krawędziom grafu G, a krawędzie
odpowiadają parom zależnych krawędzi grafu G.
Przykład grafu krawędziowego
a
bg
c
d
f
e
a
b
g
c
d e
f
L G( )
1
2
3
4
5
6
G
Podgrafem grafu G = ( V, E ) nazywamy każdy graf G′ = ( V′, E′ ),
dla którego V′ ⊆ V oraz E′ ⊆ E.
Przykład grafu i jego podgrafu
G :
1
2 3
4
5
6
7 G′ :
1
2 3 5
6
7
Grafy a relacje
• Dla grafu skierowanego D = ( V, A ): A – relacja na zbiorze V
• Dla grafu (nieskierowanego) G = ( V, E ):
E może wynikać z relacji R na zbiorze V, która jest symetryczna i
nie jest zwrotna: ( i, j ) ∈ R ∨ ( j, i ) ∈ R ⇒ i, j ∈ E
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 5 / 13
STOPNIE WIERZCHOŁKÓW
Graf (nieskierowany) G = ( V, E )
krawędź e = i, j ∈ E
− wierzchołki i oraz j są incydentne z krawędzią e, a ona z nimi.
− krawędź e łączy dwa wierzchołki i oraz j, które są jej końcami.
− wierzchołki i oraz j są sąsiednie lub inaczej zależne.
V(i) – zbiór wierzchołków sąsiednich z wierzchołkiem i
V(i) = j∈V : i, j ∈ E
d(i) = | V(i) | − stopień wierzchołka i (inne oznaczenie deg(i) )
Wierzchołek stopnia 0 nazywamy wierzchołkiem izolowanym.
Dla podzbioru M ⊆ V definiujemy:
VM (i) = j∈M : i, j ∈ E
dM (i) = | VM (i) | − stopień wierzchołka i względem podzbioru M
Przykład wyznaczania stopni wierzchołków w grafie
3
4 2
1
6
5
V(1) = 2, 3, 4, 5 ⇒ d(1) = 4 ; V(4) = 1, 2, 3 ⇒ d(4) = 3
V(6) = ∅ ⇒ d(6) = 0 (wierzchołek izolowany)
dla M = 3, 4: dM (1) = 2, dM (4) = 1, dM (5) = 0
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 6 / 13
Graf skierowany D = ( V, A )
łuk a = ( i, j ) ∈ A
− wierzchołki i oraz j są incydentne z łukiem a
− wierzchołek i jest początkiem łuku a
− wierzchołek j jego końcem łuku a
V +(i) – zbiór końców łuków wychodzących z wierzchołka i
V +(i) = j∈V : (i, j)∈ A
V −(i) – zbiór początków łuków wchodzących do wierzchołka i
V −(i) = j∈V : (j, i)∈ A
d +(i) = | V +(i) | − stopień wyjściowy wierzchołka i
d −(i) = | V −(i) | − stopień wejściowy wierzchołka i
d(i) = d +(i) + d −(i) − stopień wierzchołka i
Dla podzbioru M ⊆ V definiujemy:
)(iVM+ = j∈M : (i, j) ∈ A
)(iVM− = j∈M : j, i ∈ A
)(idM+ = | )(iVM
+ | − stopień wyjściowy wierzchołka i względem M
)(idM− = | )(iVM
− | − stopień wejściowy wierzchołka i względem M
dM(i) = )(idM+ + )(idM
− − stopień wierzchołka i względem M
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 7 / 13
Przykład wyznaczania stopni wierzchołków w grafie skierowanym
1
2 3
4
5
6
V +(3) = 2, 4, 5 ⇒ d +(3) = 3; V −(3) = 2, 5 ⇒ d −(3) = 2;
zatem d(3) = d +(3) + d −(3) = 5
V +(6) = 6 ⇒ d +(6) = 1; V −(6) = 6 ⇒ d −(6) = 1;
zatem d(6) = d +(6) + d −(6) = 2
dla M = 2, 4: )3(+Md = 2, )3(−
Md = 1, dM(3) = 3
Twierdzenie (lemat o uściskach dłoni)
Dla dowolnego grafu (nieskierowanego) G = ( V, E ) zachodzi
EidVi
2)( =∑∈
Twierdzenie
Dla dowolnego grafu skierowanego D = ( V, A ) zachodzi
AididViVi
==∑∑∈
+
∈
− )()(
Zatem dla grafu skierowanego D = ( V, A ) także zachodzi
AidVi
2)( =∑∈
Wniosek
W każdym grafie skierowanym lub nieskierowanym liczba
wierzchołków stopnia nieparzystego jest parzysta.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 8 / 13
MACIERZ INCYDENCJI
Graf (nieskierowany) G = ( V, E )
zbiór wierzchołków V = 1, 2, ..., n
zbiór krawędzi E = e1, e2,..., em ⊆ i, j: i, j ∈ V
Macierz incydencji grafu:
I(G) = [ a ij ] i =1, ..., n , j =1, ..., m
∈
=przypadkuprzeciwnymw0
jesli1 jij
eia
Przykład wyznaczania macierzy incydencji
V = 1, 2, 3, 4, 5
E = e1, e2, e3, e4, e5, e6 = 1, 2, 1, 3, 2, 3, 2, 4, 3, 4, 4, 5
1
2 4
3
5
e1
e2
e3 e5
e4 e6
e1 e2 e3 e4 e5 e6
1 1 1 0 0 0 0 d(1) = 2
2 1 0 1 1 0 0 d(2) = 3
IE = 3 0 1 1 0 1 0 d(3) = 3
4 0 0 0 1 1 1 d(4) = 3
5 0 0 0 0 0 1 d(5) = 1
ΣΣΣΣ d = 12
Aby wykazać, że EidVi
2)( =∑∈
wystarczy zsumować wiersze
macierzy incydencji i policzyć w niej wszystkie jedynki.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 9 / 13
Graf skierowany (bez pętli) D = ( V, A )
zbiór wierzchołków V = 1, 2, ..., n
zbiór krawędzi A = a1, a2,..., am ⊆ V × V
Macierz incydencji grafu skierowanego bez pętli:
I(D) = [ a ij ] i =1, ..., n , j =1, ..., m
==−
=przypadkuprzeciwnymw0
),(jesli1
),(jesli1
kia
ika
a j
j
ij
Przykład wyznaczania macierzy incydencji
V = 1, 2, 3, 4, 5
E = a1, a2, a3, a4, a5, a6 = (1, 3), (3, 1), (2, 1), (3, 2), (2, 4), (5, 3)
2
1 3
4
5a1
a2
a3 a4
a5
a6
a1 a2 a3 a4 a5 a6
1 1 −1 −1 0 0 0 d+(1) = 1, d −(1) = 2, d(1) = 3
2 0 0 1 −1 1 0 d+(2) = 2, d −(2) = 1, d(2) = 3
IA = 3 −1 1 0 1 0 −1 d+(3) = 2, d −(3) = 2, d(3) = 4
4 0 0 0 0 −1 0 d+(4) = 0, d −(4) = 1, d(4) = 1
5 0 0 0 0 0 1 d+(5) = 1, d −(5) = 0, d(5) = 1
Σ d+ = 6, Σ d − = 6, Σ d = 12
Aby wykazać, że AididViVi
==∑∑∈
+
∈
− )()( wystarczy policzyć ile jest
niezerowych elementów o jednakowych znakach w wierszach
macierzy incydencji i w całej macierzy.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 10 / 13
MACIERZ SĄSIEDZTWA WIERZCHOŁKÓW
Graf (nieskierowany) G = ( V, E ), V = 1, 2, ..., n
Macierz sąsiedztwa wierzchołków grafu:
B(G) = [ b ij ] i =1, ..., n , j =1, ..., n
∈
==przypadkuprzeciwnymw0
,jesli1 Ejibb jiij
Przykład wyznaczania macierzy sąsiedztwa wierzchołków
V = 1, 2, 3, 4, 5
1
2 4
3
5
e1
e2
e3 e5
e4 e6
1 2 3 4 5
1 0 1 1 0 0 d(1) = 2
2 1 0 1 1 0 d(2) = 3
BE = 3 1 1 0 1 0 d(3) = 3
4 0 1 1 0 1 d(4) = 3
5 0 0 0 1 0 d(5) = 1
d(1) = 2 d(2) = 3 d(3) = 3 d(4) = 3 d(5) = 1
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 11 / 13
Graf skierowany D = ( V, A ), V = 1, 2, ..., n
Macierz sąsiedztwa wierzchołków grafu:
B(D) = [ b ij ] i =1, ..., n , j =1, ..., n
∈
=przypadkuprzeciwnymw0
),(jesli1 Ajibij
Przykład wyznaczania macierzy sąsiedztwa wierzchołków
V = 1, 2, 3, 4, 5
2
1 3
4
5a1
a2
a3 a4
a5
a6
1 2 3 4 5
1 0 0 1 0 0 d+(1) = 1
BA = 2 1 0 0 1 0 d+(2) = 2
3 1 1 0 0 0 d+(3) = 2
4 0 0 0 0 0 d+(4) = 0
5 0 0 1 0 0 d+(5) = 1
d−(1) = 2 d−(2) = 1 d−(3) = 2 d−(4) = 1 d−(5) = 0
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 12 / 13
IZOMORFIZM GRAFÓW
Dwa grafy (nieskierowane) G = ( V, E ) i G′ = ( V′, E′ ) są
izomorficzne, jeśli istnieje wzajemnie jednoznaczne odwzorowanie
VVf ′→ −11: , takie że dla dowolnej pary wierzchołków i, j ∈ V
zachodzi i, j ∈ E ⇔ f ( i ), f ( j ) ∈ E′
Dla grafów skierowanych D = ( V, A ) i D′ = ( V′, A′ ) odpowiednio:
( i, j ) ∈ A ⇔ ( f ( i ), f ( j ) ) ∈ A′
Izomorfizm grafów zapisujemy GG ′≅
Przykład grafów izomorficznych
7
1
5
4
6
2
3
8
e
d
f
b
c
h
a g
Izomorfizm:
i 1 2 3 4 5 6 7 8
f (i) a b c d e f g h
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (9) J.Sikorski Strona 13 / 13
TYPY GRAFÓW
Graf nazywamy regularnym, jeśli wszystkie jego wierzchołki mają
ten sam stopień.
Uwaga
Dwa grafy regularne o tej samej liczbie wierzchołków i tym samym
stopniu wierzchołków nie muszą być izomorficzne.
Przykład ilustrujący brak izomorfizmu
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 1 / 12
TYPY GRAFÓW c.d.
Graf nazywamy dwudzielnym, jeśli zbiór jego wierzchołków można
podzielić na dwa rozłączne podzbiory, tak że żadne dwa wierzchołki
należące do tego samego podzbioru nie są sąsiednie.
G = ( V1 ∪ V2 , E )
|V1| = r , |V2| = s , V1 ∩ V2 = ∅
Graf G = ( V1 ∪ V2 , E ) nazywamy pełnym grafem dwudzielnym,
jeśli jest dwudzielny i zawiera wszystkie krawędzie łączące
wierzchołki ze zbioru V1 z wierzchołkami ze zbioru V2.
Oznaczenie pełnego grafu dwudzielnego − K r, s
Przykłady pełnych grafów dwudzielnych
K2, 3 K1, 5
Graf jest planarny (płaski), jeśli można go narysować na płaszczyźnie
bez przecięć krawędzi.
a
ed
b
c
a
ed
b
c
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 2 / 12
Twierdzenie (Kuratowski)
Graf jest planarny wtedy i tylko wtedy, gdy nie zawiera podgrafu,
który można otrzymać z grafów K 5 lub K 3, 3 przez podział krawędzi
wierzchołkami o stopniu 2.
Grafy, które można otrzymać z danego grafu przez podział krawędzi,
polegający na wstawieniu dodatkowych wierzchołków stopnia 2,
nazywamy grafami homeomorficznymi (z jęz. łac. „podobnego
kształtu”) z tym grafem.
Przykłady grafów homeomorficznych z K 5 i K 3,3
Kazimierz Kuratowski (1896 – 1980)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 3 / 12
Przykład zastosowania twierdzenia Kuratowskiego
Tzw. graf Petersena:
g
a
e
d
fb
c
hi
j
g
a
e
d
f b
ch i
j
(a) (b)
⇒ graf Petersena nie jest planarny
DROGI i CYKLE w grafach
Dla grafu (nieskierowanego) G = ( V, E )
drogą z wierzchołka v0 ∈∈∈∈ V do vt ∈∈∈∈ V nazywamy ciąg
(naprzemienny) wierzchołków i krawędzi grafu:
( v0, e1, v1, e2, ..., vt−1, et, vt ),
spełniający warunek ei = vi−1, vi dla i = 1, ..., t
Przykład drogi w grafie
1
2 4
3
5
a
b
c e
d f
droga: ( 1, a, 2, c, 3, e, 4, f, 5), t = 4
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 4 / 12
Dla drogi ( v0, e1, v1, e2, ..., vt−1, et, vt ):
wierzchołek v0 nazywamy jej początkiem, wierzchołek vt − jej końcem
a liczbę t nazywamy długością drogi.
Drogę można utożsamiać dla uproszczenia
z ciągiem wierzchołków sąsiednich (v0, v1, ..., vt)
lub ciągiem krawędzi zależnych (e1, ..., et)
Dla grafu skierowanego D = ( V, A )
drogą z wierzchołka v0 ∈∈∈∈ V do vt ∈∈∈∈ V nazywamy ciąg
(naprzemienny) wierzchołków i łuków grafu:
( v0, a1, v1, a2, ..., vt−1, at, vt ),
spełniający warunek ai = ( vi−1, vi ) dla i = 1, ..., t
Przykład drogi w grafie skierowanym
2
5d
e
b c
a
f31
4
droga ( 5, f, 3, e, 1, d, 3, c, 2, a, 4 ), t = 5
Drogę w grafie skierowanym można utożsamiać dla uproszczenia
z ciągiem odpowiednio skierowanych łuków zależnych (e1, ..., et)
droga prosta - droga, w której wszystkie krawędzie (łuki) w
ciągu są różne
droga elementarna - droga, w której wszystkie wierzchołki w ciągu
są różne
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 5 / 12
Przykłady dróg w grafie
1
2 4
3
6
5
droga prosta (1, 3, 4, 5, 3, 6)
droga elementarna (1, 2, 4, 3, 5, 6)
Cyklem nazywamy drogę, dla której v0 = vt (droga zamknięta) i t >>>> 0
Cyklem elementarnym nazywamy cykl, w którym wierzchołki
v1, v2, ..., vt−1 są różne
Twierdzenie (Dirac, 1952)
Jeśli G = ( V, E ) jest grafem, w którym minimalny stopień
wierzchołka jest równy δ, to
• w grafie G istnieje droga elementarna o długości co najmniej δ,
• dla δ ≥ 2 w grafie G istnieje cykl elementarny o długości co
najmniej δ + 1
Dowód
cykl C
v0
v1
v2
v3
v4
vk
vt
droga P
v0
v1
v2
v3
v4
vk
vt
d( ) >iv
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 6 / 12
Niech P = (v0, v1, ..., vt) będzie drogą elementarną w grafie G o
maksymalnej długości (tzn. nie można jej przedłużyć na żadnym
końcu). Wówczas wszystkie wierzchołki sąsiednie z v0 muszą
należeć do P.
Niech k = max i : v0, vi ∈ E .
Z założenia o maksymalnej długości drogi wynika, że k ≥ d(v0) ≥ δ.
Zatem droga P ma długość co najmniej δ.
Ponadto, jeśli δ ≥ 2, to C = (v0, v1, ..., vk, v0) jest cyklem elementarnym
o długości co najmniej δ + 1.
Graf (nieskierowany) nazywamy spójnym, jeśli dla każdej pary
wierzchołków u i v istnieje w nim droga z u do v.
Graf skierowany jest spójny (słabo spójny), jeśli jego pochodny graf
nieskierowny jest spójny.
Graf skierowany jest silnie spójny, jeśli dla każdej pary wierzchołków
u i v istnieje w nim droga z u do v.
Przykład skierowanego grafu spójnego, ale nie silnie spójnego
2
1 3
4
5a1
a2
a3 a4
a5
a6
Składową spójną grafu nazywamy taki jego podgraf, który jest spójny
i nie jest podgrafem innego grafu spójnego.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 7 / 12
Przykład grafu o 3 składowych spójnych
1
2 3
4
5
6
7
Twierdzenie
Dla grafu o n wierzchołkach i k składowych spójnych liczba
krawędzi m jest ograniczona przez nierówność:
2
)1)(()(
+−−≤≤− knknmkn
Wniosek
W grafie spójnym liczba krawędzi m spełnia nierówność:
2)1(
)1(−≤≤− nn
mn
Uwaga
• m jest maksymalne dla grafu pełnego Kn : 2
)1( −= nnm
• m jest minimalne dla drzewa : m = n − 1
Warunek konieczny i dostateczny dwudzielności grafu
Twierdzenie
Graf o n wierzchołkach, gdzie n ≥ 2, jest dwudzielny wtedy i tylko
wtedy, kiedy nie zawiera cyklu o nieparzystej długości.
Zauważmy, że w grafie dwudzielnym każdy cykl musi mieć parzystą
długość.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 8 / 12
Warunki konieczne planarności grafu
Rozważmy rysunek grafu planarnego G = ( V, E ) bez przecięć
krawędzi:
1
2 3
4
5
6
7
f 1
f 2 f 3
Na tym rysunku można wyróżnić podzbiory punktów płaszczyzny,
które mają dwie cechy:
każde dwa punkty z tego samego zbioru można połączyć krzywą na
płaszczyźnie, nie przecinając żadnej z krawędzi grafu;
każdy z tych podzbiorów jest maksymalny w sensie relacji
zawierania.
Takie podzbiory nazywamy ścianami grafu planarnego (np. f1, f2 i f3 ).
Dokładnie jedna ze ścian jest „nieograniczona”.
Przykład interpretacji pojęcia „ ściany” dla grafu planarnego
Graf ośmiościanu foremnego (jeden z tzw. grafów platońskich):
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 9 / 12
Twierdzenie
Jeśli graf o n wierzchołkach, m krawędziach, k składowych
spójnych i f ścianach jest planarny, to n – m + f = k + 1
Wniosek
Jeśli graf planarny jest spójny, to n – m + f = 2 (tzw. wzór Eulera)
Wniosek
Jeśli graf jest planarny i n ≥ 3, to m ≤≤≤≤ 3n – 6
Wniosek
Jeśli graf dwudzielny jest planarny i n ≥ 3, to m ≤≤≤≤ 2n – 4
Wniosek
Każdy graf planarny musi zawierać co najmniej jeden wierzchołek
o stopniu mniejszym niż 6.
PRZESZUKIWANIE GRAFÓW
Przeszukaniem grafu nazywamy dokonanie systematycznego
przeglądu grafu w celu wymienienia kolejno wszystkich jego
wierzchołków, bądź krawędzi.
Rozważmy spójny graf G = ( V, E ) o uporządkowanym zbiorze
wierzchołków – przyjmijmy dla prostoty, że jego zbiór wierzchołków
to V = 1, 2, 3, ..., n.
Wynikiem przeszukania grafu będzie ciąg ( )niii vvv ...,,,
21
zawierający bez powtórzeń wszystkie jego wierzchołki.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 10 / 12
Obie przedstawione metody oparte są na badaniu zbiorów wierzchoł-
ków sąsiednich, dopisywaniu wierzchołków do wyznaczanego ciągu
i nadawaniu lub usuwaniu etykiet z wierzchołków.
Metoda przeszukiwania grafu w głąb
W trakcie działania metody kolejnym wierzchołkom będą nadawane
etykiety „zamknięty”.
Rozpoczynamy od wskazania pierwszego wierzchołka w ciągu – v0.
1. wstaw v0 jako pierwszy element ciągu,
2. powtarzaj co następuje, aż do nadania wierzchołkowi v0 etykiety
„zamknięty”:
2.1. wybierz z aktualnego ciągu ostatni z jego wierzchołków,
który nie ma jeszcze etykiety „zamknięty”,
2.2. jeśli dla wybranego wierzchołka zbiór wierzchołków
sąsiednich, które jeszcze nie zostały dopisane do ciągu jest
pusty, to nadaj temu wierzchołkowi etykietę „zamknięty”,
w przeciwnym przypadku dopisz do ciągu pierwszy w
kolejności z jego wierzchołków sąsiednich, które jeszcze
nie został umieszczone w ciągu.
Uwaga:
przed rozpoczęciem przeszukiwania grafu żaden z jego wierzchołków
nie może mieć etykiety „zamknięty”.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 11 / 12
Przykład przeszukania grafu metodą w głąb
7
1
5
4
6
23
8
9
10
Jeśli rozpoczynamy od wierzchołka 5, to zostaje wyznaczony ciąg
wierzchołków grafu (5, 6, 3, 2, 7, 1, 10, 4, 9, 8)
Metoda przeszukiwania grafu wszerz
W trakcie działania metody będą z kolejnych wierzchołków usuwane
etykiety „nowy”.
Rozpoczynamy od wskazania pierwszego wierzchołka w ciągu – v0.
1. nadaj etykietę „nowy” wszystkim wierzchołkom drzewa,
2. wstaw v0 jako pierwszy element ciągu,
3. dopóki w tworzonym ciągu występuje wierzchołek z etykietą
„nowy”, powtarzaj co następuje:
3.1. wybierz z aktualnego ciągu pierwszy z wierzchołków,
które mają jeszcze etykietę „nowy”, dodaj do ciągu kolejno
wszystkie jego wierzchołki sąsiednie i usuń z tego
wierzchołka etykietę „nowy”.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (10) J.Sikorski Strona 12 / 12
Przykład przeszukania grafu metodą wszerz
7
1
5
4
6
23
8
9
10
Jeśli rozpoczynamy od wierzchołka 5, to zostaje wyznaczony ciąg
wierzchołków grafu (5, 6, 8, 3, 7, 9, 10, 2, 4, 1)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 1 / 12
DROGI i CYKLE EULERA w grafach
Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie
mosty w Królewcu dokładnie jeden raz?
Czy można narysować podaną figurę nie odrywając ołówka od
papieru i nie rysując dwukrotnie żadnego odcinka?
Drogą Eulera w grafie (skierowanym) nazywamy taką drogę prostą,
która zawiera wszystkie krawędzie (łuki) grafu.
Cyklem Eulera nazywamy zamkniętą drogę Eulera.
Graf, który ma cykl Eulera nazywamy grafem eulerowskim,
a taki, który ma drogę Eulera nazywamy grafem półeulerowskim.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 2 / 12
Twierdzenie (Euler, 1736)
Spójny graf G (nieskierowany) ma cykl Eulera wtedy i tylko wtedy,
gdy stopień każdego wierzchołka w G jest parzysty.
Leonhard Euler (1707 – 1783)
Dowód
(⇒) Załóżmy, że graf ma cykl Eulera. Jeśli będziemy przechodzili
wzdłuż krawędzi tego cyklu, usuwając je po przejściu, to w każdym
przechodzonym wierzchołku stopień będzie malał o 2. Ponieważ ten cykl
zawiera wszystkie krawędzie grafu dokładnie raz, to po przejściu całego
cyklu wszystkie wierzchołki będą stopnia 0. Zatem na początku wszystkie
musiały mieć stopień parzysty.
(⇐) Indukcja względem liczby krawędzi m.
Dla m = 3 twierdzenie oczywiście zachodzi.
Rozważmy graf o m > 3, zakładając, że każdy graf o mniejszej liczbie
krawędzi ma cykl Eulera.
Ze spójności grafu i parzystości stopni wierzchołków wynika, że
minimalny stopień wierzchołka jest równy 2. Zatem graf musi
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 3 / 12
zawierać cykl elementarny o długości co najmniej 3 (tw. Diraca).
Wybierzmy taki cykl i oznaczmy go przez C. Jeśli cykl C zawiera
każdą krawędź grafu, to dowód jest zakończony.
Jeśli nie, to usuwamy z grafu krawędzie należące do cyklu C.
Powstaje podgraf H, który ma mniej krawędzi niż graf G (może nie
być spójny), ale nadal każdy wierzchołek ma w nim stopień parzysty
(po usunięciu cyklu C stopień zmniejsza się o 0 lub 2). Na mocy
założenia indukcyjnego w każdej składowej spójnej podgrafu H
istnieje cykl Eulera. Ponadto ze spójności grafu G wynika, że każda
składowa podgrafu H ma wierzchołek wspólny z cyklem C.
Zatem cykl Eulera w grafie G można skonstruować przechodząc
kolejne krawędzie cyklu C w ustalonym kierunku od wybranego
wierzchołka początkowego i włączając do drogi cykle Eulera w
napotkanych składowych spójnych podgrafu H. W każdym
wierzchołku, który nie jest w H wierzchołkiem izolowanym,
przechodzimy krawędzie cyklu Eulera w tej składowej podgrafu H,
która zawiera ten wierzchołek. Po obejściu cyklu Eulera w składowej
podgrafu H kontynuujemy poruszanie się wzdłuż cyklu C i wracamy
na końcu do wierzchołka początkowego. Obchodzimy w ten sposób
dokładnie jeden raz wszystkie krawędzie grafu G.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 4 / 12
Przykład rekurencyjnego wyznaczania cyklu Eulera
1
2
3
4
5
6
7
8
9
1410
13
12
11
15
16C
Wniosek (z tw. Eulera)
Graf spójny, który ma nie więcej niż dwa wierzchołki stopnia
nieparzystego, ma drogę Eulera.
Grafy reprezentujące przykładowe problemy („spacer” i ‘koperta”)
nie ma drogi Eulera jest droga E., ale nie ma cyklu
Mostem nazywamy taką krawędź grafu, której usunięcie zwiększa
liczbę składowych spójnych tego grafu.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 5 / 12
Prosty algorytm wyznaczania drogi Eulera (tzw. alg. Fleury’ego)
Budujemy iteracyjnie ciąg krawędzi grafu (drogę lub cykl).
1. Wybierz dowolny wierzchołek v0 o nieparzystym stopniu, o ile taki
istnieje; w przeciwnym przypadku wybierz dowolny wierzchołek v0 ;
podstaw v ← v0 ;
2. Dopóki są w grafie krawędzie incydentne z v wykonuj:
2.1. Jeśli jest dokładnie jedna krawędź incydentna z v : v, w, to ją
wybierz;
2.2. Jeśli istnieje więcej niż jedna krawędź incydentna z v, to wybierz
dowolną krawędź incydentną v, w, która nie jest mostem;
2.3. wstaw wybraną krawędź jako kolejny wyraz ciągu i usuń ją z
grafu; podstaw v ← w ;
3. Jeśli ciąg zawiera wszystkie krawędzie grafu, to została wyznaczona
w nim droga lub cykl Eulera, a jeśli nie, to graf nie był spójny i
algorytm wyznaczył drogę lub cykl Eulera w jego składowej spójnej,
która zawiera wybrany początkowo wierzchołek v0.
Przykład działania algorytmu Fleury’ego
2
45
7
6
31
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 6 / 12
DROGI i CYKLE EULERA w grafach skierowanych
Twierdzenie
Spójny graf skierowany ma cykl Eulera wtedy i tylko wtedy, gdy dla
każdego wierzchołka v zachodzi d +(v) = d −(v).
Wniosek
Spójny graf skierowany ma drogę Eulera, gdy dla każdego
wierzchołka v zachodzi d +(v) = d −(v), albo gdy istnieją dokładnie
dwa wierzchołki v1 i v2 nie spełniające tego warunku, dla których
zachodzi d +(v1) – d −(v1) = d −(v2) – d +(v2) = 1.
DROGI i CYKLE HAMILTONA w grafach
Rozważmy graf (nieskierowany) G = ( V, E )
Drogą Hamiltona w grafie G nazywamy taką drogę elementarną,
która zawiera wszystkie wierzchołki grafu.
Cyklem Hamiltona w grafie G nazywamy taki cykl elementarny, który
zawiera wszystkie wierzchołki grafu (jest zamkniętą drogą Hamiltona).
Długość cyklu Hamiltona jest równa | V |.
Graf, który ma cykl Hamiltona nazywamy grafem hamiltonowskim, a
taki, który ma drogę Hamiltona nazywamy półhamiltonowskim.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 7 / 12
Przykłady
graf dwunastościanu foremnego graf Petersena (graf platoński) nie jest hamiltonowski jest hamiltonowski
Przykład cyklu Hamiltona w grafie sześcianu (związek z kodem Graya)
Kod Graya rzędu trzeciego (n =3):
(0,0,0) (1,0,0) (1,1,0) (0,1,0) (0,1,1) (1,1,1) (1,0,1) (0,0,1)
x
z
y
(1,0,1)
(1,1,1)
(1,1,0)
(1,0,0)
(0,0,1)
(0,0,0)
(0,1,1)
(0,1,0)
(nadawanie etykiet procesorom połączonym w tzw. kostkę)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 8 / 12
Graf pełny Kn jest hamiltonowski dla każdego n ≥ 3
i zawiera 2
)!1( −n cykli Hamiltona.
Przykład cykli Hamiltona w grafie K4 i K5
K4: 32
)!14( =−
1 2
34
1 2
34
1 2
34
K5: 122
)!15( =−
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
1
2
34
5
Twierdzenie
Dla każdego grafu dwudzielnego G = (V1∪V2, E) zachodzi:
• jeśli G ma cykl Hamiltona, to |V1| = |V2|,
• jeśli G ma drogę Hamiltona, to ||V1| − |V2|| ≤ 1.
Dla każdego pełnego grafu dwudzielnego, w którym |V1∪V2| ≥ 3 zachodzi:
• jeśli |V1| = |V2|, to G ma cykl Hamiltona,
• jeśli ||V1| − |V2|| ≤ 1, to G ma drogę Hamiltona.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 9 / 12
Warunki dostateczne istnienia cyklu Hamiltona
Twierdzenie (Ore, 1960)
Graf (nieskierowany) o n wierzchołkach dla n ≥ 3, w którym
d(v) + d(w) ≥ n dla każdej pary wierzchołków v i w niepołączonych
krawędzią (niezależnych), jest hamiltonowski
Przykład grafu hamiltonowskiego spełniającego warunek Ore
1
2
3
4
56
7
d(2)=4
d(3)=4
d(4)=3
d(5)=4
d(6)=3
d(7)=4
d(1)=4
Najniższy stopień mają wierzchołki 4 i 6.
Dla wierzchołków niezależnych z w. 4: d(v) + d(4) = 7 ≥ n = 7
Dla wierzchołków niezależnych z w. 6: d(v) + d(6) = 7 ≥ n = 7
Przykład grafu hamiltonowskiego, w którym warunek Ore nie jest spełniony
Dla grafu:
zachodzi d(v) + d(w) = 4 < n = 5
dla każdej pary wierzchołków v i w niepołączonych krawędzią,
a cykl Hamiltona oczywiście w nim istnieje.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 10 / 12
Wniosek (twierdzenie Diraca, 1952)
Jeśli graf (nieskierowany) ma n ≥ 3 wierzchołków i d(v) ≥ 2
n dla
każdego wierzchołka, to graf ten jest hamiltonowski.
Dowód
Vv∈∀ : d(v) ≥ 2
n ⇒ Vwu ∈∀ , : d(u) + d(w) ≥ n
Wniosek
Jeśli graf ma n ≥ 3 wierzchołków i co najmniej 22
)2)(1( +−− nn
krawędzi, to jest hamiltonowski.
Dowód
Załóżmy, że graf G = (V, E) ma |E| = 22
)2)(1( +−− nn krawędzi.
Wybierzmy u, v ∈ V takie, że u, v ∉ E i usuńmy z grafu
wierzchołki u i v oraz wszystkie krawędzie z nimi incydentne.
Zatem usunęliśmy d(u) + d(v) krawędzi i 2 wierzchołki.
Otrzymany podgraf G′ = (V′, E′) jest na pewno podgrafem Kn−2,
a zatem ma nie więcej niż 2
)3)(2( −− nn krawędzi.
Mamy więc: 22
)2)(1( +−− nn − d(u) − d(v) ≤ |E′ | ≤ 2
)3)(2( −− nn.
Stąd 2
)2)(1( −− nn −
2)3)(2( −− nn + 2 = n ≤ d(u) + d(v) i spełnione
są założenia twierdzenia Ore.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 11 / 12
Przykład grafu hamiltonowskiego (c.d.)
1
2
3
4
56
7
d(2)=4
d(3)=4
d(4)=3
d(5)=4
d(6)=3
d(7)=4
d(1)=4
Warunek Ore jest spełniony (patrz poprzedni przykład).
Warunek Diraca nie jest spełniony, bo np. d(4) = 3 < 2
n = 3,5.
Warunek na liczbę krawędzi także nie jest spełniony,
bo m = 13 < 22
)2)(1( +−− nn = 17.
W grafie G o n wierzchołkach uporządkujmy stopnie wszystkich
wierzchołków w ciąg niemalejący:
(d1(G), d2(G), ..., dn(G)), d1(G) ≤ d2(G) ≤ ... ≤ dn(G);
ciąg ten nazywamy sekwencją wstępującą stopni wierzchołków.
Ciąg liczb naturalnych (a1, a2, ..., an) nazywamy ciągiem
hamiltonowskim, jeśli każdy graf nieskierowany G o n wierzchołkach,
którego sekwencja wstępująca stopni wierzchołków spełnia warunek
di(G) ≥ ai , i = 1, 2, ..., n ,
jest grafem hamiltonowskim.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (11) J.Sikorski Strona 12 / 12
Twierdzenie (Chvátal, 1972)
Ciąg liczb naturalnych (a1, a2, ..., an),
w którym 0 ≤ a1 ≤ a2 ≤ ... ≤ an < n dla n ≥ 3, jest hamiltonowski
wtedy i tylko wtedy, gdy dla każdego i < 2
n spełniona jest implikacja:
ai ≤ i ⇒ an− i ≥ n – i .
Przykład grafu hamiltonowskiego
1
2
3
4
56
7
d(2)=3
d(3)=4
d(4)=3
d(5)=4
d(6)=2
d(7)=4
d(1)=4
Sekwencja wstępująca stopni wierzchołków: (2, 3, 3, 4, 4, 4, 4).
Zbadajmy, czy jest ona ciągiem hamiltonowskim.
i = 1 : a1 = 2 > 1 ⇒ a6 = 4 < 6 ; implikacja prawdziwa (0⇒0)
i = 2 : a2 = 3 > 2 ⇒ a5 = 4 < 5 ; implikacja prawdziwa (0⇒0)
i = 3 : a3 = 3 ≤ 3 ⇒ a4 = 4 ≥ 4 ; implikacja prawdziwa (1⇒1)
Zatem ciąg (2, 3, 3, 4, 4, 4, 4) jest ciągiem hamiltonowskim,
co oznacza, że graf o takiej sekwencji wstępującej ma cykl Hamiltona.
Warunek Ore nie jest spełniony, bo np. d(2) + d(6) = 5 < n = 7
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 1 / 13
DROGI i CYKLE HAMILTONA w grafach skierowanych
Dla grafu skierowanego D = ( V, A )
rozważmy zagadnienie istnienia cyklu elementarnego, który zawiera
wszystkie wierzchołki grafu, czyli cyklu Hamiltona,
Graf skierowany pełny bez pętli Dn jest hamiltonowski
dla każdego n ≥ 2 i zawiera (n−−−−1)! cykli Hamiltona.
Przykład cykli Hamiltona w grafie D3 i D4
D3: (3−1)! = 2 D4: (4−1)! = 6
1
2 3
1
2 3
1
2 3
4 1
2 3
4
1
2 3
4 1
2 3
4
1
2 3
4 1
2 3
4
Twierdzenie (Meyniel, 1973)
Jeśli D jest silnie spójnym grafem skierowanym bez pętli o n ≥ 2
wierzchołkach i dla dowolnej pary wierzchołków niezależnych
zachodzi warunek 12)()( −≥+ nwdvd , to graf D ma cykl Hamiltona.
(odpowiednik tw. Ore)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 2 / 13
Wniosek (twierdzenie Nash-Williams, 1969)
Jeśli D jest grafem skierowanym bez pętli, w którym 2
)(n
vd ≥+ i
2)(
nvd ≥− dla każdego wierzchołka v, to graf D ma cykl Hamiltona.
(odpowiednik tw. Diraca)
TURNIEJE
Graf skierowany bez pętli nazywamy turniejem, jeśli dla każdej pary
wierzchołków u i v zawiera on dokładnie jeden łuk:
albo (u, v), albo (v, u).
• turniej może reprezentować wyniki spotkań par uczestniczących w
rozgrywkach sportowych typu „każdy z każdym” (bez remisów)
Przykład turnieju
c
a b
d
Twierdzenie (Rédei, 1934)
Każdy turniej zawiera drogę Hamiltona.
Przykład dróg Hamiltona w turnieju:
(d, a, b, c), (d, b, c, a) i (d, c, a, b)
c
a b
d
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 3 / 13
Twierdzenie (Thomassen, 1982)
Każdy turniej zawiera drogę Hamiltona, która zaczyna się
w wierzchołku o najwyższym stopniu wyjściowym i kończy
w wierzchołku o najwyższym stopniu wejściowym.
Przykład turnieju bez cyklu Hamiltona
c
a b
d
Ten turniej nie jest silnie spójny.
Twierdzenie (Camion, 1959)
Każdy silnie spójny turniej zawiera cykl Hamiltona.
Przykład cyklu Hamiltona w silnie spójnym turnieju
c
a b
d
cykl Hamiltona: (a, b, d, c, a)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 4 / 13
DRZEWA i LASY
Lasem nazywamy graf nieskierowany, który nie zawiera cykli
elementarnych.
Drzewem nazywamy graf spójny, który nie zawiera cykli elementarnych.
Przykłady drzewa i lasu
takie krawędziesą wykluczone
drzewo las
Twierdzenie
Niech G będzie grafem nieskierowanym o n wierzchołkach.
Wówczas następujące stwierdzenia są równoważne:
1. Graf G jest drzewem.
2. Graf G nie zawiera cykli elementarnych i ma n−1 krawędzi.
3. Graf G jest spójny i ma n−1 krawędzi.
4. Graf G jest spójny i każda krawędź jest mostem.
5. Dowolne dwa wierzchołki grafu G są połączone dokładnie jedną
drogą.
6. Graf G nie zawiera cykli elementarnych, ale dołączenie dowolnej
nowej krawędzi do G tworzy dokładnie jeden taki cykl.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 5 / 13
Dowód
Dla n = 1 równoważność stwierdzeń jest oczywista.
Załóżmy zatem, że n ≥ 2.
(1. ⇒ 2.) Indukcja względem liczby wierzchołków; załóżmy, że implikacja
zachodzi dla dowolnego drzewa o liczbie wierzchołków nie większej od n −1.
Pokażemy, że zachodzi dla n. Usuńmy z G jedną krawędź. Ponieważ G nie
zawiera cykli elementarnych, to usunięcie krawędzi prowadzi do rozpadu G na
dwa drzewa, które na mocy założenia indukcyjnego mają razem (n −2)
krawędzi. Zatem G musi mieć (n −1) krawędzi.
(2. ⇒ 3.) Gdyby G nie był spójny, to łączna liczba krawędzi w jego
składowych, będących drzewami, byłaby co najmniej o 2 mniejsza od liczby
wierzchołków. Przeczy to założeniu, że G ma n−1 krawędzi.
(3. ⇒ 4.) Usunięcie dowolnej krawędzi daje graf o n wierzchołkach i n −2
krawędziach, który nie jest spójny.
(4. ⇒ 5.) Ponieważ G jest spójny, to każda para wierzchołków jest połączona co
najmniej jedną drogą. Gdyby dla pewnej pary wierzchołków były dwie takie
drogi, to powstałby cykl. Przeczy to założeniu, że każda krawędź jest mostem.
(5. ⇒ 6.) Graf G nie może zawierać cyklu elementarnego, bo oznaczałoby to,
że istnieje para wierzchołków połączona dwiema drogami wierzchołkowo
rozłącznymi. Dołączenie nowej krawędzi utworzy cykl elementarny. Może być
tylko jeden taki cykl, bowiem istnienie dwóch takich cykli oznaczałoby, że w G
istnieje cykl elementarny nie zawierający dołączanej krawędzi.
(6. ⇒ 1.) Graf G musi być spójny. Gdyby tak nie było, to dodanie krawędzi
łączącej składowe grafu nie powodowałoby powstania cyklu elementarnego.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 6 / 13
Wniosek
W drzewie o n ≥ 2 wierzchołkach co najmniej dwa z nich
są stopnia 1 (są liśćmi).
Dowód
22)1(22)( −=−==∑∈
nnEidVi
.
Wniosek
Jeśli graf G o n wierzchołkach jest lasem złożonym z k drzew, to
liczba jego krawędzi m = n – k.
Dla grafu spójnego G = (V, E) każde drzewo GT = (V, T) takie, że
T ⊆ E nazywamy drzewem rozpinającym (dendrytem) grafu G.
Przykład drzewa rozpinającego
5
4
31
2
Twierdzenie (Cayley, 1889)
Graf pełny Kn (dla n ≥ 2) ma n n−2 różnych drzew rozpinających.
Przykład liczby drzew rozpinających w grafie pełnym
K4 : 4 3
1 2
, n n−2 = 42 = 16
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 7 / 13
Dowód (zarys dowodu – konstrukcja kodu Prüfera dla drzewa)
Załóżmy, że wierzchołki grafu są ponumerowane liczbami
naturalnymi 1, ..., n. Łatwo sprawdzić, że dla n = 2 tw. zachodzi.
Pokażemy, że dla n ≥ 3 istnieje wzajemnie jednoznaczna
odpowiedniość pomiędzy drzewami rozpinającymi graf pełny Kn
a n n−2 ciągami (a1, a2, ..., an−2), gdzie ai jest liczbą naturalną
spełniającą nierówność 1 ≤ ai ≤ n.
Załóżmy, że T jest drzewem rozpinającym Kn . Wybieramy
wierzchołek v stopnia 1 o najmniejszym numerze i przyjmujemy jako
a1 numer wierzchołka sąsiedniego z v w drzewie T. Usuwamy z T
wierzchołek v wraz z incydentną z nim krawędzią. Powtarzamy
powyższe postępowanie kolejno dla a2, a3, ..., an−2 .
Aby ustalić odwrotną odpowiedniość pomiędzy ciągiem (a1, a2, ...,
an−2) a drzewem rozpinającym, weźmy dowolny ciąg (a1, a2, ..., an−2),
którego każdy wyraz spełnia warunek 1 ≤ ai ≤ n, i zbudujmy
odpowiadające mu drzewo T. Niech v będzie najmniejszą liczbą ze
zbioru N = 1, 2, ..., n, która nie występuje w ciągu (a1, a2, ..., an−2).
Dodajemy do T krawędź a1, v. Usuwamy a1 z ciągu i podstawiamy
N ← N \ v. Powtarzamy to postępowanie kolejno dla a2, a3, ..., an−2.
Na końcu łączymy krawędzią ostatnie dwa wierzchołki, które
pozostały w N.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 8 / 13
Przykład kodowania drzew rozpinających w grafie pełnym
K4 : n n−2 = 42 = 16
4 3
1 2(1, 1) (1, 2) (1, 3) (1, 4)
(2, 1) (2, 2) (2, 3) (2, 4)
(3, 1) (3, 2) (3, 3) (3, 4)
(4, 1) (4, 2) (4, 3) (4, 4)
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
4 3
1 2
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 9 / 13
Przykład użycia kodu Prüfera
kodowanie:
5
4 3
1
2
1
234
(1, 1, 4)
odkodowanie:
(3, 1, 5) 5
4 3
1
2
12
3
4
Drzewo przeglądu grafu w głąb
Po zakończeniu przeszukiwania grafu G = (V, E) metodą w głąb
uzyskujemy ciąg jego ponumerowanych wierzchołków: (1iv , ...,
niv ).
Wyznaczamy zbiór krawędzi T, który tworzy drzewo rozpinające G:
1. rozpocznij od T = ∅,
2. dla każdego j = n, n −1, ..., 2 wykonaj co następuje:
2.1. wybierz z ciągu (1iv , ...,
niv ) wierzchołek v, który jest
sąsiedni z wierzchołkiem jiv i ma największy indeks
spośród wierzchołków poprzedzających w ciągu jiv ,
2.2. dołącz do zbioru T krawędź jiv , v.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 10 / 13
Przykład drzewa przeglądu grafu w głąb
Ciąg wyznaczony metodą przeszukania w głąb: (5, 6, 3, 2, 7, 1, 10, 4, 9, 8)
7
1
5
4
6
23
8
9
10
Zbiór krawędzi drzewa rozpinającego:
8, 9, 9, 10, 4, 10, 10, 1, 1, 7, 7, 2, 2, 3, 3, 6, 6, 5
Drzewo przeglądu grafu wszerz
Po zakończeniu przeszukiwania grafu G = (V, E) metodą wszerz
uzyskujemy ciąg jego ponumerowanych wierzchołków: (1iv , ...,
niv ).
Wyznaczamy zbiór krawędzi T, który tworzy drzewo rozpinające G:
1. rozpocznij od T = ∅,
2. dla każdego j = n, n −1, ..., 2 wykonaj co następuje:
2.1. wybierz z ciągu (1iv , ...,
niv ) wierzchołek v, który jest
sąsiedni z wierzchołkiem jiv i ma najmniejszy indeks
spośród wierzchołków ciągu,
2.2. dołącz do zbioru T krawędź jiv , v.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 11 / 13
Przykład drzewa przeglądu grafu wszerz
Ciąg wyznaczony metodą przeszukania wszerz: (5, 6, 8, 3, 7, 9, 10, 2, 4, 1)
7
1
5
4
6
23
8
9
10
Zbiór krawędzi drzewa rozpinającego:
1, 7, 4, 3, 2, 8, 10, 6, 9, 6, 7, 6, 3, 6, 8, 5, 6, 5
Terminologia dla drzew rozpinających:
Dla GT = (V, T) , które jest drzewem rozpinającym grafu G = (V, E):
gałęziami (drzewa) nazywamy elementy zbioru T ,
cięciwami (grafu) nazywamy elementy zbioru E \ T .
Jeśli e jest cięciwą, to graf (V, T∪ e) zawiera dokładnie jeden cykl Ce.
Zbiór Ω = Ce : e ∈ E \ T nazywamy zbiorem cykli fundamentalnych
grafu G (względem drzewa rozpinającego GT)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 12 / 13
Przykład gałęzi, cięciw i cykli fundamentalnych
C2, 3 C2, 4 C4, 5
5
4
31
2
31
2 4
31
2
5
4
3
T = 1, 2, 1, 3, 3, 4, 3, 5, E \ T = 2, 3, 2, 4, 4, 5
Ω = C2, 3, C2, 4, C4, 5
Twierdzenie
Niech G = (V, E) będzie grafem spójnym a GT = (V, T) jego
dowolnym drzewem rozpinającym. Jeżeli każdy cykl będziemy
traktowali jak zbiór krawędzi, to każdy cykl prosty C w grafie G
można jednoznacznie przedstawić jako różnicę symetryczną cykli
fundamentalnych: C = 1e
C ⊗ 2eC ⊗ ... ⊗
keC ,
gdzie kee ...,,1 = C \ T jest zbiorem cięciw względem drzewa GT .
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (12) J.Sikorski Strona 13 / 13
Przykład przedstawiania cyklu prostego jako różnicy symetrycznej
C2, 3 C2, 4 C4, 5
5
4
31
2
31
2 4
31
2
5
4
3
5
4
31
2
C
T = 1, 2, 1, 3, 3, 4, 3, 5 , C \ T = 2, 3, 2, 4, 4, 5
zbiór cykli fundamentalnych C2, 3, C2, 4, C4, 5
C2, 3 C2, 4
C4, 5
31
2 4
31
2
⊗
4
3
2
=
2, 3, 3, 4, 2, 4
4
3
2
5
4
3
⊗ = 5
4
3
2
C2, 3, 3, 4, 2, 4
C = 2, 3, 3, 5, 4, 5, 2, 4 = (C2, 3 ⊗ C2, 4) ⊗ C4, 5
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 1 / 12
SPÓJNOŚĆ grafów
Przypomnienie
Graf (nieskierowany) G = ( V, E ) jest spójny, jeśli dla każdej pary
wierzchołków istnieje droga łącząca te wierzchołki;
graf spójny ma jedną składową spójną (tożsamą z tym grafem), a graf
niespójny ma co najmniej dwie składowe spójne.
Twierdzenie
Jeśli graf G ma n wierzchołków i k składowych spójnych, to liczba
jego krawędzi m spełnia nierówności: 2
)1)(( +−−≤≤− knknmkn
Przykład grafu niespójnego o maksymalnej liczbie krawędzi
1
2 3
4 5
6 7
8
dla n = 8 i k = 5 maksymalna liczba krawędzi wynosi m = 62
43 =⋅
Wniosek
Każdy graf, który ma n wierzchołków i ponad 2
)2)(1( −− nn krawędzi
jest spójny.
Dowód
Maksymalna liczba krawędzi dla k ≥ 2 wynosi 2
)2)(1( −− nn .
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 2 / 12
SPÓJNOŚĆ krawędziowa i wierzchołkowa
Zbiorem rozspajającym graf spójny G nazywamy taki podzbiór jego
krawędzi, którego usunięcie pozbawia ten graf spójności.
Minimalnym zbiorem rozspajającym graf G nazywamy taki zbiór
rozspajający, dla którego żaden z jego podzbiorów właściwych nie jest
zbiorem rozspajającym.
Przykład zbiorów rozspajających
4
3
2
1 5e2
e1e3
e4
e5
e6
e7
e1, e3, e4 - zbiór rozspajający,
e1, e4 i e2, e3, e4 - minimalne zbiory rozspajające
Spójnością krawędziową λλλλ (G) grafu spójnego G (dla n ≥ 2)
nazywamy najmniejszą moc jego zbioru rozspajającego.
Graf nazywamy k-spójnym krawędziowo, jeśli λ (G) ≥ k
Przykład
4
3
2
1 5e2
e1e3
e4
e5
e6
e7
λ(G) = 2 ; graf jest 2-spójny krawędziowo (także 1-spójny)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 3 / 12
Zbiorem rozdzielającym graf spójny G nazywamy taki podzbiór jego
wierzchołków, którego usunięcie pozbawia ten graf spójności.
Minimalnym zbiorem rozdzielającym graf G nazywamy taki zbiór
rozdzielający, dla którego żaden z jego podzbiorów właściwych nie jest
zbiorem rozdzielającym.
Spójnością wierzchołkową κκκκ (G) grafu spójnego G (dla n ≥ 2)
nazywamy najmniejszą moc jego zbioru rozdzielającego.
Graf nazywamy k-spójnym (wierzchołkowo), jeśli κ (G) ≥ k
Przykład zbioru rozdzielającego
4
3
2
1 5
1, 3, 4 - zbiór rozdzielający,
1, 4 i 3, 4 - minimalne zbiory rozdzielające
κ (G) = 2 , graf jest 2-spójny (wierzchołkowo)
Twierdzenie
Dla każdego spójnego grafu G zachodzi nierówność κ (G) ≤ λ(G).
Dowód
Ze zbioru wierzchołków incydentnych z krawędziami należącymi do
zbioru rozspajającego o najmniejszej mocy usuwamy jeden
wierzchołek z każdej pary wierzchołków sąsiednich. Powstaje zbiór
rozdzielający graf G o mocy nie większej niż λ(G).
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 4 / 12
Rozważmy graf spójny G = ( V, E ) oraz parę wyróżnionych
wierzchołków v, w ∈ V ( v ≠ w ):
• zbiorem rozspajającym wierzchołki v i w nazywamy taki podzbiór
krawędzi grafu, że każda droga łącząca wierzchołki v i w zawiera
krawędź z tego podzbioru.
• zbiorem rozdzielającym wierzchołki v i w nazywamy taki podzbiór
wierzchołków należących do V \ v, w, że każda droga łącząca
wierzchołki v i w zawiera wierzchołek z tego podzbioru.
• dwie drogi z v do w nazywamy krawędziowo rozłącznymi, jeśli nie
mają one wspólnych krawędzi,
• dwie drogi z v do w nazywamy wierzchołkowo rozłącznymi, jeśli nie
mają one wspólnych wierzchołków (z wyjątkiem v i w).
Przykłady zbiorów rozspajających, rozdzielających i dróg rozłącznych
d
b
e
a
c
v
g
f
h
i
w
a, d, b, d, e, h, e, i i v, a, v, b, v, c
- zbiory rozspajające v i w d, e i a, b, h, i - zbiory rozdzielające v i w (v, a, d, h, w) i (v, b, d, f, w) - drogi rozłączne krawędziowo, (v, a, d, h, w) i (v, c, e, i, w) - drogi rozłączne wierzchołkowo,
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 5 / 12
Twierdzenie (Mengera w wersji krawędziowej)
Maksymalna liczba dróg krawędziowo rozłącznych, łączących dwa
różne wierzchołki v i w w grafie spójnym G, jest równa minimalnej
liczbie krawędzi w zbiorze rozspajającym v i w.
Twierdzenie (Mengera w wersji wierzchołkowej, Menger 1927)
Maksymalna liczba dróg wierzchołkowo rozłącznych, łączących dwa
różne wierzchołki niesąsiednie v i w w grafie spójnym G, jest równa
minimalnej liczbie wierzchołków w zbiorze rozdzielającym v i w.
Wniosek
Graf jest k-spójny krawędziowo wtedy i tylko wtedy, gdy każda para
różnych jego wierzchołków jest połączona co najmniej k drogami
krawędziowo rozłącznymi.
Dowód (połowa)
Każda para różnych wierzch. jest połączona co najmniej k drogami
krawędziowo rozłącznymi ⇒ dla każdej pary wierzch. maksymalna
liczba dróg krawędziowo rozłącznych wynosi co najmniej k ⇒ dla
każdej pary wierzch. minimalna liczba krawędzi w zbiorze je
rozspajającym wynosi co najmniej k ⇒ minimalny zbiór rozspajający
graf liczy co najmniej k krawędzi ⇒ k ≤ λ (G)
Wniosek
Graf o co najmniej k+1 wierzchołkach jest k-spójny (wierzchołkowo)
wtedy i tylko wtedy, gdy każda para różnych jego wierzchołków jest
połączona co najmniej k drogami wierzchołkowo rozłącznymi.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 6 / 12
SEPARATORY i KONEKTORY
Rozważmy graf skierowany D = (V, A) z wyróżnionymi dwoma
podzbiorami wierzchołków S, T ⊆ V (nie muszą być one rozłączne).
• S-T drogą dla S, T ⊆ V nazywamy taką drogę elementarną P =
(v1, ..., vk) w grafie D, dla której V(P) ∩ S = v1 i V(P) ∩ T = vk
(V(P) oznacza zbiór wierzchołków drogi P)
Przykład S-T dróg
1 2 3
5
9
4
7
6
8
S T
S = 1, 2, 4, T = 2, 3, 6, 9
S-T drogi: P1 = (1, 5, 3), P2 = (2), P3 = (4, 7, 8, 9), P4 = (4, 7, 8, 5, 3)
Wierzchołkami wewnętrznymi S-T drogi P = (v1, ..., vk) nazywamy
wierzchołki ze zbioru V(P) \ (v1 ∪ vk).
Pojedynczy wierzchołek w grafie skierowanym traktujemy jako drogę;
zatem dla każdego v ∈ S ∩ T ≠ ∅ droga P = (v) jest S-T drogą
o pustym zbiorze wierzchołków wewnętrznych.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 7 / 12
• S-T separatorem grafu skierowanego D dla S, T ⊆ V nazywamy
taki zbiór Z ⊆ V , dla którego podgraf indukowany przez zbiór
wierzchołków V \ Z nie zawiera żadnej S-T drogi
| Z | nazywamy mocą S-T separatora.
Dla każdego S-T separatora | Z | ≥ | S ∩ T |, bo S ∩ T ⊆ Z
Przykład S-T separatorów
S T1 2 3
5
9
4
7
6
8
S = 1, 2, 4, T = 2, 3, 6, 9
S-T separatory: Z1 = (2, 5, 7), Z2 = (2, 5, 6, 9), Z3 = (1, 2, 7)
W przypadku S = v i T = w
przyjęte jest stosowanie oznaczenia: v-w separator.
Pojęcie S-T separatora jest uogólnieniem pojęcia zbioru
rozdzielającego:
jeżeli graf skierowany D = (V, A) jest symetryczny (tzn. (a, b) ∈ A ⇒
(b, a) ∈ A) oraz S = v i T = w (v ≠ w), to każdy v-w separator w
grafie D odpowiada zbiorowi rozdzielającemu wierzchołki v i w
w pochodnym grafie nieskierowanym G(D).
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 8 / 12
• S-T konektorem grafu skierowanego D dla S, T ⊆ V nazywamy taki
podgraf Q = (VQ, AQ) grafu D, którego każda składowa spójna jest
S-T drogą
Liczbę składowych spójnych S-T konektora nazywamy jego mocą.
Dla każdego W ⊆ S ∩ T graf skierowany pusty Q = (W, ∅)
jest S-T konektorem grafu skierowanego D = (V, A);
| W | jest mocą tego S-T konektora.
Przykład S-T konektorów
1 2 3
5
9
4
7
6
8
S T
S = 1, 2, 4, T = 2, 3, 6, 9
S-T konektory: Q1 = (2, ∅),
Q2 = (1, 3, 4, 5, 7, 8, 9, (1, 5), (4, 7), (5, 3), (7, 8), (8, 9))
moc Q1 wynosi 1, a moc Q2 wynosi 2
W przypadku S = v i T = w
przyjęte jest stosowanie oznaczenia: v-w konektor.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 9 / 12
Pojęcie S-T konektora jest uogólnieniem pojęcia zbioru dróg
wierzchołkowo rozłącznych:
jeżeli graf skierowany D = (V, A) jest symetryczny (tzn. (a, b) ∈ A ⇒
(b, a) ∈ A) oraz S = v i T = w (v ≠ w), to każdy v-w konektor w
grafie D odpowiada zbiorowi dróg wierzchołkowo rozłącznych
łączących v i w w pochodnym grafie nieskierowanym G(D).
Prosta obserwacja:
minimalna moc S-T separatora w grafie D = (V, A) dla zadanych
S, T ⊆ V ogranicza od góry moc wszystkich S-T konektorów grafu D.
Twierdzenie UM (uogólnienie twierdzeń Mengera)
Jeżeli w grafie skierowanym D = (V, A) wybrano dwa podzbiory
S, T ⊆ V oraz wyznaczono minimalną moc S-T separatora równą s,
to istnieje S-T konektor Q = (VQ, AQ) grafu D o mocy s.
Przykład ilustrujący twierdzenie
1 2 3
5
9
4
7
6
8
S T
S-T separator o mocy 3: 2, 5, 7, i S-T konektor o mocy 3:
Q = (1, 2, 3, 4, 5, 7, 8, 9, (1, 5), (4, 7), (5, 3), (7, 8), (8, 9))
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 10 / 12
Zbiorem rozspajającym silnie spójny graf skierowany D nazywamy
taki podzbiór jego łuków, którego usunięcie pozbawia ten graf silnej
spójności.
Zbiorem rozdzielającym silnie spójny graf skierowany D nazywamy
taki podzbiór jego wierzchołków, którego usunięcie pozbawia ten graf
silnej spójności.
W przypadku S = v i T = w (v ≠ w) z twierdzenia UM wynikają
odpowiedniki obu wersji twierdzenia Mengera dla grafu skierowanego:
Wniosek (wersja wierzchołkowa)
Jeżeli w grafie skierowanym D = (V, A) wybrano dwa różne
wierzchołki v i w, takie że (v, w) ∉ A, to minimalna moc zbioru
rozdzielającego wierzchołki v i w jest równa maksymalnej liczbie dróg
wierzchołkowo rozłącznych z v do w.
Dowód (szkic)
Wystarczy zdefiniować w naturalny sposób dla grafu skierowanego
odpowiednik pojęcia dróg wierzchołkowo rozłącznych oraz zastosować
twierdzenie UM dla S = V +(v) i T = V −(w).
Przykład ilustrujący dowód wniosku
dwie drogi wierzchołkowo rozłączne
v
w
S
T
v
w
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 11 / 12
Wniosek (wersja łukowa)
Jeżeli w grafie skierowanym D = (V, A) wybrano dwa różne wierzchołki
v i w, to minimalna moc zbioru rozspajającego wierzchołki v i w jest
równa maksymalnej liczbie dróg łukowo rozłącznych z v do w.
Dowód (szkic)
Po pierwsze, trzeba zdefiniować dla grafu skierowanego odpowiednik
grafu krawędziowego (tzw. graf łukowy): L(D) = (V ′, A′) oznacza graf
skierowany, w którym V ′ = A oraz (a′, a″) ∈ A′ wtedy i tylko wtedy,
kiedy łuki a′ i a″ są zależne. Po drugie, trzeba zdefiniować w naturalny
sposób dla grafu skierowanego odpowiednik pojęcia dróg łukowo
rozłącznych. Wystarczy teraz zastosować twierdzenie UM dla grafu
L(D), gdzie S jest zbiorem takich jego wierzchołków, które
odpowiadają łukom wychodzącym z v w grafie D, natomiast T jest
zbiorem takich wierzchołków grafu L(D), które odpowiadają łukom
wchodzącym do w w grafie D.
Przykład ilustrujący dowód wniosku
trzy drogi łukowo rozłączne
v
w
a
c
d be
f
g
h
j
ki
S
a
c
d
b
e
f
g
h
j
k
i
T
D L(D)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (13) J. Sikorski Strona 12 / 12
Silnie spójny graf skierowany D jest k-spójny wierzchołkowo, jeśli
pozbawienie go silnej spójności wymaga usunięcia nie mniej niż k
wierzchołków.
Silnie spójny graf skierowany D jest k-spójny łukowo, jeśli
pozbawienie go silnej spójności wymaga usunięcia nie mniej niż k
łuków.
Twierdzenie
Graf skierowany jest k-spójny wierzchołkowo, jeśli dla każdych dwóch
różnych jego wierzchołków v i w istnieje co najmniej k dróg
wierzchołkowo rozłącznych z v do w.
Twierdzenie
Graf skierowany jest k-spójny łukowo, jeśli dla każdych dwóch
różnych jego wierzchołków v i w istnieje co najmniej k dróg łukowo
rozłącznych z v do w.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 1 / 12
PRZEPŁYWY W SIECIACH
• Siecią nazywamy parę uporządkowaną S = ( D, c) ,
gdzie: D = ( V, A ) jest grafem skierowanym,
c : A → R+ jest funkcją, która przyporządkowuje łukowi
(u, v) liczbę rzeczywistą nieujemną c(u, v), nazywaną
przepustowością łuku;
w grafie D wyróżnione są dwa wierzchołki s, t ∈V (s ≠ t)
nazywane: s – źródłem , a t – ujściem sieci.
Przykład sieci
v
x
y
ts
6
3
2
3
1
2
3
1
2
z
3
Czasami wygodnie jest zdefiniować funkcję c na całym zbiorze V × V
i wtedy przyjmujemy, że c(u, v) = 0 dla (u, v) ∈ (V × V) \ A
• Przepływem z s do t w sieci S nazywamy funkcję
f : A → R+ , spełniającą następujące warunki:
1. 0 ≤ f (u, v) ≤ c (u, v) dla każdego (u, v) ∈ A
2. 0),(),()()(
=− ∑∑−+ ∈∈ vVuvVu
vufuvf dla każdego v ∈ V \ s, t
(warunek zachowania przepływu)
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 2 / 12
Przykład przepływu w sieci
v
x
y
ts
5 (6)
3 (3)
1 (2)
2 (3)
1 (1)
1 (2)
3 (3)
0 (1)
1 (2)
z
3 (3)
f (s, x) = 5 ≤ 6 = c (s, x), f (x, t) = 3 ≤ 3 = c (x, t) itd.
∑∑−+ ∈∈
−)()(
),(),(xVuxVu
xufuxf = ( f (x, t) + f (x, v)) – ( f (s, x) + f (z, x)) =
= (3 + 2) – (5 + 0) = 5 – 5 = 0 itd.
• Wartością przepływu f nazywamy liczbę W( f ) daną wzorem:
∑∑−+ ∈∈
−=)()(
),(),()(sVusVu
sufusffW
Z warunku zachowania przepływu wynika, że
∑∑+− ∈∈
−=)()(
),(),()(tVutVu
utftuffW
Przykład wyznaczania wartości przepływu w sieci
W(f ) = f (s, x) + f (s, y) − f (s, v) = 5 + 3 − 1 = 7
lub
W(f ) = f (x, t) + f (z, t) + f (y, t) = 3 + 1 + 3 = 7
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 3 / 12
• Przekrojem sieci, który odpowiada niepustemu podzbiorowi
wierzchołków sieci U ⊂ V ( U ≠ ∅ ), nazywamy zbiór łuków
PU = A ∩ ( U × ( V \ U) ) = (u, v) ∈ A : u ∈ U, v ∈ V \ U
Przykład przekroju sieci
U
v
x
y
ts
5
3
1
2
1
1
3
0
1
z
3
Podzbiór wierzchołków U = s, v, y
(jego uzupełnienie do V to V \ U = x, z, t )
i odpowiadający mu przekrój sieci: PU = (s, x), (y, z), (y, t)
• Przepływem przez przekrój PU nazywamy liczbę
f (U, V \ U) = ∑∈ UPvu
vuf),(
),(
Przykład wyznaczania przepływu przez przekrój sieci
Dla przekroju sieci PU = (s, x), (y, z), (y, t)
przepływ przez ten przekrój wynosi
f ( s, v, y, ( x, t, z ) = f (s, x) + f (y, z) + f (y, t) = 5 + 1 + 3 = 9
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 4 / 12
Lemat
Jeśli s ∈ U i t ∈ V \ U dla pewnego podzbioru U ⊂ V , to dla
dowolnego przepływu f z s do t zachodzi równość
W(f ) = f (U, V \ U) − f (V \ U, U) ,
Gdzie f (U, V \ U) jest przepływem przez przekrój PU ,
a f (V \ U, U) jest przepływem przez przekrój PV \ U .
Dowód
Z definicji wartości przepływu:
∑∑−+ ∈∈
−=)()(
),(),()(
sVusVu
sufusffW ,
a z warunków zachowania przepływu w wierzchołkach v ∈ U \ s:
∑∑−+ ∈∈
−=)()(
),(),(0
vVuvVu
vufuvf .
Zsumujmy stronami wszystkie równania:
+−
+= ∑∑∑∑
∩∈∩∈∩∈∩∈ −−++ )\()()()\()()(
),(),(),(),()(
UVsVuUsVuUVsVuUsVu
sufsufusfusffW
+
++= ∑∑∑
∩∈∩∈∩∈ +++ )\()()\()()(
),(),(),(0
UVvVusUvVusvVu
uvfuvfuvf
++− ∑∑∑
∩∈∩∈∩∈ −−− )\()()\()()(
),(),(),(
UVvVusUvVusvVu
vufvufvuf dla v ∈ U \ s
Otrzymamy równanie:
+
−= ∑ ∑∑
∈ ∩∈∩∈ −+ \ )()(
),(),()(sUv svVuUsVu
vufusffW łuki z s do v∈U \s
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 5 / 12
+
−
+ ∑∑ ∑
∩∈∈ ∩∈ −+ UsVusUv svVu
sufuvf
)(\ )(
),(),( łuki z v∈U \s do s
+
−+ ∑ ∑∑
∈ ∩∈∩∈ −+\ )\()()\()(
),(),(sUv sUvVusUvVu
vufuvf łuki w obrębie U \s
+
++ ∑ ∑∑
∈ ∩∈∩∈ ++ \ )\()()\()(
),(),(sUv UVvVuUVsVu
uvfusf łuki z v∈U do u∈V \U
+− ∑ ∑∑
∈ ∩∈∩∈ −− \ )\()()\()(
),(),(sUv UVvVuUVsVu
vufsuf łuki z u∈V \U do v∈U
Trzy pierwsze składniki redukują się do 0 i pozostaje
( ) ),\(\,),(),()(
\),(),(
UUVfUVUfvufuvffW
UVU PvuPuv
−=−= ∑∑∈∈
Przykład ilustrujący lemat
V U\
U
v
x
y
ts
5
3
1
2
1
1
3
0
1
z
3
Podzbiór wierzchołków: U = s, y, z ,
odpowiadający mu przekrój sieci: PU = (s, x), (y, t), (z, x), (z, t)
i przepływ przez ten przekrój f ( s, y, z, v, x, t ) = 5 + 3 + 0 + 1 = 9
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 6 / 12
V U\
U
v
x
y
ts
5
3
1
2
11
3
0
1
z
3
Podzbiór wierzchołków: V \ U = v, x, t ,
odpowiadający mu przekrój sieci: PV \ U = (v, s), (v, y)
i przepływ przez ten przekrój f ( v, x, t, s, y, z ) = 1 + 1 = 2 ;
7 = W(f ) = f ( s, y, z, v, x, t ) − f ( v, x, t, s, y, z ) = 9 − 2 = 7
• Przepustowością przekroju PU dla U ⊂ V nazywamy liczbę
C(PU) = ∑∈ UPvu
vuc),(
),(
Przykład wyznaczania przepustowości przekroju
U
v
x
y
ts
6
3
2
3
1
2
3
1
2
z
3
C(P s, v, y) = c(s, x) + c(y, z) + c(y, t) = 6 + 2 + 3 = 11
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 7 / 12
Lemat
Dla dowolnego przepływu f z s do t w sieci S oraz przekroju PU ,
wyznaczonego przez podzbiór U ⊂ V , dla którego s∈U i t∈V \ U,
zachodzi nierówność
W(f ) ≤ C(PU),
Dowód
Dla ustalonego przepływu f i zbioru U z twierdzenia wynika
W(f ) = f (U, V \ U) − f (V \ U, U) ≤ f (U, V \ U)
Z definicji przepływu wynika, że f (U, V \ U) ≤ C(PU)
• Minimalnym przekrojem sieci pomiędzy źródłem i ujściem
nazywamy taki przekrój PU , dla którego przepustowość jest
najmniejsza ze wszystkich przekrojów sieci odpowiadających
takim podzbiorom U ⊂ V, że s ∈ U i t ∈ V \ U.
Zatem dla każdego przepływu w sieci jego wartość nie jest większa
od przepustowości minimalnego przekroju.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 8 / 12
Przykład wyznaczania minimalnego przekroju sieci
v
x
y
ts
6
3
2
3
1
2
3
1
2
z
3
Przekroje sieci pomiędzy s i t odpowiadają wszystkim zbiorom postaci
s ∪ A , gdzie A jest podzbiorem v, x, y, z:
U1 = s, U2 = s, v, U3 = s, v, x, U4 = s, x,
U5 = s, x, y, U6 = s, v, x, y, U7 = s, v, y, U8 = s, y,
U9 = s, y, z, U10 = s, v, y, z, U11 = s, v, x, y, z, U12 = s, x, y, z,
U13 = s, x, z, U14 = s, v, x, z, U15 = s, v, z, U16 = s, z.
( )( )16,...,1=iUi
PC = (9, 10, 7, 9, 11, 8, 11, 11, 12, 12, 8, 11, 11, 9, 13, 12)
Wartość minimalna w tym ciągu to 7 = ( ),, xvsPC
U
v
x
y
ts
6
3
2
3
1
2
3
1
2
z
33
Podzbiór U3 = s, v, x wyznacza minimalny przekrój 3UP pomiędzy
źródłem i ujściem o przepustowości C(3UP ) = 7.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 9 / 12
Zatem przepływ:
v
x
y
ts
5 (6)
3 (3)
1 (2)
2 (3)
1 (1)
1 (2)
3 (3)
0 (1)
1 (2)
z
3 (3)
o wartości 7 jest przepływem o maksymalnej wartości w tej sieci.
Czy w każdej sieci można znaleźć przepływ o wartości równej
przepustowości minimalnego przekroju?
TAK
Twierdzenie (Ford i Fulkerson, 1955)
W każdej sieci maksymalna wartość przepływu ze źródła do ujścia jest
równa przepustowości minimalnego przekroju pomiędzy źródłem
i ujściem.
Dla danej sieci S = (D, c), gdzie D = (V, A) jest grafem skierowanym
rozważmy drogę prostą P = (v1, …, vk) w pochodnym grafie
niekierowanym G(D).
Drodze P odpowiada ciąg łuków (a1, …, ak−1), w którym ai ∈ A
dla i = 1, …, k−1 oraz ai = (vi, vi+1) albo ai = (vi+1, vi).
Łuk ai w przypadku ai = (vi, vi+1) nazywamy łukiem zgodnym z
kierunkiem od v1 do vk , a w przypadku ai = (vi+1, vi) łukiem
niezgodnym z tym kierunkiem.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 10 / 12
• Dla danego przepływu f w sieci S oraz drogi prostej P ciąg
(a1, …, ak−1) nazywamy ścieżką z v1 do vk powiększającą
przepływ f, jeśli dla każdego łuku ai zgodnego z kierunkiem od
v1 do vk zachodzi f (ai) < c(ai), a dla każdego łuku ai
niezgodnego z kierunkiem od v1 do vk zachodzi f (ai) > 0.
Jeżeli dla danego przepływu f istnieje w sieci ścieżka z s do t
powiększająca ten przepływ, to wartość przepływu przez sieć można
zwiększyć o pewną wartość ε > 0, definiując nowy przepływ f ′, w
którym f ′(a) = f (a) + ε , dla każdego łuku a zgodnego z kierunkiem
od s do t, oraz f ′(a) = f (a) − ε , dla każdego łuku a niezgodnego z tym
kierunkiem.
Największa możliwa wartość ε jest równa minimum z różnic pomię-
dzy przepustowością i wartością przepływu dla łuków zgodnych z
kierunkiem z s do t oraz z wartości przepływu dla łuków niezgodnych.
Przykłady ścieżek powiększających przepływy w sieci
v
x
y
ts
4 (6)
3 (3)
2 (2)
3 (3)
1 (1)
0 (2)
3 (3)
1 (1)
1 (2)
z
2 (3)
W( f ) = 5
Ciąg łuków ((s, x), (z, x), (z, t)) odpowiada drodze P = (s, x, z, t) w G(D).
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 11 / 12
Łuki (s, x) i (z, t) są zgodne z kierunkiem od s do t, a łuk (z, x) jest
niezgodny z tym kierunkiem.
v
x
y
ts
4 (6)
3 (3)
2 (2)
3 (3)
1 (1)
0 (2)
3 (3)
1 (1)
1 (2)
z
2 (3)
W( f ) = 5
Ciąg łuków ((s, x), (z, x), (z, t)) jest ścieżką z s do t powiększającą
przepływ f :
c(s, x) − f (s, x) = 6 − 4 = 2 i c(z, t) − f (z, t) = 2 − 0 = 2,
czyli dla łuków zgodnych z kierunkiem od s do t zachodzi f (a) < c(a);
f (z, x) = 1 > 0 dla łuku niezgodnego z tym kierunkiem.
Można zatem zwiększyć wartość przepływu w sieci przyjmując ε = 1;
nowe wartości przepływów przez łuki ze ścieżki wyniosą wtedy:
f ′(s, x) = f (s, x) + 1 = 4 + 1 = 5, f ′(z, x) = f (z, x) − 1 = 1 − 1 = 0
f ′(z, t) = f (z, t) + 1 = 0 + 1 = 1; W( f ′) = W( f ) + 1 = 5 + 1= 6
v
x
y
ts
5 (6)
3 (3)
2 (2)
3 (3)
1 (1)
1 (2)
3 (3)
0 (1)
1 (2)
z
2 (3)
W( f ′) = 6
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (14) J.Sikorski Strona 12 / 12
v
x
y
ts
5 (6)
3 (3)
2 (2) 3 (3)
1 (1)
1 (2)
3 (3)
0 (1)
1 (2)
z
2 (3)
W( f ′) = 6
Ciąg łuków ((v, s), (x, v), (x, t)) jest ścieżką z s do t powiększającą
przepływ f ′: c(x, t) − f ′(x, t) = 3 − 2 = 1 ,
czyli dla łuku zgodnego z kierunkiem od s do t zachodzi f ′(a) < c(a);
f ′(v, s) = 2 > 0 i f ′(x, v) = 3 > 0
dla łuków niezgodnych z tym kierunkiem.
Można zatem zwiększyć wartość przepływu w sieci przyjmując ε = 1;
nowe wartości przepływów przez łuki ze ścieżki wyniosą wtedy:
f ′′(v, s) = f ′(v, s) − 1 = 2 − 1 = 1, f ′′(x, v) = f ′(x, v) − 1 = 3 − 1 = 2
f ′′(x, t) = f ′(x, t) + 1 = 2 + 1 = 3; W( f ′′) = W( f ′) + 1 = 6 + 1= 7
v
x
y
ts
5 (6)
3 (3)
1 (2)
2 (3)
1 (1)
1 (2)
3 (3)
0 (1)
1 (2)
z
3 (3)
W( f ′′) = 7
Twierdzenie
Przepływ f w sieci S jest maksymalny wtedy i tylko wtedy, kiedy nie
istnieje dla niego ścieżka powiększająca ze źródła s do ujścia t.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 1 / 13
SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH.
Rozważamy graf G = (V, E)
Dwie krawędzie e ′, e ′′∈ E nazywamy niezależnymi, jeśli nie są
incydentne ze wspólnym wierzchołkiem.
• Skojarzeniem w grafie G nazywamy dowolny podzbiór
krawędzi parami niezależnych.
Przykład skojarzenia
5
4
31
2
Dwa wierzchołki v ′, v ′′∈ V nazywamy niezależnymi, jeśli nie są
wierzchołkami sąsiednimi (nie są incydentne z tą samą krawędzią).
• Zbiorem wewnętrznie stabilnym wierzchołków grafu G nazywamy
dowolny podzbiór wierzchołków parami niezależnych.
Przykład zbioru wewnętrznie stabilnego
5
4
31
2
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 2 / 13
Przykład zastosowania zbioru wewnętrznie stabilnego
Na zadanym obszarze mamy ustaloną liczbę n miejsc, w których
możemy ulokować pewną liczbę obiektów. Miejsca te są
ponumerowane od 1 do n i będziemy je przedstawiali jako wierzchołki
grafu. Dla każdego miejsca i = 1, …, n znany jest podzbiór miejsc
K(i), w których umieszczenie kolejnego obiektu nie jest możliwe, jeśli
jest on już umieszczony w miejscu i. Chcemy na podanym obszarze
umieścić jak największą liczbę obiektów w podanych lokalizacjach.
1
2 5
4
8 11
7 10 13
3 6 9 12 15
14
Np. K(5) = 2, 4, 6, 8, K(12) = 8, 9, 11, 14, 15.
Opisane zagadnienie można wygodnie przedstawić jako poszukiwanie
wewnętrznie stabilnego zbioru wierzchołków o maksymalnej mocy
w tzw. grafie konfliktów: V = 1, …, n i E = i, j : i ∈ V, j ∈ K(i).
Uwaga:
Zagadnienie wyznaczania maksymalnego skojarzenia w grafie jako
problem algorytmiczny ma złożoność wielomianową, ale zagadnienie
wyznaczania maksymalnego zbioru wewnętrznie stabilnego
wierzchołków należy niestety do klasy problemów NP-trudnych.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 3 / 13
Rozważmy skojarzenie M ⊆ E w grafie G = (V, E)
• Drogą przemienną względem skojarzenia M w grafie G
nazywamy drogę prostą w tym grafie, której kolejne krawędzie
na przemian albo należą, albo nie należą do M.
Przykłady dróg w grafie ze skojarzeniem
5
4
31
2
5
4
31
2
5
4
31
2
P P
Q
’ ’’
P′ = (3, 3, 1, 1, 1, 2, 2, 2, 4, 4, 4, 5, 5, 3, 5, 3) jest drogą
przemienną względem skojarzenia M = 1, 2, 4, 5;
P″ = (5, 4, 5, 4, 1, 4, 1, 1, 2, 2, 2, 4, 4) jest drogą przemienną
względem skojarzenia M;
Q nie jest drogą przemienną względem M.
Wierzchołki grafu incydentne z krawędziami należącymi do
skojarzenia M nazywamy wierzchołkami nasyconymi, natomiast
pozostałe wierzchołki grafu nazywamy wierzchołkami
nienasyconymi.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 4 / 13
• Drogą powiększającą względem skojarzenia M w grafie G
nazywamy drogę przemienną względem M, która nie jest cyklem
i której końce są wierzchołkami nienasyconymi względem tego
skojarzenia.
Twierdzenie (Berge, 1957)
Skojarzenie M w grafie G jest skojarzeniem o maksymalnej mocy
wtedy i tylko wtedy, kiedy graf G nie zawiera drogi powiększającej
względem M.
Claude Berge (1926 – 2002)
Dowód twierdzenia oparty jest na spostrzeżeniu, że jeśli w grafie G
istnieje droga P powiększająca względem skojarzenia M, to zbiór
krawędzi M ⊗ E(P) jest także skojarzeniem w grafie G i ma moc o
jeden większą od mocy M .
E(P) oznacza zbiór krawędzi w drodze P.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 5 / 13
Przykłady wykorzystania tw. Berga
1
2 5
4
8 11
7 10 13
3 6 9 12 15
14
Skojarzenie M = 2, 4, 6, 9, 8, 12, 13, 14 o mocy |M| = 4;
droga P = (5, 5, 8, 8, 8, 12, 12, 12, 15, 15 jest drogą
powiększającą względem M (jest drogą przemienną względem M oraz
wierzchołki 5 i 12 są nienasycone względem M);
M ′ = M ⊗ E(P) =
2, 4, 6, 9, 8, 12, 13, 14 ⊗ 5, 8, 8, 12, 12, 15 =
= 2, 4, 5, 8, 6, 9, 12, 15, 13, 14
jest skojarzeniem w grafie G i | M ′ | = 5.
1
2 5
4
8 11
7 10
3 6 9 12 15
13
14
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 6 / 13
Dla skojarzenia M ′ : 1
2 5
4
8 11
7 10
3 6 9 12 15
13
14
można zbudować skojarzeniem M ″ o mocy równej 6.
1
2 5
4
8 11
7 10
3 6 9 12 15
13
14
POKRYCIA KRAW ĘDZIOWE i WIERZCHOŁKOWE
• Pokryciem krawędziowym grafu nazywamy taki podzbiór jego
krawędzi, że każdy wierzchołek grafu jest incydentny
z co najmniej jedną krawędzią z tego podzbioru.
Przykład pokrycia krawędziowego
5
4
31
2
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 7 / 13
• Pokryciem wierzchołkowym grafu nazywamy taki podzbiór jego
wierzchołków, że każda krawędź grafu jest incydentna
z co najmniej jednym wierzchołkiem z tego podzbioru.
Przykład pokrycia wierzchołkowego
5
4
31
2
Uwaga:
Zagadnienie wyznaczania minimalnego pokrycia krawędziowego
w grafie jako problem algorytmiczny ma złożoność wielomianową, ale
zagadnienie wyznaczania minimalnego pokrycia wierzchołkowego
należy niestety do klasy problemów NP-trudnych.
Dla grafu G bez wierzchołków izolowanych przyjmijmy oznaczenia:
ν (G) - maksymalna liczba krawędzi niezależnych w grafie G,
α (G) - maksymalna liczba wierzchołków niezależnych w grafie G,
ρ (G) - minimalna liczba krawędzi pokrywających wszystkie
wierzchołki grafu G,
τ (G) - minimalna liczba wierzchołków pokrywających wszystkie
krawędzie grafu G.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 8 / 13
Twierdzenie (Gallai, 1959)
Jeśli graf G = (V, E) jest grafem bez wierzchołków izolowanych, to
α (G) + τ (G) = | V | ,
czyli maksymalna moc zbioru wewnętrznie stabilnego wierzchołków i
minimalna moc pokrycia wierzchołkowego sumują się do liczby
wierzchołków w grafie, oraz
ν (G) + ρ (G) = | V | ,
czyli maksymalna moc skojarzenia i minimalna moc pokrycia
krawędziowego także sumują się do liczby wierzchołków w grafie.
Ponadto zachodzą nierówności:
ν (G) ≤ τ (G) i α (G) ≤ ρ (G).
(maks.moc skojarz. ≤ min.moc pokr.wierz.) (maks.moc zb.w.stab. ≤ min.moc pokr.kraw.)
Twierdzenie (König, 1916)
Jeśli graf jest dwudzielny, to ν (G) = τ (G)
(maksymalna moc skojarzenia jest równa minimalnej mocy pokrycia
wierzchołkowego).
• Skojarzeniem doskonałym w grafie nazywamy takie
skojarzenie, względem którego wszystkie wierzchołki tego grafu
są nasycone.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 9 / 13
Dla grafu G = (V, E) i podzbioru S ⊆ V przyjmijmy oznaczenie:
q(G−S) - liczba składowych spójnych o nieparzystej liczbie
wierzchołków w podgrafie grafu G, indukowanym przez podzbiór
wierzchołków V \ S.
Twierdzenie (Tutte, 1947)
Graf G ma skojarzenie doskonałe wtedy i tylko wtedy, kiedy
q(G−S) ≤ | S | dla każdego S ⊆ V.
Rozważmy teraz graf dwudzielny G = (V1∪V2, E).
• Skojarzeniem pełnym względem zbioru V1 (lub V2) nazywamy
takie skojarzenie w grafie G, względem którego wszystkie
wierzchołki v ∈ V1 (lub v ∈ V2) są nasycone.
Dla podzbioru S ⊆ V1 przyjmijmy oznaczenie:
N(S) – zbiór takich wierzchołków v2 ∈ V2 , dla których istnieje w
zbiorze S co najmniej jeden wierzchołek sąsiedni ( N(S) ⊆ V2 ).
Twierdzenie (Hall, 1935) – tzw. „twierdzenie o małżeństwach”
W grafie dwudzielnym G = (V1∪V2, E) istnieje skojarzenie pełne
względem zbioru V1 wtedy i tylko wtedy, kiedy
| N(S) | ≥ | S | dla każdego S ⊆ V1 .
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 10 / 13
Przykład sprawdzania warunku z tw. Halla
5
4
3
1
2
e
d
c
a
b
N a c( )1, 3, 5 = ,
V1 V2
5
4
3
1
2
e
d
c
a
b
V1 V2
(warunek Halla nie zachodzi) (istnieje skojarzenie pełne wzg. V1)
Wniosek (z tw. Halla)
Jeśli niepusty graf G jest dwudzielny i regularny, to ma skojarzenie
doskonałe.
KOLOROWANIE WIERZCHOŁKÓW GRAFU
Graf G jest k-barwny, jeśli każdemu wierzchołkowi można
przyporządkować jeden z k kolorów w taki sposób, że wierzchołki
sąsiednie mają różne kolory (nazywamy to pokolorowaniem
prawidłowym).
• Liczbą chromatyczną grafu G (ozn. χ (G) ) nazywamy
najmniejszą liczbę naturalną k, dla której graf ten jest k-barwny.
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 11 / 13
Przykład określenia liczby chromatycznej grafu
1
2
3
4
5 χ (G) = 4
Wyznaczenie liczby chromatycznej dla niektórych klas grafów jest
łatwe:
o dla grafu Kn liczba chromatyczna wynosi n,
o dla drzewa o co najmniej 2 wierzchołkach – wynosi 2,
o dla niepustego grafu dwudzielnego – wynosi 2,
ale w ogólnym przypadku jako problem algorytmiczny jest NP-trudne.
Proste oszacowania dla liczby chromatycznej:
o dla dowolnego grafu G o m krawędziach 41
221
)( ++≤ mGχ
np. dla m =10 daje to oszacowanie χ (G) ≤ 5,
o dla dowolnego grafu χ (G) ≤ ∆ (G) + 1, gdzie ∆ (G) oznacza
maksymalny stopień wierzchołka w grafie G,
o jeśli graf G jest spójny, nie jest grafem pełnym i nie jest cyklem
elementarnym o nieparzystej długości, to χ (G) ≤ ∆ (G).
Przez stulecia rozważany był problem znany jako „zagadnienie 4 barw”:
czy każdą mapę płaską można prawidłowo pokolorować 4 barwami?
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 12 / 13
• pierwsza pisana wzmianka o problemie – list do De Morgana (1852)
• dowód rozstrzygającego twierdzenia (ze wspomaganiem
komputerowym) – Appel i Haken (1976)
Przykład zagadnienia kolorowania mapy płaskiej
ZACHODNIOPOMORSKIE
POMORSKIEWARMIŃSKO-MAZURSKIE
KUJAWSKO-POMORSKIE
WIELKOPOLSKIE
MAZOWIECKIE
PODLASKIE
LUBELSKIE
ŁÓDZKIE
LUBUSKIE
DOLNOŚLĄSKIE
OPOLSKIEŚLĄSKIE
ŚWIĘTO-KRZYSKIE
PODKARPACKIE
MAŁOPOLSKIE
POZNAŃ
SZCZECIN
ZIELONAGÓRA
WROCŁAW
OPOLE
KATOWICE
KRAKÓW
RZESZÓW
LUBLIN
BIAŁYSTOK
ŁÓDŹ
KIELCE
WARSZAWA
BYDGOSZCZ
OLSZTYN
GDAŃSK
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA WIT
MATEMATYKA DYSKRETNA (15) J.Sikorski Strona 13 / 13
Twierdzenie „o czterech barwach”
Każdy graf planarny jest 4-barwny.
(każdą mapę płaską można pokolorować czterema barwami tak, że
każde dwa obszary o wspólnej granicy będą miały różne barwy)
Twierdzenie (Grötzsch, 1959)
Każdy graf planarny, który nie zawiera podgrafu izomorficznego z K3,
jest 3-barwny.
Twierdzenie (König, 1916)
Graf jest 2-barwny wtedy i tylko wtedy, kiedy nie zawiera cykli o
nieparzystej długości.