• Kup książkę• Poleć książkę • Oceń książkę
• Księgarnia internetowa• Lubię to! » Nasza społeczność
Spis treści
Oznaczenia 1
Wstęp 3
I. Podstawy 7
1. Indukcja i rekurencja 91.1. Zasada indukcji matematycznej . . . . . . . . . . . . . 9
1.2. Zbiory częściowo uporządkowane . . . . . . . . . . . 11
1.3. Rekurencja . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 23
2. Rozmieszczenia i permutacje 272.1. Funkcje i rozmieszczenia . . . . . . . . . . . . . . . . 27
2.2. Permutacje . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3. Liczby Stirlinga pierwszego rodzaju . . . . . . . . . . 38
2.4. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 41
3. Kombinacje 443.1. Współczynnik dwumianowy . . . . . . . . . . . . . . 44
3.2. Generowanie podzbiorów . . . . . . . . . . . . . . . . 48
3.3. Zbiory z powtórzeniami . . . . . . . . . . . . . . . . . 50
3.4. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 52
Poleć książkęKup książkę
iv Spis treści
4. Podziały 544.1. Podziały zbioru . . . . . . . . . . . . . . . . . . . . . 54
4.2. Zasada szufladkowa Dirichleta . . . . . . . . . . . . . 55
4.3. Zasada włączania-wyłączania . . . . . . . . . . . . . . 58
4.4. Liczby Stirlinga drugiego rodzaju . . . . . . . . . . . . 63
4.5. Podziały liczb . . . . . . . . . . . . . . . . . . . . . . 67
4.6. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 69
5. Funkcje tworzące 725.1. Szeregi formalne . . . . . . . . . . . . . . . . . . . . 72
5.2. Rozwiązywanie rekurencji . . . . . . . . . . . . . . . 75
5.3. Zastosowania funkcji tworzących . . . . . . . . . . . . 77
5.4. Sploty . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.5. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 82
II. Grafy 83
6. Elementy teorii grafów 856.1. Podstawowe pojęcia . . . . . . . . . . . . . . . . . . . 85
6.2. Macierze grafów . . . . . . . . . . . . . . . . . . . . . 91
6.3. Izomorfizm, podstawowe własności i typy grafów . . . 102
6.4. Kolorowanie i wielomiany . . . . . . . . . . . . . . . 111
6.5. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 115
7. Cykle, drzewa, pokrycia 1207.1. Grafy Eulera i Hamiltona, turnieje . . . . . . . . . . . 120
7.2. Spójność . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.3. Drzewa . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.4. Skojarzenia . . . . . . . . . . . . . . . . . . . . . . . 140
7.5. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 144
Poleć książkęKup książkę
Spis treści v
8. Wybrane algorytmy grafowe 1488.1. Algorytmy przeszukiwania . . . . . . . . . . . . . . . 148
8.2. Minimalne drzewa spinające i minimalne drogi . . . . 152
8.3. Przepływy w sieciach . . . . . . . . . . . . . . . . . . 157
8.4. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 164
III. Ogólne struktury kombinatoryczne 167
9. Ciała i przestrzenie wektorowe 1699.1. Ciała skończone . . . . . . . . . . . . . . . . . . . . . 169
9.2. Skończone przestrzenie wektorowe . . . . . . . . . . . 171
9.3. Skończone geometrie rzutowe i afiniczne . . . . . . . . 175
9.4. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 179
10. Matroidy 18110.1. Podstawy . . . . . . . . . . . . . . . . . . . . . . . . 181
10.2. Transwersale . . . . . . . . . . . . . . . . . . . . . . . 189
10.3. Matroidy dualne . . . . . . . . . . . . . . . . . . . . . 192
10.4. Wielomiany Tutte’a . . . . . . . . . . . . . . . . . . . 196
10.5. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 200
11. Systemy i algorytmy zachłanne 20311.1. Systemy zachłanne . . . . . . . . . . . . . . . . . . . 203
11.2. Algorytmy zachłanne . . . . . . . . . . . . . . . . . . 207
11.3. Zadania . . . . . . . . . . . . . . . . . . . . . . . . . 212
Rozwiązania, odpowiedzi i wskazówki 215Rozdział 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Rozdział 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Rozdział 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Poleć książkęKup książkę
vi Spis treści
Rozdział 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Rozdział 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Rozdział 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Rozdział 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Rozdział 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Rozdział 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Rozdział 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Rozdział 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Dodatki 259
A. Podstawowe pojęcia 261A.1. Notacja . . . . . . . . . . . . . . . . . . . . . . . . . 261
A.2. Zbiory . . . . . . . . . . . . . . . . . . . . . . . . . . 262
A.3. Algebra . . . . . . . . . . . . . . . . . . . . . . . . . 263
A.4. Rozwinięcie funkcji w szereg potęgowy . . . . . . . . 265
A.5. Prawdopodobieństwo . . . . . . . . . . . . . . . . . . 266
B. Sławni matematycy 267
Literatura 283
Skorowidz 285
Poleć książkęKup książkę
152 8. Wybrane algorytmy grafowe
8.2. Minimalne drzewa spinające i minimalne drogi
NiechG = (V,E) będzie grafem nieskierowanym bez pętli o nwierz-chołkach. Na zbiorze krawędziE określamy funkcję o wartościach nie-ujemnych, w : E → R+. Wartość w (e) nazywamy wagą krawędzi e.Jeśli e = {u, v}, to piszemy po prostu w (u, v). Graf G z określonąfunkcją w nazywa się grafem ważonym.
Minimalnym drzewem spinającym spójnego grafuG nazywamy drze-Minimalnedrzewospinające
wo spinające T takie, że jego waga
w (T ) =∑e∈T
w (e) (8.2.1)
jest najmniejsza. Gdy G nie jest spójny, to analogicznie minimalnymlasem spinającym T grafuG nazywamy las spinający TG taki, że wagaw (G) określona wzorem (8.2.1) jest najmniejsza.
Minimalną drogą łączącą wierzchołki u oraz v w grafie G, u = v,Drogaminimalna nazywamy drogę P (u, v) taką, że jej waga
w (P (u, v)) =∑
e∈P (u,v)w (e) (8.2.2)
jest najmniejsza. Gdy wierzchołki u oraz v nie są połączone drogą (na-leżą do różnych składowych grafu G), to przyjmujemy P (u, v) =∞.
Dla sieci komunikacyjnych lub przepływowych wagi mogą reprezento-wać pewne wielkości fizyczne, takie jak koszt, odległość, efektywność,pojemność lub niezawodność, przypisane odpowiednim krawędziom.Prosty graf ważony może reprezentować jego macierz wagW = [wij ],gdziewij jest wagą krawędzi eij między wierzchołkiem vi oraz wierz-chołkiem vj . Wagom nieistniejących krawędzi nadaje się w zależnościod zastosowań wartość∞ lub 0.
Omówimy dalej dwa algorytmy służące do rozwiązywania problemuminimalnego drzewa spinającego. Są nimi algorytm Kruskala i al-gorytm Prima. Oba algorytmy są przykładami zachłannych algoryt-
Poleć książkęKup książkę
8.2. Minimalne drzewa spinające i minimalne drogi 153
mów optymalizacyjnych, które zostaną przedstawione bardziej ogólniew rozdziale 11. W każdym kroku takiego algorytmu musimy dokonaćjednego z wielu możliwych wyborów. Stosując strategię zachłanną,dokonujemy wyboru, który jest w danej chwili najlepszy.
Algorytm Kruskala37 wyznaczający minimalne drzewo spinające maAlgorytmKruskala następującą postać. NiechG będzie grafem o n wierzchołkach. Wtedy
następujący algorytm daje rozwiązanie problemu minimalnego drzewalub lasu spinającego:
Algorytm 8.2.1
1. Sortujemy krawędzie niemalejąco według wag.2. Wybieramy krawędź e1 o najmniejszej wadze.3. Dodajemy krawędzie e2, e3, . . . , en−1, wybierając za każdym ra-
zem nową krawędź o najmniejszej możliwej wadze, która nie two-rzy cyklu z dotychczas wybranymi krawędziami ei.
Podgraf T grafuG, którego krawędziami są e1, e2, . . . , en−1, jest szu-kanym drzewem spinającym. Jeśli G jest grafem niespójnym, to algo-rytm Kruskala wyznacza minimalny las.
Metodą wyznaczania minimalnego drzewa spinającego grafu, któraAlgorytmPrima nie wymaga ani sortowania, ani sprawdzania istnienia cykli w każdym
kroku, jest algorytm Prima57, zwany też algorytmem najbliższego są-siada. Dla grafu spójnego przebiega on w następujący sposób.
Algorytm 8.2.2
1. Niech T = ∅.2. Wybieramy dowolny wierzchołek początkowy v1 ∈ T i dołącza-
my go do T .3. Wybieramy dowolną krawędź incydentną z v1 o najniższej wadze
i drugi koniec tej krawędzi dołączamy do zbioru T .4. Kolejno dla i = 2, . . . , n − 1 wybieramy dowolną krawędź ei
incydentną z dowolnym wierzchołkiem ze zbioru T o najniższejwadze taką, że jej drugi koniec nie należy do T , i dołączamy tenkoniec do zbioru T .
5. Algorytm kończy się, gdy T = V .
Powyższa procedura wyznacza minimalne drzewo spinające zawiera-jące krawędzie e1, e2, . . . , en−1. Najgorszy przypadek dla powyższe-go algorytmu pojawia się, gdy graf G jest grafem pełnym. W takiej
Poleć książkęKup książkę
154 8. Wybrane algorytmy grafowe
sytuacji w każdym kroku algorytmu musimy przeprowadzić maksy-malną liczbę porównań, aby znaleźć najbliższy sąsiedni wierzchołek.Jeśli G jest grafem niespójnym, to dla wyznaczenia minimalnego lasunależy algorytm Prima zastosować dla każdej składowej oddzielnie.
Algorytm zachłanny generujący minimalne drzewo spinające za-wdzięczamy J. B. Kruskalowi (1956). Algorytm wyznaczający mini-malne drzewo spinające metodą najbliższego sąsiada został odkrytyw 1930 roku przez czeskiego matematyka V. Jarnıka32, a następnieponownie odkryty w 1957 roku przez R. C. Prima oraz niezależniew 1959 roku przez holenderskiego informatyka E. Dijkstrę11.
Przykład 8.2.1Na rysunku 8.4 przedstawiony jest grafG = K5 z wagami krawędzi. Oznacz-my eij = (vi, vj). Krawędzie porządkujemy według rosnących wag:
e15, e35, e13, e23, e12, e25, e24, e45, e34, e14 .
Zgodnie z algorytmem Kruskala wybieramy kolejne krawędzie, które nietworzą cykli z poprzednio wybranymi. Są to krawędzie e15, e35, e23, e45 . Wa-ga tego drzewa wynosiw (T ) = 2+3+5+7 = 17 i jest to minimalne drzewospinające.
2 7
79 4
73 7
5
8
v1
v2
v3v4
v5
2
73 5
v1
v2
v3v4
v5
Rysunek 8.4. Graf do przykładu 8.2.1 i jego minimalne drzewo spinające
Poleć książkęKup książkę
8.2. Minimalne drzewa spinające i minimalne drogi 155
Stosując algorytm Prima, zaczynamy od dowolnego wierzchołka, na przy-kład od v2. Krawędź o najmniejszej wadze do pozostałych wierzchołków toe23. Od zbioru wierzchołków {v2, v3} do pozostałych prowadzi krawędź e35,od zbioru {v2, v3, v5} do pozostałych prowadzi krawędź e15, a w końcu wy-bieramy krawędź e45. Dostaliśmy to samo drzewo co otrzymane za pomocąalgorytmu Kruskala.
Drzewa minimalne mogą być różne w zależności od użytego algo-rytmu, sposobu posortowania przy algorytmie Kruskala (gdy waginiektórych krawędzi są identyczne), wierzchołka startowego i kolej-nych wyborów przy algorytmie Prima. Niemniej wagi tak otrzymanychdrzew minimalnych są oczywiście takie same.
Długością ważoną drogi (u0, u1, . . . , un)w grafieG (V,E) o nieujem-nych wagach krawędzi (łuków) e ∈ E jest suma wag krawędzi tej dro-gi. Do znajdowania najkrótszej drogi ważonej z ustalonego wierzchoł-ka u w grafie G (V,E) o nieujemnych wagach krawędzi e ∈ E służyalgorytm opracowany przez E. Dijkstrę.
Algorytm ten znajduje w grafie wszystkie najkrótsze drogi pomiędzyAlgorytmDijkstry wyróżnionym wierzchołkiem u a wszystkimi pozostałymi, dodatkowo
wyliczając długość każdej z tych dróg. Algorytm Dijkstry jest równieżprzykładem algorytmu zachłannego (zobacz na przykład [7], [13]).Sformułujemy go dla grafów nieskierowanych.
Algorytm 8.2.3Tworzymy dwa zbiory wierzchołków Q i S. W trakcie algorytmu bę-dziemy tworzyć funkcję d (v) 0 określoną na V i funkcję p (v) okre-śloną na V \ u o wartościach w V . Wierzchołek u jest jedynym wierz-chołkiem początkowym.
1. Niech Q = V , S = ∅.2. Dla każdego v ∈ V \u przyjmujemy d (v) =∞ oraz d (u) = 0.3. Funkcja p (v) jest niezdefiniowana dla wszystkich v ∈ V .4. Powtarzamy poniższe kroki algorytmu, aż Q = ∅.
(a) Wybieramy wQwierzchołek o najmniejszym d (v), usuwa-my go z Q i dodajemy do S.
(b) Dla każdego t ∈ Γ (v) ∩Q, jeśli d (t) > d (v) + w (v, t),to d (t) = d (v) + w (v, t).
(c) Określamy p (t) = v.
W wyniku działania tego algorytmu ciąg wierzchołków v, v1 = p (v),v2 = p (v1) , . . . , u = p (vm) jest najkrótszą drogą z wierzchołka v dopoczątkowego wierzchołka u.
Poleć książkęKup książkę
156 8. Wybrane algorytmy grafowe
Uwaga. Dla wybrania z Q wierzchołka v o najmniejszym d (v) naj-lepiej przyjąć, że Q jest uporządkowany tak jak przy przeszukiwaniugrafu metodą BFS (algorytm 8.1.1).
Przykład 8.2.2Dla grafu pokazanego na rysunku 8.5 najkrótszą drogą ważoną od v1 do v5jest ciąg (v1, v2, v8, v7, v9, v4, v6, v5). Ważona długość tej drogi jest równa12, a długość nieważona jest równa 7. Długość zaś najkrótszej drogi nieważo-nej jest równa 4, a taką drogą jest na przykład ciąg v1, v2, v3, v4, v5. Długośćważona tej drogi wynosi 28.
Aby zastosować algorytm Dijkstry, ustalamy najpierw algorytmem BFS zbiór(kolejkę) Q (wiersz pierwszy) i nadajemy wartości z kroku 2 w algorytmie(wiersz drugi).
W kolejnych krokach algorytmu, idąc z kolejnych wierzchołków v z kolejkiQ, wierzchołki t ∈ V + (v) grafu otrzymują wartości d (t).
v1 v2 v8 v3 v7 v4 v9 v6 v50 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
v1 0 3 7 ∞ ∞ ∞ ∞ ∞ ∞v2 0 3 4 12 8 ∞ ∞ ∞ ∞v8 0 3 4 12 6 ∞ ∞ ∞ ∞v3 0 3 4 12 6 20 16 ∞ ∞v7 0 3 4 12 6 20 8 11 ∞v9 0 3 4 12 6 9 8 11 ∞v4 0 3 4 12 6 9 8 10 17v6 0 3 4 12 6 7 6 10 12
v1 v3 v2 v8 v9 v7 v4 v6
Wartości p (v) dla v ∈ V \ v1 są podane w ostatnim wierszu.
3
7
1 5
2
11
2
84
25
9 8
5
v1
v2 v3 v4
v5
v6v7v8
v9
Rysunek 8.5. Graf do przykładu 8.2.2
Poleć książkęKup książkę
11. Systemy i algorytmy zachłanne
11.1. Systemy zachłanne
Około 1980 roku J. Korte35 i L. Lovasz42 wprowadzili greedoidy, bę-dące dalszym uogólnieniem matroidów, jako narzędzie do opisywaniai badania algorytmów zachłannych∗.
NiechE będzie zbiorem skończonym. Systemem zachłannym (greedo-idem) nazywamy parę M = (E,F) taką, że niepusta rodzina F pod-zbiorów zbioru E spełnia następujące postulaty:
(g1) ∅ ∈ F ,(g2) jeśli F1, F2 ∈ F , |F1| < |F2|, to istnieje e ∈ F2 \ F1 taki, że
F1 ∪ e ∈ F .
Zbiory należące do F nazywa się wykonalnymi (ang. feasible). Rodzi-Zbiorywykonalnei osiągalne
nę F nazywa się osiągalną (ang. accesible), gdy spełniony jest waru-nek (g1) oraz
(a1) jeśli F ∈ F \ ∅, to istnieje e ∈ F takie, że F \ e ∈ F .
Parę (E,F), gdzie F jest rodziną osiągalną, nazywamy systememosiągalnym. Greedoidy są systemami osiągalnymi. Łatwo też zauwa-żyć, że każdy matroid jest systemem zachłannym, gdzie zbiorami wy-konalnymi są zbiory niezależne matroidu.
Bazą systemu zachłannego nazywa się każdy maksymalny zbiór wy-Bazakonalny. Z postulatu (g2) wynika, że każda baza ma tę samą liczbęelementów.
Rzędem ρ(F ) zbioru F ⊆ E nazywa się liczbę elementów maksy-Rządmalnego zbioru wykonalnego F ⊆ A. Zbiór F ∈ F jest wykonalny
∗B. Korte, L Lovasz, R. Schrader, Greedoids, Springer-Verlag, Berlin 1991. Patrzrównież B. Korte, J. Vygen, Combinatorial Optimization, Theory and Algorithms,Springer-Verlag, Berlin 2012.
Poleć książkęKup książkę
204 11. Systemy i algorytmy zachłanne
wtedy i tylko wtedy, gdy ρ (F ) = |F |. Każdy maksymalny wykonalnypodzbiór F zbioru A ma tę samą liczbę elementów ρ (A).
Przykład 11.1.1Niech G = (V,E) będzie grafem nieskierowanym z wyróżnionym wierz-chołkiem r ∈ V . Zbiory F krawędzi drzew (niekoniecznie spinających) za-wierających wierzchołek r tworzą rodzinęF taką, że (E,F) jest greedoidem.
Przykład 11.1.2Niech T = (V,E, r) będzie drzewem o ustalonym korzeniu r. Określmyrodzinę F jako rodzinę zbiorów krawędzi poddrzew drzewa T o tym samymkorzeniu r. Jeśli F ∈ F oraz F = ∅, to usuwając krawędź e incydentnąz wierzchołkiem stopnia 1, otrzymujemy znowu poddrzewo o korzeniu r lubzbiór pusty. Jedyną bazą takiego greedoidu jest E (patrz zadanie 11.1).
Niech T będzie drzewem przedstawionym na rysunku 11.1. WówczasA ∈ Ftylko wtedy, gdy zajdzie jeden z przypadków:
a) {a, b} ⊆ A,
b) a ∈ A, A ⊆ E \ {b, e},
c) b ∈ A, A ⊆ E \ {a, c, d},
d) a = ∅.
r
a b
c d e
Rysunek 11.1. Drzewo T z korzeniem r
Wtedy też:
ρ (A) =
{|A|, jeśli A ∈ F ,0, jeśli A /∈ F .
W matroidzie każdy podzbiór bazy jest zbiorem niezależnym. Jeśli więc je-dyną bazą jest cały zbiór E, to każdy zbiór A ⊆ E jest niezależny, czyli jestto matroid wolny. Tutaj nie każdy podzbiórE należy doF . Oznacza to (patrzzadanie 11.1), że tak skonstruowana para (E,F) jest greedoidem, ale nie jestmatroidem.
Poleć książkęKup książkę
11.1. Systemy zachłanne 205
Wróćmy do warunków (s1) – (s3) z twierdzenia 10.1.5 na str. 184i zastąpmy warunek (s4) warunkiem (s′4):
(s1) A ⊆ σ (A),(s2) jeśli A ⊆ B, to σ (A) ⊆ σ (B),(s3) σ (σ (A)) = σ (A),(s′4) jeśli f /∈ σ (A), f ∈ σ (A ∪ e), f = e to e /∈ σ (A ∪ f).
Parę (E, σ) spełniającą warunki (s1) – (s′4) nazywamy antymatro-Antymatroididem. Antymatroid jest greedoidem, choć nie jest matroidem.
Przykład 11.1.3Niech σ (A) będzie minimalnym poddrzewem drzewa z przykładu 11.1.2,zawierającym krawędzie zbioruA. Wtedy σ (A) spełnia warunki (s1) – (s′4),czyli greedoid z tego przykładu jest antymatroidem.
Wprowadźmy trzy własności greedoidów o rodzinie wykonalnej F .
(v0) Własność przedziałowa: jeśli F,G,H ∈ F , F ⊆ G ⊆ H orazdla każdego e /∈ H zachodzi F ∪ e ∈ F , H ∪ e ∈ F , to wtedyG ∪ e ∈ F .
(vG) Własność przedziałowa bez ograniczenia górnego: jeśli F,G ∈F , F ⊆ G oraz dla każdego e /∈ G zachodzi F ∪ e ∈ F , towtedy G ∪ e ∈ F .
(vD) Własność przedziałowa bez ograniczenia dolnego: jeśli G,H ∈G, F ⊆ H oraz H ∪ e ∈ F , to wtedy G ∪ e ∈ F .
Uzasadnieniem wprowadzenia tych pojęć są następujące trzy własno-ści.
Własność 11.1.1Greedoid mający własność przedziałową jest greedoidem, dla które-go suma dwóch dowolnych zbiorów wykonalnych jest wykonalna, o ilezawiera inny zbiór wykonalny.
Własność 11.1.2Greedoid mający własność przedziałową bez ograniczenia górnegojest antymatroidem.
Własność 11.1.3Greedoid mający własność przedziałową bez ograniczenia dolnegojest matroidem.
Poleć książkęKup książkę
206 11. Systemy i algorytmy zachłanne
Przykład 11.1.4Niech G = (V,E) będzie grafem prostym z wyróżnionym wierzchołkiemr ∈ V . Niech F będzie rodziną zbiorów wierzchołków F takich, że r ∈ Foraz F tworzy spójny podgraf grafu G. Wtedy (V,F) jest antymatroidem.Ten greedoid jest zwany greedoidem przeszukiwań wierzchołków (ang. ver-tex search greedoid).
Zauważmy, że greedoid z przykładu 11.1.3 można uważać za szczególnyprzypadek tak określonego greedoidu. Wystarczy do drzewa T z przykła-du 11.1.3 dołączyć wierzchołek r0 i dodać krawędź {r0, r}, otrzymując drze-wo T0, a następnie utworzyć graf krawędziowyG = L (T0) z wierzchołkiemr = L ({r0, r}).
Przykład 11.1.5Niech G = (V,E) będzie digrafem prostym z wyróżnionym wierzchołkiemr ∈ V . NiechF będzie rodziną łuków poddrzew skierowanych zawierającychłuki skierowane zgodnie z drogami prowadzącymi od r do wierzchołków koń-cowych. (E,F) jest greedoidem przedziałowym, ale nie jest ani matroidem,ani antymatroidem. Ten greedoid jest zwany greedoidem przeszukiwań łu-ków (ang. line search greedoid).
Zauważmy, że również tutaj greedoid z przykładu 11.1.3 można uważać zaszczególny przypadek tak określonego greedoidu. Wystarczy, że w drzewieT z przykładu 11.1.3 zorientujemy krawędzie tak, aby łuki były skierowanezgodnie z drogami prowadzącymi od r do wierzchołków końcowych.
Greedoid można też określić za pomocą poniżej zdefiniowanego języ-ka zachłannego.
Niech E∗ będzie zbiorem słów nad alfabetem E, to znaczy zbioremciągów o elementach (literach) z E. Konkatenacją αβ słów α =x1 . . . xi oraz β = y1 . . . yj jest słowo x1 . . . xiy1 . . . yj . Nośnikiemα słowa α jest zbiór różnych liter słowa α. Słowo jest proste, gdy każ-da litera występuje w słowie co najwyżej jeden raz.
Językiem nazywamy skończoną i niepustą rodzinę L ⊆ E∗. Język jestprosty, gdy wszystkie jego słowa są proste. Nośnikiem L językaL jest:
L = {α : α ∈ L}. (11.1.1)
Językiem zachłannym nad skończonym zbiorem E jest para (E,L),Językzachłanny gdzie L jest językiem prostym takim, że:
(l1) jeśli α = βγ i α ∈ L, to β ∈ L,(l2) jeśli α, β ∈ L oraz |α| > |β|, to α zawiera literę x taką, że
βx ∈ L.
Poleć książkęKup książkę
11.2. Algorytmy zachłanne 207
Warunek (l1) jest warunkiem (lewej) dziedziczności. Warunek (l2) jestaksjomatem wymiany.
Twierdzenie 11.1.1Systemy zachłanne i języki zachłanne są równoważne w następującymsensie.
(i) Jeśli (E,L) jest językiem zachłannym, to(E, L
)jest systemem
zachłannym.(ii) Jeśli (E,F) jest systemem zachłannym, to
L (F) = {x1 . . . xk ∈ E∗ : {x1, . . . , xi} ∈ F dla 1 ¬ i ¬ k}
jest językiem zachłannym.(iii) L
(L)= L oraz L (F) = F .
Przykład 11.1.6Niech zbiorem liter będą krawędzie drzewa z przykładu 11.1.2. Określ-my słowa języka L jako ciągi symboli α = (x1, . . . , xk) takie, że zbiór{x1, . . . , xk} jest drzewem o korzeniu r oraz jeśli α = βγ, γ = (y1, . . . , yl),to również {y1, . . . , yl} jest drzewem o korzeniu r. Spełnione są więc warun-ki (l1) oraz (l2).
11.2. Algorytmy zachłanne
Niech E będzie zbiorem skończonym oraz w : E → R+. Wartośćfunkcji w (e) nazywa się wagą elementu e. Niech S będzie pewną ro-dziną podzbiorów zbioru E. Liczbę:
w(A) =∑e∈A
w(e)
nazywa się wagą zbioru A. Rozważmy problem znalezienia zbioruAlgorytmzachłanny A ∈ S o największej wadze. W tym celu sformułujemy następujący
algorytm, zwany zachłannym.
Algorytm 11.2.1
1. Sortujemy elementy e ∈ E według nierosnących wag w ciąge1 e2 · · · en (lub według niemalejących wage1 ¬ e2 ¬ · · · ¬ en ).
2. Zaczynając od A = ∅, dla i = 1, . . . , n, jeżeli A ∪ ei ∈ S , toA← A ∪ ei .
Poleć książkęKup książkę
208 11. Systemy i algorytmy zachłanne
Otrzymany w ten sposób zbiór A jest wynikiem działania algorytmuzachłannego.
Algorytm zachłanny nie musi być optymalny, to znaczy zbiór A ∈ Sznaleziony za pomocą algorytmu zachłannego nie musi mieć najwięk-szej (najmniejszej) wagi.
Przykład 11.2.1Niech:
A =
7 5 13 4 32 3 1
.Suma trzech elementów macierzyAwybranych algorytmem 11.2.1 takich, żez każdej kolumny może być tylko jeden element, jest największa i jest równa15. Jeśli natomiast wybrane elementy nie mogą być z tych samych kolumni wierszy, to suma takich trzech elementów nie jest największa. Algorytmzachłanny daje sumę 12, natomiast największa suma jest równa 13.
Bardziej ogólne przykłady pozostawimy jako zadania 11.2 i 11.3.
R. Rado59 i J. Edmonds14 udowodnili poniższy wynik.
Twierdzenie 11.2.1JeżeliM = (E, I) jest matroidem, to zbiórA wyznaczony przez algo-rytm zachłanny jest zbiorem niezależnym o największej (najmniejszej)wadze. Jeżeli (E, I) nie jest matroidem, to istnieje waga w : E → R+taka, że A nie jest zbiorem o największej (najmniejszej) wadze.
Za pomocą algorytmu zachłannego i z wykorzystaniem twierdze-nia 11.2.1 można wyznaczyć minimalne drzewo spinające grafu spój-nego.
Jeżeli matroid jest grafowy, to algorytm Kruskala wyboru maksymal-nego (minimalnego) drzewa spinającego w grafie G jest algorytmemzachłannym w matroidzie M (G). Algorytm Prima nie jest zaś algo-rytmem zachłannym w matroidzieM (G), gdyż w sformułowaniu tegoalgorytmu występują wierzchołki grafu. Jest on jednak algorytmem za-chłannym w pewnym greedoidzie związanym z grafemG. Zagadnienieto omówimy w dalszej części tego punktu.
Przykład 11.2.2W matroidzie Fano F3 o elementach {1, 2, . . . , 7} (zobacz rysunek 9.3 nastr. 176) określimy wagę elementu i wzorem w (i) =
(i2 mod 6
)+ 1. Po-
nieważ różne elementy mogą mieć tę samą wagę, to elementy matroidu mogąbyć uporządkowane rosnąco na różne sposoby, na przykład:
Poleć książkęKup książkę
11.2. Algorytmy zachłanne 209
1. (6, 5, 7, 1, 3, 2, 4),
2. (6, 5, 1, 7, 3, 2, 4),
3. (6, 7, 1, 5, 3, 4, 2).
Wybieramy bazę o najmniejszej wadze. Przy pierwszym i drugim uporządko-waniu minimalną bazę tworzą trzy pierwsze elementy, czyli B1 = {5, 6, 7}orazB2 = {1, 5, 6}. Przy uporządkowaniu trzecim element 1 będący na trze-ciej pozycji należy do σ (6, 7), więc musi być pominięty i wzięty element 5.Stąd B3 = B1.
Algorytm Huffmana
Algorytm Huffmana31 jest metodą bezstratnej kompresji danych, opra-cowaną w 1952 roku. Mimo że nie jest zbyt efektywny, stosuje się goze względu na prostotę oraz brak ograniczeń patentowych. Jest przy-kładem algorytmu zachłannego.
Z symboli utworzony jest ciąg skończony (tekst) τ . Słowa kodoweo długości k bitów (znaków 0 i 1) każde wystarczają do zakodowa-nia 2k symboli. Na przykład powszechnie stosowany ośmiobitowy kodASCII wystarcza na zakodowanie 128 symboli. Nie jest jednak ko-nieczne, aby słowa kodowe były jednakowej długości.
Załóżmy, że każdemu symbolowi przypisujemy s ∈ S i przyporządko-wujemy wagęw (s). Niech b (s) będzie liczbą bitów słowa kodującegosymbol s. Kodowanie Huffmana polega na utworzeniu słów kodowycho niejednakowej długości w taki sposób, aby średnia ważona
W =∑ni=1 b (si)w (si)∑ni=1w (si)
(11.2.1)
była najmniejsza. Jeśli za wagę w (si) przyjmiemy prawdopodobień-stwo pi występowania symbolu si w ciągu τ , to L określone wzo-rem (11.2.2) jest wartością oczekiwaną długości słowa kodowego:
L =n∑i=1
b (si) p (si) , (11.2.2)
gdyż mianownik prawej strony wzoru (11.2.1) jest równy 1 (patrz do-datek A.5).
Algorytm Huffmana:
1. Tworzymy listę drzew binarnych, które w wierzchołkach prze-chowują pary: (si, pi). Na początku drzewa składają się wyłącz-nie z korzenia.
Poleć książkęKup książkę
210 11. Systemy i algorytmy zachłanne
2. Jeśli na liście jest więcej niż jedno drzewo, powtarzamy: usuwa-my z listy dwa drzewa o najmniejszym prawdopodobieństwiezapisanym w korzeniu. Wstawiamy nowe drzewo, w któregokorzeniu jest suma prawdopodobieństw usuniętych drzew, na-tomiast one same stają się jego lewym i prawym poddrzewem.Korzeń drzewa nie przechowuje symbolu.
3. Drzewo, które pozostanie na liście, jest nazywane drzewem Huf-fmana – prawdopodobieństwo zapisane w korzeniu jest równe 1,natomiast w liściach drzewa zapisane są symbole.
Algorytm Huffmana nie określa, w jakiej kolejności wybierać drze-wa z listy, jeśli mają takie samo prawdopodobieństwo. Nie jest rów-nież określone, które z usuwanych drzew ma stać się lewym bądź pra-wym poddrzewem. Jednak bez względu na przyjęte rozwiązanie war-tość oczekiwana długości kodu pozostaje taka sama.
Na podstawie drzewa Huffmana tworzone są słowa kodowe według na-stępującego algorytmu:
1. Każdej lewej krawędzi drzewa przypisujemy 0, prawej 1 (możnaoczywiście odwrotnie).
2. Przechodzimy w głąb drzewa od korzenia do każdego liścia(symbolu): jeśli idziemy w prawo, dopisujemy do kodu bit o war-tości 1; jeśli idziemy w lewo, dopisujemy do kodu bit o warto-ści 0.
Długość słowa kodowego jest równa głębokości symbolu w drzewie.
Przykład 11.2.3Cztery symbole a, b, c, d występujące z prawdopodobieństwami:
a b c d0.1 0.2 0.3 0.4
Proces budowy drzewa kodowego przedstawiony jest na rysunku 11.2. Kodyznaków:
• a = 000,
• b = 001,
• c = 01,
• d = 1.
Wartość oczekiwana długości słowa kodowego wynosi:
3 · 0.1 + 3 · 0.2 + 2 · 0.3 + 1 · 0.4 = 1.9.
Poleć książkęKup książkę
11.2. Algorytmy zachłanne 211
Cztery symbole – cztery drzewa składające się tylko z korzeni:
0.1 0.2 0.3 0.4a b c d
Łączymy korzenie z symbolami a oraz b:
a0.2b
0.3
0.1
0.3c
0.4d
Łączymy korzenie (a, b) oraz c:
0.1a
0.2b
0.3 0.3c
0.6 0.4d
Łączymy korzenie ((a, b) , c) oraz d:
0.1a
0.2b
0.3 0.3c
0.6 0.4d
1.0
Rysunek 11.2. Budowa drzewa kodowego w algorytmie Huffmana
Więcej o algorytmie Huffmana i algorytmach na nim opartych możnaznaleźć w książkach [6] i [8].
Pozostaje pytanie, kiedy algorytm zachłanny jest optymalny. Z twier-dzenia 11.2.1 wiadomo, że dla dowolnych funkcji wagi jest tak dla ma-troidów. Rząd matroidu jest funkcją submodularną. Mocniejszą wła-snością jest modularność funkcji. Funkcja c (A), A ⊆ E, jest modu-larna, gdy spełnia równość:
c (A ∪B) = c (A) + c (B)− c (A ∩B) .
Poleć książkęKup książkę
212 11. Systemy i algorytmy zachłanne
Mocną własność wymiany sformułujemy następująco. Dla każdegoMocnawłasnośćwymiany
A ∈ F , maksymalnego B ∈ F , A ⊆ B, x ∈ E \ B, A ∪ x ∈ Fistnieje x ∈ B \A taki, że A ∪ y ∈ F oraz (B \ y) ∪ x ∈ F .
Własność 11.2.1Greedoid z przykładu 11.1.1 ma mocną własność wymiany.
O optymalności algorytmu zachłannego mówi poniższe twierdzenie.
Twierdzenie 11.2.2Niech (E,F) będzie greedoidem. Algorytm zachłanny znajduje zbiórF ⊆ F o maksymalnej wadze dla dowolnej modularnej funkcji w :F → R+ wtedy i tylko wtedy, gdy greedoid ma mocną własność wy-miany.
Waga zbioru krawędzi grafu nieskierowanego określona jako sumawag jego krawędzi jest funkcją modularną. Z twierdzenia 11.2.2 i wła-sności 11.2.1 wynika więc optymalność algorytmu Prima.
11.3. Zadania
11.1. Pokazać, że para (E,F) skonstruowana w przykładzie 11.1.2 jestgreedoidem.
11.2. Niech A będzie macierzą o n wierszach i m kolumnach o nie-ujemnych elementach. Uzasadnić, że suma m elementów macierzywybranych za pomocą algorytmu 11.2.1 takich, że z i-tej kolumny,1 ¬ i ¬ m, może być tylko jeden element, jest największa.
11.3. Niech A będzie macierzą kwadratową n× n o nieujemnych ele-mentach. Wybrane elementy muszą się znajdować w różnych wier-szach i różnych kolumnach. Uzasadnić, że algorytm zachłanny nie mu-si być optymalny.
11.4. Uzasadnić stwierdzenie z przykładu 11.1.3.
11.5. Zbudować drzewo kodowe Huffmana, gdy symbole a, b, c, d wy-stępują z prawdopodobieństwami:
a b c d
0.1 0.1 0.1 0.7 ,
i obliczyć wartość oczekiwaną L słowa kodowego.
Poleć książkęKup książkę
11.3. Zadania 213
11.6. Zbudować drzewo kodowe Huffmana dla pięciu symboli i praw-dopodobieństw:
a b c d e
0.1 0.1 0.2 0.2 0.4 .
11.7. Zbudować drzewo kodowe Huffmana, gdy wszystkie z pięciusymboli mają to samo prawdopodobieństwo.
Poleć książkęKup książkę
Aaksjomat wymiany, 207alfabet, 206algorytm
rozwiązywania równania rekurencyjnego, 75
Dijkstry, 155Fleury’ego, 121Huffmana, 209Kruskala, 153, 208najbliższego sąsiada, 153najkrótszej drogi, 155Prima, 153, 208, 212przeszukiwania
w głąb, 150wszerz, 149
zachłanny, 154, 207antyłańcuch, 14antymatroid, 205atom kraty, 172, 173, 176, 178
Bbaza
cykli, 134greedoidu, 203matroidu, 181, 186systemu zachłannego, 203
bijekcja, 27, 30blok, 54, 57
Ccentroid, 138
centrum, 107, 138charakterystyka ciała
skończonego, 170ciało
binarne, 170Galois, 170skończone, 169wielomianów, 170
ciągarytmetyczny, 17geometryczny, 17rekurencyjny, 17zrównoważony, 80
cięciegrafu, 127, 131, 135minimalne, 131, 194
cięciwa grafu, 134cykl
Eulera, 120, 122, 144grafu, 86Hamiltona, 122matroidu, 182, 186permutacji, 33, 37prosty, 87
Ddendryt, 131diagram
Ferrersa, 68Hassego, 12
digraf, 88prosty, 88silnie spójny, 125
Skorowidz
długośćcyklu, 86
permutacji, 33, 37drogi, 86słowa kodowego, 210
dopełnieniealgebraiczne, 264grafu, 107, 144
dren, 157droga, 86
Eulera, 120, 144Hamiltona, 122minimalna, 152prosta, 86
drogikrawędziowo rozłączne, 128wierzchołkowo rozłączne, 128
drzewo, 87, 112, 115, 129binarne, 16, 136Huffmana, 210przeszukiwań, 149puste, 16, 136spinające, 131, 135, 186
minimalne, 152dziedzina funkcji, 27
Eelement
maksymalny, 12minimalny, 12najmniejszy, 12największy, 12
elementy porównywalne, 12
Poleć książkęKup książkę
Ffundamentalny zbiór
cięć, 135cykli, 134
funkcja, 27, 28, 57charakterystyczna, 263
chromatyczna, 114modularna, 211na, 27, 66rozpięcia, 184różnowartościowa, 27, 29rzędu, 184submodularna, 184, 211tworząca, 72
rząd, 196wykładnicza, 72
wymierna, 265
Ggałąź drzewa, 134generator Fibonacciego, 23generowanie
podzbiorów, 49podziałów zbioru, 55
geometriaafiniczna, 178, 185rzutowa, 175, 185, 197
graf, 85acykliczny, 87, 129, 157bichromatyczny, 112dualny, 194dwudzielny, 105, 106, 112,
114, 123, 142, 162regularny, 163
eulerowski, 120, 125, 144hamiltonowski, 122, 144krawędziowy, 114kubiczny, 105k-kolorowalny, 111nieskierowany, 86, 152niezorientowany, 86orientowalny, 125pełny, 104, 112, 123, 132,
137, 144dwudzielny, 106, 144
Petersena, 105, 107, 112, 118
planarny, 108, 109, 113, 194
płaski, 108półeulerowski, 120, 144półhamiltonowski, 144prosty, 86, 114, 137regularny, 105silnie spójny, 87skierowany, 88, 122, 125spójny, 87, 101, 106, 120,
122, 127, 129, 137krawędziowo, 127ważony, 152zorientowany, 88, 122, 125
greedoid, 203, 205przeszukiwań
łuków, 206wierzchołków, 206
grupa, 31abelowa, 32, 169, 199addytywna, 169multiplikatywna, 169permutacji, 33przemienna, 169skończona, 169
gwiazda, 87
HH-przepływ, 199
Iiloczyn
kartezjański, 262zbiorów, 262
indeks chromatyczny, 113, 118indykator, 263iniekcja, 27inwersja permutacji, 35, 42izomorfizm
ciał skończonych, 170drzew, 136grafów, 102
Jjęzyk, 206
prosty, 206zachłanny, 206, 207
Kklasa abstrakcji, 55, 263klika grafu, 107kobaza, 193kocykl, 131, 193kod
Graya, 48, 122Huffmana, 209Prufera, 132, 145, 243
kodrzewo, 131kombinacje, 44kongruencja, 262konkatenacja, 206kopętla, 193korzeń, 16, 87krata, 14, 178
podprzestrzeni, 172rozdzielna, 14zupełna, 14
krawędzierównoległe, 86sąsiednie, 89wielokrotne, 86
krawędź, 86, 98, 106, 109, 113, 136, 140
kresdolny, 14górny, 14
krok indukcyjny, 9, 11krotność elementu, 50kwantyfikator
ogólny, 261szczegółowy, 261
Llas, 129
spinający, 131, 186minimalny, 152
lemat o uściskach dłoni, 90liczba
µ, 191chromatyczna, 111, 118cyklomatyczna, 131nieporządków, 62
liczbyBella, 66, 82Catalana, 80, 136
286 Skorowidz
Poleć książkęKup książkę
Fibonacciego, 20, 25, 46, 75, 79, 100
uogólnione, 23harmoniczne, 10, 17, 40Lucasa, 25Stirlinga
cykliczne, 39drugiego rodzaju, 63,
71, 147nieoznakowane, 39pierwszego rodzaju, 38,
45, 52podzbiorowe, 63
liczność zbioru, 51liść, 87, 89, 138
Łłańcuch, 14
koniec, 14nienasycony, 159początek, 14
łuk, 88, 125łuki wielokrotne, 88
Mmacierz, 264
cykli, 94, 117, 135, 136fundamentalna, 135
incydencji, 190grafu, 91, 104, 116grafu skierowanego, 93
sąsiedztwa, 97, 98, 116, 117, 125
stopni, 101transponowana, 96wag, 152
Matlab, 91matroid, 181
baz, 181bicykliczny, 188binarny, 184, 186, 187cykli, 182, 194dualny, 192Fano, 186, 193grafowy, 186, 194jednorodny, 184, 197macierzowy, 185
ograniczenie, 186reprezentowalny, 184rozpięć, 183ściągnięcie, 186transwersalny, 192trywialny, 184wolny, 184z funkcją rzędu, 182zbiorów niezależnych, 182
Maxima, 234metryka, 107minor
grafu, 108matroidu, 187
moc zbioru skończonego, 27most, 121, 127, 129multigraf, 86
skierowany, 88multizbiór, 50
Nnastępnik
lewy, 136prawy, 136
nieporządek, 62nierówność
Bernoulliego, 24Weierstrassa, 24
niezależność liniowa, 263niezawodność, 199niezmiennik
izomorfizmu, 197Tutte’a-Grothendiecka, 198
nośnikjęzyka, 206słowa, 206
Oobraz zbioru, 27obszar grafu, 109obwód grafu, 87Octave, 91odległość, 263odległość między
wierzchołkami, 107, 138ograniczenie
matroidu, 186
ograniczenie zbiorudolne, 14górne, 14
orientacja grafu, 125
Ppermanent macierzy, 35, 140permutacja, 30
bez punktów stałych, 62cykliczna, 33element neutralny, 33identycznościowa, 32nieparzysta, 35odwrotna, 33parzysta, 35transpozycja, 35zapis znormalizowany, 38
pętla, 89, 96grafu, 86, 88, 98matroidu, 182
pętle wielokrotne, 86, 88pierścień skończony, 169płaszczyzna
afiniczna, 178Fano, 176, 186rzutowa, 176, 177
podgraf, 91podłoga, 18podmacierz, 264podstawa indukcji, 9podział
liczby, 67sprzężony, 68
zbioru, 54pokrycie
krawędziowe grafu, 141wierzchołkowe grafu, 141
porządekczęściowy, 11, 24leksykograficzny, 50liniowy, 12
potęgakrocząca, 28przyrastająca, 28, 30, 51,
52, 64, 78ubywająca, 28, 29, 31, 38,
44, 64
287Skorowidz
Poleć książkęKup książkę
problem kojarzenia małżeństw, 143, 190
promieńdrzewa, 139grafu, 107zbieżności, 265
przeciwdziedzina funkcji, 27przeciwobraz zbioru, 27, 57przekrój, 158
minimalny, 158normalny, 158
przepływ, 157przepustowość, 158przestrzeń
liniowa, 171metryczna, 107, 263
pseudolas, 188
Qq-analog, 175
trójkąta Pascala, 180
Rreguła
sumowania po górnym indeksie, 53
sumowania równoległego, 53
rekurencja, 15relacja, 11, 27
antysymetryczna, 11przechodnia, 11przystawania, 262równoważności, 54, 178symetryczna, 54zwrotna, 11
rodzinabaz, 181cykli, 182, 183osiągalna, 203zbiorów niezależnych, 182,
183rozdrobnienie podziału, 55rozkład permutacji na cykle,
33, 39, 42rozpięcie zbioru, 183równanie charakterystyczne, 21
równanie rekurencyjne, 17, 75liniowe, 19
jednorodne, 19o stałych
współczynnikach, 19rzędu k, 19
różnicasymetryczna, 88, 186, 262zbiorów, 262
rządcięcia, 135cykliczności, 131, 134geometrii rzutowej, 176grafu, 131grupy, 169, 199grupy skończonej, 199macierzy, 191, 264
cykli, 136matroidu, 182permutacji, 34, 42zbioru, 182, 203
SScilab, 91sieć, 158
przepływowa, 157silnia, 15, 31, 39, 43, 174
dolna, 28, 29, 31, 38, 44, 62, 64
górna, 28, 30, 51, 52, 64, 78skierowanie grafu, 125składowa
silnie spójna, 91spójna, 91
skojarzenie, 140doskonałe, 140maksymalne, 140, 162pełne, 140
słowokodowe, 209proste, 206
splot, 73Fibonacciego, 79
spójnośćkrawędziowa, 127wierzchołkowa, 127
stopień wierzchołka, 89, 90, 112, 137, 138
wejściowy, 90, 94, 122wyjściowy, 89, 94, 122
strumień, 157maksymalny, 158
sufit, 18suma
prosta matroidów, 187zbiorów, 262
surjekcja, 27symbol
Gaussa, 174Newtona, 44, 174
systemosiągalny, 203zachłanny, 203, 207
szeregformalny, 72odwrotny, 74potęgowy, 265, 266
Śściana grafu, 109ściągnięcie
krawędzi, 108, 114matroidu, 186
ściek, 157średnia
teoretyczna, 266ważona, 209, 266
średnicadrzewa, 139grafu, 107
Ttekst, 209tożsamość
Cassiniego, 21Cauchy’ego, 47
transwersala, 189częściowa, 189
trójkąt Pascala, 46turniej, 125twierdzenie
Brooksa, 112Cauchy’ego, 38
288 Skorowidz
Poleć książkęKup książkę
Cayleya, 132Diraca, 124Eulera, 109Fermata, 53Forda-Fulkersona, 128, 159Gallaia, 141Halla, 143, 190Koniga, 114, 142Kuratowskiego, 108Landaua, 126Maclaurina, 265, 266Mengera, 128, 164Meyniela, 126o czterech barwach, 113o kojarzeniu małżeństw,
142Orego, 124Redeiego, 125Rado, 192Rado-Edmondsa, 208Robbinsa, 126Thomassena, 126Vizinga, 112, 113
typ permutacji, 33, 37, 38, 42
Uujście, 157, 162ułamki proste, 265usunięcie
krawędzi, 108, 114wierzchołka, 108
Wwaga
elementu, 207krawędzi, 152symbolu, 209wierzchołka, 138zbioru, 207
warstwa, 178, 263warstwy funkcji, 57
wartość oczekiwana, 209, 266warunek
brzegowy, 19początkowy, 11
wejście, 157, 158wektor, 263wielomian
chromatyczny, 114, 118, 198, 200
nierozkładalny, 170, 179przepływowy, 200Tutte’a, 196
wierzchołek, 86, 98, 105, 109, 111, 136, 140
centralny, 138, 147centroidalny, 138, 147incydentny z krawędzią, 89izolowany, 89, 92końcowy, 89rozcinający, 127wiszący, 138
wierzchołkiincydentne, 88, 89sąsiednie, 89, 137
własnośćprzedziałowa, 205Steinitza, 181wymiany, 181
mocna, 212współczynnik
dwumianowy, 44, 77wielomianowy, 47
wyjście, 158wymiar
geometrii rzutowej, 176warstwy, 178
wysokość drzewa, 87wyznacznik, 36, 264wzór
Cayleya, 147, 244dwumianowy, 44
Newtona, 44Robbinsa, 31Stirlinga, 31
Zzasada
indukcji matematycznej, 9, 11
maksimum, 13minimum, 13szufladkowa Dirichleta, 55
uogólniona, 58włączania-wyłączania, 59
zbiórczęściowo uporządkowany,
11domknięty, 183krawędzi, 86, 114, 186łuków, 88niezależny, 182, 203permutacji, 31, 33rozdzielający
graf spójny, 127wierzchołki, 128
rozspajającygraf spójny, 127wierzchołki, 128
wewnętrznie stabilny, 140wierzchołków, 86, 114wykonalny, 203z powtórzeniami, 50złoty podział, 22
złożeniepermutacji, 32, 35transpozycji, 36
zmienna losowa, 266znak permutacji, 35, 37
Źźródło, 157, 162
289Skorowidz
Poleć książkęKup książkę