Wstęp do matematyki
dyskretnej
Wstęp do matematyki
dyskretnej
Beata Fałda
Lech Gruszecki
Lublin 2010
Spis treści
Wstęp
7
1
Logika i teoria zbiorów
9
1.1
Wprowadzenie do klasycznego rachunku zdań
. . . . .
9
1.2
Formalne ujęcie rachunku zdań
. . . . . . . . . . . . .
16
1.3
Elementy wielowartościowych rachunków zdań . . . . .
21
1.4
Klasyczny rachunek kwantyfikatorowy . . . . . . . . . .
24
1.5
Zbiory i ich własności . . . . . . . . . . . . . . . . . . .
28
2
Relacje i funkcje
35
2.1
Podstawowe własności relacji . . . . . . . . . . . . . . .
35
2.2
Relacje pomiędzy elementami zbiorów skończonych
. .
39
2.3
Relacje równoważności . . . . . . . . . . . . . . . . . .
43
2.4
Relacje porządku . . . . . . . . . . . . . . . . . . . . .
46
2.5
Funkcje i ich własności . . . . . . . . . . . . . . . . . .
51
3
Zbiór liczb naturalnych i indukcja
57
3.1
Zbiór liczb naturalnych. Definiowanie przez indukcję . .
57
3.2
Funkcje rekurencyjne . . . . . . . . . . . . . . . . . . .
62
3.3
Zastosowanie rekurencji: automaty skończone
i ich języki . . . . . . . . . . . . . . . . . . . . . . . . .
67
6
Spis treści
4
Kraty. Algebry Boole’a i funkcje booleowskie
75
4.1
Kraty i ich własności . . . . . . . . . . . . . . . . . . .
75
4.2
Algebry Boole’a . . . . . . . . . . . . . . . . . . . . . .
81
4.3
Formuły i funkcje booleowskie . . . . . . . . . . . . . .
88
5
Zbiory skończone i metody zliczania elementów tych
zbiorów
97
5.1
Nieformalne wprowadzenie do metod
kombinatorycznych . . . . . . . . . . . . . . . . . . . .
97
5.2
Formalne ujęcie podstaw kombinatoryki
. . . . . . . . 102
5.3
Współczynniki dwumianowe i wielomianowe . . . . . . 111
5.4
Zasada włączeń i wyłączeń . . . . . . . . . . . . . . . . 116
5.5
Zasada szufladkowa Dirichleta . . . . . . . . . . . . . . 121
6
Podziały i permutacje. Liczby Stirlinga i Bella
125
6.1
Liczenie podziałów . . . . . . . . . . . . . . . . . . . . 125
6.2
Rozkłady liczb
. . . . . . . . . . . . . . . . . . . . . . 128
6.3
Permutacje
. . . . . . . . . . . . . . . . . . . . . . . . 131
6.4
Liczby specjalne . . . . . . . . . . . . . . . . . . . . . . 136
7
Główne pojęcia teorii grafów
141
7.1
Nieformalne wprowadzenie do teorii grafów . . . . . . . 141
7.2
Podstawowe definicje teorii grafów . . . . . . . . . . . . 150
7.3
Spójność grafów . . . . . . . . . . . . . . . . . . . . . . 163
8
Poruszanie się po grafach
167
8.1
Grafy Eulera
. . . . . . . . . . . . . . . . . . . . . . . 167
8.2
Grafy Hamiltona . . . . . . . . . . . . . . . . . . . . . 172
8.3
Grafy z wagami . . . . . . . . . . . . . . . . . . . . . . 176
9
Drzewa i digrafy
183
9.1
Podstawowe pojęcia teorii drzew . . . . . . . . . . . . . 183
9.2
Drzewa rozpinające grafy . . . . . . . . . . . . . . . . . 188
9.3
Digrafy . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10 Zliczanie grafów. Kilka wybranych problemów
201
Spis literatury
211
Wstęp
Matematyka dyskretna stosunkowo niedawno znalazła swoje miej-
sce wśród innych przedmiotów matematycznych, które wykładane są
na studiach matematycznych i informatycznych. Obejmuje ona zarów-
no pewne elementy tradycyjnych działów matematyki, jak np. logika,
algebra czy kombinatoryka, jak też w jej skład zaliczane są zagadnie-
nia z teorii grafów oraz teorii automatów. Niewątpliwie kluczową rolę
w powstaniu tej, w istocie, nowej dziedziny matematyki odegrał rozwój
technik komputerowych. Matematyka dyskretna jest traktowana coraz
częściej jako jeden z matematycznych fundamentów nauk informatycz-
nych. W polu jej zainteresowania znajdują się przede wszystkim zbiory
skończone i przeliczalne, w przeciwieństwie np. do analizy matematycz-
nej, w której podstawową rolę odgrywają zbiory liczb rzeczywistych
i zespolonych, a więc nieprzeliczalne.
Książka, którą oddajemy do rąk Czytelnika, zawiera wybór za-
gadnień poruszanych w ramach kursu matematyki dyskretnej. Wśród
nich są tematy z zakresu podstaw matematyki dotyczące logiki, teorii
zbiorów, relacji i funkcji. W dalszej kolejności wprowadzony jest zbiór
liczb naturalnych, a także omówione są problemy związane z definio-
waniem przez rekurencję; jako zastosowanie tej problematyki zapre-
zentowane zostały zagadnienia z dziedziny teorii automatów. Kolejne
rozdziały poświęcone są metodom zliczania elementów zbiorów skoń-
czonych. Zostały w nich omówione podstawowe wzory kombinatorycz-
8
Wstęp
ne, zasada włączeń i wyłączeń oraz zasada szufladkowania Dirichleta.
Książka kończy się przedstawieniem wybranych elementów z teorii gra-
fów; przedstawione są definicje i twierdzenia dotyczące grafów Eulera,
Hamiltona, grafów z wagami, digrafów oraz drzew. Ostatni rozdział
zawiera kilka wybranych zagadnień dotyczących zliczania grafów.
Mamy nadzieję, że duża ilość przykładów zamieszczonych w książce
przyczyni się do lepszego zrozumienia treści teoretycznych.
Autorzy
1
Logika i teoria zbiorów
1.1
Wprowadzenie do klasycznego
rachunku zdań
Zgodnie z zasadami klasycznej logiki dwuwartościowej, zdaniami
w sensie logicznym są te zdania orzekające, o których możemy powie-
dzieć, że są prawdziwe lub fałszywe. W dalszym ciągu zdania w sensie
logicznym oznaczać będziemy przy użyciu symboli
p, q, r, s, t, ...,
nazywanych także zmiennymi zdaniowymi .
Prawdę i fałsz oznaczać będziemy, jak to jest powszechnie przyjęte,
za pomocą znaków
1 i 0.
Prawdziwość zdania, powiedzmy zdania p, zapisywać będziemy na-
stępująco
w(p) =
1.
Jeśli natomiast zdanie p jest fałszywe, to stosować będziemy zapis
w(p) =
0.
10
Logika i teoria zbiorów
Funkcję w przyporządkowującą zmiennym zdaniowym liczby
0 i 1
nazywać będziemy wartościowaniem.
Zmienne zdaniowe możemy łączyć przy zastosowaniu spójników
zdaniowych, nazywanych też funktorami zdaniotwórczymi .
Najczęściej stosowanymi spójnikami są
∼
nieprawda, że
∧
i
∨
lub
⇒
jeżeli, to
⇔
wtedy i tylko wtedy, gdy
Noszą one odpowiednio nazwę: negacji , koniunkcji , alternatywy,
implikacji i równoważności (ekwiwalencji). Ich znaczenie w obrębie
klasycznego rachunku zdań nawiązuje do znaczenia odpowiadających
im wyrażeń (w drugiej kolumnie) języka naturalnego. Oczywiście, ję-
zyk potoczny obciążony jest, trudną do pozbycia się, wieloznacznością,
w związku z czym znaczenie spójników logicznych należy uznać jedynie
za pewną idealizację stworzoną na potrzeby logiki formalnej i matema-
tyki.
Sposób rozumienia spójników logicznych ilustrują poniższe tabele
w(p)
w(∼ p)
0
1
1
0
w(p)
w(q)
w(p ∧ q)
w(p ∨ q)
w(p ⇒ q)
w(p ⇔ q)
0
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
1
Tak więc, zdanie ∼ p jest prawdziwe tylko wtedy, gdy zdanie p jest
fałszywe. Zdanie p ∧ q jest prawdziwe wtedy i tylko wtedy, gdy obydwa
zdania p i q są prawdziwe. Alternatywa p ∨ q jest zdaniem prawdziwym
tyko wtedy, gdy co najmniej jedno ze zdań p oraz q jest prawdzie.
Z kolei implikacja p ⇒ q jest prawdziwa, gdy jej poprzednik p jest
Wprowadzenie do klasycznego rachunku zdań
11
zdaniem fałszywym lub gdy następnik q jest zdaniem prawdziwym.
Równoważność p ⇔ q jest prawdziwa, gdy oba zdania p oraz q są
zarazem prawdziwe lub fałszywe.
W dalszym ciągu wszystkie poprawnie zbudowane wyrażenia kla-
sycznego rachunku zdań, złożone ze zmiennych zdaniowych, spójników
i ewentualnie nawiasów, nazywać będziemy formułami klasycznego ra-
chunku zdań (w skrócie: k.r.z.).
A zatem formułami k.r.z. są na przykład
[(p ∨ q) ∧ r] ⇒ q
(1.1)
czy
[∼ p ∧ (q ⇒ p)] ∨ p.
(1.2)
Formułami k.r.z. nie są natomiast
p ⇒,
(( p,
∧∨ ⇒ p.
Aby uniknąć nadmiernej ilości nawiasów, przyjmiemy umowę, zgo-
dnie z którą najsilniej wiążącym jest znak negacji, następnie znak ko-
niunkcji, a w dalszej kolejności znak alternatywy, który wiąże silniej
od symboli implikacji i równoważności.
Na podstawie powyższej umowy formuły (1.1) i (1.2) możemy za-
pisać odpowiednio w postaci
(p ∨ q) ∧ r ⇒ q
i
∼ p ∧ (q ⇒ p) ∨ p.
Wśród formuł k.r.z. wyróżniamy te, które niezależnie od funkcji
wartościowania w, są zawsze prawdziwe. Nazywamy je tautologiami
k.r.z. Formuły, które są zawsze fałszywe nazywamy kontrtautologiami,
pozostałe zaś formuły określamy jako kontyngentne.
Szczególne znaczenie mają tautologie. Aby sprawdzić, czy formuła
jest tautologią, stosujemy znaną ze szkoły metodę tabelkową.
Dla przykładu, by sprawdzić czy formuła
f := (p ⇒ q) ⇒ (p ∧ q ⇒ q)
jest tautologią, konstruujemy tabelę
12
Logika i teoria zbiorów
w(p)
w(q)
w(p ⇒ q)
w(p ∧ q)
w(p ∧ q ⇒ q)
w(f )
0
0
1
0
1
1
0
1
1
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
Ponieważ ostatnia kolumna tabeli zawiera tylko jedności, więc for-
muła f jest tautologią.
Korzystając z metody tabelkowej, można dowieść szeregu ważnych
tautologii. Oto niektóre z nich:
1
◦
(p ⇒ q) ⇒ [(r ⇒ p) ⇒ (r ⇒ q)]
(prawo sylogizmu
hipotetycznego)
2
◦
[p ⇒ (q ⇒ r)] ⇒ [q ⇒ (p ⇒ r)]
(prawo komutacji)
3
◦
[p ⇒ (p ⇒ q)] ⇒ (p ⇒ q)
(prawo skracania)
4
◦
(p ⇒ q) ⇒ (∼ q ⇒∼ p)
(prawo transpozycji)
5
◦
p ⇒ (∼ p ⇒ q)
(prawo Dunsa Szkota)
6
◦
(p ⇒∼ p) ⇒∼ p
(prawo Claviusa)
7
◦
[p ⇒ (q ⇒ r)] ⇒ (p ∧ q ⇒ r)
(prawo importacji)
8
◦
(p ∧ q ⇒ r) ⇒ [p ⇒ (q ⇒ r)]
(prawo eksportacji)
9
◦
∼ (p ∧ ∼ p)
(prawo sprzeczności)
10
◦
p ∨ ∼ p
(prawo wyłączonego środka)
11
◦
∼∼ p ⇔ p
(prawo podwójnego przeczenia)
12
◦
p ∧ q ⇔ q ∧ p
(prawo przemienności koniunkcji)
13
◦
p ∨ q ⇔ q ∨ p
(prawo przemienności alternatywy)
14
◦
(p ⇔ q) ⇔ (q ⇔ p)
(prawo przemienności
równoważności)
15
◦
[p ∧ (q ∧ r)] ⇔ [(p ∧ q) ∧ r]
(prawo łączności koniunkcji)
16
◦
[p ∨ (q ∨ r)] ⇔ [(p ∨ q) ∨ r]
(prawo łączności alternatywy)
Wprowadzenie do klasycznego rachunku zdań
13
17
◦
[p ∧ (q ∨ r)] ⇔ [(p ∧ q) ∨ (p ∧ r)]
(prawo rozdzielności
alternatywy względem koniunkcji)
18
◦
[p ∨ (q ∧ r)] ⇔ [(p ∨ q) ∧ (p ∨ r)]
(prawo rozdzielności
koniunkcji względem alternatywy)
19
◦
∼ (p ∧ q) ⇔
(∼ p ∨ ∼ q)
∼ (p ∨ q) ⇔
(∼ p ∧ ∼ q)
p ∧ q ⇔ ∼ (∼ p ∨ ∼ q)
p ∨ q ⇔ ∼ (∼ p ∧ ∼ q)
(prawa De Morgana)
20
◦
(p ⇔ q) ⇒ (∼ p ⇔∼ q)
(prawo obustronnej
negacji równoważności)
Przy wykazywaniu, że formuła jest tautologią można niekiedy po-
służyć się metodą skróconą. Zgodnie z nią, zakłada się, że dla pewnego
wartościowania w wartość formuły jest równa zeru. Jeśli założenie to
prowadzi do sprzeczności, to stąd wynika, że badana formuła jest tau-
tologią; w przeciwnym przypadku nią nie jest.
Dla przykładu, wykażemy metodą skróconą, że formuła
(p ⇒ q) ⇒ [(r ⇒ p) ⇒ (r ⇒ q)]
jest tautologią.
Dowód przeprowadzimy, numerując kolejne kroki rozumowania,
począwszy od założenia, że dla pewnego wartościowania formuła jest
fałszywa.
1
◦
w ((p ⇒ q) ⇒ [(r ⇒ p) ⇒ (r ⇒ q)]) =
0
(założenie)
2
◦
w(p ⇒ q) =
1
(wynika z 1
◦
)
3
◦
w((r ⇒ p) ⇒ (r ⇒ q)) =
0
(wynika z 1
◦
)
4
◦
w(r ⇒ p) =
1
(wynika z 3
◦
)
5
◦
w(r ⇒ q) =
0
(wynika z 3
◦
)
6
◦
w(r) =
1
(wynika z 5
◦
)
7
◦
w(q) =
0
(wynika z 5
◦
)
8
◦
w(p) =
0
(wynika z 2
◦
i 7
◦
)
9
◦
w(p) =
1
(wynika z 4
◦
i 6
◦
)
14
Logika i teoria zbiorów
Otrzymaliśmy zatem sprzeczność. Skąd wynika, że założenie 1
◦
jest
nieprawdziwe, czyli że badana formuła jest tautologią.
Zauważmy, że niektóre ze spójników logicznych mogą być wyrażo-
ne przy zastosowaniu spójników pozostałych. Na przykład, posługując
się negacją i implikacją, można zdefiniować koniunkcję, alternatywę
i równoważność:
p ∧ q ⇔ (∼ (p ⇒∼ q)),
p ∨ q ⇔ (∼ p ⇒ q),
p ⇔ q ⇔ (∼ ((p ⇒ q) ⇒∼ (q ⇒ p))).
Jak nietrudno zauważyć, istnieją 2
2
= 4 różne spójniki (funktory)
jednoargumentowe i 2
4
= 16 różnych spójników dwuargumentowych.
Wśród tych ostatnich warto wymienić alternatywę wykluczającą
Y (⊕),
dysjunkcję Sheffera / oraz funktor binegacji czyli jednoczesnego zaprze-
czenia, oznaczmy go tu symbolem
Z. Znaczenie wymienionych funkto-
rów może być określone za pomocą tabelek, można je także zdefiniować
przy zastosowaniu funktorów wprowadzonych wcześniej.
I tak, alternatywę wykluczającą można określić za pomocą tabelki
w(p)
w(q)
w(p Y q)
0
0
0
0
1
1
1
0
1
1
1
0
Nietrudno zauważyć, że
p Y q ⇔ (∼ (p ⇔ q)).
Dysjunkcję Sheffera określa tabelka
w(p)
w(q)
w(p/q)
0
0
1
0
1
1
1
0
1
1
1
0
Wprowadzenie do klasycznego rachunku zdań
15
A zatem
p/q ⇔ ∼ (p ∧ q).
Z kolei funktorowi binegacji odpowiada tabelka
w(p)
w(q)
w(p Z q)
0
0
1
0
1
0
1
0
0
1
1
0
Stąd
p Z q ⇔ ∼ (p ∨ q).
Funktor Sheffera oraz funktor binegacji mają szczególną własność:
jako jedyne - każdy z osobna - mogą być wykorzystane do zdefiniowania
pozostałych funktorów dwuargumentowych oraz negacji.
Rzeczywiście
∼ p ⇔ (p/p).
Z kolei
p ∨ q ⇔ [(p/p)/(q/q)].
Korzystając z jednego z praw De Morgana, które stwierdza, że
p ∧ q ⇔ ∼ (∼ p ∨ ∼ q), można wykazać, iż
p ∧ q ⇔
h
(p/p)
.
(p/p)
.
(q/q)
.
(q/q)
i .
. h
(p/p)
.
(p/p)
.
(q/q)
.
(q/q)
i
.
Jeżeli weźmiemy pod uwagę równoważność
(p ⇒ q) ⇔ (∼ p ∨ q),
to zdanie warunkowe możemy, przy zastosowaniu symbolu Sheffera,
wyrazić następująco
(p ⇒ q) ⇔
h
(p/p)
.
(p/p)
.
(q/q)
i
.
Definicję równoważności oraz pozostałych spójników dwuargumen-
towych (tzn.
Y oraz Z) pozostawiamy Czytelnikowi.
W podobny sposób możliwe jest zdefiniowanie, przy zastosowaniu
symbolu binegacji
Z, wszystkich spójników dwuargumentowych oraz
negacji.
16
Logika i teoria zbiorów
1.2
Formalne ujęcie rachunku zdań
Zaczniemy od definicji alfabetu klasycznego rachunku zdań
(por. na przykład [13, s. 34-42]).
Definicja 1.1 Przez alfabet k.r.z. rozumiemy zbiór
A = V ∪ S ∪ P,
gdzie
V = {p
1
, p
2
, ..., p
n
, ...}
jest zbiorem zmiennych zdaniowych,
S = {∼, ∧, ∨, ⇒, ⇔}
jest zbiorem zmiennych logicznych, natomiast
P = {(, ), [, ]}
jest zbiorem symboli pomocniczych, czyli nawiasów.
Uwaga. Zamiast zmiennych p
1
, p
2
, p
3
, p
4
, ... będziemy, dla uczynienia
zapisu bardziej czytelnym, pisać: p, q, r, s, ...
W dalszym ciągu zdefiniujemy pojęcie formuły k.r.z.
Definicja 1.2 Formułami k.r.z. są:
a) dowolna zmienna zdaniowa,
b) jeśli f
1
i f
2
są formułami k.r.z., to formułami k.r.z. są również
(i jedynie) formuły:
(i) ∼ (f
1
),
(ii) (f
1
) ∧ (f
2
),
(iii) (f
1
) ∨ (f
2
),
(iv) (f
1
) ⇒ (f
2
),
(v) (f
1
) ⇔ (f
2
),
Zbiór wszystkich formuł k.r.z. oznaczać będziemy symbolem F .
Formalne ujęcie rachunku zdań
17
Definicja 1.3 Wartościowaniem nazywamy dowolną funkcję
w : V → {
0, 1}.
Definicja 1.4 Dowolną funkcję
w : F → {
0, 1}
nazywamy interpretacją k.r.z.
Twierdzenie 1.1 Dowolne wartościowanie w można rozszerzyć jed-
noznacznie ze zbioru V na zbiór F , tak by było interpretacją.
Dowód. Załóżmy, że f
1
i f
2
są formułami, natomiast w jest wartościo-
waniem; w można rozszerzyć zgodnie z zależnościami
w(∼ f
1
) =
1
w. i t.w.g.
w(f
1
) =
0
w(f
1
∧ f
2
) =
1
w. i t.w.g.
w(f
1
) = w(f
2
) =
1
w(f
1
∨ f
2
) =
1
w. i t.w.g.
w(f
1
) =
1 lub w(f
2
) =
1
w(f
1
⇒ f
2
) =
1 w. i t.w.g. w(f
1
) =
0 lub w(f
2
) =
1
w(f
1
⇔ f
2
) =
1 w. i t.w.g. w(f
1
) = w(f
2
)
2
Definicja 1.5 W zbiorze {
0, 1} zdefiniujmy funkcję
¬ : {
0, 1} → {0, 1},
przy czym ¬(
0) = 1, ¬(1) = 0. Funkcję tę nazywać będziemy dopełnie-
niem lub negacją.
Niech ponadto
∩ : {
0, 1} × {0, 1} → {0, 1}
oraz
∪ : {
0, 1} × {0, 1} → {0, 1},
gdzie
∩(a, b) = min{a, b}
oraz
∪ (a, b) = max{a, b}.
Funkcje te nazywać będziemy iloczynem i suma booleowską.
18
Logika i teoria zbiorów
Uwaga. Zamiast pisać ¬(a), ∩(a, b), ∪(a, b), będziemy pisać ¬a, a ∩ b,
a ∪ b, gdzie a, b ∈ {
0, 1}.
Uwaga. Przy zastosowaniu powyższych funkcji można zdefiniować
funkcje
a → b
oraz
a ↔ b
jako równe odpowiednio wyrażeniom (¬a)∪b oraz ((¬a)∩(¬b))∪(a∩b).
W dalszym ciągu zakładać będziemy, by uniknąć stosowania nad-
miernej ilości nawiasów, że symbol ¬ wiąże silniej niż symbol ∩, a ten
z kolei wiąże silniej niż symbol ∪; jeszcze słabiej wiążą symbole ⇒
oraz ⇔.
Twierdzenie 1.2 Dla dowolnych formuł f
1
i f
2
zachodzą równości
¬w(f
1
) = w(∼ f
1
),
w(f
1
) ∩ w(f
2
) = w(f
1
∧ f
2
),
w(f
1
) ∪ w(f
2
) = w(f
1
∨ f
2
),
w(f
1
) → w(f
2
) = w(f
1
⇒ f
2
),
w(f
1
) ↔ w(f
2
) = w(f
1
⇔ f
2
).
Definicja 1.6 Formuły f , takie że dla dowolnej interpretacji w za-
chodzą równości w(f ) =
1, nazywamy tautologiami. Jeśli natomiast
dla dowolnej interpretacji w mają miejsce równości w(f ) =
0, to for-
muły takie nazywamy kontrtautologiami. Jeśli dla pewnej interpretacji
w
1
, w
1
(f ) =
1, a dla innej interpretacji w
2
, w
2
(f ) =
0, to formułę f
nazywamy kontyngentą.
Przedstawimy teraz równoważne, w stosunku do metody tabelko-
wej (wykorzystującej pojęcie interpretacji), podejście do k.r.z. Jest to
podejście aksjomatyczne.
Polega ono na wyróżnieniu pewnej liczby tautologii, w oparciu
o które, za pomocą odpowiednich i zarazem ściśle określonych metod
wnioskowania, wyprowadza się wszystkie pozostałe tautologie (i tylko
te tautologie).
Istnieje wiele równoważnych systemów aksjomatycznych k.r.z. Ja-
ko jeden z nich przedstawimy system pochodzący od Davida Hilberta
i Paula Bernaysa (por. [1, s. 42-65]).
Formalne ujęcie rachunku zdań
19
Aksjomaty klasycznego rachunku zdań
A.1
◦
p ⇒ (q ⇒ p)
(prawo poprzednika)
A.2
◦
[p ⇒ (q ⇒ r)] ⇒ [(p ⇒ q) ⇒ (p ⇒ r)] (prawo Fregego)
A.3
◦
(p ⇒ q) ⇒ (∼ q ⇒∼ p)
(prawo transpozycji)
A.4
◦
∼∼ p ⇒ p
(prawo podwójnego przeczenia)
A.5
◦
p ⇒∼∼ p
(odwrotne prawo podwójnego przeczenia)
A.6
◦
p ∧ q ⇒ p
(prawo symplifikacji)
A.7
◦
p ∧ q ⇒ q
(drugie prawo symplifikacji)
A.8
◦
(p ⇒ q) ⇒ [(p ⇒ r) ⇒ (p ⇒ q ∧ r)]
(prawo mnożenia
następników)
A.9
◦
p ⇒ p ∨ q
(prawo addycji)
A.10
◦
q ⇒ p ∨ q
(drugie prawo addycji)
A.11
◦
(p ⇒ r) ⇒ [(q ⇒ r) ⇒ (p ∨ q ⇒ r)] (prawo dodawania
poprzedników)
A.12
◦
(p ⇔ q) ⇒ (q ⇒ p)
(aksjomaty
A.13
◦
(p ⇔ q) ⇒ (q ⇒ p)
równoważności)
A.14
◦
(p ⇒ q) ⇒ [(q ⇒ p) ⇒ (p ⇔ q)]
Wszystkie tautologie k.r.z. wynikają z powyższych aksjomatów po-
przez użycie dwóch reguł wnioskowania.
Pierwszą z nich jest reguła odrywania (modus ponens), która od
prawdziwych formuł f
1
oraz f
1
⇒ f
2
prowadzi do formuły f
2
. Regułę
tę zapisujemy symbolicznie w postaci
f
1
, f
1
⇒ f
2
f
2
,
(1.3)
20
Logika i teoria zbiorów
gdzie nad kreską wniosku umieszczone zostały symbole przesłanek,
a poniżej kreski symbol wniosku.
Drugą regułą jest reguła podstawiania, która od tautologii f
1
, gdzie
występuje zmienna p
k
, prowadzi do formuły f
1
(g, p
k
). Ta zaś powstaje
z f
1
poprzez zastąpienie p
k
przez dowolną formułę g. Regułę tę zapi-
sujemy następująco
f
1
f
1
(g, p
k
)
.
(1.4)
Zastosujmy powyższe reguły do wyprowadzenia z aksjomatów pew-
nej tezy.
Przykład. Wykazać, że tautologią rachunku zdań jest formuła
p ⇒ p.
Dowód przedstawimy w postaci ciągu formuł.
1
◦
[p ⇒ (q ⇒ r)] ⇒ [(p ⇒ q) ⇒ (p ⇒ r)]
(A.2
◦
)
2
◦
[p ⇒ (q ⇒ p)] ⇒ [(p ⇒ q) ⇒ (p ⇒ p)]
(reguła (1.4): w 1
◦
podstawiamy p zamiast r)
3
◦
p ⇒ (q ⇒ p)
(A.1
◦
)
4
◦
(p ⇒ q) ⇒ (p ⇒ p) (reguła (1.3) zastosowana do 2
◦
i 3
◦
)
5
◦
(p ⇒ (q ⇒ p)) ⇒ (p ⇒ p)
(reguła (1.4): w 4
◦
podstawiamy q ⇒ p zamiast q)
6
◦
p ⇒ p
(reguła (1.3) zastosowana do 5
◦
i 3
◦
)
Powyższy przykład wskazuje na to, jak należy rozumieć pojęcie
dowodu w k.r.z.
Definicja 1.7 Dowodem formuły f w oparciu o aksjomaty A.1
◦
- A.14
◦
nazywamy skończony ciąg formuł
p
1
p
2
...p
n
,
o tej własności, że p
n
= f , p
1
jest aksjomatem k.r.z., natomiast każda
Elementy wielowartościowych rachunków zdań
21
z pozostałych formuł jest, albo aksjomatem albo wynika z wcześniej-
szych formuł za pomocą reguły odrywania lub reguły podstawiania.
Można wykazać, że zbiór wszystkich tautologii k.r.z. pokrywa się
ze zbiorem wszystkich formuł, które mogą być wyprowadzone z aksjo-
matów k.r.z. w oparciu o reguły odrywania i podstawiania. Wynik ten
nosi nazwę twierdzenia o pełności k.r.z.
1.3
Elementy wielowartościowych
rachunków zdań
W przypadku wielowartościowych rachunków zdań (w.r.z.) przyj-
mujemy, że formuły logiczne budowane są tak jak dla k.r.z., tzn. złożone
są ze zmiennych zdaniowych, spójników i symboli pomocniczych. Ina-
czej jednak określamy funkcję wartościowania. Zakładamy mianowicie,
że
w : F → {
1, ..., M},
gdzie
M 2 jest liczbą naturalną. Przyjmujemy przy tym, że dla pew-
nej liczby naturalnej 1 ¬
S < M, wartości logiczne 1, ..., S są wyróżnio-
ne, natomiast wartości logiczne
S+1, ..., M nie są wyróżnione. Wartości
wyróżnione stanowią odpowiednik liczby
1 w logice dwuwartościowej.
Można zatem uznać, że wartości te wyznaczają stopień prawdziwości
zdania, przy czym im większa jest wartość wyróżniona, tym mniejszy
stopień prawdziwości zdania.
Z kolei wartości
S+1, ..., M, stanowią odpowiednik liczby 0 w logice
dwuwartościowej i wskazują na stopień fałszywości zdania. Im wartość
ta jest wyższa, tym zdanie uznaje się za, w większym stopniu, fałszywe.
J. Łukasiewicz i A. Tarski zaproponowali, aby funktory negacji, ko-
niunkcji, alternatywy i implikacji funkcjonujące w obrębie logiki wie-
lowartościowej określić przez analogię z logiką klasyczną w sposób na-
stępujący:
w(∼ p) =
M − w(p) + 1,
w(p ∧ q) = max{w(p), w(q)},
w(p ∨ q) = min{w(p), w(q)},
w(p ⇒ q) = max{
1, w(q) − w(p) + 1}.
22
Logika i teoria zbiorów
W szczególności, gdy zbiór wartości logicznych składa się z trzech
elementów:
1, 2, 3, otrzymuje się tzw. logikę trójwartościową Łuka-
siewicza. Liczba
1 symbolizuje prawdę, liczba 3 - fałsz, natomiast 2
wskazuje na możliwość (tę wartość logiczną mają zdania odnoszące się
do zjawisk niekoniecznie zachodzących w przyszłości).
Tak więc, w tym przypadku tabele wartości logicznych przedsta-
wiają się następująco:
w(p)
w(∼ p)
1
3
2
2
3
1
w(p)
w(q)
w(p ∧ q)
w(p ∨ q)
w(p ⇒ q)
1
1
1
1
1
1
2
2
1
2
1
3
3
1
3
2
1
2
1
1
2
2
2
2
1
2
3
3
2
2
3
1
3
1
1
3
2
3
2
1
3
3
3
3
1
Równoważność w logice wielowartościowej określamy tak samo jak
w logice dwuwartościowej.
Zauważmy, że funktor negacji Łukasiewicza i Tarskiego jest jedynie
w pewnym stopniu analogiczny do funktora negacji w logice dwuwar-
tościowej. Rzeczywiście, można wykazać, że zachodzą równoważności
p ∨ q ⇔ ∼ (∼ p∧ ∼ q)
oraz
∼∼ p ⇔ p.
Jednak, na ogół, funktor ten nie ma następującej własności:
zdanie p jest prawdziwe (w jakimś stopniu) wtedy i tylko
wtedy, gdy zdanie ∼ p jest fałszywe (w jakimś stopniu).
Elementy wielowartościowych rachunków zdań
23
Powyższą własność ma natomiast, jak się okazuje, negacja określo-
na w poniższy sposób
−p
def
⇐⇒ i
S+1
(p) ∨ i
S+2
(p) ∨ ... ∨ i
M
(p),
gdzie w(i
k
(p)) jest wartością wyróżnioną wtedy i tylko wtedy, gdy
w(p) = k, k =
1, 2, ..., M.
W dalszym ciągu będziemy przyjmować, że nowy funktor negacji
wiąże silniej niż wszystkie funktory dwuargumentowe.
Zauważmy przy okazji, że wartość logiczna wyrażenia
i
1
(p) ∨ i
2
(p) ∨ ... ∨ i
M
(p)
należy zawsze do zbioru {
1, 2, ..., S}, a tym samym powyższą formułę
należy uznać za analogon prawa wyłączonego środka w logice dwuwar-
tościowej
p∨ ∼ p.
Przyjrzyjmy się bliżej funktorowi implikacji wprowadzonemu przez
Łukasiewicza i Tarskiego. Zauważmy, na przykład, że gdy zbiór war-
tości logicznych jest równy {
1, 2, 3, 4}, a zbiór wartości wyróżnionych
jest równy {
1, 2}, to w przypadku formuł p oraz q, takich że
w(p) =
2 oraz w(q) = 3,
zachodzi równość
w(p ⇒ q) = max{
1, 3 − 2 + 1} = 2.
A zatem formuły p i p ⇒ q uznajemy za (w pewnym stopniu) prawdzi-
we, natomiast formuła q jest (w pewnym stopniu) fałszywa. W przy-
padku logik wielowartościowych nie zachodzi więc reguła odrywania.
Można jednakże zdefiniować nowy funktor implikacji
p ⊃ q
def
⇐⇒ (−p ∨ q),
dla którego zachodzi reguła odrywania.
24
Logika i teoria zbiorów
1.4
Klasyczny rachunek
kwantyfikatorowy
Klasyczny rachunek zdań jest teorią zbyt wąską, aby opisać więk-
szość, ważnych z punktu widzenia matematyki, rozumowań. Rozważmy
dla przykładu następujące dwa wyrażenia:
(a) wartość funkcji sinus dla dowolnego argumentu jest mniejsza bądź
równa jedności,
(b) dowolna liczba jest sumą dwóch liczb.
Stosując symbole „
V
” i „
W
” zamiast wyrażeń „dla każdego” oraz
„istnieje takie, że”, powyższe wyrażenia możemy zapisać następująco:
(a)
V
x
sin x ¬ 1,
(b)
V
x
W
y
W
z
x = y + z.
Symbole „
V
” i „
W
” nazywamy odpowiednio kwantyfikatorem uni-
wersalnym (ogólnym, dużym) i egzystencjalnym (szczegółowym, ma-
łym). Nie tylko upraszczają one zapis wyrażeń matematycznych, ale
także umożliwiają wprowadzenie nowych obiektów do rachunku logicz-
nego. Są nimi zmienne nazwowe (np. x, y, z), stałe (np. 1), symbole
funkcji (np. sin, +), symbole relacji (np. ¬) oraz wyrażenia, takie jak
sin x ¬ 1
oraz
x = y + z,
które, po podstawieniu w miejsce zmiennych nazwowych wartości licz-
bowych, stają się zdaniami prawdziwymi lub fałszywymi. Wyrażenia
te nazywamy funkcjami zdaniowymi lub predykatami. Funkcje zdanio-
we jednej, dwóch lub trzech zmiennych oznaczamy symbolami P (x),
P (x, y), P (x, y, z), Q(x), Q(x, y), Q(x, y, z) itp.
Nie będziemy tutaj wchodzili w dość skomplikowane szczegóły
techniczne, jednak trzeba pamiętać, że klasyczny rachunek kwanty-
fikatorowy (k.r.k.) może być oparty na równie ścisłych podstawach
Klasyczny rachunek kwantyfikatorowy
25
jak k.r.z. Przedstawimy tu jedynie aksjomatykę k.r.k. wraz z regułami
wnioskowania.
Aksjomaty k.r.k. budujemy w oparciu o formuły A.1
◦
-A.14
◦
k.r.z.,
do których dodajemy dwa aksjomaty dotyczące własności kwantyfika-
torów:
A.15
◦
V
x
P (x) ⇒ P (y)
A.16
◦
P (y) ⇒
W
x
P (x),
gdzie y jest zmienną nazwową, którą w formule P można podstawić za
zmienną x.
Reguły wnioskowania możemy wzbogacić o dwie nowe reguły:
P ⇒ Q(x)
P ⇒
V
x
Q(x)
(1.5)
oraz
P (x) ⇒ Q
W
x
P (x) ⇒ Q
,
(1.6)
gdzie zakłada się, że
- w pierwszym przypadku - w poprzedniku implikacji nie występuje
zmienna x, natomiast
- w przypadku drugim - zmienna x nie występuje w następniku
implikacji.
Pierwsza z powyższych reguł nazywa się regułą dołączania kwan-
tyfikatora uniwersalnego w następniku implikacji, a drugą nazywa się
regułą dołączania kwantyfikatora egzystencjalnego w poprzedniku impli-
kacji.
W jaki sposób możemy zatem korzystać z powyższych aksjomatów
i reguł wnioskowania? Rozważmy w tym celu poniższy przykład.
Przykład. Wykazać, że formuła
^
x
P (x) ⇒
_
x
P (x)
jest twierdzeniem k.r.k.
26
Logika i teoria zbiorów
Korzystamy z tautologii
(p ⇒ q) ⇒ [(q ⇒ r) ⇒ (p ⇒ r)],
którą można wyprowadzić w sposób formalny z aksjomatów k.r.z., ale
też można dla jej wykazania zastosować metodę tabelkową.
Następnie podstawiamy odpowiednio formuły
^
x
P (x),
P (y),
_
x
P (x)
w miejsce p, q i r. Zakładamy przy tym, że zmienna y może być pod-
stawiona zamiast x.
Otrzymujemy zatem formułę
V
x
P (x) ⇒ P (y)
⇒
P (y) ⇒
W
x
P (x)
⇒
V
x
P (x) ⇒
W
x
P (x)
.
Wykorzystując dwukrotnie regułę odrywania oraz aksjomaty A.15
◦
i A.16
◦
, widzimy, że
^
x
P (x) ⇒
_
x
P (x).
Oto kilka innych formuł k.r.k.
1
◦
∼
V
x
P (x) ⇔
W
x
∼ P (x)
∼
W
x
P (x) ⇔
V
x
∼ P (x)
(prawa De Morgana),
2
◦
V
x
(P (x) ⇒ Q(x)) ⇒
V
x
P (x) ⇒
V
x
Q(x)
,
3
◦
V
x
(P (x) ⇒ Q(x)) ⇒
W
x
P (x) ⇒
W
x
Q(x)
,
4
◦
V
x
(P (x) ⇔ Q(x)) ⇒
V
x
(P (x) ⇒ Q(x)) ∧
V
x
(Q(x) ⇒ P (x)),
5
◦
V
x
(P (x) ∧ Q(x)) ⇔
V
x
P (x) ∧
V
x
Q(x),
Klasyczny rachunek kwantyfikatorowy
27
6
◦
W
x
(P (x) ∨ Q(x)) ⇔
W
x
P (x) ∨
W
x
Q(x),
7
◦
V
x
V
y
P (x, y) ⇔
V
y
V
x
P (x, y),
8
◦
W
x
W
y
P (x, y) ⇔
W
y
W
x
P (x, y),
9
◦
W
x
V
y
P (x, y) ⇒
V
y
W
x
P (x, y).
Uwaga. Przedstawienie formalnych dowodów powyższych formuł mo-
że łączyć się z dużymi trudnościami. Niekiedy jednak możemy zastoso-
wać metodę uproszczoną, sprowadzającą się do użycia tabelki. Prawa
rachunku kwantyfikatorowego powinny być prawdziwe w każdej dzie-
dzinie, a w szczególności, gdy X = {x
1
, x
2
}. Przyjmijmy p
i
= P (x
i
),
q
i
= Q(x
i
), i = 1, 2. Wtedy np. formuła
^
x
(P (x) ⇒ Q(x)) ⇒
^
x
P (x) ⇒
^
x
Q(x)
!
sprowadza się do formuły k.r.z.
[(p
1
⇒ q
1
) ∧ (p
2
⇒ q
2
)] ⇒ (p
1
∧ p
2
⇒ q
1
∧ q
2
),
która, jak to można sprawdzić przy zastosowaniu metody tabelkowej,
jest tautologią.
Powyższa metoda nie jest wprawdzie w pełni ścisła, ma jednak
duże znaczenie heurystyczne i może w wielu przypadkach okazać się
bardzo użyteczna.
Ważną rolę odgrywają tzw. kwantyfikatory o zasięgu ograniczonym.
Są to wyrażenia postaci:
(a) dla każdego x spełniającego warunek P (x) zachodzi Q(x),
(b) istnieje x spełniające warunek P (x), dla którego zachodzi Q(x).
Wyrażenia te zapisujemy następująco
^
P (x)
Q(x)
oraz
_
P (x)
Q(x),
28
Logika i teoria zbiorów
które rozumiemy jako skróty wyrażeń
^
x
(P (x) ⇒ Q(x))
i
_
x
(P (x) ∧ Q(x)).
Przykład. Kwantyfikatorami o zasięgu ograniczonym są na przykład
wyrażenia
^
x<0
−x > 0
oraz
_
x∈
R
x
2
= 2.
W drugim przypadku mamy do czynienia z funkcją zdaniową x ∈
R,
którą odczytujemy: liczba x jest elementem zbioru liczb rzeczywistych.
Własnościami relacji „∈”, jak również własnościami zbiorów,
w tym także zbiorów liczbowych, zajmiemy się w następnym podroz-
dziale.
1.5
Zbiory i ich własności
Pojęcie zbioru oraz pojęcie należenia do zbioru są pojęciami pier-
wotnymi. Ich sposób użycia regulują aksjomaty teorii mnogości, któ-
rych przytaczać tu nie będziemy. Przypomnimy jedynie podstawowe
definicje, oznaczenia i własności.
Każdy zbiór jest jednoznacznie określony przez swoje elementy.
Tak więc, jeśli x
1
, x
2
, ..., x
n
, ... są wszystkimi elementami zbioru A, to
piszemy
A = {x
1
, x
2
, ..., x
n
, ...}.
Jeśli każdy element zbioru B jest elementem zbioru A, to piszemy
B ⊂ A,
a relację ⊂ nazywamy relacją zawierania się albo relacją inkluzji. Zbiór
B nazywamy podzbiorem zbioru A. Gdy każdy element zbioru B jest
elementem zbioru A i odwrotnie: każdy element zbioru A jest elemen-
tem zbioru B, czyli jeśli B ⊂ A i A ⊂ B, to zbiory A oraz B uznaje
się za równe, co zapisuje się w postaci
A = B.
Zbiory i ich własności
29
Zbiór, który nie ma żadnego elementu nazywamy zbiorem pustym
i oznaczmy symbolem ∅. Jeśli dla elementów zbioru A określona jest
funkcja zdaniowa P , to podzbiór zbioru A złożony z tych elementów
x zbioru A, dla których P (x) jest zdaniem prawdziwym, oznacza się
symbolem
{x ∈ A : P (x)}.
Przez sumę i iloczyn zbiorów A i B rozumieć będziemy odpowiednio
następujące zbiory
A ∪ B = {x : x ∈ A ∨ x ∈ B}
oraz
A ∩ B = {x : x ∈ A ∧ x ∈ B}.
W przypadku, gdy dana jest rodzina zbiorów A
i
, i ∈ I, gdzie I jest
zbiorem indeksów, to sumę i iloczyn zbiorów należących do tej rodziny
oznaczmy następująco
[
i∈I
A
i
= {x :
_
i∈I
x ∈ A
i
},
\
i∈I
A
i
= {x :
^
i∈I
x ∈ A
i
}.
Gdy I = {1, 2, ..., n} lub gdy I = {1, 2, 3, ...}, to zamiast
S
i∈I
A
i
piszemy
n
[
i=1
A
i
lub
∞
[
i=1
A
i
.
Podobnie postępujemy w przypadku iloczynu zbiorów. Różnicą
zbiorów A oraz B nazywamy zbiór
A \ B = {x ∈ A : x /
∈ B}.
Symbol x /
∈ B jest skrótem zapisu ∼ x ∈ B.
Z kolei przez różnicę symetryczną zbiorów A i B rozumiemy zbiór
A ÷ B = {x ∈ A ∪ B : x /
∈ A ∩ B}.
30
Logika i teoria zbiorów
W przypadku, gdy rozważać będziemy podzbiory A, B, ... pewnego
ustalonego zbioru X, wygodnie jest wprowadzić jeszcze jedną operację
na zbiorach, a mianowicie dopełnienie
A
C
= X \ A.
Rachunek zbiorów obejmuje szereg praw, które mogą zostać dowie-
dzione w oparciu o odpowiednie tautologie k.r.z. Oto niektóre z tych
praw:
1
◦
A ∪ A = A ,
A ∩ A = A,
2
◦
A ∪ B = B ∪ A ,
A ∩ B = B ∩ A,
3
◦
A ∪ (B ∪ C) = (A ∪ B) ∪ C,
4
◦
A ∩ (B ∩ C) = (A ∩ B) ∩ C,
5
◦
A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C),
6
◦
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C),
7
◦
A \ (B ∪ C) = (A \ B) ∩ (A \ C),
8
◦
(A ∩ B)
C
= A
C
∪ B
C
(A ∪ B)
C
= A
C
∩ B
C
(prawa De Morgana),
9
◦
(A
C
)
C
= A,
10
◦
A ÷ B = B ÷ A,
11
◦
A ÷ (B ÷ C) = (A ÷ B) ÷ C,
12
◦
A ⊂ B ⇒ A ∪ C ⊂ B ∪ C,
13
◦
A ⊂ B ⇒ A ∩ C ⊂ B ∩ C,
14
◦
A ∪ B = B ∩ A ⇒ A = B.
Praw rachunku zbiorów dowodzimy, jak to już było wspomniane,
posługując się k.r.z.
Zbiory i ich własności
31
Przykład. Dowieść, że dla dowolnych zbiorów A, B, C
A \ (B ∪ C) = (A \ B) ∩ (A \ C).
Niech x ∈ A \ (B ∪ C). Otrzymujemy ciąg równoważności
x ∈ A \ (B ∪ C) ⇔ (x ∈ A ∧ ∼ x ∈ B ∪ C) ⇔
⇔ (x ∈ A ∧ ∼ (x ∈ B ∨ x ∈ C)) ⇔
⇔ (x ∈ A ∧ ∼ x ∈ B ∧ ∼ x ∈ C) ⇔
⇔ (x ∈ A ∧ x ∈ A ∧ ∼ x ∈ B ∧ ∼ x ∈ C) ⇔
⇔ (x ∈ A ∧ ∼ x ∈ B ∧ x ∈ A ∧ ∼ x ∈ C) ⇔
⇔ (x ∈ A \ B ∧ x ∈ A \ C) ⇔
⇔ x ∈ (A \ B) ∩ (A \ C).
W powyższych przekształceniach skorzystaliśmy z definicji sumy,
iloczynu i różnicy zbiorów, a także z tautologii k.r.z.:
∼ (p ∨ q) ⇔ ∼ p∧ ∼ q
p ⇔ p ∧ p
p ∧ q ⇔ q ∧ p
p ∧ (q ∧ r) ⇔ (p ∧ q) ∧ r.
Rozważmy teraz nieco bardziej skomplikowany problem.
Przykład. Jakie relacje pomiędzy zbiorami A, B, C muszą zachodzić,
aby
(A ∩ B) ∪ (A ∩ C) = B ∪ C ?
Zauważmy, że powyższa równość zachodzi, gdy
x ∈ (A ∩ B) ∪ (A ∩ C) ⇔ x ∈ B ∪ C,
czyli, gdy
(x ∈ A ∧ x ∈ B) ∨ (x ∈ A ∧ x ∈ C) ⇔ x ∈ B ∨ x ∈ C.
32
Logika i teoria zbiorów
Zastosujmy do powyższej formuły metodę tabelkową. Wprowadź-
my oznaczenia p = x ∈ A, q = x ∈ B, r = x ∈ C. Formułę
(p ∧ q) ∨ (p ∧ r) ⇔ q ∨ r
oznaczmy symbolem f .
p
q
r
(p ∧ q) ∨ (p ∧ r)
q ∨ r
f
0 0 0
0
0
1
0 0 1
0
1
1
0 1 0
0
1
0
0 1 1
0
1
1
1 0 0
0
0
1
1 0 1
1
1
1
1 1 0
1
1
1
1 1 1
1
1
1
Gdyby równość (A ∩ B) ∪ (A ∩ C) = B ∪ C była prawdziwa dla
wszystkich zbiorów, to w ostatniej kolumnie znajdowałyby się wyłącz-
nie jedności. Jak widać, mamy kłopot z drugim, trzecim i czwartym
wierszem tabeli. Aby wspomniana równość zachodziła, należy zanego-
wać warunek
x /
∈ A ∧ (x ∈ B ∨ x ∈ C) .
Wobec tego
∼ (x /
∈ A ∧ (x ∈ B ∨ x ∈ C)) ⇔ x ∈ A ∨ ∼ (x ∈ B ∨ x ∈ C) ⇔
⇔ (x ∈ B ∪ C ⇒ x ∈ A).
Zauważmy, że skorzystaliśmy tu z tautologii
∼ (p ∧ q) ⇔ ∼ p ∨ ∼ q
oraz
∼ p ∨ q ⇔ (p ⇒ q).
A zatem otrzymujemy poszukiwany warunek w postaci
B ∪ C ⊂ A.
Zbiory i ich własności
33
Wprowadzimy teraz nowe ważne pojęcie. Parą uporządkowaną
o poprzedniku x i następniku y nazywamy zbiór
(x, y) = {x, {x, y}}.
Z kolei, n-tką uporządkowaną nazywamy zbiór
(x
1
, x
2
, ..., x
n
) = ((x
1
, x
2
, ..., x
n−1
), x
n
),
n 3.
Iloczynem kartezjańskim zbiorów A i B nazywamy zbiór
A × B = {(x, y) : x ∈ A ∧ y ∈ B}.
Podobnie, iloczynem kartezjańskim zbiorów A
1
, A
2
, ..., A
n
nazy-
wamy zbiór
A
1
× A
2
× ... × A
n
= {(x
1
, x
2
, ..., x
n
) : x
i
∈ A
i
, i = 1, 2, ..., n}.
W przypadku, gdy A
1
= A
2
= ... = A
n
= A, n 2, iloczyn
kartezjański A
1
× A
2
× ... × A
n
oznaczamy symbolem A
n
.
Iloczyn kartezjański ma szereg ważnych własności. Zauważmy naj-
pierw, że na ogół
A × B 6= B × A
oraz
A × (B × C) 6= (A × B) × C,
jakkolwiek w ostatnim przypadku oba zbiory, formalnie różne, utożsa-
miamy ze sobą.
Ponadto, można wykazać, że
A × (B ∪ C) = (A × B) ∪ (A × C)
A × (B ∩ C) = (A × B) ∩ (A × C)
A × (B \ C) = (A × B) \ (A × C)
(A × B) ∪ (C × D) ⊂ (A ∪ B) × (B ∪ D)
Kolejnym ważnym pojęciem, które wprowadzimy w tym podroz-
dziale, jest pojęcie tzw. zbioru potęgowego. Jeśli dany jest zbiór A, to
zbiorem potęgowym tego zbioru nazywamy zbiór
P(A) = {B : B ⊂ A}.
34
Logika i teoria zbiorów
Innymi słowy, P(A) (stosujemy też oznaczenie 2
A
) jest zbiorem
zawierającym wszystkie podzbiory A i tylko te podzbiory.
Szczególna nazwa zbioru P(A) bierze się stąd, że, o czym będzie
jeszcze mowa w jednym z następnych rozdziałów, w przypadku, gdy A
ma dokładnie n elementów, to jego zbiór potęgowy ma 2
n
elementów.
Na zakończenie tego rozdziału przypomnijmy oznaczenia dla zbio-
rów liczbowych. Zbiór liczb naturalnych 0, 1, 2, ... będziemy oznaczać
symbolem
N. Zbiór liczb całkowitych będzie oznaczany literą Z, a zbio-
ry liczb wymiernych i rzeczywistych będą oznaczane odpowiednio sym-
bolami
Q i R.
2
Relacje i funkcje
2.1
Podstawowe własności relacji
Definicja 2.1 Niech dane będą zbiory niepuste A
1
, A
2
, ..., A
n
,
n 2. Relacją n-członową w iloczynie kartezjańskim A
1
× A
2
× ... × A
n
nazywamy dowolny podzbiór ρ tego iloczynu.
W przypadku, gdy A
1
= A
2
= ... = A
n
= A, relację ρ ⊂ A
n
nazywamy relacją w zbiorze A.
Przykład. Niech dana będzie relacja ρ ⊂
R
3
, przy czym
(x
1
, x
2
, x
3
) ∈ ρ ⇔ x
1
< x
2
< x
3
.
Relację tę możemy określić jako relację „leżenia między”. Ma ona
szereg interesujących własności. Na przykład,
jeśli
(x
1
, x
2
, x
3
) ∈ ρ,
to
(x
1
+ a, x
2
+ a, x
3
+ a) ∈ ρ.
Podobnie,
jeśli
(x
1
, x
2
, x
3
) ∈ ρ,
i
(x
2
, x
3
, x
4
) ∈ ρ,
to
(x
1
, x
3
, x
4
) ∈ ρ.
36
Relacje i funkcje
W dalszym ciągu zajmować się będziemy relacjami dwuczłonowymi
albo, inaczej mówiąc, binarnymi. Zakładać dalej będziemy, że rozwa-
żane zbiory są niepuste.
Umowa notacyjna. Zamiast pisać (x
1
, x
2
) ∈ ρ będziemy na ogół uży-
wać oznaczenia x
1
ρx
2
.
Definicja 2.2 Niech ρ ⊂ A
1
× A
2
. Zbiory
D(ρ) = {x
1
∈ A
1
:
_
x
2
∈A
2
x
1
ρx
2
}
oraz
R(ρ) = {x
2
∈ A
2
:
_
x
1
∈A
1
x
1
ρx
2
}
nazywamy odpowiednio dziedziną i przeciwdziedziną tej relacji. Zbiór
D(ρ) ∪ R(ρ) nazywamy polem relacji.
Definicja 2.3 Relacją odwrotną do relacji ρ ⊂ A
1
× A
2
nazywamy
relację
ρ
−1
= {(x
2
, x
1
) : x
1
ρx
2
}.
Definicja 2.4 Niech dane będą dwie relacje ρ
1
⊂ A
1
× A
2
oraz ρ
2
⊂
A
2
× A
3
. Iloczynem względnym (inaczej: superpozycją, złożeniem) tych
relacji nazywamy relację
ρ
2
◦ ρ
1
= {(x
1
, x
3
) :
_
x
2
∈A
2
(x
1
ρ
1
x
2
∧ x
2
ρ
2
x
3
}.
Twierdzenie 2.1 Niech ρ
1
⊂ A
1
× A
2
, ρ
2
⊂ A
2
× A
3
, ρ
3
⊂ A
3
× A
4
.
Wtedy
ρ
3
◦ (ρ
2
◦ ρ
1
) = (ρ
3
◦ ρ
2
) ◦ ρ
1
.
Dowód. Załóżmy, że xρ
3
◦ (ρ
2
◦ ρ
1
)y. Istnieje z takie, że xρ
2
◦ ρ
1
z oraz
zρ
3
y. Wynika stąd, że istnieje t o tej własności, że xρ
1
t i tρ
2
z. Z po-
wyższych zależności otrzymujemy tρ
3
◦ ρ
2
y, a zatem x(ρ
3
◦ ρ
2
) ◦ ρ
1
y.
Dowód implikacji w drugą stronę jest analogiczny.
2
Podstawowe własności relacji
37
Twierdzenie 2.2 Dla dowolnych relacji ρ
1
⊂ A
1
× A
2
i ρ
2
⊂ A
2
× A
3
zachodzi równość
(ρ
2
◦ ρ
1
)
−1
= ρ
−1
1
◦ ρ
−1
2
.
Dowód. Niech x(ρ
2
◦ ρ
1
)
−1
y wtedy yρ
2
◦ ρ
1
x oraz istnieje z, takie że
yρ
1
z i zρ
2
x. Stąd wynika, że xρ
−1
2
z i zρ
−1
1
y, czyli xρ
−1
1
◦ ρ
−1
2
y. Dowód
implikacji odwrotnej jest podobny.
2
Definicja 2.5 Niech ρ ⊂ A
1
× A
2
oraz B
i
⊂ A
i
, i = 1, 2. Relacje
ρ B
1
= ρ ∩ (B
1
× A
2
)
oraz
ρ B
2
= ρ ∩ (A
1
× B
2
)
nazywamy obcięciami relacji ρ do zbiorów odpowiednio B
1
i B
2
.
Podobnie
ρ ↑ B
1
× B
2
nazywamy obustronnym obcięciem relacji ρ do B
1
× B
2
.
Definicja 2.6 Załóżmy, że ρ ⊂ A
2
oraz B ⊂ A. Relację
I
B
= {(x, x) : x ∈ B}
nazywamy relacją identycznościową w zbiorze B.
Twierdzenie 2.3 Jeżeli ρ ⊂ A
1
× A
2
oraz B
i
⊂ A
i
, i = 1, 2, to
ρ B
1
= ρ ◦ I
B
1
,
ρ B
2
= I
B
1
◦ ρ.
Dowód jest oczywisty.
Zajmiemy się dokładniej własnościami relacji ρ ⊂ A × A.
Definicja 2.7 Relację ρ ⊂ A × A nazywamy:
(a) zwrotną, jeśli
^
x∈A
xρx,
38
Relacje i funkcje
(b) przeciwzwrotną, jeśli
^
x∈A
∼ (xρx),
(c) symetryczną, jeśli
^
x∈A
^
y∈A
(xρy ⇒ yρx),
(d) przeciwsymetryczną, jeśli
^
x∈A
^
y∈A
(xρy ⇒∼ (yρx)),
(e) słabo antysymetryczną, jeśli
^
x∈A
^
y∈A
(xρy ∧ yρx ⇒ y = x),
(f) przechodnią, jeśli
^
x∈A
^
y∈A
^
z∈A
(xρy ∧ yρz ⇒ xρz),
(g) spójną, jeśli
^
x∈A
^
y∈A
(xρy ∨ yρz ∨ x = y).
Przykład. Zbadamy własności następujących relacji:
i) ρ ⊂
R
2
∧
xρy ⇔ xy > 0,
ii) ρ ⊂
N
2
∧
nρm ⇔ |n − m| = 2.
Zajmiemy się najpierw relacją i). Relacja ta nie jest zwrotna, bo na
przykład nie jest prawdą, że 0ρ0. Nie jest też przeciwzwrotna, gdyż nie
jest prawdą, że dla dowolnego x ∈
R, x
2
¬ 0. Rozważana relacja jest
oczywiście symetryczna i nie jest przeciwsymetryczna. Nie jest słabo
antysymetryczna, bo z tego, że xy > 0 nie wynika, że x = y. Relacja
jest przechodnia, ponieważ jeśli xy > 0 i yz > 0, to xy
2
z > 0, skąd
wynika, że xz > 0. Relacja nie jest spójna, bo np. liczby 1 i −2 nie są
ze sobą w relacji oraz 1 6= −2.
Relacje pomiędzy elementami zbiorów skończonych
39
Zbadajmy relację ii). Relacja ta nie jest zwrotna, bo |n−n| = 0 6= 2.
Jest ona natomiast przeciwzwrotna. Ponadto, relacja ta jest syme-
tryczna, ponieważ |n − m| = |m − n|. Nie jest przeciwsymetrycz-
na. Czy jest słabo asymetryczna? Odpowiedź jest negatywna, gdyż
np. 3ρ5 ∧ 5ρ3, ale 3 6= 5. Zauważmy jednocześnie, że chociaż 3ρ5 ∧ 5ρ7,
to nie jest prawdą, że 3ρ7, a zatem relacja nie jest przechodnia. Relacja
nie jest też spójna, ponieważ np. 1 nie jest w relacji ρ z 2 (i vice versa),
a ponadto 1 6= 2.
Twierdzenie 2.4 Relacja ρ ⊂ A
2
jest symetryczna wtedy i tylko wte-
dy, gdy
ρ ⊂ ρ
−1
.
Dowód. Załóżmy, że relacja ρ jest symetryczna. Wynika stąd, że jeśli
xρy, to yρx, a zatem xρ
−1
y, czyli ρ ⊂ ρ
−1
.
Jeśli natomiast ρ ⊂ ρ
−1
, to z tego, iż xρy wynika, że xρ
−1
y, czyli
yρx.
2
Twierdzenie 2.5 Relacja ρ ⊂ A
2
jest przechodnia wtedy i tylko wtedy,
gdy
ρ ◦ ρ ⊂ ρ.
Dowód. Załóżmy najpierw, że relacja ρ jest przechodnia. Niech xρ◦ρy.
Istnieje wtedy z, takie że xρz i zρy. Zatem xρy, czyli ρ ◦ ρ ⊂ ρ.
Niech ρ ◦ ρ ⊂ ρ i załóżmy, że xρy i yρz. Wtedy xρ ◦ ρz, a stąd
wynika, że xρz.
2
2.2
Relacje pomiędzy elementami
zbiorów skończonych
Zajmiemy się teraz bardziej szczegółowo relacjami zachodzącymi
pomiędzy elementami zbiorów skończonych. Przedstawiamy te relacje
często za pomocą odpowiednich diagramów.
40
Relacje i funkcje
Przykład. Rozważmy relację ρ pomiędzy elementami zbiorów
A = {α, β, γ, δ}
i
B = { , 4, }
określoną następująco
ρ = {(α, ), (β, 4), (γ, ), (δ, )}.
Za pomocą diagramu możemy ją zilustrować w poniższy sposób.
α
β
γ
δ
4
A
B
Relację odwrotną do powyższej przedstawiamy za pomocą diagra-
mu
α
β
γ
δ
4
A
B
Jeśli ponadto dana jest relacja
τ = {( , a), ( , b), ( , c), (4, b)}
zawarta w iloczynie kartezjańskim B ×C, gdzie C = {a, b, c}, to relację
τ ◦ ρ przedstawiamy graficznie w formie kolejnego diagramu.
Relacje pomiędzy elementami zbiorów skończonych
41
α
β
γ
δ
4
A
B
C
a
b
c
czyli
α
β
γ
δ
a
b
c
A
C
Tak więc
τ ◦ ρ = {(α, a), (α, b), (α, c), (β, b), (γ, a), (γ, b), (γ, c)}.
W przypadku, gdy relacja zachodzi pomiędzy elementami tego
samego zbioru, również przedstawimy ją za pomocą odpowiedniego
diagramu.
Przykład. Rozważmy relację ρ ⊂ A
2
, gdzie A = {x, y, z, t} taką, że
ρ = {(x, x), (x, y), (x, u), (y, z), (y, t), (y, u), (z, y), (z, t), (t, t)}.
42
Relacje i funkcje
Odpowiada jej diagram
x
y
u
t
z
A
Definicja 2.8 Niech dana będzie relacja ρ ⊂ A × B, gdzie
A = {x
1
, x
2
, ..., x
n
},
B = {y
1
, y
2
, ..., y
m
}.
Macierz R = [r
ij
]
n×m
, gdzie
r
ij
=
(
1, jeśli
x
i
ρy
j
,
0, jeśli ∼ (x
i
ρy
j
)
nazywamy macierzą tej relacji.
Twierdzenie 2.6 ([15, s. 668]) Niech dane będą dwie relacje ρ ⊂
A × B i τ ⊂ B × C, gdzie A = {x
1
, x
2
, ..., x
n
}, B = {y
1
, y
2
, ..., y
m
}, zaś
C = {z
1
, z
2
, ..., z
k
}. Wtedy relacji τ ◦ ρ odpowiada macierz S = [s
il
]
n×k
,
której współczynniki są równe
s
il
=
m
[
j=1
r
ij
∩ t
jl
,
gdzie R = [r
ij
]
n×m
oraz T = [t
jl
]
m×k
są macierzami odpowiednio relacji
ρ i τ , natomiast symbole ∪ oraz ∩ oznaczają, jak poprzednio, maksi-
mum i minimum.
Dowód twierdzenia jest oczywisty. Pozostawiamy go Czytelnikowi
jako ćwiczenie.
Przykład. Niech dane będą relacje
ρ = {(0, x), (0, y), (1, z), (2, y), (3, z)}
Relacje równoważności
43
oraz
τ = {(x, a), (y, a), (y, b), (z, b)},
takie że
ρ ⊂ {0, 1, 2, 3} × {x, y, z}
i
τ ⊂ {x, y, z} × {a, b}.
Odpowiadają im macierze
R =
0
1
2
3
x y z
1 1 0
0 0 1
0 1 0
0 0 1
i
T =
x
y
z
a b
1 0
1 1
0 1
.
Zauważmy, że
τ ◦ ρ = {(0, a), (0, b), (1, b), (2, a), (2, b), (3, b)}.
Odpowiada jej macierz S = R × T .
S =
0
1
2
3
a b
1 1
0 1
1 1
0 1
2.3
Relacje równoważności
Definicja 2.9 Relację ρ ⊂ A
2
nazywamy relacją równoważności jeśli
jest ona zwrotna, symetryczna i przechodnia.
Przykład. Relacjami równoważności są:
(i) ρ ⊂
R
2
taka, że ρ = {(x, x) : x ∈
R},
(ii) σ ⊂
R
2
taka, że xσy ⇔ x
2
= y
2
,
44
Relacje i funkcje
(iii) τ ⊂
Z
2
taka, że nτ m ⇔ 4|(n − m), gdzie symbol k|l rozumiemy
jako: liczba k dzieli liczbę l,
(iv) ξ ⊂
N
2
×
N
2
taka, że (k
1
, l
1
)ξ(k
2
, l
2
) ⇔ k
1
− l
1
= k
2
− l
2
.
To, że relacje ρ i σ są relacjami równoważności nie wymaga komen-
tarza. Przyjrzyjmy się relacji τ .
Jest ona zwrotna, bo n − n = 0 dzieli się przez 4. Jest także syme-
tryczna, gdyż jeśli n − m dzieli się przez 4, to także m − n dzieli się
przez 4. Jest też relacją przechodnią, ponieważ, jeśli n − m oraz m − k
dzielą się przez 4, to n − k = n − m + m − k również dzieli się przez 4.
Relacja ξ jest oczywiście zwrotna i symetryczna. Jest też przechod-
nia, ponieważ, jeśli k
1
−l
1
= k
2
−l
2
i k
2
−l
2
= k
3
−l
3
, to k
1
−l
1
= k
3
−l
3
.
Definicja 2.10 Niech ρ ⊂ A
2
będzie relacją równoważności. Zbiór
[x]
ρ
= {y ∈ A : xρy}
nazywamy klasą abstrakcji elementu x dla relacji ρ.
Zbiór wszystkich klas abstrakcji tej relacji nazywamy zbiorem ilo-
razowym i oznaczamy symbolem A/ρ.
Przykład. Dla relacji równoważności ρ, σ, τ , ξ z poprzedniego przy-
kładu klasami abstrakcji są
(i) [x]
ρ
= {x}, x ∈
R,
(ii) [x]
σ
= {−x, x}, x ∈
R,
(iii) [0]
τ
= {4k : k ∈
Z},
[1]
τ
= {4k + 1 : k ∈
Z},
[2]
τ
= {4k + 2 : k ∈
Z},
[3]
τ
= {4k + 3 : k ∈
Z},
(iv) [(k, l)]
ξ
= {(r + k − l, r) : r ∈
N}, k, l ∈ N.
Dla klasy [x]
ρ
element x nazywamy jej reprezentantem. Jeśli xρy,
to oczywiście [x]
ρ
= [y]
ρ
. Na przykład dla relacji τ , jak wyżej, [0]
τ
=
[2]
τ
= [−4]
τ
, itd.
Relacje równoważności
45
Twierdzenie 2.7 Niech ρ ⊂ A
2
będzie relacją równoważności. Wtedy
(i) [x]
ρ
6= ∅ dla dowolnego x ∈ A,
(ii) [x]
ρ
= [y]
ρ
lub [x]
ρ
∩ [y]
ρ
= ∅ dla dowolnych x i y należących do
A,
(iii) każdy element x zbioru A należy do pewnej klasy abstrakcji rela-
cji ρ.
Dowód twierdzenia jest oczywisty.
Definicja 2.11 Podziałem zbioru A 6= ∅ nazywamy rodzinę zbiorów
A
i
, i ∈ I, gdzie A
i
6= ∅ dla dowolnego i ∈ I, a ponadto A
i
∩ A
j
= ∅ dla
i 6= j, i, j ∈ I, oraz
[
i∈I
A
i
= A.
Uwaga. Z ostatniego twierdzenia i definicji wynika, że relacja równo-
ważności ρ ⊂ A
2
dokonuje podziału zbioru niepustego A.
Twierdzenie 2.8 Niech dany będzie podział A
i
, i ∈ I, zbioru A 6= ∅.
Istnieje relacja równoważności ρ ⊂ A
2
, która prowadzi do tego podziału.
Dowód. Nietrudno zauważyć, że relacja ρ jest określona następująco
xρy ⇔
_
i∈I
(x ∈ A
i
∧ y ∈ A
i
).
2
Uwaga. Ostatnie dwa twierdzenia łączące relację równoważności po-
między elementami danego zbioru z podziałem tego zbioru noszą nazwę
zasady abstrakcji.
46
Relacje i funkcje
2.4
Relacje porządku
Definicja 2.12 Relację ρ ⊂ A
2
nazywamy relacją częściowego porząd-
ku (lub, po prostu, porządku), jeśli jest ona zwrotna, słabo antysyme-
tryczna i przechodnia.
Umowa notacyjna. Relację częściowego porządku oznaczać będziemy
zazwyczaj symbolem .
Przykład. Poniższe relacje są relacjami częściowego porządku.
(i) Relacja ⊂
R
2
taka, że
x y ⇔ x ¬ y.
(ii) Relacja ⊂
N
2
+
taka, że
n m ⇔ n|m,
gdzie
N
+
=
N \ {0}.
(iii) Niech A będzie zbiorem. Rozważmy relację ⊂ P(A)
2
taką, że
U V ⇔ U ⊂ V.
Definicja 2.13 Jeżeli ⊂ A
2
jest relacją częściowego porządku, to
x ≺ y
def
⇐⇒ (x y ∧ x 6= y),
x, y ∈ A.
W dalszym ciągu, jeśli x y, będziemy pisać, że element x jest
mniejszy lub równy od elementu y, a element y jest większy lub równy
od x. Jeśli natomiast x ≺ y, będziemy pisać, że x jest mniejszy od y,
a y jest większy od x.
Definicja 2.14 Załóżmy, że ⊂ A
2
i niech x
0
∈ A
0
⊂ A. Wtedy, jeśli
^
x∈A
0
(x
0
x ⇒ x = x
0
),
to x
0
nazywamy elementem maksymalnym w zbiorze A
0
.
Jeżeli natomiast
^
x∈A
0
(x x
0
⇒ x = x
0
),
to x
0
nazywamy elementem minimalnym w zbiorze A
0
.
Relacje porządku
47
Definicja 2.15 Niech ⊂ A
2
i załóżmy, że x
0
∈ A
0
⊂ A. Jeżeli
^
x∈A
0
x x
0
,
to x
0
nazywamy elementem największym w zbiorze A
0
lub maksimum
zbioru A
0
i oznaczamy symbolem max A
0
.
Jeżeli
^
x∈A
0
x
0
x,
to x
0
nazywamy elementem najmniejszym w zbiorze A
0
albo minimum
A
0
i oznaczamy symbolem min A
0
.
Definicja 2.16 Ograniczeniem górnym zbioru A
0
⊂ A nazywamy każ-
dy element x
0
∈ A, taki że
^
x∈A
x x
0
.
Ograniczeniem dolnym zbioru A
0
nazywamy x
0
, który spełnia wa-
runek
^
x∈A
x
0
x.
Definicja 2.17 Kresem górnym albo supremum zbioru A
0
⊂ A nazy-
wamy najmniejsze z ograniczeń górnych tego zbioru. Kres górny zbioru
A
0
oznaczmy symbolem sup A
0
.
Podobnie, kresem dolnym albo infimum zbioru A
0
nazywamy naj-
większe z ograniczeń dolnych tego zbioru. Kres dolny zbioru A
0
ozna-
czamy symbolem inf A
0
.
Uwaga. Zdefiniowane wyżej elementy nazywamy elementami wyróż-
nionymi.
Przykład. Rozważmy zbiór
N
∗
=
N
+
∪ {
1
n
: n ∈
N
+
} z relacją częścio-
wego porządku
m k ⇔
k
m
∈
N
∗
,
k, m ∈
N
∗
.
48
Relacje i funkcje
Weźmy pod uwagę następujące podzbiory tego zbioru
B
1
= {
1
2n
: n ∈
N
+
} ∪ {2n : n ∈
N
+
},
B
2
= {
1
3
, 1, 3, 9},
B
3
= {
1
4
,
1
3
, 1, 4, 7, 9},
B
4
= {p ∈
N
+
: p jest liczbą pierwszą}.
Tutaj zbiór B
1
nie ma elementów wyróżnionych. W przypadku
zbioru B
2
, max B
2
= sup B
2
= 9 oraz min B
2
= inf B
2
=
1
3
. Zbiór B
3
ma dwa elementy minimalne
1
4
i
1
3
, a także trzy elementy maksymalne
4, 7, 9. Nie ma oczywiście ani elementu największego, ani elementu
najmniejszego. Każdy element zbioru B
4
jest zarówno elementem mi-
nimalnym jak i maksymalnym.
Uwaga. Można wykazać, że dowolny zbiór ma co najwyżej jeden ele-
ment największy, najmniejszy oraz co najwyżej jeden kres górny i dol-
ny. Ponadto jeśli element największy (podobnie: najmniejszy) istnieje,
to jest on również kresem górnym zbioru i jedynym jego elementem
maksymalnym (odpowiednio: kresem dolnym i jedynym elementem mi-
nimalnym).
Definicja 2.18 Relację częściowego porządku, która jest spójna nazy-
wać będziemy relacją porządku liniowego.
Przykład. Relacjami liniowego porządku są
(i) relacja ¬ w zbiorze liczb rzeczywistych
R,
(ii) relacja podzielności w zbiorze {2
n
: n ∈
N}.
Do przedstawiania graficznego zbiorów częściowo uporządkowa-
nych wykorzystywane są tzw. diagramy Hassego. Składają się one
z punktów płaszczyzny, nazywanych wierzchołkami, i łączących je linii
(odcinków lub łuków).
Wierzchołki odpowiadają elementom zbioru, przy czym elementom
wcześniejszym, w sensie relacjami , odpowiadają wierzchołki położo-
ne niżej. Ponadto dwa wierzchołki połączone są linią wtedy i tylko wte-
dy, gdy pomiędzy odpowiadającymi im elementami zbioru, powiedzmy
Relacje porządku
49
x i y, zachodzi relacja, a także nie istnieje z, takie że x z y lub
y z x, z 6= x, y.
Przykład
(i) Rozważmy zbiór A = {2, 3, 5, 6, 7, 8, 11, 15, 16, 30, 35, 105}, w któ-
rym dana jest relacja podzielności. Odpowiedni diagram Hassego
ma postać
16
8
2
6
30
3
5
7
11
15
35
105
(ii) Weźmy pod uwagę zbiór P({0, 1}) uporządkowany przez relację
inkluzji. Odpowiada mu diagram Hassego
{0, 1}
{0}
{1}
{∅}
(iii) Zajmijmy się zagadnieniem nieco bardziej skomplikowanym. Za-
stanówmy się, na ile sposobów można wprowadzić relację częścio-
wego porządku w zbiorze czteroelementowym {1, 2, 3, 4}. Okazu-
je się, że sposobów takich jest aż 249. Nie sposób przedstawić
wszystkie odpowiadające im diagramy Hassego. Poniżej prezen-
tujemy szesnaście diagramów, w oparciu o które łatwo otrzymać
diagramy pozostałe.
50
Relacje i funkcje
1
2
3
4
(a)
1
2
3
4
(b)
1
2
3
4
(c)
1
2
3
4
(d)
2
1
3
4
(e)
1
2
3
4
(f)
1
2
3
4
(g)
1
2
3
4
(h)
1
2
3
4
(i)
1
2
3
4
(j)
3
4
2
1
(k)
Funkcje i ich własności
51
3
2
4
1
(l)
1
2
3
4
(m)
1
2
3
4
(n)
1
2
3
4
(o)
2
4
1
3
(p)
2.5
Funkcje i ich własności
Przyjmijmy na wstępie założenie, które uczynione zostało wcze-
śniej, gdy definiowane było pojęcie relacji. Podobnie jak poprzednio,
zakładać będziemy, że zbiory rozważane w tym podrozdziale są niepu-
ste.
Definicja 2.19 Relację f ⊂ A × B nazywamy funkcją odwzorowującą
zbiór A w zbiór B, jeśli
(i)
V
x∈A
W
y∈B
xf y,
(ii)
V
x∈A
V
y
1
∈B
V
y
2
∈B
(xf y
1
∧ xf y
2
⇒ y
1
= y
2
).
52
Relacje i funkcje
Umowa notacyjna. W dalszym ciągu zamiast pisać xf y, będziemy
używać zapisu y = f (x). Element x nazywamy argumentem funkcji
f , zaś y - jej wartością dla tego argumentu. Funkcję zapisywać też
będziemy następująco f : A → B.
Przykład
(i) Relacja f
1
= {(x, y) ∈
R
2
: y = x
2
} jest funkcją odwzorowującą
zbiór
R w R.
(ii) Relacja f
2
= {(x, y) ∈ [0; ∞) ×
R : x = y
2
} nie jest funkcją, bo
na przykład 1f
2
−1 oraz 1f
2
1.
Definicja 2.20 Zbiory D(f ) i R(f ) nazywamy odpowiednio dziedziną
i przeciwdziedziną funkcji f .
Definicja 2.21 Niech dana będzie funkcja f : A → B oraz zbiory
A
0
⊂ A i B
0
⊂ B. Zbiory
f (A
0
) = {y ∈ B :
_
x∈A
0
y = f (x)}
f
−1
(B
0
) = {x ∈ A :
_
y∈B
0
f (x) = y}
nazywamy odpowiednio obrazem zbioru A
0
poprzez funkcję f oraz prze-
ciwobrazem zbioru B
0
poprzez f .
Twierdzenie 2.9 Niech dana będzie funkcja f : A → B. Wtedy dla
A
1
, A
2
⊂ A:
(i) f (A
1
∪ A
2
) = f (A
1
) ∪ f (A
2
),
(ii) f (A
1
∩ A
2
) ⊂ f (A
1
) ∩ f (A
2
),
(iii) f (A
1
) \ f (A
2
) ⊂ f (A
1
\ A
2
).
Dowód
(i) Jeśli y ∈ f (A
1
∪ A
2
), to istnieje x ∈ A
1
∪ A
2
o takiej własności,
że y = f (x). Zatem y ∈ f (A
1
) lub y ∈ f (A
2
), czyli y ∈ f (A
1
) ∪
f (A
2
). Dowód implikacji odwrotnej jest podobny.
Funkcje i ich własności
53
(ii) Jeżeli y ∈ f (A
1
∩ A
2
), to istnieje x takie, że x ∈ A
1
i x ∈ A
2
oraz
y = f (x). Tak więc y ∈ f (A
1
) ∩ f (A
2
).
(iii) Załóżmy, że y ∈ f (A
1
) \ f (A
2
). Stąd wynika, że istnieje x ∈ A
1
takie, że y ∈ f (A
1
), x /
∈ A
2
, bo y /
∈ f (A
2
). Zatem x ∈ A
1
\ A
2
,
czyli y ∈ f (A
1
\ A
2
).
2
Uwaga. W punktach (ii) i (iii) powyższego twierdzenia inkluzja nie
może być zastąpiona równością. Świadczy o tym przykład funkcji
f :
R → R, takiej że f(x) = x
2
oraz A
1
= [−1, 0], A
2
= [0, 1].
Mamy zatem
f (A
1
∩ A
2
) = f ({0}) = {0} 6= f (A
1
) ∩ f (A
2
) = [0, 1]
oraz
f (A
1
) \ f (A
2
) = ∅ 6= f (A
1
\ A
2
) = f ([−1, 0)) = (0, 1].
Twierdzenie 2.10 Niech f : A → B oraz B
1
, B
2
⊂ B. Wtedy
(i) f
−1
(B
1
∪ B
2
) = f
−1
(B
1
) ∪ f
−1
(B
2
),
(ii) f
−1
(B
1
∩ B
2
) = f
−1
(B
1
) ∩ f
−1
(B
2
),
(iii) f
−1
(B
1
\ B
2
) = f
−1
(B
1
) \ f
−1
(B
2
).
Dowód powyższego twierdzenia pozostawiamy Czytelnikowi.
Definicja 2.22 Niech dane będą dwie funkcje
f
1
: A → B
i
f
2
: B → C.
Ich złożeniem albo superpozycją nazywamy relację f
2
◦ f
1
.
Przykład. Niech funkcja f
1
: [−1, 1] →
R będzie dana zależnością
f
1
(x) =
(
1
dla x ∈ [−1, 0],
x + 2 dla x ∈ (0, 1]
oraz niech dana będzie funkcja f
2
: [1, 3] → [1, 3] taka, że
f
2
(x) =
(
2
dla x ∈ [1, 2]
2x + 2 dla x ∈ (2, 3].
54
Relacje i funkcje
Wtedy
f
2
◦ f
1
(x) = f
2
(f
1
(x)) =
2
dla x ∈ f
−1
1
([1, 2])
2f
1
(x) + 2
dla x ∈ f
−1
1
((2, 3])
=
=
2
dla x ∈ [−1, 0]
2f
1
(x) + 2
dla x ∈ (0, 1]
=
=
2
dla x ∈ [−1, 0]
2(x + 2) + 2
dla x ∈ (0, 1]
=
=
2
dla x ∈ [−1, 0]
2x + 6
dla x ∈ (0, 1].
Definicja 2.23 Wykresem funkcji f : A → B nazywa się zbiór
W
f
= {(x, f (x)) : x ∈ A}.
Definicja 2.24 Funkcję f : A → B nazywa się
(a) iniekcją (albo funkcją różnowartościową), jeśli
^
x
1
∈A
^
x
2
∈A
(x
1
6= x
2
⇒ f (x
1
) 6= f (x
2
)),
(b) suriekcją (funkcją na cały zbiór B), jeśli
^
y∈B
_
x∈A
y = f (x),
(c) bijekcją (funkcją wzajemnie - jednoznaczną), jeśli jest ona zara-
zem iniekcją i suriekcją.
Umowa notacyjna. W dalszym ciągu, gdy f : A → B jest suriekcją,
będziemy pisać, że odwzorowuje ona zbiór A na zbiór B.
Funkcje i ich własności
55
Definicja 2.25 Zbiór wszystkich funkcji odwzorowujących zbiór A
w zbiór B oznaczany będzie symbolem B
A
.
Zbiory wszystkich iniekcji, suriekcji i bijekcji ze zbioru A w zbiór B
będą oznaczane odpowiednio symbolami ini (B
A
), sur (B
A
) oraz bij (B
A
).
Definicja 2.26 Funkcją odwrotną do funkcji f nazywamy relację f
−1
,
jeśli jest ona funkcją.
Przykład
(i) Rozważmy funkcję f :
R → R daną zależnością
f (x) = min{x − 1, 1}.
−1
0
1
2
x
1
−1
y
f
Funkcja ta nie jest iniekcją, bo np. f (2) = f (3) = 1. Nie jest też
suriekcją, gdyż f (x) ¬ 1 dla dowolnego x ∈
R. A zatem nie jest
bijekcją.
−1
0
1
2
y
2
1
−1
x
f
−1
Relacja f
−1
nie jest funkcją, ponieważ 1f
−1
2 i 1f
−1
3, a jest to
sprzeczne z warunkiem (ii) definicji funkcji.
56
Relacje i funkcje
(ii) Weźmy pod uwagę funkcję f :
R
2
→
R
2
, taką że
f (x
1
, x
2
) = (x
1
+ x
2
, x
1
− x
2
).
Po pierwsze, zauważmy, że f jest suriekcją. Rzeczywiście, dla
dowolnych y
1
, y
2
∈
R, układ równań
x
1
+ x
2
= y
1
,
x
1
− x
2
= y
2
ma rozwiązanie
x
1
=
1
2
(y
1
+ y
2
),
x
2
=
1
2
(y
1
− y
2
)
Rozwiązanie to jest jednoznaczne, a więc f jest iniekcją. Funkcja
ta jest bijekcją. Funkcja f
−1
:
R
2
→
R
2
dana jest zależnością
f
−1
(y
1
, y
2
) =
1
2
(y
1
+ y
2
),
1
2
(y
1
− y
2
)
.
Definicja 2.27 Niech dana będzie funkcja f : A → B oraz niech A
0
⊂
A. Obcięciem funkcji f do zbioru A
0
nazywamy funkcję f
A
0
.
Przykład
(i) Niech dana będzie funkcja f z punktu (i) poprzedniego przykła-
du. Funkcja f
(−∞, 2] jest iniekcją.
(ii) Funkcja sin :
R → R nie jest oczywiście ani iniekcją ani suriekcją.
Jednak funkcja sin
[−
π
2
,
π
2
] przekształca w sposób wzajemnie -
jednoznaczny przedział [−
π
2
,
π
2
] na przedział [−1, 1]. Umożliwia
to zdefiniowanie funkcji odwrotnej arcsin : [−1, 1] → [−
π
2
,
π
2
].
−1
1
x
π
2
−
π
2
y
arcsin
3
Zbiór liczb naturalnych i indukcja
3.1
Zbiór liczb naturalnych.
Definiowanie przez indukcję
Zbiór liczb naturalnych można wprowadzić w bardzo różnorodny
sposób. Można go na przykład zdefiniować jako pewien podzbiór zbioru
liczb rzeczywistych. Możliwe jest też zdefiniowanie zbioru liczb natu-
ralnych na drodze aksjomatycznej. Właśnie tak uczynimy, posługując
się aksjomatami przedstawionymi przez Giuseppe’a Peana.
Definicja 3.1 Zbiorem liczb naturalnych nazywamy zbiór
N, na któ-
rym określona jest funkcja następnika
s :
N → N,
spełniająca następujące aksjomaty
1
◦
0 ∈
N,
2
◦
V
n∈
N
∼ (s(n) = 0),
58
Zbiór liczb naturalnych i indukcja
3
◦
V
n∈
N
W
m∈
N
(s(n) = m ∧
V
k∈
N
(s(n) = k ⇒ k = m)),
4
◦
V
n∈
N
V
m∈
N
V
k∈
N
(s(n) = s(m) = k ⇒ n = m),
5
◦
(zasada indukcji zupełnej)
V
A⊂
N
((0 ∈ A ∧
V
n∈
N
(n ∈ A ⇒ s(n) ∈ A)) ⇒ A =
N
Przedstawimy kluczowe twierdzenie pozwalające na definiowanie
funkcji spełniającej pewien warunek początkowy oraz zależność rekur-
sywną.
Twierdzenie 3.1 (o definiowaniu przez indukcję) Załóżmy, że A
jest dowolnym zbiorem niepustym. Jeśli ϕ :
N → A oraz ψ : N × N
r
×
A → A są dowolnymi funkcjami, to istnieje dokładnie jedna funkcja
f :
N × N
r
→ A o tej własności, że dla dowolnych liczb naturalnych
m
1
, m
2
, ..., m
r
, n zachodzą warunki
f (0, m
1
, m
2
, ..., m
r
) = ϕ(m
1
, m
2
, ..., m
r
)
(3.1)
i
f (s(n), m
1
, m
2
, ..., m
r
) = ψ(n, m
1
, m
2
, ..., m
r
, f (n, m
1
, m
2
, ..., m
r
)).
(3.2)
Dowód twierdzenia pomijamy.
Pierwszy z powyższych warunków nazywamy początkowym, a dru-
gi rekursywnym. Przedstawiony w twierdzeniu schemat definiowania
funkcji nazywamy schematem rekursji prostej.
Wniosek. Jeżeli A jest dowolnym zbiorem niepustym, zaś ϕ :
N → A
i ψ :
N × N × A → A są dowolnymi funkcjami, to istnieje dokładnie
jedna funkcja f :
N × N → A, taka że dla dowolnych liczb naturalnych
m i n
f (0, m) = ϕ(m)
(3.3)
oraz
f (s(n), m) = ψ(n, m, f (n, m)).
(3.4)
Zbiór liczb naturalnych. Definiowanie przez indukcję
59
Niekiedy korzysta się ze schematu definiowania przez indukcję
w jeszcze prostszej postaci.
Wniosek. Załóżmy, że A jest dowolnym niepustym zbiorem. Niech
a ∈ A i niech dana będzie funkcja γ : A → A. Wtedy istnieje dokładnie
jedna funkcja f :
N → A, taka że
f (0) = a
(3.5)
i
f (s(n)) = γ(f (n)).
(3.6)
Korzystając z pierwszego z wniosków, można w zbiorze liczb natu-
ralnych zdefiniować działania dodawania i mnożenia.
Twierdzenie 3.2 Istnieje funkcja + :
N × N → N o tej własności, że
dla dowolnych m, n ∈
N
+(0, m) = m,
+(s(n), m) = s(+(n, m)).
Funkcja ta jest wyznaczona jednoznacznie.
Dowód. Należy zastosować pierwszy z wniosków do funkcji ψ :
N ×
N × N → N określonej zależnością
ψ(j, k, l) = s(l).
Istnieje dokładnie jedna funkcja + :
N × N → N, taka że
+(0, m) = ϕ(m) = m
i
+(s(n), m) = ψ(n, m, +(n, m)) = s(+(n, m))
dla dowolnych n, m ∈
N. Dowód jest zakończony.
2
Umowa notacyjna. W dalszym ciągu zamiast pisać +(n, m), będzie-
my pisać n + m. Ponadto, zamiast symbolu s(n), będziemy pisać n + 1.
Liczbę n + m nazywać będziemy sumą liczb n oraz m.
60
Zbiór liczb naturalnych i indukcja
Twierdzenie 3.3 Dla dowolnych k, n, m ∈
N
(i) k + n = n + k,
(ii) k + (n + m) = (k + n) + m.
Dowód twierdzenia pozostawiamy Czytelnikowi.
Również w sposób indukcyjny można zdefiniować mnożenie liczb
naturalnych.
Twierdzenie 3.4 Istnieje dokładnie jedna funkcja · :
N × N → N,
taka że
·(0, m) = 0,
·(n + 1, m) = ·(n, m) + m.
Prosty dowód tego twierdzenia pomijamy.
Umowa notacyjna. W dalszym ciągu zamiast pisać ·(m, n) będziemy
pisać m · n lub mn. Liczbę mn nazywamy iloczynem liczb m i n.
Iloczyn ma własności analogiczne jak dodawanie.
Twierdzenie 3.5 Dla dowolnych liczb k, m, n ∈
N
(i) km = mk,
(ii) (km)n = k(mn).
Ponadto zachodzi
Twierdzenie 3.6 Dla dowolnych k, m, n ∈
N
k(m + n) = (km) + (kn).
Powyższa równość to oczywiście prawo rozdzielności mnożenia
względem dodawania. Przy założeniu, że mnożenie ma priorytet w sto-
sunku do dodawania, nawiasy po prawej stronie równości mogą być
pominięte.
Zbiór liczb naturalnych. Definiowanie przez indukcję
61
Przykład
(i) Jedną z najczęściej definiowanych indukcyjnie funkcji jest silnia,
czyli funkcja ! :
N → N, taka że
!(0) = 1
oraz
!(n + 1) = (n + 1)!(n).
Jej istnienie, a także to, że taka funkcja jest jedna, wynika z wa-
runków (3.3) i (3.4).
Rzeczywiście, jeżeli przyjmiemy
ϕ(n) = 1,
n ∈
N,
oraz
ψ(j, k, l) = (j + 1)l,
to istnieje funkcja f , taka że
f (0, m) = 1
i
f (n + 1, m) = (n + 1)f (n, m),
n, m ∈
N.
Przyjmijmy
!(n) = f (n, 0).
Z powyższej definicji wynika, że
!(0) = f (0, 0) = 1
oraz
!(n + 1) = f (n + 1, 0) = (n + 1) · f (n.0) = (n + 1)·!(n).
W dalszym ciągu, zamiast pisać !(n), będziemy stosowali trady-
cyjny zapis n!.
62
Zbiór liczb naturalnych i indukcja
(ii) Niech k
0
∈
N. Istnieje dokładnie jedna funkcja h : N → N, taka
że
h(0) = 1
oraz
h(n + 1) = k
0
· h(n).
Korzystamy tu z warunków (3.5) i (3.6), przyjmując a = k
0
oraz
γ(n) = k
0
· n.
Funkcję h nazywamy wykładniczą i stosujemy zapis
h(n) = k
n
0
.
3.2
Funkcje rekurencyjne
W poprzednim podrozdziale został przedstawiony pewien ważny
sposób definiowania nowych funkcji - za pomocą indukcji albo, inaczej
mówiąc, w oparciu o schemat tzw. rekursji prostej.
Obok tej metody, wykorzystuje się jeszcze kilka innych sposobów
definiowania funkcji [10, s. 342n]. Skoncentrujemy uwagę na trzech,
szczególnie istotnych sposobach definiowania.
Niekiedy przy definiowaniu funkcji bierze się pod uwagę różne przy-
padki, w każdym z nich określając funkcję inną zależnością.
Przykład. Rozważmy funkcje
(i)
f (n) =
(
1
dla n < 10,
n
2
dla n 10
(ii)
g(n, m) =
(
n − m dla n > m,
0
dla n ¬ m
W ostatnim przypadku stosuje się oznaczenie
g(n, m) = n ˙
−m.
Funkcje rekurencyjne
63
Zauważmy, że w ogólnym przypadku tego rodzaju definicje mają
postać
f (n
1
, n
2
, ..., n
r
) =
(
ϕ(n
1
, n
2
, ..., n
r
), jeśli (n
1
, n
2
, ..., n
r
) ∈ ρ,
ψ(n
1
, n
2
, ..., n
r
), jeśli (n
1
, n
2
, ..., n
r
) /
∈ ρ,
gdzie ϕ :
N
r
→
N, ψ : N
r
→
N, natomiast ρ jest dowolną relacją
r-członową w zbiorze
N
r
.
Inny ważny sposób definiowania opiera się na pojęciu superpozycji
funkcji.
Przykład. Niech dane będą funkcje
f (n, m, k) = n + m + k + 1,
n, m, k ∈
N
oraz
g(l) = 1,
l ∈
N.
Wtedy w wyniku superpozycji otrzymujemy między innymi funkcje
f (g(l), m, k) = m + k + 2,
f (n, g(l), k) = n + k + 2,
f (n, m, g(l)) = n + m + 2
oraz
g(f (n, m, k)) = 1,
n, m, k, l ∈
N.
Przyjmujemy też, że wynikiem superpozycji są funkcje otrzymane w wy-
niku przyrównania niektórych argumentów.
Przykład. Rozważmy funkcje, których wartości dane są zależnościami
f (n, m, k) = n + m
2
+ k
oraz
g(l) = l,
n, m, k, l ∈
N.
Wtedy, na przykład,
f (g(l), g(l), k) = l
2
+ l + k
64
Zbiór liczb naturalnych i indukcja
oraz
f (g(l), g(l), g(l)) = l
2
+ 2l.
W pierwszym przypadku przyrównaliśmy do siebie pierwsze dwa
parametry, w drugim - wszystkie trzy. Ponieważ symbole n, m, k, l
są jedynie tzw. zmiennymi bieżącymi, funkcje nie ulegną zmianie, gdy
zastąpimy je innymi parametrami. W przypadku pierwszej funkcji mo-
żemy, co wydaje się dość naturalne, przyjąć zamiast l zmienną n (lub
m). Wtedy wartości funkcji piszemy następująco
f (g(n), g(n), k) = n
2
+ n + k.
Podobnie można postąpić w przypadku drugiej funkcji, pisząc
f (g(n), g(n), g(n)) = n
2
+ 2n.
Jeszcze jeden sposób definiowania funkcji opiera się na zastosowa-
niu operacji minimum do pewnej relacji ρ ⊂
N
r+1
. Mianowicie, okre-
ślamy
(µm)[(n
1
, n
2
, ..., n
r
, m) ∈ ρ]
jako najmniejszą liczbę naturalną m, dla której zachodzi relacja ρ lub
0, jeśli liczba taka nie istnieje.
Przykład. Rozważmy relację ρ ⊂
N
2
, taką że
nρm ⇔ n · m > 10.
Wtedy
(µm)[n · m > 10] = Ent
10
n
+ 1,
n ∈
N
+
,
gdzie Ent(x) oznacza największą liczbę całkowitą, która jest mniejsza
lub równa od x, x ∈
R, oraz
(µ0)[0 · m > 10] = 0.
Otrzymujemy w ten sposób funkcję, której wartości wyrażają się
zależnością
f (n) =
(
0
dla n = 0,
Ent
10
n
+ 1 dla n 1.
Funkcje rekurencyjne
65
Definicja 3.2 Funkcję f :
N
r
→
N określoną zależnością
f (n
1
, n
2
, ..., n
r
) = (µm)[(n
1
, n
2
, ..., n
r
, m) ∈ ρ]
nazywamy zdefiniowaną za pomocą operacji minimum efektywnego, je-
żeli dla dowolnych n
1
, n
2
, ..., n
r
∈
N istnieje m, takie że
(n
1
, n
2
, ..., n
r
, m) ∈ ρ.
Przykład
(i) Funkcja z poprzedniego przykładu nie została zdefiniowana za
pomocą minimum efektywnego, bo dla n = 0 nie istnieje m ∈
N
o tej własności, że 0ρm.
(ii) Funkcja określona za pomocą operacji
n 7−→ (µm)[m + n > 10]
jest zdefiniowana w sposób efektywny, gdyż w tym przypadku
n 7−→
(
11 − n dla n ¬ 10,
0
dla n > 10
i jak łatwo widać dla dowolnej liczby n ∈
N istnieje m ∈ N, takie
że nρm.
W matematyce jest rzeczą istotną, jakimi metodami dowodzenia
się posługujemy. Czy dowodząc jakieś twierdzenie, wykazujemy jedy-
nie istnienie postulowanego obiektu matematycznego, czy też konstru-
ujemy go w skończonej liczbie kroków przy zastosowaniu uchwytnych
intuicyjnie elementarnych operacji. Jakie operacje uznajemy za elemen-
tarne (czyli, jak je nazywamy - proste), a jakie metody za efektywne,
ukazują poniższe definicje.
Definicja 3.3 Funkcję f : A →
N, gdzie A jest pewnym właściwym
podzbiorem
N
r
(tzn. A 6=
N
r
) nazywamy funkcją częściową.
Funkcję f :
N
r
→
N nazywamy funkcją całkowitą.
Definicja 3.4 Funkcjami prostymi są funkcje całkowite, określone na-
stępującymi zależnościami:
66
Zbiór liczb naturalnych i indukcja
(i) o(n) = 0,
(ii) s(n) = n + 1,
(iii) I
r
k
(n
1
, n
2
, ..., n
r
) = n
k
,
1 ¬ k ¬ r.
Definicja 3.5 Funkcję f : A →
N, A ⊂ N
r
, nazywamy:
a) pierwotnie rekurencyjną, jeśli może być uzyskana z funkcji pro-
stych za pomocą superpozycji i rekursji prostej,
b) częściowo rekurencyjną, jeśli powstaje z funkcji prostych za po-
mocą superpozycji, rekursji prostej i minimum efektywnego,
c) ogólnie rekurencyjną (obliczalną), jeśli jest całkowitą funkcją czę-
ściowo rekurencyjną.
Przykład
(i) Rozważmy funkcję określoną zależnością
f (n) = n + k,
n ∈
N,
gdzie k ∈
N
+
jest ustaloną liczbą. Ponieważ
f = s ◦ s ◦ ... ◦ s
|
{z
}
k razy
,
więc f jest funkcją całkowitą pierwotnie rekurencyjną. Jest też
oczywiście funkcją ogólnie rekurencyjną.
(ii) Z kolei funkcja dwóch zmiennych dana zależnością
f (n, m) = m
n
może zostać zdefiniowana indukcyjnie czyli w oparciu o schemat
rekursji prostej, bowiem
f (0, m) = 1,
(ϕ(m) = 1)
i
f (n + 1, m) = f (n, m) · m,
(ψ(j, k, l) = k · l).
Wykorzystujemy tu umowę, zgodnie z którą 0
0
= 1. Zatem funk-
cja ta jest pierwotnie rekurencyjną funkcją całkowitą.
Zastosowanie rekurencji ...
67
Definicja 3.6 Jeżeli ρ ⊂
N
r
jest relacją r-członową, to funkcję
χ
ρ
(n
1
, n
2
, ..., n
r
) =
(
1 jeśli (n
1
, n
2
, ..., n
r
) ∈ ρ,
0 jeśli (n
1
, n
2
, ..., n
r
) /
∈ ρ
nazywa się funkcją charakterystyczną tej relacji.
Definicja 3.7 Jeśli A ⊂
N
r
, to funkcją charakterystyczną tego zbioru
nazywa się funkcję
χ
A
(n
1
, n
2
, ..., n
r
) =
(
1 jeśli (n
1
, n
2
, ..., n
r
) ∈ A,
0 jeśli (n
1
, n
2
, ..., n
r
) /
∈ A.
Powyższe definicje pozwalają na przeniesienie pojęcia rekurencji
na zbiory i relacje.
Definicja 3.8 Zbiór lub relację nazywać będziemy rekurencyjnymi, je-
śli odpowiadające im funkcje charakterystyczne są pierwotnie rekuren-
cyjne. Podobnie, zbiór lub relację nazywać będziemy ogólnie rekuren-
cyjnymi, jeśli odpowiadające im funkcje charakterystyczne są ogólnie
rekurencyjne.
Przykład. Nietrudno sprawdzić, że poniższe relacje są rekurencyjne:
(i) relacja identycznościowa I
N
⊂
N × N, taka że
nI
N
m ⇔ n = m,
(ii) relacja ρ ⊂
N
3
o tej własności, że
(n, m, k) ∈ ρ ⇔ n + m = k.
Rekurencyjne są też oczywiście zbiory odpowiadające tym rela-
cjom.
3.3
Zastosowanie rekurencji: automaty
skończone i ich języki
Na wstępie tego podrozdziału przedstawimy dwie definicje.
68
Zbiór liczb naturalnych i indukcja
Definicja 3.9 Zbiorem przeliczalnym nazywamy każdy zbiór A, dla
którego istnieje bijekcja f :
N → A.
Nietrudno wykazać, że zbiorami przeliczalnymi są na przykład:
zbiór wszystkich naturalnych liczb parzystych
N
par
, zbiór wszystkich
liczb całkowitych
Z, a także zbiór wszystkich liczb wymiernych Q.
Definicja 3.10 Zbiór A nazywamy skończonym, jeśli dla pewnego n ∈
N istnieje bijekcja
f : {0, 1, ..., n} → A.
Rozróżnienie pomiędzy, z jednej strony, zbiorami przeliczalnymi
i skończonymi, a z drugiej strony - zbiorami nieskończonymi nieprzeli-
czalnymi (takimi jak
R) jest niezwykle ważne w matematyce dyskret-
nej. W jednym z kolejnych rozdziałów zajmiemy się dokładniej wła-
snościami zbiorów skończonych, w szczególności metodami zliczania
ich elementów.
Możemy przejść do zasadniczego tematu tego podrozdziału.
Definicja 3.11 Alfabetem języka automatu skończonego nazywamy
skończony zbiór symboli
X
= {α
0
, α
1
, ..., α
r
},
r ∈
N.
Słowem języka takiego automatu nazywamy dowolny skończony ciąg
symboli (być może powtarzających się) pochodzących z alfabetu
P
.
Słowo, które nie zawiera ani jednego symbolu nazywać będziemy
pustym; będzie ono oznaczane symbolem λ.
Konkatenacją dwóch słów w
1
= α
i
1
α
i
2
...α
i
k
oraz w
2
= α
j
1
α
j
2
...α
j
l
nazywamy słowo
w
1
w
2
= α
i
1
α
i
2
...α
i
k
α
j
1
α
j
2
...α
j
l
.
Definicja 3.12 Językiem formalnym nad alfabetem
P
nazywamy zbiór
P
∗
wszystkich słów, włącznie ze słowem pustym, utworzonych z symboli
tego alfabetu.
Zastosowanie rekurencji ...
69
Przykład
(i) Jeżeli
P
= {a, b, c}, to
P
∗
= {λ, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb,
cc, aaa, ...}. Konkatenacją słów abc i cc jest słowo abccc, ale także
słowo ccabc.
(ii) Niech
P
= {0, 1}. Wtedy
P
∗
= {λ, 0, 1, 00, 01, 10, 11, 000, ...}.
Konkatenacjami słów 010 i 101 są słowa 010101 oraz 101010.
Definicja 3.13 Długością słowa w ∈
P
∗
nazywamy liczbę |w| symboli
alfabetu tworzących to słowo.
Definicja 3.14 Przedrostkiem słowa w nazywa się dowolne słowo σ,
takie że istnieje słowo τ , iż
w = στ.
Przyrostkiem słowa w nazywa się dowolne słowo τ o tej własności,
że istnieje słowo σ, takie że zachodzi powyższa równość.
Definicja 3.15 ([11, s. 30]) Automatem skończonym nazywać będzie-
my strukturę
A = (Q,
X
, δ, q
0
, E),
gdzie Q = {q
0
, q
1
, ..., q
r
} jest zbiorem stanów automatu A,
P
jest al-
fabetem wejściowym automatu, q
0
jest stanem początkowym, a E ⊂ Q
zbiorem stanów końcowych tego automatu, natomiast
δ : Q ×
X
→ Q
jest tzw. funkcją przejścia, która stanom automatu oraz symbolom al-
fabetu przyporządkowuje stany automatu.
Działanie automatu skończonego możemy zilustrować następująco:
· · α β γ · · · ·
q
sterowanie
(i)
· · α β γ · · · ·
δ(q, β)
sterowanie
(ii)
70
Zbiór liczb naturalnych i indukcja
Automat znajdujący się w stanie q czyta z taśmy symbol alfabetu
β, a następnie głowica przesuwa się o jedno miejsce w prawo i zarazem
automat przechodzi do stanu δ(q, β).
W przypadku, gdy głowica urządzenia przesunęła się na prawy
koniec taśmy, mówimy, że automat A zaakceptował całe słowo zapisane
na taśmie.
Przykład. Rozważmy automat skończony przedstawiony następują-
cym diagramem
start
q
0
q
1
q
2
end
1
0
0
1
1
0
Stanem początkowym tego automatu jest q
0
, a stanem końcowym q
2
.
Symbolom alfabetu 0 i 1 oraz stanom odpowiadają przejścia zaznaczo-
ne łukami skierowanymi. Słowami akceptującymi, tzn. przeprowadza-
jącymi automat ze stanu początkowego q
0
w stan końcowy q
2
, są na
przykład
00, 0100, 010100, 1, 011, 01011.
Do tej pory pisaliśmy o pojedynczych symbolach alfabetu, których
odczytywanie przeprowadza automat z jednego stanu w drugi (może
być on stanem wyjściowym). Znacznie wygodniej jest jednak rozważać
całe słowa. W związku z tym należy zdefiniować nową funkcję
δ
1
: Q ×
X
∗
→ Q,
która stanom i słowom języka przyporządkowuje stany automatu. Funk-
cję tę definiujemy indukcyjnie, korzystając z nieco zmodyfikowanej za-
sady indukcji, którą łatwo można otrzymać w oparciu o znane już
metody definiowania przez indukcję.
Zastosowanie rekurencji ...
71
Definicja 3.16 Funkcję δ
1
definiujemy następująco:
δ
1
(q, λ) = q
i
δ
1
(q, wα) = δ(δ
1
(q, w), α).
Przykład. Dla automatu z poprzedniego przykładu
δ
1
(q
0
, 01010) = q
1
,
δ
1
(q
1
, 100) = q
2
.
Definicja 3.17 Załóżmy, że A ⊂
P
∗
. Wtedy zbiory A
r
definiujemy
indukcyjnie następująco:
A
0
def
= {λ},
A
r
def
= AA
r−1
,
r 1.
Ponadto przyjmujemy
A
∗
def
=
∞
[
r=0
A
r
i
A
+
def
=
∞
[
r=1
A
r
.
A
∗
nazywamy domknięciem Kleenego zbioru A, natomiast A
+
nazywa-
my domknięciem dodatnim tego zbioru.
Zbiory słów wygodnie jest reprezentować za pomocą tzw. wyrażeń
regularnych. Ich ścisłe określenie zawiera poniższa definicja.
Definicja 3.18 Niech
P
będzie alfabetem pewnego języka automatu
skończonego. Wyrażeniami regularnymi tego języka są:
(i) ∅ - odpowiadające zbiorowi pustemu,
(ii) λ - odpowiadające zbiorowi {λ},
(iii) α - odpowiadające zbiorowi {α}, gdzie α ∈
P
,
72
Zbiór liczb naturalnych i indukcja
(iv) jeśli w i σ są wyrażeniami regularnymi odpowiadającymi odpo-
wiednio zbiorom A i B, A, B ⊂
P
∗
, to wσ, w + σ i w
∗
są wyra-
żeniami regularnymi odpowiadającymi zbiorom AB, A ∪ B, A
∗
.
Umowa notacyjna. W dalszym ciągu będziemy przyjmować, że sym-
bol ∗ wiąże silniej niż konkatenacja, a ta z kolei wiąże silniej niż sym-
bol +.
Przykład Niech dany będzie alfabet
P
= {0, 1}. Wtedy
(i) wyrażenie 101 reprezentuje zbiór {101},
(ii) wyrażenie 0 + 1 reprezentuje zbiór {0, 1},
(iii) wyrażenie 0
∗
+ 1
∗
reprezentuje zbiór {λ, 0, 1, 00, 11, ...},
(iv) wyrażenie (0 + 1)
∗
reprezentuje zbiór
P
∗
,
(v) wyrażenie 11(0 + 1)
∗∗
000 reprezentuje zbiór wszystkich słów za-
czynających się od co najmniej dwóch jedynek a kończących się
co najmniej trzema zerami.
Twierdzenie 3.7 ([11, s. 66]) Dla dowolnych wyrażeń regularnych
w, σ, τ zachodzą zależności
(i) w + σ = σ + w,
(ii) w + (σ + τ ) = (w + σ) + τ ,
(iii) w(στ ) = (wσ)τ ,
(iv) w(σ + τ ) = wσ + wτ ,
(σ + τ )w = σw + τ w,
(v) (w
∗
)
∗
= w
∗
,
(vi) (w
∗
σ
∗
)
∗
= (w + σ)
∗
,
(vii) ∅
∗
= λ,
(viii) (w + λ)
∗
= w
∗
.
Łatwy dowód powyższego twierdzenia pozostawiamy Czytelnikowi.
Definicja 3.19 Niech dany będzie automat skończony A. Językiem ak-
ceptowalnym przez ten automat nazywamy zbiór
L(A) = {w ∈
X
∗
:
_
q∈E
δ
1
(q
0
, w) = q}.
Zastosowanie rekurencji ...
73
Przykład. Rozważmy jeszcze raz ten sam, co poprzednio, automat
trzystanowy. Nietrudno zauważyć, że słowa akceptowalne przez ten
automat są postaci
w00
lub
w1,
gdzie w jest albo zbiorem pustym, albo jest postaci
01, 0101, 010101, itd.
Zatem L(A) jest reprezentowany przez wyrażenie regularne
(01)
∗
(00 + 1).
Czy każdy język
P
∗
jest akceptowalny przez pewien automat skończo-
ny? Jak się okazuje, nie. Można dowieść (dowód jest dość skomplikowa-
ny), że język jest akceptowalny przez automat skończony wtedy i tylko
wtedy, gdy język ten jest reprezentowany przez wyrażenie regularne.
4
Kraty. Algebry Boole’a
i funkcje booleowskie
4.1
Kraty i ich własności
Definicja 4.1 Niepusty zbiór K z relacją częściowego porządku ⊂
K
2
nazywamy kratą, jeśli dla dowolnych elementów x, y ∈ K
sup{x, y} ∈ K
i
inf{x, y} ∈ K.
Kratę będziemy zapisywać przy pomocy symbolu (K, ).
Twierdzenie 4.1 Niech x
1
, x
2
, ..., x
r
będą elementami kraty (K, ).
Wtedy
sup{x
1
, x
2
, ..., x
r
} = sup{sup{x
1
, x
2
, ..., x
r−1
}, x
r
}
oraz
inf{x
1
, x
2
, ..., x
r
} = inf{inf{x
1
, x
2
, ..., x
r−1
}, x
r
}.
Dowód. Wykażemy pierwszą z powyższych równości. Dowód drugiej
jest analogiczny.
76
Kraty. Algebry Boole’a i funkcje booleowskie
Oznaczmy
a = sup{x
1
, x
2
, ..., x
r
}
i
b = sup{sup{x
1
, x
2
, ..., x
r−1
}, x
r
}.
Oczywiście x
1
a, x
2
a, ..., x
r
a. Stąd wynika, że
sup{x
1
, x
2
, ..., x
r−1
} a.
Zatem b a (wykorzystaliśmy tu definicję supremum jako najmniej-
szego z ograniczeń górnych).
Z drugiej strony, b jest ograniczeniem górnym zbioru {x
1
, x
2
, ...,
x
r−1
}, więc x
1
b, x
2
b, ..., x
r−1
b. Także x
r
b.
Zatem b jest ograniczeniem górnym zbioru {x
1
, x
2
, ..., x
r
}. Dlatego
a b. Ostatecznie a = b.
2
Umowa notacyjna. Będziemy stosować oznaczenia
x ∪ y = sup{x, y}
oraz
x ∩ y = inf{x, y}.
Z powyższymi symbolami zetknęliśmy się już w rozdziale 1, rozwa-
żając działania w zbiorze {
0, 1}. Zastosowanie tych samych oznaczeń
jest nieprzypadkowe, ponieważ zbiór {
0, 1} z działaniami ∪ oraz ∩ jest
szczególnie ważnym przykładem kraty.
Przykład. Obok zbioru {
0, 1} z działaniami ∪ oraz ∩, kratami są
także na przykład:
(i) zbiór P(A) wszystkich podzbiorów zbioru niepustego A z relacją
częściowego porządku
X Y ⇔ X ⊂ Y.
W tym przypadku
sup{X, Y } = X ∪ Y
i
inf{X, Y } = X ∩ Y,
(ii) dowolny zbiór liniowo uporządkowany,
Kraty i ich własności
77
(iii) zbiór P = {
0, x
1
, x
2
, x
3
,
1} z relacją częściowego porządku przed-
stawioną poniższym diagramem
1
x
2
x
3
x
1
0
Krata ta nazywana jest pentagonem.
(iv) zbiór D = {
0, x
1
, x
2
, x
3
,
1} z relacją częściowego porządku przed-
stawioną diagramem
1
x
2
x
1
x
3
0
Krata ta nazywana jest diamentem.
(v) zbiór B = {2
n
· 3
k
: n, k ∈
Z} z relacją podzielności,
(vi)
N
+
z relacją podzielności.
Twierdzenie 4.2 Niech x, y, z będą elementami kraty (K, ). Wtedy
(i) x ∪ y = y ∪ x,
(ii) x ∩ y = y ∩ x,
(iii) x ∪ (y ∪ z) = (x ∪ y) ∪ z,
(iv) x ∩ (y ∩ z) = (x ∩ y) ∩ z,
(v) x ∩ (y ∪ z) = (x ∩ y) ∪ (x ∩ z),
(vi) x ∪ (y ∩ z) = (x ∪ y) ∩ (x ∪ z).
78
Kraty. Algebry Boole’a i funkcje booleowskie
Dowód wynika natychmiast z definicji działań ∪ i ∩ oraz z po-
przedniego twierdzenia.
Wniosek. (prawa idempotentności) Dla dowolnego elementu x kraty
(K, )
(i) x ∪ x = x,
(ii) x ∩ x = x.
Twierdzenie 4.3 Dla dowolnych elementów x, y kraty (K, ) poniż-
sze trzy warunki są sobie równoważne
(i) x y,
(ii) x ∪ y = y,
(iii) x ∩ y = x.
Dowód. Implikacje (i)⇒(ii) oraz (i)⇒(iii) są natychmiastowe. Jeżeli
x ∪ y = y, to x y, a zatem także x ∩ y = x.
2
Twierdzenie 4.4 Dla dowolnych elementów x, y kraty (K, ) zacho-
dzą tzw. prawa pochłaniania
(i) x ∩ (x ∪ y) = x,
(ii) x ∪ (x ∩ y) = x.
Dowód
(i) Na mocy definicji kresu dolnego
x ∩ (x ∪ y) x.
Z drugiej strony x x oraz x x∪y. Zatem x jest ograniczeniem
dolnym zbioru
{x, x ∪ y}.
Jednak x ∩ (x ∪ y) jest największym ograniczeniem dolnym tego
zbioru. Dlatego
x x ∩ (x ∪ y).
Ostatecznie otrzymujemy tezę.
Kraty i ich własności
79
Dowód równości (ii) jest analogiczny.
2
Definicja 4.2 Kratę (K, ), która ma element najmniejszy
0 i ele-
ment największy
1 nazywamy kratą z zerem i jednością.
Przykład
(i) Zbiór
B = {0, 1} z działaniami ∪ i ∩ jest kratą z zerem i jedno-
ścią.
(ii) Zbiór P(A) wszystkich podzbiorów niepustego zbioru A z relacją
inkluzji jest kratą z zerem i jednością. Dla tej kraty
0 = ∅ oraz
1 = A.
(iii) Zbiór {2, 4, 6, 10, 12, 20, 30, 60} z relacją podzielności jest kratą
z zerem i jednością. Zerem tej kraty jest liczba 2, jednością jest
liczba 60.
(iv) Każda krata skończona jest kratą z zerem i jednością.
Twierdzenie 4.5 Dla dowolnego elementu x kraty (K, ) z zerem
i jednością
(i) 0 x 1,
(ii)
0 ∩ x = 0, 0 ∪ x = x,
(iii)
1 ∩ x = x, 1 ∪ x = 1.
Dowód twierdzenia jest oczywisty.
Na zakończenie tego podrozdziału przedstawimy jeszcze jedno waż-
ne pojęcie.
Definicja 4.3 Niech dane będą dwie kraty (K
1
,
1
) oraz (K
2
,
2
).
Funkcję f : K
1
→ K
2
, taką że dla dowolnych x, y ∈ K
1
x
1
y ⇒ f (x)
2
f (y)
nazywamy homomorfizmem krat. Jeśli f jest bijekcją, to f nazywamy
izomorfizmem krat.
80
Kraty. Algebry Boole’a i funkcje booleowskie
Przykład. Rozważmy rodzinę zbiorów {∅, {0}, {1}, {2}, {0, 1, 2}} upo-
rządkowaną przez relację zawierania się oraz zbiór liczb {2, 4, 6, 8, 24}
z relacją podzielności. Oba zbiory sa izomorficznymi kratami. Odpo-
wiadają im podobne diagramy.
{1}
{1, 2, 3}
{0}
{2}
∅
6
24
4
8
2
Izomorfizm f : {∅, {0}, {1}, {2}, {0, 1, 2}} → {2, 4, 6, 8, 24} ma po-
stać
f (∅) = 2,
f ({0}) = 4,
f ({1}) = 6,
f ({2}) = 8,
f ({0, 1, 2}) = 24.
Nietrudno zauważyć, że homomorfizm krat ma następujące wła-
sności.
Twierdzenie 4.6 Załóżmy, że f : K
1
→ K
2
jest homomorfizmem krat
(K
1
,
1
) i (K
2
,
2
). Wtedy
f (x ∪
1
y) = f (x) ∪
2
f (y)
i
f (x ∩
1
y) = f (x) ∩
2
f (y),
gdzie x, y ∈ K
1
. Ponadto, obrazem homomorficznym zera i jedności
kraty K
1
są odpowiednio zero i jedność kraty K
2
.
Algebry Boole’a
81
4.2
Algebry Boole’a
Algebry Boole’a należą do najważniejszych struktur matematycz-
nych. Z przykładami algebr Boole’a spotkaliśmy się już w rozdziale 1
tej książki, jakkolwiek sam termin: algebra Boole’a nie został wtedy
użyty. Przedstawimy definicję tego ważnego pojęcia.
Definicja 4.4 ([3, s. 342]) Algebrą Boole’a nazywamy strukturę (B,
∪, ∩, −,
0, 1}, gdzie B jest zbiorem, do którego należą 0 i 1, ∪ oraz ∩
są działaniami dwuargumentowymi nazywanymi dodawaniem i mnoże-
niem booleowskim
∪ : B × B → B,
∩ : B × B → B,
natomiast − jest działaniem jednoargumentowym nazywanym dopeł-
nieniem
− : B → B,
przy czym dla dowolnych x, y, z ∈ B spełnione są równości
(i)
x ∪ y = y ∪ x,
(prawa przemienności)
(ii)
x ∩ y = y ∩ x,
(iii)
x ∪ (y ∪ z) = (x ∪ y) ∪ z,
(prawa łączności)
(iv)
x ∩ (y ∩ z) = (x ∩ y) ∩ z,
(v)
x ∩ (x ∪ y) = x,
(prawa pochłaniania)
(vi)
x ∪ (x ∩ y) = x,
(vii)
x ∩ (y ∪ z) = (x ∩ y) ∪ (x ∩ z),
(prawa rozdzielności)
(viii)
x ∪ (y ∩ z) = (x ∪ y) ∩ (x ∪ z),
(ix)
x ∪ (−x) =
1,
(prawa dopełnienia)
(x)
x ∩ (−x) =
0.
82
Kraty. Algebry Boole’a i funkcje booleowskie
Umowa. W dalszym ciągu tego rozdziału będziemy zakładać, że sym-
bol − wiąże silniej niż symbol ∩, a ten z kolei wiąże silniej niż ∪.
Uwaga. Nietrudno zauważyć (por. np. [3, s. 34]), że krata (K, )
z zerem i jednością oraz działaniami ∪ i ∩, zdefiniowanymi tak jak
w poprzednim podrozdziale, jest algebrą Boole’a, o ile spełniony jest
warunek
^
x∈K
_
y∈K
(x ∪ y =
1 ∧ x ∩ y = 0).
Przykład
(i) Algebrą Boole’a jest rozważany już zbiór
B = {0, 1} z działania-
mi
x ∪ y = max{x, y}
i
x ∩ y = min{x, y}
oraz
−x =
1 − x.
(ii) Zbiór
B
r
z działaniami
(x
1
, x
2
, ..., x
r
) ∪ (y
1
, y
2
, ..., y
r
) =
= (max{x
1
, y
1
}, max{x
2
, y
2
}, ..., max{x
r
, y
r
})
oraz
(x
1
, x
2
, ..., x
r
) ∩ (y
1
, y
2
, ..., y
r
) =
= (min{x
1
, y
1
}, min{x
2
, y
2
}, ..., min{x
r
, y
r
})
i
−(x
1
, x
2
, ..., x
r
) = (1 − x
1
, 1 − x
2
, ..., 1 − x
r
)
jest także algebrą Boole’a.
(iii) Zbiór P(A), gdzie A jest zbiorem niepustym, z działaniami sumy
mnogościowej, iloczynu mnogościowego oraz dopełnienia, jest al-
gebrą Boole’a. Zerem tej algebry jest zbiór pusty, a jednością jest
zbiór A.
Algebry Boole’a
83
(iv) Dla dowolnej liczby naturalnej n > 1 zbiór Div(n) wszystkich
jej naturalnych dzielników (wraz z samą liczbą n) jest algebrą
Boole’a z działaniami (por. [15, s. 601])
k ∪ l = N W W (k, l),
k ∩ l = N W D(k, l)
i
−k =
n
k
,
gdzie, przypomnijmy, N W W (k, l) oznacza najmniejszą wspólną
wielokrotność liczb k i l, zaś N W D(k, l) oznacza najmniejszy
wspólny dzielnik tych liczb, jeśli w rozkładzie liczby n na liczby
pierwsze, te ostatnie występują w pierwszej potędze.
Tak jest np. dla n = 210 = 2
1
· 3
1
· 5
1
· 7
1
. Ale już dla n = 60 =
2
2
· 3
1
· 5
1
Div(60) nie jest algebrą Boole’a, bo 2 ∪ −2 = 2 ∪ 30 =
30 6= 60; należy bowiem pamiętać, że jeśli Div(n) jest algebrą
Boole’a, to jej jednością jest liczba n, a zerem liczba 1.
Twierdzenie 4.7 Dla dowolnych elementów x, y algebry Boole’a (B, ∪,
∩, −,
0, 1) zachodzą zależności
(i) x ∪ x = x,
(ii) x ∩ x = x,
(iii) x ∪
0 = x,
(iv) x ∩
1 = x,
(v) x ∪ y = y ⇔ x ∩ y = x.
Dowód. (i) Na podstawie prawa pochłaniania (vi)
x ∪ (x ∩ (x ∪ x)) = x.
Zarazem, na podstawie (v), x ∩ (x ∪ x) = x. Tak więc, x ∪ x = x.
Dowód (ii) jest analogiczny. Z kolei (iii) jest konsekwencją zależ-
ności
x ∪
0 = x ∪ (x ∩ −x) = x,
84
Kraty. Algebry Boole’a i funkcje booleowskie
która wynika także z prawa pochłaniania (vi). Dowód (iv) jest podob-
ny. Dowód zależności (v) pozostawiamy Czytelnikowi jako nietrudne
ćwiczenie.
2
Każda algebra Boole’a jest zbiorem częściowo uporządkowanym
poprzez odpowiednio zdefiniowaną relację.
Definicja 4.5 Dla dowolnych elementów x, y algebry Boole’a (B, ∪, ∩,
−,
0, 1) definiujemy relację następująco
x y ⇔ x ∪ y = y.
Twierdzenie 4.8 Relacja określona powyższą zależnością jest rela-
cją częściowego porządku w algebrze (B, ∪, ∩, −,
0, 1).
Dowód. Relacja jest zwrotna, bo x ∪ x = x.
Relacja ta jest także słabo antysymetryczna, ponieważ jeśli x ∪ y =
y oraz y ∪ x = x, to oczywiście, biorąc pod uwagę przemienność sumy
booleowskiej, otrzymujemy x = y.
Relacja jest przechodnia. Rzeczywiście, załóżmy, że x y i y
z. Oznacza to, że x ∪ y = y i y ∪ z = z. Zatem
x ∪ z = x ∪ (y ∪ z) = (x ∪ y) ∪ z = y ∪ z = z,
czyli x z.
2
Twierdzenie 4.9 Dla dowolnych elementów x, y algebry Boole’a za-
chodzą prawa De Morgana
−(x ∪ y) = −x ∩ −y
i
−(x ∩ y) = −x ∪ −y.
Dowód. Zauważmy, że
(x ∪ y) ∪ (−x ∩ −y) = ((x ∪ y) ∪ −x) ∩ ((x ∪ y) ∪ −y) =
= ((x ∪ −x) ∪ y) ∩ ((y ∪ −y) ∪ x) =
1 ∩ 1 = 1.
Algebry Boole’a
85
Analogicznie możemy wykazać, że
(x ∪ y) ∩ (−x ∩ −y) = (x ∩ (−x ∩ −y)) ∪ (y ∩ (−x ∩ −y)) =
= ((x ∩ −x) ∩ −y) ∪ ((y ∩ −y) ∩ −x) =
=
0 ∪ 0 = 0.
Z powyższych zależności wynika, iż
−(x ∪ y) = −(x ∪ y) ∪
0 = −(x ∪ y) ∪ ((x ∪ y) ∩ (−x ∩ −y)) =
= [−(x ∪ y) ∪ (x ∪ y)] ∩ [−(x ∪ y) ∪ (−x ∩ −y)] =
=
1 ∩ [−(x ∪ y) ∪ (−x ∩ −y)] =
= [(x ∪ y) ∪ (−x ∩ −y)] ∩ [−(x ∪ y) ∪ (−x ∩ −y)] =
= (−x ∩ −y) ∩ [(x ∪ y) ∪ −(x ∪ y)] = (−x ∩ −y) ∩
1 =
= −x ∩ −y.
Dowód równości −(x ∩ y) = −x ∪ −y przebiega podobnie.
2
Definicja 4.6 Atomem w algebrze Boole’a (B, ∪, ∩, −,
0, 1) nazywa-
my dowolny element x 6=
0, mający tę własność, że jeśli x = y ∪ z, to
y = x lub z = x.
Przykład
(i) Niech B = P(
N) z działaniami sumy mnogościowej i dopełnienia.
Atomami w tej algebrze Boole’a są zbiory jednoelementowe {n},
gdzie n ∈
N.
(ii) Atomami w algebrze Boole’a
B
n
są elementy
(1, 0, 0, ..., 0, 0),
(0, 1, 0, ..., 0, 0),
. . . . . . . . . . . . . . .
(0, 0, 0, ..., 1, 0),
(0, 0, 0, ..., 0, 1).
Jest ich oczywiście n.
86
Kraty. Algebry Boole’a i funkcje booleowskie
(iii) W algebrze Boole’a Div(n), gdzie n = p
1
· p
2
· ... · p
r
, przy czym
p
i
, i = 1, 2, ..., r, są różnymi liczbami pierwszymi, atomami są
właśnie wszystkie wymienione liczby pierwsze.
Zachodzi ważne twierdzenie.
Twierdzenie 4.10 Załóżmy, że B jest skończoną algebrą Boole’a. Wte-
dy istnieje zbiór
U = {u
1
, u
2
, ..., u
n
}
zawierający wszystkie atomy algebry B, takie że dowolny niezerowy ele-
ment x algebry B jest skończoną sumą elementów zbioru U
x = u
i
1
∪ u
i
2
∪ ... ∪ u
i
r
.
Powyższe przedstawienie jest jednoznaczne z dokładnością do kolejności
składników.
Dowód. Po pierwsze, należy zauważyć, że nie istnieje element y ∈ B,
taki że
0 ≺ y ≺ u
i
, i = 1, 2, ..., n.
W dalszym ciągu załóżmy, że element x algebry B nie jest sumą
atomów. Oznacza to, że
x = y ∪ z,
gdzie
0 ≺ y ≺ x, 0 ≺ z ≺ x, oraz co najmniej jeden z elementów y i z
nie jest sumą atomów. Powyższe rozumowanie możemy powtórzyć dla
tego elementu y lub z, który nie jest sumą atomów. W konsekwencji
otrzymujemy ciąg malejący
x x
1
x
2
...
elementów algebry niebędących sumami atomów. Jednak, ponieważ
zbiór B jest skończony, więc w powyższym ciągu powinien istnieć ele-
ment najmniejszy. Element ten jest atomem; z drugiej strony, wobec
założenia dotyczącego x, nie jest on atomem. Otrzymaliśmy sprzecz-
ność.
Wykażemy jednoznaczność przedstawienia x w postaci sumy ato-
mów. Załóżmy, że
x = y
1
∪ y
2
∪ ... ∪ y
p
Algebry Boole’a
87
oraz
x = z
1
∪ z
2
∪ ... ∪ z
q
,
gdzie y
1
, y
2
, ..., y
p
, z
1
, z
2
, ..., z
q
są atomami.
Wtedy
x = x ∩ x = (y
1
∩ z
1
) ∪ (y
1
∩ z
2
) ∪ ... ∪ (y
1
∩ z
q
) ∪ (y
2
∩ z
2
) ∪ ... ∪ (y
p
∩ z
q
).
Zauważmy, że
y
i
∩ z
l
=
0 lub y
i
= z
l
,
i = 1, 2, ..., p,
l = 1, 2, ..., q.
W przeciwnym przypadku y
i
, i = 1, 2, ..., p oraz z
l
, l = 1, 2, ..., q,
nie byłyby atomami. W ten sposób twierdzenie zostało dowiedzione.
2
Definicja 4.7 Dwie algebry Boole’a
(B
1
, ∪
1
, ∩
1
, −
1
,
0
1
,
1
1
)
oraz
(B
2
, ∪
2
, ∩
2
, −
2
,
0
2
,
1
2
)
nazywamy homomorficznymi, jeśli istnieje funkcja f : B
1
→ B
2
, taka
że
f (x ∪
1
y) = f (x) ∪
2
f (y),
f (x ∩
1
y) = f (x) ∩
2
f (y),
f (−
1
x) = −
2
f (x)
dla dowolnych x, y ∈ B
1
. Wtedy f nazywamy homomorfizmem. Jeśli
f jest bijekcją, to algebry nazywamy izomorficznymi, a f nazywamy
izomorfizmem.
Przykład. Algebry Boole’a Div(n), gdzie n = p
1
p
2
...p
r
jest iloczynem
różnych liczb pierwszych, oraz P ({1, 2, ..., r}) są izomorficzne. Izomor-
fizm f : Div(n) → P ({1, 2, ..., r}) jest postaci
f (p
i
1
1
p
i
2
2
...p
i
r
r
) = {k ∈ {1, 2, ..., r} : i
k
= 1},
gdzie i
1
, i
2
, ..., i
r
= 0, 1.
88
Kraty. Algebry Boole’a i funkcje booleowskie
4.3
Formuły i funkcje booleowskie
Zaczniemy od indukcyjnej definicji standardowych formuł boole-
owskich zawierających jedynie znaki ∪, ∩ oraz −.
Definicja 4.8 Standardowymi formułami booleowskimi są
(i) zmienne x
1
, x
2
, ..., x
n
, ...,
(ii) stałe
0, 1,
(iii) jeśli w
1
i w
2
są standardowymi formułami booleowskimi, to są
nimi także (w
1
∪ w
2
), (w
1
∩ w
2
) oraz −w
1
.
Umowa notacyjna. Jak poprzednio przyjmiemy, że znak − wiąże
silniej niż ∩, a ten silniej niż ∪. W dalszym ciągu znak ∩ często będzie
pomijany.
W praktyce często zamiast używać symboli x
1
, x
2
, ..., x
n
, stosuje
się znaki x, y, x, t, ....
Definicja 4.9 Zbiór wszystkich standardowych formuł booleowskich
będziemy oznaczać symbolem
W, a zbiór wszystkich formuł booleowskich
n-zmiennych oznaczać będziemy symbolem
W(n), n 2.
Przykład. Wyrażeniami booleowskimi są na przykład
x ∩ y ∪ z ∩ (−x) ∩ (−t)
oraz
(xyz ∪ (−x)(−y)z)xy.
Pierwsze z tych wyrażeń jest formułą, która zależy od czterech zmien-
nych, a drugie - od trzech zmiennych. Można jednak spojrzeć na te
wyrażenia jako na zależne od większej liczby zmiennych, które jednak
explicite nie występują.
Definicja 4.10 Dwie formuły tej samej liczby zmiennych nazywamy
równoważnymi, jeśli dla dowolnego układu zer i jedności przyjmują one
zawsze te same wartości.
Formuły i funkcje booleowskie
89
Przykład
(i) Wyrażenia
w
1
= (xy ∪ xy(−z))z
oraz
w
2
= xyz
są sobie równoważne ponieważ z(−z) =
0.
(ii) Także równoważne są wyrażenia
w
1
= −((−x
1
)(−x
2
)...(−x
n
))
oraz
w
2
= x
1
∪ x
2
∪ ... ∪ x
n
.
Równoważność formuł może być wykazana poprzez zastosowanie
odpowiednich przekształceń formuł booleowskich. Można także zasto-
sować, znaną z logiki, metodę tabelkową.
Przykład. Wykażemy, stosując metodę tabelkową, równoważność wy-
rażeń w
1
i w
2
z punktu (i) poprzedniego przykładu.
x
y
z
xy
xy(−z)
xy ∪ xy(−z)
w
1
w
2
0 0 0 0
0
0
0
0
0 0 1 0
0
0
0
0
0 1 0 0
0
0
0
0
0 1 1 0
0
0
0
0
1 0 0 0
0
0
0
0
1 0 1 0
0
0
0
0
1 1 0 1
1
1
0
0
1 1 1 1
0
1
1
1
Definicja 4.11 O wyrażeniu w ∈
W(n) będziemy mówić, że ma postać
normalną sumacyjno-iloczynową, jeżeli jest sumą booleowską tzw. ilo-
czynów minimalnych, tzn. wyrażeń postaci
x
∗
1
x
∗
2
...x
∗
n
,
gdzie x
∗
i
= x
i
lub x
∗
i
= −x
i
dla i = 1, 2, ..., n.
90
Kraty. Algebry Boole’a i funkcje booleowskie
Przykład
(i) Wyrażenie
w = xy(−z) ∪ (−x)(−y)x ∪ (−x)yz
ma postać normalną sumacyjno-iloczynową przy przyjęciu zało-
żenia, że w ∈
W(3). Gdyby w ∈ W(4) i czwartą zmienną było t,
należałoby wyrażenie w poddać przekształceniom
w = w ∩
1 = w ∩ (t ∪ −t) = [xy(−z) ∪ (−x)(−y)z ∪ (−x)yz]∩
∩(t ∪ −t) = xy(−z)t ∪ (−x)(−y)zt ∪ (−x)yzt∪
∪xy(−z)(−t) ∪ (−x)(−y)z(−t) ∪ (−x)yz(−t).
(ii) Wyrażenie w ∈
W(3)
w = xy ∪ z
nie ma żądanej postaci. Należy je poddać następującym prze-
kształceniom
xy ∪ z = xy(z ∪ −z) ∪ z(x ∪ −x)(y ∪ −y) = xyz ∪ xy(−z)∪
∪xyz ∪ x(−y)z ∪ (−x)yz ∪ (−x)(−y)z =
= xyz ∪ xy(−z) ∪ x(−y)z ∪ (−x)yz ∪ (−x)(−y)z.
Jak widać, każde wyrażenie booleowskie jest związane z pewną
funkcją, która układom zer i jedności przyporządkowuje zero lub jeden.
Definicja 4.12 Funkcją booleowską n-argumentową nazywamy każdą
funkcję
f :
B
n
→
B.
Uwaga. Równoważne sobie formuły booleowskie tej samej liczby argu-
mentów generują tę samą funkcję booleowską. Opisując jej działanie,
można posłużyć się jednym z tychże wyrażeń lub tabelą.
Przykład. Weźmy pod uwagę funkcję booleowską f :
B
3
→
B, która
dana jest tabelką
Formuły i funkcje booleowskie
91
x
y
z
f (x, y, z)
0 0 0
0
0 0 1
0
0 1 0
1
0 1 1
0
1 0 0
1
1 0 1
1
1 1 0
0
1 1 1
0
Nietrudno zauważyć, że wartości funkcji opisuje wyrażenie
(−x)y(−z) ∪ x(−y)(−z) ∪ x(−y)z,
będące sumą iloczynów minimalnych odpowiadających tym wierszom
powyższej tabelki, dla których f (x, y, z) =
1.
Wartości funkcji booleowskich mogą być też określane przy użyciu
znaków różnych od ∪, ∩ czy −.
Przykład
(i) Niech dana będzie funkcja f :
B
3
→
B określona wzorem
f (x, y, z) = x + y + z,
gdzie znak + oznacza dodawanie modulo dwa. Funkcji tej odpo-
wiada tabela.
x
y
z
x + y + z
0 0 0
0
0 0 1
1
0 1 0
1
0 1 1
0
1 0 0
1
1 0 1
0
1 1 0
0
1 1 1
1
Biorąc pod uwagę iloczyny minimalne, dla których x + y + z =
1,
otrzymujemy
x + y + z = (−x)(−y)z ∪ (−x)y(−z) ∪ x(−y)(−z) ∪ xyz.
92
Kraty. Algebry Boole’a i funkcje booleowskie
(ii) W rozdziale 1 tej książki rozpatrywana była funkcja
→:
B
2
→
B,
dana tabelką
x
y
x → y
0 0
1
0 1
1
1 0
0
1 1
1
Oczywiście
x → y = (−x)(−y) ∪ (−x)y ∪ xy.
Nietrudno zauważyć, że
x → y = −x ∪ y
oraz
x → y = −(x ∩ −y).
(iii) Weźmy pod uwagę funkcję
| :
B
2
→
B,
określoną tabelką
x
y
x|y
0 0
1
0 1
1
1 0
1
1 1
0
Funkcja ta odpowiada logicznemu funktorowi nazywanemu „kre-
ską” Scheffera i może być nazwana funkcją Scheffera.
Zachodzą równości
x|y = (−x)(−y) ∪ (−x)y ∪ x(−y)
oraz
x|y = −(x ∩ y)
i
x|y = −x ∪ −y.
Formuły i funkcje booleowskie
93
Jak zatem widać, obok standardowych symboli booleowskich, ta-
kich jak ∪, ∩, −, można też użyć innych symboli, na przykład +, →
czy |. Przy zastosowaniu znaków ∪, ∩, − można zdefiniować wszyst-
kie inne funkcje booleowskie. Powstaje pytanie: jakie układy symboli,
czy ogólniej, funkcji booleowskich wystarczą do zdefiniowania funkcji
pozostałych.
W dalszej części tego podrozdziału przedstawimy twierdzenie, któ-
re odpowiada na to pytanie. Wypowiedź twierdzenia poprzedzimy kil-
koma definicjami (por. [12, s. 18-31]).
Definicja 4.13 Funkcję f
∗
:
B
n
→
B nazywamy dualną do funkcji
f :
B
n
→
B, jeżeli
f
∗
(x
1
, x
2
, ..., x
n
) = −f (−x
1
, −x
2
, ..., −x
n
).
Przykład
(i) Funkcją dualną do x 7→ x jest ta sama funkcja.
(ii) Funkcja (x
1
, x
2
) 7→ x
1
∩ x
2
jest dualna do funkcji (x
1
, x
2
) 7→
x
1
∪ x
2
i vice versa, funkcja druga jest dualna do pierwszej.
Twierdzenie 4.11 Dla dowolnej funkcji f :
B
n
→
B
(f
∗
)
∗
= f.
Dowód twierdzenia jest oczywisty.
Definicja 4.14 Dla dowolnego zbioru F skończenie argumentowych
funkcji booleowskich domknięciem [F ] nazywamy zbiór wszystkich funk-
cji otrzymanych z funkcji należących do F za pomocą operacji super-
pozycji.
Jak łatwo widać, zachodzą zależności
Twierdzenie 4.12 Dla dowolnego zbioru F funkcji booleowskich
(i) F ⊂ [F ],
(ii) [[F ]] = [F ],
94
Kraty. Algebry Boole’a i funkcje booleowskie
(iii) jeśli F
1
⊂ F
2
, to [F
1
] ⊂ [F
2
].
Definicja 4.15 Zbiór funkcji booleowskich F nazywać będziemy do-
mkniętym funkcyjnie, jeśli
[F ] = F.
Definicja 4.16 Zbiór wszystkich funkcji booleowskich f skończenie ar-
gumentowych, dla których
f (
0, 0, ..., 0) = 0
oznaczać będziemy symbolem T
0
.
Symbolem T
1
oznaczać będziemy skończenie argumentowe funkcje
booleowskie, dla których
f (
1, 1, ..., 1) = 1.
Symbolem S oznaczane będą skończenie argumentowe funkcje bo-
oleowskie spełniające zależności
f
∗
= f,
tzn. funkcje samodualne.
Symbolem M oznaczać będziemy skończenie argumentowe funkcje
booleowskie monotoniczne, tzn. takie, dla których
f (x
1
, x
2
, ..., x
n
) ¬ f (y
1
, y
2
, ..., y
n
),
jeśli x
i
¬ y
i
, i = 1, 2, ..., n, n ∈
N.
Symbolem L oznaczać będziemy skończenie argumentowe funkcje
booleowskie liniowe, tzn. funkcje otrzymane za pomocą operacji super-
pozycji z funkcji stałych
0, 1 oraz funkcji x 7→ x, x 7→ −x, (x
1
, x
2
) 7→
x
1
+ x
2
.
Wszystkie funkcje ze zbiorów T
0
, T
1
, S, M i L są funkcyjnie do-
mknięte, a ponadto zachodzi następujące
Twierdzenie 4.13 Niech dany będzie zbiór F skończenie argumen-
towych funkcji booleowskich. Każda skończenie argumentowa funkcja
booleowska może być przedstawiona jako superpozycja funkcji ze zbioru
F wtedy i tylko wtedy, gdy F nie jest zawarty w żadnym ze zbiorów T
0
,
T
1
, S, M , L.
Formuły i funkcje booleowskie
95
Uwaga. Powyższe twierdzenie nazywane jest niekiedy twierdzeniem
o funkcyjnej zupełności, a zbiór F spełniający założenia tego twierdze-
nia nazywany jest funkcyjnie zupełnym.
Przykład. Funkcyjnie zupełnymi są zbiory
(i) {∪, ∩, −},
(ii) {∪, −},
(iii) {→, −},
(iv) {|},
(v) {
0, 1, ∩, (x, y, z) 7→ x + y + z} (por. [12, s. 31]).
5
Zbiory skończone i metody zliczania
elementów tych zbiorów
5.1
Wprowadzenie do metod kombinato-
rycznych
Kombinatoryka to dział matematyki, który zajmuje się zlicza-
niem liczby elementów zbiorów skończonych. Według ujęcia tradycyj-
nego, mamy do czynienia z losowaniem elementów z pewnego zbioru
n-elementowego P = {x
1
, x
2
, ..., x
n
}, nazywanego niekiedy populacją,
do multizbioru k-elementowego A = {x
i
1
, x
i
2
, ..., x
i
k
}, gdzie x
i
j
∈ P ,
j = 1, 2, ..., k, nazywanego próbą.
Odnotujmy, że przez multizbiór rozumiemy „zbiór”, którego ele-
menty mogą się powtarzać. Ścisłej definicji pojęcia multizbioru nie bę-
dziemy tutaj wprowadzać, mimo że nie jest ona skomplikowana, a opie-
ra się na „zwykłym” pojęciu zbioru.
Pytanie, na które odpowiada kombinatoryka, brzmi: ile multizbio-
rów k-elementowych A można otrzymać, nakładając przy tym pewne
założenia na strukturę owych zbiorów? W przypadku zliczania multi-
zbiorów A bierzemy pod uwagę przede wszystkim dwie kwestie:
98
Zbiory skończone i metody zliczania ...
a) czy elementy multizbioru A powtarzają się (inaczej mówiąc, czy
losowanie elementów ze zbioru P do multizbioru A odbywa się
ze zwracaniem, czy też bez zwracania);
b) czy A jest liniowo uporządkowany, czy nie.
Definicja 5.1 Każdy multizbiór A, który jest liniowo uporządkowany
nazywamy wariacją z n elementów po k elementów.
Multizbiór A, w którym nie jest określona relacja porządku, nazy-
wamy kombinacją z n elementów po k elementów.
Definicja 5.2 Wariacje lub kombinacje otrzymane w wyniku losowa-
nia bezzwrotnego, tzn. takie, których elementy się nie powtarzają, nazy-
wamy wariacjami, lub odpowiednio kombinacjami, bez powtórzeń.
W przeciwnym przypadku, mówimy o wariacjach lub kombinacjach
z powtórzeniami.
Definicja 5.3 Liczbę wariacji bez powtórzeń z n elementów po k ele-
mentów oznaczamy symbolem V
k
n
.
Liczbę wariacji z powtórzeniami z n elementów po k elementów
oznaczamy symbolem V
k
n
.
Z kolei liczbę kombinacji bez powtórzeń z n elementów po k ele-
mentów oznaczamy symbolem C
k
n
.
Liczbę kombinacji z powtórzeniami z n elementów po k elementów
oznaczamy symbolem
C
k
n
.
W ramach kursu matematyki obowiązującego w szkole średniej wy-
kazuje się (my to uczynimy w sposób ścisły w następnym podrozdziale),
że
V
k
n
=
n!
(n − k)!
,
V
k
n
= n
k
,
C
k
n
=
n
k
!
,
C
k
n
=
n + k − 1
k
!
,
Wprowadzenie do metod kombinatorycznych
99
gdzie przyjmujemy
n
k
!
=
n!
k!(n − k)!
.
Ostatnie wyrażenie to tzw. symbol Newtona; w rzeczywistości sym-
bol ten pochodzi od Leonarda Eulera.
Szczególnym rodzajem wariacji są permutacje.
Definicja 5.4 Permutacją n-elementową bez powtórzeń nazywamy wa-
riacje bez powtórzeń z n elementów po n elementów.
Definicja 5.5 Liczbę permutacji n-elementowych bez powtórzeń ozna-
czamy symbolem P
n
.
Z powyższych definicji wynika natychmiast, że
P
n
= V
n
n
=
n!
0!
= n!
Definicja 5.6 Permutacją n-elementową, w której jeden element wy-
stępuje n
1
razy, drugi element n
2
razy, ..., k-ty element n
k
razy, gdzie
n
1
+ n
2
+ ... + n
k
¬ n, a pozostałe elementy nie powtarzają się, nazy-
wamy wariacją z powtórzeniami o powyższych własnościach.
Definicja 5.7 Liczbę n-elementowych permutacji zdefiniowanych wy-
żej oznaczamy symbolem
P
n
1
,n
2
,...,n
k
n
.
Nietrudno wykazać, że
P
n
1
,n
2
,...,n
k
n
=
n!
n
1
!n
2
!...n
k
!
.
Rzeczywiście, jeśli jeden z elementów powtarza się n
1
razy, to permu-
tując ze sobą n
1
egzemplarzy tego samego elementu, otrzymujemy n
1
!
permutacji nie różniących się między sobą. Podobnie jest w przypad-
ku pozostałych powtarzających się elementów. Tak więc, aby uzyskać
P
n
1
,n
2
,...,n
k
n
, należy P
n
podzielić przez n
1
!, n
2
!, itd.
100
Zbiory skończone i metody zliczania ...
Przykład
(i) Winda, w której znajduje się pięciu pasażerów, może się zatrzy-
mać na 10-u kondygnacjach. Na ile sposobów może wysiąść tych
pięciu pasażerów?
Każdemu z pasażerów możemy przyporządkować numer kondy-
gnacji, na której wysiada. Tworzymy w ten sposób ciągi pię-
cioelementowe, w których występują liczby 1, 2, 3, 4, 5, 6, 7,
8, 9, 10. Ponieważ pasażerowie mogą wysiadać na tych samych
piętrach, więc liczby wyrażające numery kondygnacji mogą się
powtarzać w pięcioelementowym ciągu. Poszukiwana przez nas
liczba sposobów opuszczenia windy przez pasażerów jest równa
liczbie wariacji z powtórzeniami ze zbioru 10-elementowego po 5,
tzn.
L = V
5
10
= 10
5
.
(ii) Prostokąt podzielono na mniejsze prostokąty czterema poziomy-
mi i sześcioma pionowymi prostymi poprowadzonymi w równych
odległościach. Iloma sposobami można dojść od jednego wierz-
chołka prostokąta do przeciwległego mu, posuwając się tak, aby
suma odcinków przebytych była równa sumie dwóch przyległych
boków prostokąta?
D
C
A
B
Rozpatrujemy wszystkie możliwe drogi z A do C, których dłu-
gość jest równa sumie długości dwóch przyległych boków pro-
stokąta (np. AB i AD). Każda droga może być jednoznacznie
reprezentowana przez ciąg kresek poziomych i pionowych. Droga
zaznaczona na rysunku jest reprezentowana przez układ
|| − | − − − || − −−
Wprowadzenie do metod kombinatorycznych
101
Każda droga jest ciągiem 12-u kresek, w tym 5-u pionowych
i 7-u poziomych. Oczywiście, kolejności kresek mogą być dowol-
ne. Mamy zatem do czynienia w tym przypadku z permutacją
z powtórzeniami 12-u elementów, z których jeden powtarza się
5 razy, a drugi 7 razy.
L = P
5,7
12
=
12!
5! · 7!
.
(iii) Na płaszczyźnie danych jest 12 punktów, z których dokładnie 6
leży na jednej prostej; z pozostałych żadne 3 nie leżą na jednej
prostej i żadne 2 z tych pozostałych i żadne z tych 6 nie leżą
na jednej prostej. Należy znaleźć liczbę trójkątów, jakie można
otrzymać, łącząc punkty po 3?
Każdy trójkąt jest wyznaczony przez swoje wierzchołki, przy
czym obojętne jest w jakiej kolejności te wierzchołki są wymie-
niane. Wierzchołki, rzecz jasna, nie mogą się powtarzać.
Trójkąty otrzymujemy na trzy sposoby:
a) łączymy dowolny z 6 punktów leżących na prostej z dowolnie
wybranymi 2 punktami spośród 6 pozostałych punktów,
b) łączymy dowolny z 6 punktów spośród tych, które nie leżą
na prostej, z 2 dowolnie wybranymi ze zbioru 6 punktów
leżących na prostej,
c) spośród 6 punktów nieleżących na prostej wybieramy 3.
Zatem liczba trójkątów jest równa
6 · C
2
6
+ 6 · C
2
6
+ C
3
6
.
(iv) Ile jest parzystych liczb trzycyfrowych, w których cyfry nie po-
wtarzają się (zakładamy, że zero nie występuje na początku)?
Najpierw bierzemy pod uwagę wszystkie możliwości utworzenia
„liczb” trzycyfrowych parzystych, w których cyfry nie powtarzają
się i zero może występować na początku. „Liczb” takich jest
5 · V
2
9
= 5 · 9 · 8 = 360.
Istotnie: cyfr, które zapisane na końcu liczby „sprawiają”, że jest
ona parzysta, mamy pięć: 0, 2, 4, 6, 8.
102
Zbiory skończone i metody zliczania ...
V
2
5
5
Jeśli wybierzemy jedną z tych pięciu cyfr, pozostanie nam 9 cyfr.
Z tych dziewięciu wybieramy następnie dwie różne cyfry na V
2
9
sposobów. Stosujemy wariacje, ponieważ porządek rozmieszcze-
nia cyfr jest ważny.
0
V
1
8
4
W następnym kroku musimy od 360 odjąć ilość tych „liczb”,
w których zero występuje na początku. Tych „liczb” jest 4 · V
1
8
.
Ostatecznie liczb spełniających warunki zadania mamy
5 · V
2
9
− 4 · V
1
8
= 360 − 32 = 328.
(v) W kwiaciarni jest pięć gatunków róż: białe, czerwone, różowe,
żółte i pomarańczowe. Ile bukietów złożonych z pięciu róż można
utworzyć, przyjmując, że w bukiecie kolory kwiatów mogą się
powtarzać?
Bukiet jest zbiorem nieuporządkowanym. Mamy tu zatem do
czynienia z kombinacjami z powtórzeniami złożonymi z pięciu
elementów, które wylosowane zostały w sposób zwrotny ze zbio-
ru pięcioelementowego. Dlatego liczba wszystkich bukietów jest
równa
C
5
5
=
5 + 5 − 1
5
!
=
9
5
!
=
9!
5!4!
=
6 · 7 · 8 · 9
1 · 2 · 3 · 4
= 2 · 7 · 9 = 126.
5.2
Formalne ujęcie podstaw
kombinatoryki
W poprzednim rozdziale podana została definicja zbioru skoń-
czonego. Zdefiniujemy teraz pojęcie liczebności albo, inaczej mówiąc,
liczby elementów takiego zbioru.
Formalne ujęcie podstaw kombinatoryki
103
Definicja 5.8 Niech A będzie zbiorem skończonym i niepustym oraz
niech
f : A → {1, 2, ..., n}
będzie bijekcją przekształcającą A na zbiór pierwszych n liczb natural-
nych dodatnich. Wtedy liczbę n nazywamy liczebnością zbioru A i pi-
szemy
n = card (A).
Jeśli A = ∅, to przyjmujemy card (A) = 0.
Twierdzenie 5.1 Dla dowolnych rozłącznych zbiorów skończonych A
i B zachodzi równość
card (A ∪ B) = card (A) + card (B).
Dowód. Niech f
1
: A → {1, 2, ..., n} oraz f
2
: B → {1, 2, ..., m} będą
bijekcjami. Wtedy bijekcją jest odwzorowanie g : A ∪ B → {1, 2, ...,
n + m}, takie że
g(x) =
(
f
1
(x)
dla x ∈ A,
f
2
(x) + n dla x ∈ B.
2
Wniosek. Dla dowolnych, skończonych, parami rozłącznych zbiorów
A
1
, A
2
, ..., A
k
card (A
1
∪ A
2
∪ .... ∪ A
k
) = card (A
1
) + card (A
2
) + ... + card (A
k
).
Dowód wniosku jest natychmiastowy. Należy wykorzystać tezę
poprzedniego twierdzenia i indukcję.
Uwaga. Powyższy wniosek nazywany jest niekiedy podstawową albo
fundamentalną zasadą zliczania.
Twierdzenie 5.2 Dla dowolnych skończonych zbiorów A i B zachodzi
równość
card (A × B) = card (A) · card (B).
Dowód. Niech A = {x
1
, x
2
, ..., x
n
} i B = {y
1
, y
2
, ..., y
m
}. Oczywiście
card (A) = n, card (B) = m. W celu wykazania tezy twierdzenia za-
stosujemy indukcję względem m.
104
Zbiory skończone i metody zliczania ...
Dla m = 1
A × B = {(x
1
, y
1
), (x
2
, y
1
), ..., (x
n
, y
1
)}
oraz
card (A × B) = n = n · 1 = card (A) · card (B).
Załóżmy, że teza twierdzenia zachodzi dla pewnego m. Wtedy dla
zbioru m + 1-elementowego B = {y
1
, y
2
, ..., y
m+1
} zachodzi równość
A × B = A × B
1
∪ A × B
2
,
gdzie B
1
= {y
1
, y
2
, ..., y
m
}, B
2
= {y
m+1
}. Ponieważ zbiory A × B
1
i A × B
2
są rozłączne, więc w oparciu o podstawową zasadę zliczania
card (A × B) = card (A × B
1
) + card (A × B
2
) = n · m + n =
= n(m + 1) = card (A) · card (B).
Jeśli jeden ze zbiorów A lub B jest pusty, teza twierdzenia także za-
chodzi.
2
Twierdzenie 5.3 Dla dowolnych zbiorów skończonych A
1
, A
2
, ..., A
k
ma miejsce równość
card (A
1
× A
2
× ... × A
k
) = card (A
1
) · card (A
2
) · ... · card (A
k
).
Łatwy dowód tego twierdzenia (należy posłużyć się indukcją) po-
zostawiamy Czytelnikowi.
Twierdzenie 5.4 Dla dowolnego skończonego zbioru A
card (P(A)) = 2
card (A)
.
Dowód. Jeśli A = ∅, to
card (P(A)) = 1 = 2
0
= 2
card (A)
.
Jeżeli A = {x
1
}, to
P(A) = {∅, A},
Formalne ujęcie podstaw kombinatoryki
105
czyli
card (P(A)) = 2 = 2
1
= 2
card (A)
.
Załóżmy, że teza twierdzenia zachodzi dla dowolnego zbioru n-ele-
mentowego. Niech A = {x
1
, x
2
, ..., x
n
, x
n+1
}. Wtedy
P(A) = P({x
1
, x
2
, ..., x
n
}) ∪ B,
gdzie B jest rodziną podzbiorów zbioru A, taką że
B ∈ B ⇔ B = A
1
∪ {x
n+1
} ∧ A
1
∈ P({x
1
, x
2
, ..., x
n
}).
Obie rodziny zbiorów: P({x
1
, x
2
, ..., x
n
}) i B mają tyle samo elemen-
tów, a mianowicie 2
n
. Ostatecznie
card (P(A)) = 2
n
+ 2
n
= 2
n+1
.
Twierdzenie zostało udowodnione.
2
W dalszej kolejności podamy kilka twierdzeń odnoszących się do
zbiorów funkcji (por. [9, s. 40n]). Przypomnijmy, że w jednym z wcze-
śniejszych
rozdziałów
wprowadziliśmy
oznaczenia
B
A
,
ini(B
A
),
sur(B
A
) oraz bij(B
A
) dla zbiorów wszystkich funkcji odwzorowują-
cych A w B, wszystkich iniekcji ze zbioru A w zbiór B, wszystkich
suriekcji ze zbioru A na B oraz wszystkich bijekcji ze zbioru A na
zbiór B. W tym podrozdziale obliczymy card (B
A
), card (ini(B
A
)),
card (bij(B
A
)) dla zbiorów skończonych A oraz B. Rachunki dotyczące
card (sur(B
A
)) są bardziej skomplikowane i zostaną wykonane w na-
stępnym podrozdziale.
Twierdzenie 5.5 Dla dowolnych niepustych i skończonych zbiorów A
i B zachodzi równość
card (B
A
) = card (B)
card (A)
.
Dowód. Wykorzystamy indukcję względem liczby elementów zbioru
A. Niech A = {x
1
} oraz B = {y
1
, y
2
, ..., y
m
}. Wtedy istnieje dokładnie
m funkcji odwzorowujących A w B, czyli równość zawarta w tezie
twierdzenia jest spełniona.
106
Zbiory skończone i metody zliczania ...
Załóżmy, że równość ta zachodzi dla dowolnego n-elementowego
zbioru i przyjmijmy, że A = {x
1
, x
2
, ..., x
n+1
}. Wtedy
A = A
1
∪ {x
n+1
},
gdzie A
1
= {x
1
, x
2
, ..., x
n
}.
Każdej funkcji należącej do B
A
1
odpowiada m funkcji odwzorowu-
jących {x
n+1
} w B. Zatem
card (B
A
) = card (B
A
1
) · card (B) = card (B)
card (A
1
)
· card (B) =
= card (B)
card (A
1
)+1
= card (B)
card (A)
.
Twierdzenie zostało wykazane.
2
Twierdzenie 5.6 Niech A i B będą niepustymi zbiorami skończony-
mi, takimi że card (A) ¬ card (B). Wtedy
card (ini(B
A
)) =
card (B)!
(card (B) − card (A))!
.
Dowód. Zastosujemy indukcję względem liczby elementów zbioru B.
Jeżeli card (B) = 1, to card (A) = 1 i równość zawarta w tezie twier-
dzenia zachodzi.
Załóżmy, że jest ona prawdziwa dla dowolnego n-elementowego
zbioru B i dla dowolnego zbioru A o liczbie elementów nie większej
niż n.
Przyjmijmy, że B = {y
1
, y
2
, ..., y
n+1
}. Załóżmy też, że A = {x
1
, x
2
,
..., x
k
}, gdzie k ¬ n + 1. W takim przypadku
ini(B
A
) =
n+1
[
i=1
C
i
,
gdzie
C
i
= {f ∈ ini(B
A
) : f (x
k
) = y
i
},
i = 1, 2, ..., k + 1.
Oczywiście
C
i
∩ C
j
= ∅,
jeśli
i 6= j.
Formalne ujęcie podstaw kombinatoryki
107
W przypadku, gdy A = {x
1
} zachodzi równość
card
ini(B
A
)
= n + 1 =
(n + 1)!
n!
=
card (B)!
(card (B) − card (A))!
.
Przyjmijmy, że card (A) 2.
Zauważmy, że każdy ze zbiorów C
i
zawiera jako swoje elemen-
ty funkcje, którym w sposób wzajemnie jednoznaczny odpowiadają
wszystkie iniekcje ze zbioru {x
1
, x
2
, ..., x
k−1
} w zbiór {y
1
, y
2
, ..., y
n+1
} \
{y
i
}. Takich iniekcji jest
n!
(n − k + 1)!
,
a zatem, korzystając z podstawowej zasady zliczania, otrzymujemy
card (ini(B
A
)) = (n + 1)
n!
(n − k + 1)!
=
card (B)!
(card (B) − card (A))!
,
co kończy dowód twierdzenia.
2
Ostatnie dwa twierdzenia są przydatne do zliczania wariacji z po-
wtórzeniami i wariacji bez powtórzeń. Zauważmy bowiem, że każdy
wybór uporządkowany z populacji P dla próby A można zinterpreto-
wać jako funkcję
f : {1, 2, ..., k} → {x
1
, x
2
, ..., x
n
},
gdzie {x
1
, x
2
, ..., x
n
} = P , natomiast A = {f (i) : i = 1, 2, ..., k}.
Dlatego też liczbę wariacji z powtórzeniami ze zbioru n-elementowego
(tutaj: P ) po k elementów wyznaczamy poprzez zliczenie wszystkich
funkcji f określonych powyższą zależnością. Wzór
V
k
n
= n
k
jest więc konsekwencją zależności
card (B
A
) = card (B)
card (A)
.
108
Zbiory skończone i metody zliczania ...
Podobnie, rozważając wariacje bez powtórzeń, odwołujemy się do
iniekcji ze zbioru {1, 2, ..., k} w zbiór P (zakładamy, że k ¬ n. A zatem
wzór
V
k
n
=
n!
(n − k)!
wynika z zależności
card
ini(B
A
)
=
card (B)!
(card (B) − card (A))!
.
Jak widać, pojęcie wariacji w prosty i elegancki sposób można spro-
wadzić do pojęcia funkcji o odpowiednich własnościach. W jaki sposób
poradzić sobie z pojęciem kombinacji? Należy „utożsamić” ze sobą
funkcje przyjmujące te same wartości (wraz z ewentualnymi krotno-
ściami), jednak niekoniecznie w tej samej „kolejności”. Bardziej ściśle
można to ująć w poniższy sposób.
W zbiorze wszystkich funkcji odwzorowujących {1, 2, ..., k} w {x
1
,
x
2
, ..., x
n
} wprowadzamy relację ε następująco
f εg ⇔ f (i) = g(σ(i))
dla i = 1, 2, ..., k oraz pewnej permutacji σ : {1, 2, ..., k} → {1, 2, ..., k}
(por. [9, s. 52]).
Twierdzenie 5.7 Relacja ε jest relacją równoważności.
Dowód. Relacja ta jest zwrotna, bowiem dla permutacji ι(i) = i,
i = 1, 2, ..., k, zachodzi równość
f (i) = f (ι(i)).
Relacja ta jest symetryczna, gdyż jeśli
f (i) = g(σ(i)),
i = 1, 2, ..., k,
to
g(i) = f (σ
−1
(i)),
i = 1, 2, ..., k.
Relacja ε jest przechodnia, bo jeśli
f (i) = g(σ(i))
oraz
g(i) = h(τ (i)),
i = 1, 2, ..., k,
Formalne ujęcie podstaw kombinatoryki
109
to
f (i) = h(τ (σ(i))),
i = 1, 2, ..., k.
Tak więc, zliczając - dla ustalenia uwagi - kombinacje bez powtó-
rzeń, zliczamy faktycznie klasy abstrakcji relacji ε, czyli elementy zbio-
ru ilorazowego ini(P
{1,2,...,k}
)/ε lub, jeśli zastosujemy uprzednią sym-
bolikę, ini(B
A
)/ε.
2
Twierdzenie 5.8 Niech dany będzie zbiór funkcji B
A
, gdzie card (A)
= card (B). Wtedy zbiór ini(B
A
)/ε ma
card (B)
card (A)!(card (B) − card (A))!
.
Dowód. Dowód twierdzenia jest natychmiastowy, a wynika stąd, iż
każda klasa abstrakcji ma card (A)! elementów.
2
Z powyższego twierdzenia otrzymujemy znany wzór na liczbę kom-
binacji bez powtórzeń
C
k
n
=
n!
k!(n − k)!
,
gdzie n jest liczebnością populacji, a k jest liczebnością próby.
Wniosek. Niech dany będzie dowolny zbiór n-elementowy. Zbiór ten
ma
n!
k!(n − k)!
podzbiorów k-elementowych, gdzie k ¬ n.
Powyższy wynik ma pewne ważne zastosowanie.
Definicja 5.9 Załóżmy, że A i B są niepustymi zbiorami uporządko-
wanymi liniowo. Funkcję f : A → B nazywamy rosnącą (malejącą),
jeśli
^
x
a
,x
b
∈A
x
a
≺ x
b
⇒ f (x
a
) ≺ f (x
b
),
110
Zbiory skończone i metody zliczania ...
^
x
a
,x
b
∈A
x
a
≺ x
b
⇒ f (x
a
) f (x
b
)
,
gdzie tym samym symbolem oznaczone zostały relacje liniowego po-
rządku w zbiorach A i B.
Podobnie, f nazywamy nierosnącą (niemalejącą), jeśli
^
x
a
,x
b
∈A
x
a
≺ x
b
⇒ f (x
a
) f (x
b
),
^
x
a
,x
b
∈A
x
a
≺ x
b
⇒ f (x
a
) f (x
b
)
.
Jeśli funkcja f jest rosnąca lub malejąca, ewentualnie nierosnąca
lub niemalejąca, nazywamy ją monotoniczną.
Definicja 5.10 Niech A oraz B będą skończonymi zbiorami niepusty-
mi. Wtedy
(i) symbolem inc(B
A
) oznaczmy zbiór wszystkich funkcji rosnących
z A do B,
(ii) symbolem dec(B
A
) oznaczamy zbiór wszystkich funkcji maleją-
cych z A do B,
(iii) symbolem ninc(B
A
) oznaczamy zbiór wszystkich funkcji niero-
snących z A do B,
(iv) symbolem ndec(B
A
) oznaczamy zbiór wszystkich funkcji niema-
lejących z A do B,
(v) symbolem mon(B
A
) oznaczamy zbiór wszystkich funkcji monoto-
nicznych odwzorowujących A w B.
Twierdzenie 5.9 Liczba funkcji rosnących, odwzorowujących niepu-
sty skończony liniowo uporządkowany zbiór A w niepusty skończony
liniowo uporządkowany zbiór B, jest równa
card (inc(B
A
)) =
card (B)!
card (A)!(card (B) − card (A))!
.
Współczynniki dwumianowe i wielomianowe
111
Dowód. Powyższa równość wynika stąd, że funkcja rosnąca jest jedno-
znacznie określona poprzez wybór card (A)-elementowych podzbiorów
zbioru card (B)-elementowego.
Obliczenie card (dec(B
A
)) przebiega analogicznie.
2
Nieco trudniej obliczyć card (B
A
/ε). Odpowiedni rezultat zawarty
jest w poniższym twierdzeniu, które podajemy bez dowodu.
Twierdzenie 5.10 Dla dowolnych skończonych zbiorów niepustych A
i B oraz dla relacji ε określonej jak wyżej, zachodzi równość
card (B
A
/ε) =
(card (B) + card (A) − 1)!
card (A)!(card (B) − 1)!
.
Powyższa zależność pozwala na otrzymanie wzoru na liczbę kom-
binacji z powtórzeniami z n elementów po k elementów
C
k
n
=
(n + k − 1)!
k!(n − 1)!
.
Podobnie jak kombinacje bez powtórzeń służą do zliczania funkcji
rosnących, kombinacje z powtórzeniami są wykorzystywane do zlicza-
nia funkcji niemalejących.
Twierdzenie 5.11 Jeśli A i B są niepustymi zbiorami skończonymi
liniowo uporządkowanymi, to
card (ndec(B
A
)) =
(card (B) + card (A) − 1)!
card (A)!(card (B) − 1)!
.
Analogicznie obliczamy card (ninc(B
A
)).
5.3
Współczynniki dwumianowe
i wielomianowe
Zacznijmy od definicji
Definicja 5.11 Niech k, n ∈
N. Współczynnikiem dwumianowym na-
zywamy liczbę
112
Zbiory skończone i metody zliczania ...
n
k
!
=
n!
k!(n − k)!
,
gdy
n k,
oraz
n
k
!
= 0,
gdy
n < k.
Uwaga. Z powyższego określenia wynika, że C
k
n
=
n
k
oraz
C
k
n
=
n+k−1
k
.
Twierdzenie 5.12 Dla dowolnych n, k ∈
N, k ¬ n, zachodzą równo-
ści
(i)
n
k
=
n
n−k
,
(ii)
n
k
+
n
k+1
=
n+1
k+1
.
Prosty dowód pozostawiamy Czytelnikowi.
Twierdzenie 5.13 Dla dowolnych x, y ∈
R i n ∈ N
+
(x + y)
n
=
n
0
!
x
n
+
n
1
!
x
n−1
y + ... +
n
n
!
y
n
.
Dowód Stosujemy indukcję względem n. Dla n = 1
(x + y)
1
=
1
0
!
x +
1
1
!
y,
a zatem równość zachodzi. Załóżmy, że jest ona spełniona dla n ∈
N.
Wtedy
(x + y)
n+1
= (x + y)
n
(x + y) =
h
n
0
x
n
+
n
1
x
n−1
y + ... +
n
n
y
n
i
·
·(x + y) =
n
0
x
n+1
+
n
1
x
n
y + ... +
n
n
xy
n
+
+
n
0
x
n
y +
n
1
x
n−1
y
2
+ ... +
n
n
y
n+1
=
= x
n+1
+
n
1
+
n
0
x
n
y +
n
2
+
n
1
x
n−1
y
2
+
+... +
n
k
+
n
k−1
x
n−k+1
y
k
+ ... + y
n+1
=
=
n+1
0
x
n+1
+
n+1
1
x
n
y + ... +
n+1
k
x
n+1−k
y
k
+
+... +
n+1
n+1
y
n+1
.
Współczynniki dwumianowe i wielomianowe
113
Wykorzystaliśmy tu zależność
n
k
!
+
n
k − 1
!
=
n + 1
k
!
będącą konsekwencją punktu (ii) poprzedniego twierdzenia.
W ten sposób dowód jest zakończony.
2
Wzór zawarty w tezie twierdzenia nazywany jest wzorem dwumia-
nowym Newtona.
Wniosek. Dla n ∈
N zachodzi równość
n
0
!
+
n
1
!
+ ... +
n
n
!
= 2
n
.
Dowód. Powyższa równość jest konsekwencją poprzedniego twierdze-
nia z x = y = 1.
2
Uwaga. Ostatnią zależność kombinatoryczną można zinterpretować
następująco: liczby
n
k
są równe liczbom podzbiorów k-elementowych
zbioru n-elementowego. Oznacza to, że dowolny zbiór n-elementowy
ma 2
n
podzbiorów. W związku z tym, staje się bardziej zrozumiałe
użycie nazwy „zbiór potęgowy” dla zbioru złożonego ze wszystkich
podzbiorów danego zbioru.
Wniosek. Dla n ∈
N ma miejsce równość
n
0
!
−
n
1
!
+
n
2
!
+ ... + (−1)
n
n
n
!
= 0.
Dowód. Powyższa równość wynika z ostatniego twierdzenia, w którym
należy przyjąć x = 1, y = −1.
2
Obok powyższych równości można dowieść także, stosując różno-
rodne metody kombinatoryczne i analityczne, wiele innych tożsamości.
114
Zbiory skończone i metody zliczania ...
Przykład
(i) Wykazać równość (por. [5, s. 28-29])
n + l
k
!
=
n
0
!
l
k
!
+
n
1
!
l
k − 1
!
+ ... +
n
n
!
l
k − n
!
,
gdzie n ¬ k ¬ l.
Wykorzystamy równości dwumianowe
(1 + x)
n
=
n
0
!
+
n
1
!
x + ... +
n
n
!
x
n
,
(1 + x)
l
=
l
0
!
+
l
1
!
x + ... +
l
l
!
x
l
.
Mamy
(1 + x)
n+l
=
n
0
+
n
1
x + ... +
n
n
x
n
·
·
l
0
+
l
1
x + +... +
l
l
x
l
.
Współczynniki przy x
k
po lewej i prawej stronie powyższej rów-
ności są sobie równe. W ten sposób uzyskujemy żądaną równość.
(ii) Wykazać, że
n
0
n
m
y
m
+
n
1
n−1
m−1
xy
m−1
+
n
2
n−2
m−2
x
2
y
m−2
+
+
n
m
n−m
0
x
m
y
m−n
=
n
m
(x + y)
m
,
gdzie n, m ∈
N, n m.
W celu dowiedzenia powyższej równości zauważmy, że
n
i
n−i
m−i
=
n!
i!(n−i)!
·
(n−i)!
(m−i)!(n−m)!
=
n!
m!(n−m)!
·
m!
i!(m−i)!
=
=
n
m
m
i
,
i = 0, 1, ..., m.
W związku z tym lewa strona równości, którą należy wykazać,
jest równa
n
m
! "
m
0
!
y
m
+
m
1
!
xy
m−1
+ ... +
m
m
!
x
m
#
=
n
m
!
(x + y)
m
.
Współczynniki dwumianowe i wielomianowe
115
Przy okazji zauważmy, że dowodzona równość może być zapisana
z użyciem symbolu
P
w bardziej zwartej postaci
m
X
i=0
n
i
!
n − i
m − i
!
x
i
y
m−i
=
n
m
!
(x + y)
m
.
(iii) Dowiedziemy, iż
n
X
i−1
n
i
!
i = n · 2
n−1
.
Skorzystamy ze wzoru dwumianowego Newtona, zapisanego
w postaci równości
n
X
i=0
n
i
!
x
i
y
n−i
= (x + y)
n
.
Różniczkując powyższą tożsamość względem x, otrzymujemy
n
X
i=1
n
i
!
ix
i−1
y
n−i
= n(x + y)
n−1
.
Podstawiając x = y = 1, otrzymujemy żądaną równość.
Pożytecznym uogólnieniem współczynników dwumianowych są
tzw. współczynniki wielomianowe.
Definicja 5.12 Dla dowolnych n, i
1
, i
2
, ..., i
k
∈
N, takich że k 2 oraz
i
1
+i
2
+...+i
k
= n, współczynnik wielomianowy definiujemy następująco
n
i
1
i
2
...i
k
!
=
n!
i
1
!i
2
!...i
k
!
.
Uwaga. Z powyższej definicji wynika, że
n
i
1
i
2
...i
k
!
= P
i
1
,i
2
,...,i
k
n
.
Innymi słowy, współczynnik wielomianowy jest równy liczbie uporząd-
kowanych wyborów mających tę własność, że jeden element występuje
i
1
razy, drugi i
2
razy, ..., k-ty i
k
razy.
116
Zbiory skończone i metody zliczania ...
Z drugiej strony
n
i
1
i
2
...i
k
!
=
n
i
1
!
n − i
1
i
2
!
...
n − i
1
− i
2
− ... − i
k−1
i
k
!
,
a zatem współczynnik wielomianowy jest też równy liczbie takich wy-
borów, iż i
1
elementów zostaje zaliczonych do pierwszego zbioru, i
2
do
drugiego zbioru, itd.
Twierdzenie 5.14 Zachodzi równość
(x
1
+ x
2
+ ... + x
k
)
n
=
X
i
1
+i
2
+...+i
k
=n
n
i
1
i
2
...i
k
!
x
i
1
1
x
i
2
2
...x
i
k
k
,
gdzie n ∈
N.
Dowód twierdzenia jest podobny do dowodu wzoru Newtna.
Twierdzenie 5.15 Dla n ∈
N oraz i
1
, i
2
, ..., i
k
, takich że i
1
+ i
2
+ ... +
i
k
= n, zachodzi równość
n
i
1
i
2
...i
k
!
=
X
i
l
>0
n − 1
i
1
i
2
...i
l
− 1...i
k
!
.
Powyższa równość jest uogólnieniem równości
n
i
!
=
n − 1
i − 1
!
+
n − 1
i
!
.
Dowód twierdzenia jest nieskomplikowany, lecz rachunkowy; z tego
względu pomijamy go.
5.4
Zasada włączeń i wyłączeń
Podstawową rolę w kombinatoryce odgrywa tzw. zasada włączeń
i wyłączeń. Pozwala ona w szczególnym przypadku na obliczenie
card (A ∪ B), jeśli znamy card (A), card (B) i card (A ∩ B). Miano-
wicie
card (A ∪ B) = card (A) + card (B) − card (A ∩ B).
Zasada włączeń i wyłączeń
117
A
B
W przypadku, gdy dane są trzy zbiory skończone A, B i C, zasada
ta przyjmuje postać równości
card (A ∪ B ∪ C) = card (A) + card (B) + card (C)−
−card (A ∩ B) − card (B ∩ C) − card (A ∩ C)+
+card (A ∩ B ∩ C).
A
B
C
W ogólności zasada włączeń i wyłączeń przedstawia się następują-
co:
Twierdzenie 5.16 Niech dane będą zbiory skończone A
1
, A
2
, ..., A
n
.
Wtedy
card
n
S
i=1
A
i
=
n
P
i=1
card (A
i
) −
P
1¬i<j¬n
card (A
i
∩ A
j
)+
+
P
1¬i<j<k¬n
card (A
i
∩ A
j
∩ A
k
)+
+... + (−1)
n+1
card (A
1
∩ A
2
∩ ... ∩ A
n
)
118
Zbiory skończone i metody zliczania ...
Dowód. Zastosujemy indukcję względem n. Dla n = 2
card (A
1
∪ A
2
) = card (A
1
\ (A
1
∩ A
2
)) + card (A
2
\ (A
1
∩ A
2
))+
+card (A
1
∩ A
2
) = card (A
1
) − card (A
1
∩ A
2
)+
+card (A
2
) − card (A
1
∩ A
2
) + card (A
1
∩ A
2
) =
card (A
1
) + card (A
2
) − card (A
1
∩ A
2
).
Przy przekształceniach wykorzystaliśmy podstawową zasadę zlicza-
nia, bo zbiory A
1
\ (A
1
∩ A
2
), A
2
\ (A
1
∩ A
2
) oraz A
1
∩ A
2
są parami
rozłączne. Ponadto A
1
∩ A
2
⊂ A
1
i A
1
∩ A
2
⊂ A
2
, więc
card (A
i
\ (A
1
∩ A
2
)) = card (A
i
) − card (A
1
∩ A
2
),
i = 1, 2.
Załóżmy, że teza twierdzenia zachodzi dla n ∈
N. Wtedy
card
n+1
S
i=1
A
i
= card
n
S
i=1
A
i
+ card (A
n+1
) − card
A
n+1
∩
∩
n
S
i=1
A
i
!
=
n
P
i=1
card (A
i
) −
P
1¬i<j¬n
card (A
i
∩ A
j
)+
+... + (−1)
n+1
card (A
1
∩ A
2
∩ ... ∩ A
n
)+
+card (A
n+1
) −
"
n
P
i=1
card (A
i
∩ A
n+1
)−
−
P
1¬i<j¬n
card (A
i
∩ A
j
∩ A
n+1
) + ...+
+(−1)
n+1
card (A
1
∩ A
2
∩ ... ∩ A
n+1
)
#
=
=
n+1
P
i=1
card (A
i
) −
P
1¬i<j¬n+1
card (A
i
∩ A
j
) + ...+
+(−1)
n+1
card (A
1
∩ A
2
∩ ... ∩ A
n+1
).
Dowód twierdzenia jest zakończony.
2
Przykład. W pewnej klasie jest 35 uczniów. Dziesięciu z nich uczy
się języka angielskiego, dwudziestu - języka niemieckiego, piętnastu -
Zasada włączeń i wyłączeń
119
języka francuskiego, ośmiu uczy się angielskiego i niemieckiego, dzie-
więciu - angielskiego i francuskiego, a dziewiętnastu uczy się wszystkich
tych trzech języków. Wiedząc, że każdy z uczniów uczy się co najmniej
jednego języka, należy obliczyć ilu uczniów uczy się niemieckiego i fran-
cuskiego.
W celu rozwiązania zadania wprowadzimy oznaczenia:
A - zbiór uczniów uczących się języka angielskiego,
N - zbiór uczniów uczących się języka niemieckiego,
F - zbiór uczniów uczących się języka francuskiego.
Wtedy card (A)
=
10, card (N )
=
20, card (F )
=
15,
card (A ∩ N ) = 8, card (A ∩ F ) = 9, card (A ∩ N ∩ F ) = 19, a także
card (A ∪ N ∪ F ) = 35.
Zasada włączeń i wyłączeń prowadzi do zależności
card (A ∩ N ∩ F ) = card (A) + card (N ) + card (F )−
−card (A ∩ N ) − card (A ∩ F )−
−card (N ∩ F ) + card (A ∩ N ∩ F ),
czyli
35 = 10 + 20 + 15 − 8 − 9 − card (N ∩ F ) + 19.
Zatem
card (N ∩ F ) = 12.
Z zasady włączeń i wyłączeń wynika poniższe twierdzenie
Twierdzenie 5.17 Niech A
1
, A
2
, ..., A
n
, B będą zbiorami skończony-
mi. Jeżeli A
i
⊂ B, i = 1, 2, ..., n, to
card
n
T
i=1
(B \ A
i
)
= card (B) −
n
P
i=1
card (A
i
) +
P
1¬i<j¬n
card (A
i
∩
∩A
j
) + ... + (−1)
n
card (A
1
∩ A
2
∩ ... ∩ A
n
).
120
Zbiory skończone i metody zliczania ...
W jaki sposób korzysta się z tego twierdzenia, pokazuje następu-
jący przykład.
Przykład. Rozważmy, ile spośród pierwszych 2000 liczb naturalnych
dodatnich nie jest podzielnych ani przez 5, ani przez 7, ani przez 11,
ani też przez 13.
Najpierw wprowadźmy oznaczenia:
B = {1, 2, ..., 2000}
A
1
- zbiór liczb należących do B, które nie są podzielne przez 5,
A
2
- zbiór liczb należących do B, które nie są podzielne przez 7,
A
3
- zbiór liczb należących do B, które nie są podzielne przez 11,
A
4
- zbiór liczb należących do B, które nie są podzielne przez 13.
Zauważmy, że
card (A
1
) = Ent
2000
5
= 400,
card (A
2
) = Ent
2000
7
= 285,
card (A
3
) = Ent
2000
11
= 181,
card (A
4
) = Ent
2000
13
= 153,
card (A
1
∩ A
2
) = Ent
2000
35
= 57,
card (A
1
∩ A
3
) = Ent
2000
55
= 36,
card (A
1
∩ A
4
) = Ent
2000
65
= 30,
card (A
2
∩ A
3
) = Ent
2000
77
= 25,
card (A
2
∩ A
4
) = Ent
2000
91
= 21,
card (A
3
∩ A
4
) = Ent
2000
143
= 13.
Podobnie
card (A
1
∩ A
2
∩ A
3
) = 5,
card (A
1
∩ A
2
∩ A
4
) = 4,
card (A
1
∩ A
3
∩ A
4
) = 2,
card (A
2
∩ A
3
∩ A
4
) = 1,
card (A
1
∩ A
2
∩ A
3
∩ A
4
) = 0.
Zasada szufladkowa Dirichleta
121
Zbiorem liczb, które nie są podzielne przez 5, 7, 11, 13 jest zbiór
4
T
i=1
(B \ A
i
). Zatem
card
4
T
i=1
(B \ A
i
)
= card (B) −
4
P
i=1
card (A
i
)+
+
P
1¬i<j¬4
card (A
i
∩ A
j
)−
−
P
1¬i<j<k¬4
card (A
i
∩ A
j
∩ A
k
)+
+card (A
1
∩ A
2
∩ A
3
∩ A
4
),
czyli
card
4
T
i=1
(B \ A
i
)
= 2000 − (400 + 285 + 181 + 153) + (57 + 36+
+30 + 25 + 21 + 13) − (5 + 4 + 2 + 1) + 0 =
= 2000 − 1019 + 182 − 12 = 1151.
Z zasady włączeń i wyłączeń będziemy korzystać w następnym roz-
dziale przy rozwiązywaniu bardziej skomplikowanych problemów kom-
binatorycznych.
5.5
Zasada szufladkowa Dirichleta
Zasada Dirichleta w najbardziej znanej postaci stwierdza, że:
jeżeli w n szufladach rozmieszcza się więcej niż n przedmio-
tów, to istnieje co najmniej jedna szuflada, w której znaj-
duje się więcej niż jeden przedmiot.
Zasadzie tej można nadać bardziej ścisłą postać, formułując twier-
dzenie:
Twierdzenie 5.18 Niech A będzie zbiorem skończonym. Jeżeli zbiory
A
i
, i = 1, 2, ..., k, stanowią podział A, przy czym card (A) > k, to
istnieje i
0
∈ {1, 2, ..., k}, takie że card (A
i
0
) > 1.
122
Zbiory skończone i metody zliczania ...
Dowód twierdzenia, jako oczywisty, pomijamy. Ostatni wynik moż-
na uogólnić; zachodzi mianowicie
Twierdzenie 5.19 Jeśli A jest zbiorem skończonym, a zbiory A
i
,
i = 1, 2, ..., k, stanowią jego podział, taki że dla pewnej liczby p ∈
N
+
card (A) > p · k,
to istnieje i
0
∈ {1, 2, ..., k} o tej własności, że
card (A
i
0
) > p.
Dowód. Gdyby card (A
i
) ¬ p dla dowolnego i = 1, 2, ..., k, to otrzy-
mujemy card (A) ¬ p · k, co jest sprzeczne z założeniem.
2
Podziały zbioru są niejednokrotnie generowane przez funkcje
(por. [15, s. 315]). W związku z tym ma miejsce następujący wnio-
sek.
Wniosek. Załóżmy, że dana jest funkcja f : A → B, gdzie A i B są
zbiorami skończonymi, takimi że
card (A) > p · card (B),
gdzie p ∈
N
+
. Wtedy istnieje y ∈ B o tej własności, że
card (f
−1
({y})) > p.
Dowód. Teza wynika z poprzedniego twierdzenia i faktu, iż zbiory
f
−1
({y
i
}) stanowią podział zbioru A dla pewnego zbioru y
1
, y
2
, ..., y
k
,
k ¬ card (B), elementów B.
2
Przykład
(i) Zauważmy, że wśród dowolnych stu kolejnych liczb całkowitych
możemy wybrać kilka (w szczególnym przypadku jedną) kolej-
nych liczb w taki sposób, że ich suma dzieli się przez 5000.
Zasada szufladkowa Dirichleta
123
Niech rozważanymi liczbami będą x
1
, x
2
, ..., x
100
. Istnieje 100 jed-
noskładnikowych sum tych elementów, 99 dwuskładnikowych
x
1
+ x
2
, x
2
+ x
3
, ..., x
99
+ x
100
, 98 trzyskładnikowych x
1
+ x
2
+
x
3
, x
2
+ x
3
+ x
4
, ..., x
98
+ x
99
+ x
100
, itd; na końcu bierzemy pod
uwagę jedną sumę złożoną ze 100 składników x
1
+ x
2
+ ... + x
100
.
W rezultacie, wszystkich sum jest
1 + 2 + ... + 99 + 100 =
1
2
· 100 · 101 = 5050.
Ponieważ przy dzieleniu przez 5000 można otrzymać wiele rów-
nych reszt, więc z powyższych rachunków wynika, że przynaj-
mniej jedna z sum dzieli się przez tę liczbę.
(ii) Wykażemy, że gdy dane jest 10 dowolnych dwucyfrowych liczb
naturalnych, można spośród nich wybrać co najmniej dwa pod-
zbiory rozłączne, takie że sumy ich elementów są sobie równe.
Istotnie, można utworzyć ogółem 2
10
− 1 = 1023 podzbiorów
niepustych zawierających liczby z danego zbioru. Zarazem naj-
mniejsza z sum wynosi 10, a największa jest równa 90 + 91 +
92 + ... + 99 < 1000. Stąd wynika, że istnieją przynajmniej dwa
podzbiory o tej samej sumie elementów. Jeżeli zbiory te nie są
rozłączne, należy z nich usunąć elementy wspólne; sumy pozo-
staną sobie równe.
(iii) Wykażemy, że dla dowolnej liczby n ∈
N
+
istnieje liczba zapisana
(w systemie dziesiętnym) przy użyciu jedynie cyfr 0 i 1, która jest
podzielna przez n.
Liczb, które mogą być zapisane tylko przy użyciu cyfry 1 jest do-
wolnie wiele. Wśród nich są: 1, 11, 111, ..., 111...1 = 10
n
+ 10
n−1
+
... + 1. Tych ostatnich liczb jest n + 1, a zatem, zgodnie z zasadą
Dirichleta, są wśród nich co najmniej dwie liczby dające tę samą
resztę przy dzieleniu przez n. Jeśli nie jest to reszta równa zero,
to różnica tych liczb, zapisana jedynie przy użyciu cyfr 0 i 1, jest
podzielna przez n.
(iv) Niech dany będzie sześciokąt. Łączymy ze sobą wszystkie jego
wierzchołki, używając jedynie dwóch kolorów: niebieskiego i czer-
wonego do narysowania odpowiednich odcinków. Można wyka-
zać, że wśród narysowanych trójkątów przynajmniej jeden ma
wszystkie boki tego samego koloru.
124
Zbiory skończone i metody zliczania ...
x
1
x
2
x
3
x
4
x
5
x
6
Ustalmy jeden z wierzchołków, powiedzmy x
1
. Wychodzi z nie-
go 5 krawędzi, z których co najmniej trzy muszą być jednego
koloru. Niech będą to na rysunku odcinki x
1
x
2
, x
1
x
3
oraz x
1
x
5
.
Jeśli tym samym kolorem co wymienione odcinki, narysujemy
jeden z odcinków: x
2
x
3
, x
3
x
5
lub x
2
x
5
, to uzyskamy trójkąt o bo-
kach w jednym kolorze (będzie to jeden z trójkątów: 4x
1
x
2
x
3
,
4x
1
x
3
x
5
, 4x
1
x
2
x
5
).
W przeciwnym przypadku wierzchołki x
2
, x
3
i x
5
zostaną połą-
czone drugim kolorem, a więc otrzymamy trójkąt 4x
2
x
3
x
5
o bo-
kach tego samego koloru.
6
Podziały i permutacje.
Liczby Stirlinga i Bella
6.1
Liczenie podziałów
W tym podrozdziale powrócimy do pojęcia podziału zbioru na
podzbiory.
Definicja 6.1 Niech dany będzie skończony i niepusty zbiór A. Jego
podziałem nazywamy rodzinę zbiorów A
1
, A
2
, ..., A
k
, k ¬ card (A), nie-
pustych, parami rozłącznych i takich, że
n
[
i=1
A
i
= A.
Rozwiązując pewnego typu zadania, obliczamy liczbę podziałów
tego zbioru na podzbiory o określonych liczebnościach.
Przykład. Rozwiążmy dwa podobne zadania.
(i) Dziewięciu pasażerów wsiada do tramwaju złożonego z trzech
wagonów. Na ile sposobów mogą to uczynić, jeśli do pierwszego
126
Podziały i permutacje. Liczby Stirlinga i Bella
wagonu ma wsiąść dwóch pasażerów, do drugiego - trzech, a do
trzeciego - czterech pasażerów.
W tym przypadku żądamy, aby to do pierwszego wagonu, a nie
drugiego czy trzeciego, wsiadło dwóch pasażerów; podobnie jest
w przypadku następnych wagonów. Mamy tu więc do czynienia
z podziałami na trzy zbiory o określonej liczebności. Ich liczba
jest równa
P
2,3,4
9
=
9!
2! · 3! · 4!
.
(ii) Zmodyfikujemy poprzednie zadanie. Tym razem chcemy, aby do
jednego z wagonów (niekoniecznie pierwszego) wsiadło dwóch pa-
sażerów, do innego - trzech, a do pozostałych wagonów - czterech.
W tym przypadku rozwiązaniem jest liczba
P
3
· P
2,3,4
9
=
3! · 9!
2! · 3! · 4!
.
Definicja 6.2 Symbolem P art
k;i
1
,...,i
k
(A) oznaczać będziemy liczbę
podziałów zbioru A, card (A) k, na k podzbiorów o liczebnościach
i
1
, ..., i
k
.
Stwierdzenie. Zachodzi równość
P art
k;i
1
,...,i
k
(A) =
card (A)!
i
1
!i
2
!...i
k
!
.
Przedstawimy teraz niezwykle ważny wynik, mający znaczenie sa-
moistne, ale też przydatny w dalszych rozważaniach dotyczących liczby
podziałów.
Twierdzenie 6.1 Niech A i B będą zbiorami skończonymi i niepusty-
mi. Wtedy
card
sur(B
A
)
=
card (B)
X
i=0
(−1)
i
card (B)
i
!
(card (B) − i)
card (A)
.
Dowód twierdzenia jest dość żmudny. Można go znaleźć np. w książ-
ce Flachsmeyera [9, s. 80-81].
Z powyższego twierdzenia wynika ważny wniosek. Najpierw poda-
my jednak następującą definicję
Liczenie podziałów
127
Definicja 6.3 Symbolem P art
k
(A) oznaczać będziemy liczbę podzia-
łów zbioru A, card (A) ¬ k, na k podzbiorów niepustych.
Wniosek. Dla zbioru skończonego i niepustego zachodzi równość
P art
k
(A) =
k
X
i=0
(−1)
i
k
i
!
(k − 1)
card (A)
.
Przykład. Znajdziemy wszystkie podziały nieuporządkowane zbioru
czteroelementowego A = {a, b, c, d}.
Istnieje tylko jeden podział złożony z jednego zbioru
{{a, b, c, d}}.
Podziałów złożonych z dwóch zbiorów jest siedem. Są to
{{a, b, c}, {d}}, {{a, c, d}, {b}}, {{b, c, d}, {a}}, {{a, b, d}, {c}}
oraz
{{a, b}, {c, d}}, {{a, c}, {b, d}}, {{a, d}, {b, c}}.
Podziałów złożonych z trzech zbiorów jest sześć
{{a, b}, {c}, {d}}, {{a, c}, {b}, {d}}, {{a, d}, {b}, {c}},
{{b, c}, {a}, {d}}, {{b, d}, {a}, {c}}, {{c, d}, {a}, {b}}.
Mamy ponadto jeden podział na cztery zbiory
{{a}, {b}, {c}, {d}}.
Zauważmy, że otrzymane wyniki są zgodne z ostatnim wnioskiem.
Rzeczywiście,w tym przypadku card (A) = 4 i odpowiednie liczby wy-
znaczające ilość podziałów tego zbioru na jeden, dwa i trzy podzbiory
są równe
1
1!
(−1)
0
1
0
(1 − 0)
4
+ (−1)
1
1
1
(1 − 1)
4
= 1,
1
2!
(−1)
0
2
0
(2 − 0)
4
+ (−1)
1
2
1
(2 − 1)
4
+ (−1)
2
2
2
(2 − 2)
4
=
=
1
2
(16 − 2) = 7,
1
3!
(−1)
0
3
0
(3 − 0)
4
+ (−1)
1
3
1
(3 − 1)
4
+ (−1)
2
3
2
(3 − 2)
4
+ 0
=
=
1
6
(81 − 3 · 16 + 3) = 6.
128
Podziały i permutacje. Liczby Stirlinga i Bella
Wyznaczenie ostatniej liczby - odpowiadającej podziałowi zbioru A na
cztery podzbiory, pozostawiamy Czytelnikowi.
6.2
Rozkłady liczb
Rozważmy najpierw następujący problem.
Przykład. Ile rozwiązań w liczbach naturalnych dodatnich ma rów-
nanie
x
1
+ x
2
+ x
3
= 6,
jeśli odróżniamy od siebie wszystkie sumy różniące się kolejnością skład-
ników?
Najpierw wypiszemy wszystkie rozwiązania.
1 + 1 + 4 = 6, 1 + 2 + 3 = 6, 3 + 2 + 1 = 6, 2 + 3 + 1 = 6,
1 + 4 + 1 = 6, 1 + 3 + 2 = 6, 2 + 2 + 2 = 6, 2 + 1 + 3 = 6,
4 + 1 + 1 = 6, 3 + 1 + 2 = 6.
Jak widać, jest ich dziesięć. Czy jednak na pewno nie zapomnieliśmy
o jakimś rozwiązaniu? Okazuje się, że nie, a upewnia nas o tym nastę-
pujące rozumowanie (por. [5, s. 48]).
Zauważmy, że każdemu z powyższych rozwiązań odpowiada wybór
dwóch znaków + w poniższej sumie
1 + 1 + 1 + 1 + 1 + 1 = 6.
Znaków tych jest pięć, a więc liczba możliwych wyników jest równa
C
2
5
=
5
2
!
= 10.
Twierdzenie 6.2 Liczba rozwiązań równania
x
1
+ x
2
+ ... + x
k
= n,
k ¬ n,
będących liczbami naturalnymi dodatnimi, wynosi
n − 1
k − 1
!
,
jeśli za różne uznaje się rozwiązania odpowiadające różnej kolejności
składników.
Rozkłady liczb
129
Dowód. Można przeprowadzić dowód tego twierdzenia, opierając się
na ujęciu mnogościowym pojęć kombinatorycznych, stosując przy tym
zasadę indukcji zupełnej względem n. Znacznie łatwiej jest jednak prze-
prowadzić dowód kombinatoryczny przypominający rozumowanie z po-
przedniego przykładu.
Mianowicie, liczba rozwiązań równania jest równa liczbie sposobów
wyboru k − 1 znaków + w poniższej równości
1 + 1 + ... + 1 = n.
2
W wielu przypadkach interesują nas rozkłady liczb dopuszczające
rozwiązania zerowe.
Przykład. Ile rozwiązań w liczbach naturalnych, przy założeniu, że
odróżniamy rozwiązania różniące się kolejnością składników, ma rów-
nanie
x
1
+ x
2
+ x
3
+ x
4
= 8 ?
Aby rozwiązać ten problem, wypiszemy osiem jedynek, a następnie,
w dowolny sposób, dopiszemy 4 − 1 = 3 znaki +.
W ten sposób można otrzymać na przykład napisy
111 + 1 + 11 + 11
lub
11 + + 111 + 111,
lub też
+ + + 11111111.
Napisy te odpowiadają rozwiązaniom
3 + 1 + 2 + 2 = 8,
2 + 0 + 3 + 3 = 8
oraz
0 + 0 + 0 + 8 = 8.
130
Podziały i permutacje. Liczby Stirlinga i Bella
Ostatecznie, możliwych wyborów, i zatem rozwiązań, jest
P
8,3
8+3
=
11!
8!3!
=
11
3
!
.
Powyższy przykład jest szczególnym przypadkiem problemu, który
opisuje następujące twierdzenie
Twierdzenie 6.3 Dowolne równanie
x
1
+ x
2
+ ... + x
k
= n,
k ¬ n,
ma dokładnie
n + k − 1
k − 1
!
różnych rozwiązań w liczbach naturalnych przy, takim jak poprzednio,
założeniu, że rozwiązania różniące się kolejnością składników są różne.
Dowód. Tezę twierdzenia można wykazać za pomocą rozumowania po-
dobnego do tego, które zostało zastosowane w poprzednim przykładzie.
Dowód przeprowadzimy jednak inną metodą. Podstawiamy
y
i
= x
i
+ 1,
i = 1, 2, ..., k.
Wtedy równanie przyjmuje postać
y
1
+ y
2
+ ... + y
k
= n + k.
Ponieważ szukamy rozwiązań dodatnich, więc możemy zastosować po-
przednie twierdzenie, co natychmiast prowadzi do liczby
n+k−1
k−1
.
Stosując odpowiednie podstawienia, możemy badać liczbę rozwią-
zań równań liniowych o bardziej skomplikowanych postaciach.
2
Przykład. Ile rozwiązań w liczbach naturalnych ma równanie
2x + y = 15,
gdzie x 1, y 1?
Permutacje
131
Zastosujemy podstawienie: u = 2x − 1. Oczywiście u 1. Zatem
poszukujemy wszystkich rozwiązań równania
u + x = 14,
gdzie u, x 1, a ponadto u jest liczbą nieparzystą.
Takich rozwiązań jest siedem.
1 + 13 = 14, 3 + 11 = 14, 5 + 9 = 14,
7 + 7 = 14,
9 + 5 = 14,
11 + 3 = 14, 13 + 1 = 14.
Odpowiada im siedem rozwiązań równania wyjściowego
2 · 1 + 13 = 15, 2 · 2 + 11 = 15, 2 · 3 + 9 = 15, 2 · 4 + 7 = 15,
2 · 5 + 5 = 15,
2 · 6 + 3 = 15,
2 · 7 + 1 = 15.
6.3
Permutacje
Definicja 6.4 Permutacją n-elementową (bez powtórzeń) nazywać bę-
dziemy każdą bijekcję
σ : {1, 2, ..., n} → {1, 2, ..., n}.
Umowa notacyjna. W dalszym ciągu permutacje będziemy oznaczać
przy pomocy liter greckich σ, τ , ω. Zamiast pisać σ : {1, 2, ..., n} →
{1, 2, ..., n} będziemy też pisać
σ =
1
2
...
n
σ(1) σ(2) ... σ(n)
!
.
Superpozycję permutacji, która jest oczywiście też permutacją, na-
zywamy niejednokrotnie iloczynem permutacji. Zamiast pisać σ ◦ τ pi-
sze się na ogół στ . Permutację odwrotną do σ oznacza się, tak jak
w przypadku funkcji, symbolem σ
−1
.
Przykład. Dane są permutacje zbioru 6-elementowego
τ =
1 2 3 4 5 6
2 4 1 3 6 5
!
132
Podziały i permutacje. Liczby Stirlinga i Bella
i
σ =
1 2 3 4 5 6
1 3 6 5 4 2
!
.
Wtedy
1 7−→ τ (1) = 2 7−→
σ(2) = 3
2 7−→ τ (2) = 4 7−→
σ(4) = 5
3 7−→ τ (3) = 1 7−→
σ(1) = 1
4 7−→ τ (4) = 3 7−→
σ(3) = 6
5 7−→ τ (5) = 6 7−→
σ(6) = 2
6 7−→ τ (6) = 5 7−→ σ(5) = 4,
czyli
στ =
1 2 3 4 5 6
3 5 1 6 2 4
!
.
Ponadto
τ
−1
=
2 4 1 3 6 5
1 2 3 4 5 6
!
=
1 2 3 4 5 6
3 1 4 2 6 5
!
.
Podobnie można obliczyć σ
−1
.
Definicja 6.5 Zbiór wszystkich permutacji zbioru n-elementowego
{1, 2, ..., n} oznaczmy symbolem S
n
.
Twierdzenie 6.4 Dla dowolnego n ∈
N
+
card (S
n
) = n!.
Dowód. Powyższa równość jest oczywistą konsekwencją tego, że per-
mutacje bez powtórzeń są wariacjami bez powtórzeń z n elementów po
n elementów. Dlatego ich liczba jest równa P
n
= V
n
n
= n!.
2
Definicja 6.6 Permutację σ ∈ S
n
nazywamy cykliczną, albo po prostu
cyklem, jeżeli istnieje ciąg liczb 1 ¬ i
1
< i
2
< ... < i
k
¬ n, takich że
σ(i
1
) = i
2
, σ(i
2
) = i
3
, ..., σ(i
k−1
) = i
k
, σ(i
k
) = i
1
,
a ponadto σ(i) = i dla i ∈ {1, 2, ..., n} \ {i
1
, i
2
, ..., i
k
}.
Liczbę k nazywamy długością cyklu. Cykl długości dwa nazywamy
transpozycją.
Permutacje
133
Umowa notacyjna. Cykl σ ∈ S
n
zapisywać będziemy w postaci jed-
nowierszowej
(i
1
, i
2
, ..., i
k
).
Zakładać będziemy przy tym, że powyższy zapis jest równoważny za-
pisom
(i
2
, i
3
, ..., i
k
, i
1
), (i
3
, i
4
, ..., i
k
, i
1
, i
2
), itd.
Zachodzi ważne twierdzenie, które podajemy bez dowodu.
Twierdzenie 6.5 Dowolna permutacja jest iloczynem skończonej ilo-
ści cykli.
Przykład. Rozważmy permutację σ ∈ S
12
σ =
1 2 3 4 5 6
7
8 9 10 11 12
5 1 6 2 4 3 10 7 8
9
12 11
!
.
Wtedy
σ = (1, 5, 4, 2)(3, 6)(7, 10, 9, 8)(11, 12).
Ponieważ
(1, 5, 4, 2) = (1, 2)(1, 4)(1, 5)
oraz
(7, 10, 9, 8) = (7, 8)(7, 9)(7, 10),
więc także
σ = (1, 2)(1, 4)(1, 5)(3, 6)(7, 8)(7, 9)(7, 10)(11, 12).
Jak widać, permutację można przedstawić w postaci iloczynu cykli
na różne sposoby.
Definicja 6.7 Liczbę i ∈ {1, 2, ..., n} nazywamy punktem stałym per-
mutacji σ ∈ S
n
, jeśli σ(i) = i.
Definicja 6.8 Permutację σ ∈ S
n
nazywamy nieporządkiem, jeżeli
σ(i) 6= i dla każdego i ∈ {1, 2, ..., n}.
134
Podziały i permutacje. Liczby Stirlinga i Bella
Umowa notacyjna. Liczbę wszystkich nieporządków należących do
S
n
oznaczamy symbolem D(n).
Twierdzenie 6.6 Dla dowolnego n ∈
N
+
zachodzi równość
D(n) =
n
X
i=0
(−1)
i
n
i
!
(n − i)!.
Dowód. Zastosujemy zasadę włączeń i wyłączeń. Dla i = 1, 2, ..., n
oznaczmy symbolami A
i
zbiory, które mają dokładnie jeden punkt sta-
ły, a mianowicie i. Oczywiście zbiór
n
S
i=1
A
i
zawiera, jako elementy, te
permutacje, które mają co najmniej jeden punkt stały. Ponieważ
card (A
i
) = (n − 1)!,
i = 1, 2, ..., n,
card (A
i
∩ A
j
) = (n − 2)!,
1 ¬ i < j ¬ n,
card (A
i
∩ A
j
∩ A
k
) = (n − 3)!,
1 ¬ i < j < k ¬ n,
itd.,
więc
card
n
S
i=1
A
i
=
n
1
(n − 1)! −
n
2
(n − 2)! +
n
3
(n − 3)! − ...+
+(−1)
n+1
n
n
.
Tak więc
card
S
n
\
n
S
i=1
A
i
= n! −
n
1
(n − 1)! +
n
2
(n − 2)! + ...+
+(−1)
n
n
n
=
n
P
i=0
(−1)
i
n
i
(n − i)! .
2
Proste przekształcenia prowadzą do jeszcze jednego wzoru pozwa-
lającego na obliczanie D(n).
Wniosek. Dla n ∈
N
+
ma miejsce równość
D(n) = n!
1 −
1
1!
+
1
2!
− ... +
(−1)
n
n!
!
.
Permutacje
135
Często rozwiązywanym problemem w teorii permutacji jest zagad-
nienie liczby rozkładów permutacji na określoną ilość cykli. Rozwią-
zanie tego problemu zostanie przedstawione w następnym rozdziale.
W tym miejscu przedstawimy jedynie pewien przykład.
Przykład. Ile jest permutacji dwu-, trzy- i czteroelementowych, które
są iloczynami dwóch cykli?
Łatwo zauważyć, że jest tylko jedna taka permutacja dwuelemen-
towa
(1)(2) =
1 2
1 2
!
i trzy permutacje należące do S
3
(1)(2, 3) =
1 2 3
1 3 2
!
, (1, 2)(3) =
1 2 3
2 3 1
!
,
(1, 3)(2) =
1 2 3
3 2 1
!
.
Permutacji należących do S
4
, o tej własności, jest już 11.
(1, 2, 3)(4) =
1 2 3 4
2 3 1 4
!
, (1, 2, 4)(3) =
1 2 3 4
2 4 3 1
!
,
(1, 3, 4)(2) =
1 2 3 4
3 2 4 1
!
, (1, 3, 2)(4) =
1 2 3 4
3 1 2 4
!
,
(1, 4, 2)(3) =
1 2 3 4
4 1 3 2
!
, (1, 4, 3)(2) =
1 2 3 4
4 2 1 3
!
,
(1, 2)(3, 4) =
1 2 3 4
2 1 4 3
!
, (1, 3)(2, 4) =
1 2 3 4
3 4 1 2
!
,
(1, 4)(2, 3) =
1 2 3 4
4 3 2 1
!
, (2, 3, 4)(1) =
1 2 3 4
1 3 4 2
!
,
(2, 4, 3)(1) =
1 2 3 4
1 4 2 3
!
.
136
Podziały i permutacje. Liczby Stirlinga i Bella
6.4
Liczby specjalne
W kombinatoryce ważną rolę odgrywają pewne funkcje, jak n 7→
n! czy (n, k) 7→
n
k
, oraz ich wartości. Właśnie te wartości tworzą
ciągi liczb o szczególnym znaczeniu, pozwalające na rozwiązanie wielu
istotnych problemów.
Wartości funkcji kombinatorycznych znajdują się w odpowiednich
tablicach. Dla przykładu, tablica dla pierwszych jedenastu wartości
funkcji silnia przedstawia się następująco
n
0
1
2
3
4
5
6
7
8
9
10
n!
1
1
2
6
24
120
720
5040
40320
362880
3628800
Także współczynniki dwumianowe
n
k
mogą być umieszczane w ta-
beli. Oto taka właśnie tabela dla 0 ¬ k ¬ n ¬ 10.
H
H
H
H
H
H
n
k
0
1
2
3
4
5
6
7
8
9
10
0
1
1
1
1
2
1
2
1
3
1
3
3
1
4
1
4
6
4
1
5
1
5
10
10
5
1
6
1
6
15
20
15
6
1
7
1
7
21
35
35
21
7
1
8
1
8
28
56
70
56
28
8
1
9
1
9
36
84
126
126
84
36
9
1
10
1
10
45
120
210
252
210
120
45
10
1
Jak dobrze wiadomo, współczynniki dwumianowe mogą być przed-
stawione w postaci tzw. trójkąta Pascala.
Liczby specjalne
137
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
1
5
10
10
5
1
1
6
15
20
15
6
1
1
7
21
35
35
21
7
1
1
8
28
56
70
56
28
8
1
1
9
36
84
126
126
84
36
9
1
1
10
45
120
210
252
210
120
45
10
1
Liczby w kolejnych wierszach są sumami liczb z wiersza wcześniej-
szego, sąsiadujących „od góry” z danymi liczbami. Zależność ta wynika
z udowodnionej w poprzednim rozdziale własności
n
k
!
=
n − 1
k − 1
!
+
n − 1
k
!
.
Kolejnym ważnym pojęciem kombinatorycznym są tzw. liczby Stir-
linga. Są dwa rodzaje takich liczb: liczby Stirlinga podzbiorowe (dru-
giego rodzaju) i liczby Stirlinga cykliczne (pierwszego rodzaju).
Definicja 6.9 Liczbami podzbiorowymi Stirlinga nazywamy liczby
(
n
k
)
=
1
k!
k
X
i=0
(−1)
i
k
i
!
(k − i)
n
.
Innymi słowy, liczby podzbiorowe Stirlinga
n
n
k
o
są równe ilościom
podziałów zbioru n-elementowego na k podzbiorów.
Nietrudno jest dowieść, że liczby te, podobnie jak współczynniki
dwumianowe, spełniają pewną zależność rekurencyjną.
Twierdzenie 6.7 Dla n, k ∈
N, 1 ¬ k ¬ n, zachodzą równości
(
n
0
)
= 1
138
Podziały i permutacje. Liczby Stirlinga i Bella
i
(
n
k
)
= k
(
n − 1
k
)
+
(
n − 1
k − 1
)
.
Liczby podzbiorowe Stirlinga można zaprezentować w postaci ta-
blicy.
H
H
H
H
H
H
n
k
0 1
2
3
4
5
6
7
8
9 10
0
1
1
0 1
2
0 1
1
3
0 1
3
1
4
0 1
7
6
1
5
0 1
15
25
10
1
6
0 1
31
90
65
15
1
7
0 1
63
301
350
140
21
1
8
0 1 127
966
1701
1050
266
28
1
9
0 1 255 3025
7770
6951
2646
462
36
1
10
0 1 511 9330 34105 42525 22827 5880 750 45
1
Zauważmy, że pierwsza kolumna powyższej tablicy zawiera liczby
n
n
0
o
. Dołączenie takich liczb jest wygodne ze względów czysto rachun-
kowych. Jednak interpretację kombinatoryczną jako liczby podziałów
zbioru n-elementowego na k, k > 0, podzbiorów, mają jedynie liczby
n
n
k
o
, k > 0.
Definicja 6.10 Niech n ∈
N
+
. Liczbami Bella nazywamy liczby
b
n
=
(
n
1
)
+
(
n
2
)
+ ... +
(
n
n
)
.
Liczby Bella są zatem równe ilości wszystkich możliwych podziałów
zbioru n-elementowego.
Przykład. Na ile sposobów można przedstawić zbiór 5-elementowy
w postaci sum zbiorów niepustych?
Liczby specjalne
139
Liczba takich podziałów jest równa
b
5
=
(
5
1
)
+
(
5
2
)
+
(
5
3
)
+
(
5
4
)
+
(
5
5
)
= 1 + 15 + 25 + 10 + 1 = 52
Definicja 6.11 Cyklicznymi liczbami Stirlinga nazywamy liczby
h
n
k
i
,
k, n ∈
N, k ¬ n, które wyrażają liczbę permutacji należących do S
n
,
które można przedstawić w postaci iloczynu k cykli.
Twierdzenie 6.8 Dla dowolnych k, n ∈
N, 1 ¬ k ¬ n, zachodzą
równości
"
n
0
#
= 0
i
"
n
k
#
= (n − 1)
"
n − 1
k
#
+
"
n − 1
n − k
#
.
Liczby cykliczne Stirlinga także mogą być umieszczone w odpo-
wiedniej tablicy.
H
H
H
H
H
H
n
k
0
1
2
3
4
5
6
7
8 9
0
1
1
0
1
2
0
1
1
3
0
2
3
1
4
0
6
11
6
1
5
0
24
50
35
10
1
6
0
120
274
255
85
15
1
7
0
720
1764
1624
735
175
21
1
8
0
5040
13068
13132
6769
1960
322
28
1
9
0 40320 109584 118124 67284 22449 4536 546 36 1
Przykład. Znajdź wszystkie permutacje należące do S
4
, które są ilo-
czynami dwóch cykli.
140
Podziały i permutacje. Liczby Stirlinga i Bella
Oto one
(1)(2, 3, 4), (1)(3, 2, 4), (2)(1, 3, 4), (2)(3, 1, 4),
(3)(1, 2, 4), (3)(2, 1, 4), (4)(1, 2, 3), (4)(2, 1, 3),
(1, 2)(3, 4), (1, 3)(2, 4), (1, 4)(2, 3).
Jak widać, jest ich 11, co zgadza się z teorią, bowiem
"
4
2
#
= 11.
Odnotujemy jeszcze jeden ważny, a zarazem prosty, związek.
Twierdzenie 6.9 Dla dowolnej liczby n ∈
N
"
n
0
#
+
"
n
1
#
+ ... +
"
n
n
#
= n! .
7
Główne pojęcia teorii grafów
7.1
Nieformalne wprowadzenie do teorii
grafów
Pojęcie grafu wydaje się intuicyjnie łatwo uchwytne. Graf two-
rzą dwa zbiory: wierzchołków V i krawędzi E (są to zbiory skończo-
ne, jeśli graf jest skończony; w przeciwnym przypadku - przynajmniej
zbiór V jest nieskończony). Użycie takich terminów jak „wierzchołek”
i „krawędź” sugeruje, że grafy posiadają (dotyczy to zwłaszcza gra-
fów skończonych) interpretację geometryczną. By się o tym przekonać,
przyjrzyjmy się następującym przykładom.
142
Główne pojęcia teorii grafów
Przykład
(i) Rozważmy następujący graf
v
3
v
2
v
4
v
1
v
5
v
6
v
7
e
3
e
4
e
5
e
6
e
7
e
2
e
8
e
1
e
9
W tym przypadku V = {v
1
, v
2
, v
3
, v
4
, v
5
, v
6
, v
7
}, zaś E = {e
1
, e
2
, e
3
,
e
4
, e
5
, e
6
, e
7
, e
8
, e
9
}. Jak widać, nie każde dwa wierzchołki połączone są
krawędziami. Ponadto jeden z wierzchołków, a mianowicie v
1
, nie jest
połączony krawędzią z żadnym innym wierzchołkiem. Gdybyśmy kra-
wędziom przypisali liczby, na przykład tak jak na poniższym rysunku
to otrzymalibyśmy tzw. graf z wagami.
v
3
v
2
v
4
v
1
v
5
v
6
v
7
30
35
42
38
21
64
53
18
47
Nieformalne wprowadzenie do teorii grafów
143
Tego rodzaju grafy mają wiele zastosowań, między innymi służą
do przedstawiania odległości - rozumianych jako długości dróg pomię-
dzy wybranymi miejscowościami. Interpretując w ten sposób powyższy
graf, zauważamy na przykład, że droga z v
1
do v
2
liczy 30 km, a z v
2
do v
5
- 47 km. Zarazem widzimy, że v
1
i v
3
nie są połączone bezpośred-
nio. By dostać się z v
1
do v
3
, należy po drodze „odwiedzić” v
2
lub v
4
,
otrzymując drogi o długości odpowiednio 65 km i 106 km. Zauważmy,
że z v
7
nie można dostać się do pozostałych wierzchołków, co jest od-
zwierciedleniem tego, iż pomiędzy tą miejscowością a pozostałymi nie
ma połączeń drogowych (np. v
7
znajduje się na wyspie albo w innym
niedostępnym terenie).
(ii) Graf przedstawiony poniższym rysunkiem pokazuje w jaki sposób
połączone są ze sobą za pomocą mostów różne części pewnego
miasta położonego w ujściu do morza dwóch rzek (rysunek na
stronie następnej).
x
5
x
1
x
2
x
3
x
4
x
6
e
3
e
4
e
5
e
6
e
7
e
8
e
9
e
10
e
2
e
1
Krawędzie, takie jak e
1
i e
2
oraz e
8
i e
9
łączące te same wierzchołki
nazywane są wielokrotnymi, a graf zawierający takie krawędzie na-
zywany jest multigrafem, w przeciwieństwie do tzw. grafów prostych,
niemających krawędzi wielokrotnych. Przy okazji zauważmy, że krawę-
dzie mogą być przedstawione nie tylko za pomocą odcinków, ale także
łuków.
144
Główne pojęcia teorii grafów
x
2
x
3
x
1
e
3
x
5
e
4
e
6
x
4
x
6
e
2
e
1
e
5
e
7
e
8
e
9
e
10
(iii) Niech dany będzie graf
3
2
5
9
15
6
Ilustruje on relację podzielności w zbiorze {2, 3, 5, 6, 9, 15}. Jest to
relacja częściowego porządku, a więc między innymi - zwrotna. Oznacza
to, że każda z liczb rozważanego zbioru jest połączona sama ze sobą.
Tego rodzaju krawędzie nazywane są pętlami.
Nieformalne wprowadzenie do teorii grafów
145
(iv) Weźmy teraz pod uwagę następujący graf
s
u
1
u
2
z
1
c
1
b
1
b
2
c
2
z
2
p
1
p
2
q
1
q
2
q
3
q
4
q
5
q
6
Odpowiada on schematowi losowania kuli koloru białego, czerwo-
nego i zielonego z jednej z dwóch urn: u
1
i u
2
. Losowanie to prze-
biega w sposób następujący: z prawdopodobieństwem p
i
wybieramy
i-tą urnę, i = 1, 2. Temu wyborowi odpowiada przejście z wierzchoł-
ka s (start) do jednego z wierzchołków u
1
i u
2
. Przy tym oczywiście
p
1
+ p
2
= 1. Następnie z wybranej urny losujemy jedną kulę: białą,
czerwoną lub zieloną. Jeżeli losujemy z urny u
1
, to odpowiednie praw-
dopodobieństwa są równe: q
1
, q
2
i q
3
, gdzie q
1
+ q
2
+ q
3
= 1. Jeżeli
natomiast losujemy z urny u
2
, to czynimy to z prawdopodobieństwami
równymi odpowiednio q
4
, q
5
i q
6
, gdzie q
4
+ q
5
+ q
6
= 1.
Powyższy graf należy do szczególnego rodzaju grafów nazywanych
drzewami. Wierzchołek s nazywamy korzeniem. Takie grafy będą oma-
wiane w następnym rozdziale.
(v) Teoria grafów ma zastosowanie w rozważaniach dotyczących au-
tomatów skończonych (por. podrozdział 3.3).
q
4
q
3
q
2
q
0
q
1
0
1
0
1
1
0
1
1
0
0
146
Główne pojęcia teorii grafów
Oto graf ilustrujący działanie automatu skończonego o stanach q
0
,
q
1
, q
2
, q
3
, q
4
, z których q
0
jest stanem początkowym, a q
4
stanem ak-
ceptującym. Automat odczytuje słowa napisane na taśmie przy użyciu
znaków alfabetu
P
= {0, 1}.
W tym przypadku ważna jest kolejność uzyskiwanych stanów. Dla-
tego krawędzie zostały zaopatrzone w strzałki. Tego rodzaju grafy na-
zywane są grafami skierowanymi albo digrafami. Również one, podob-
nie jak drzewa, będą jednym z tematów następnego rozdziału. Od-
notujmy, że drzewa w niektórych ujęciach teorii grafów zaliczane są
właśnie do grafów skierowanych.
Powyższy przykład ukazuje, jak wiele zastosowań ma teoria grafów.
W istocie, nie ma chyba dziedziny matematyki, która nie miałaby pew-
nych związków z tą teorią. Zanim przejdziemy do następnego podroz-
działu, w którym przedstawione zostaną ścisłe definicje podstawowych
pojęć teorii grafów, zwróćmy uwagę na dwie kwestie.
Po pierwsze, zauważmy, że graf jest pojęciem abstrakcyjnym, a ry-
sunki przedstawiające grafy mają swoiste własności geometryczne, któ-
re niosą ze sobą pewną dodatkową informację, nie odzwierciedlającą
relacji zachodzących w grafie.
Przykład. Poniższe dwa rysunki przedstawiają faktycznie ten sam
graf. Na rysunku pierwszym krawędzie e
5
i e
6
przecinają się w punkcie
niebędącym wierzchołkiem, a na rysunku drugim nie mają punktów
wspólnych.
v
2
v
1
v
3
v
4
e
4
e
1
e
5
e
6
e
2
e
3
v
2
v
1
v
3
v
4
e
4
e
1
e
6
e
2
e
3
e
5
Przykład ten stanowi zatem ostrzeżenie, aby nie traktować teorii
grafów jako działu geometrii. Grafy, jak to zobaczymy w następnym
Nieformalne wprowadzenie do teorii grafów
147
podrozdziale, są funkcjami, a rysunki je przedstawiające, czyli wykresy,
mogą mieć własności akcydentalne, które trzeba odróżnić od własności
istotnych.
Kolejna kwestia, którą należy poruszyć, dotyczy oznakowania wierz-
chołków i krawędzi grafu. Bardzo często przedstawiając grafy, kiedy to
nie prowadzi do nieporozumień, pomijamy oznaczenia wierzchołków
i krawędzi. Takie grafy nazywamy nieoznakowanymi, w przeciwień-
stwie do grafów oznakowanych. Jednak rozróżnienie pomiędzy oboma
rodzajami grafów staje się istotne, gdy zliczamy grafy.
Przykład
(i) Istnieje jeden graf oznakowany o trzech wierzchołkach.
3
1
2
Istnieje też jeden graf nieoznakowany.
(ii) Dla grafu nieoznakowanego
148
Główne pojęcia teorii grafów
istnieje 4!/4 = 6 grafów oznakowanych, powiedzmy o wierzchoł-
kach 1, 2, 3, 4. Oto one (symbole dla krawędzi pomijamy):
2
1
4
3
3
1
4
2
4
1
3
2
4
1
2
3
3
1
2
4
2
1
3
4
Zauważmy, że na przykład rysunki
2
1
4
3
1
4
3
2
4
3
2
1
3
2
1
4
przedstawiają ten sam graf. Podobnie jest w pozostałych przy-
padkach. Z tego względu rozważanych grafów oznakowanych jest
6 a nie 24 = 4!.
Nieformalne wprowadzenie do teorii grafów
149
Zliczanie powyższych grafów jest w gruncie rzeczy wersją
znanego zadania kombinatorycznego: na ile sposobów można po-
sadzić przy okrągłym stole n osób (w tym wypadku cztery osoby),
jeśli istotne jest to, kto z kim sąsiaduje, a nie jak położone jest
miejsce siedzenia każdej osoby w stosunku do otoczenia?
Gdyby przy rozmieszczaniu gości przy stole brać pod uwagę
ich położenie w stosunku do otoczenia, należałoby rozważać, np.
następujące grafy, gdzie o
i
, i = 1, 2, 3, 4, ..., symbolizują otoczenie
(można też rozważać grafy nieco prostsze).
σ(2)
σ(1)
σ(4)
σ(3)
o
1
o
2
o
3
o
4
Takich grafów, przy założeniu, że wierzchołki o
i
nie permutują
się, jest 4! = 24.
(iii) Weźmy pod uwagę graf nieoznakowany o 6 wierzchołkach, w któ-
rych każdy wierzchołek jest połączony z każdym innym jedną
krawędzią.
Nietrudno zauważyć, ze grafowi temu odpowiada jeden graf ozna-
kowany przy użyciu symboli 1, 2, 3, 4, 5, 6.
150
Główne pojęcia teorii grafów
7.2
Podstawowe definicje teorii grafów
W podrozdziale tym oraz w podrozdziałach następnych rozważać
będziemy grafy nieskierowne. Nazywać je będziemy po prostu grafami.
Będziemy dopuszczać istnienie krawędzi wielokrotnych, pętli i pętli
wielokrotnych.
Definicja 7.1 Dla dowolnego niepustego zbioru V symbolem P
2
(V )
oznaczamy zbiór wszystkich podzbiorów zbioru V , które mają co najwy-
żej dwa elementy, za wyjątkiem zbioru pustego, tzn.
P
2
(V ) = {{v, w} : v, w ∈ V }.
Uwaga. Z powyższej definicji wynika, że gdy v = w, otrzymuje się
zbiór jednoelementowy.
Definicja 7.2 Niech dane będą dwa niepuste i rozłączne zbiory V oraz
E. Grafem o zbiorze wierzchołków V i zbiorze krawędzi E nazywamy
odwzorowanie
Γ : E → P
2
(V )
przyporządkowujące każdej krawędzi dwa (lub jeden) wierzchołki.
Jeżeli dla e ∈ E, u ∈ Γ(e), to wierzchołek u nazywamy końcem e
lub mówimy, że e jest incydentna z u.
Jeśli card (Γ(e)) = 1, to e nazywamy pętlą.
Jeżeli dla dwóch różnych krawędzi e i f
Γ(e) = Γ(f ),
to e i f nazywamy krawędziami wielokrotnymi.
Definicja 7.3 Jeżeli funkcja Γ : E → P
2
(V ) jest iniekcją, to graf
nazywamy prostym. W przeciwnym przypadku graf nazywamy multi-
grafem.
Uwaga. Graf prosty nie ma krawędzi wielokrotnych w przeciwieństwie
do multigrafu, który takie krawędzie posiada.
Definicja 7.4 Wierzchołek v ∈ V nazywamy izolowanym, jeśli
v /
∈ Γ(E) =
[
e∈E
Γ(e).
Podstawowe definicje teorii grafów
151
Definicja 7.5 Jeśli dla dowolnych wierzchołków u, v ∈ V , card (V ) =
n 2, takich że u 6= v, zachodzi zależność
card (Γ
−1
({u, v})) = 1,
to graf nazywamy pełnym i oznaczamy go symbolem K
n
.
Przykład. Grafami pełnymi są poniższe grafy nieoznakowane
K
2
K
3
K
4
K
5
Grafy pełne to te, których dowolne dwa różne wierzchołki połączone
są dokładnie jedną krawędzią.
Definicja 7.6 Graf Γ : E → P
2
(V ) nazywamy k-dzielnym, jeżeli
V = V
1
∪ V
2
∪ ... ∪ V
k
,
gdzie
V
i
∩ V
j
= ∅
dla
1 ¬ i < j ¬ k,
oraz
^
e∈E
_
1¬i<j¬k
(Γ(e) ∩ V
i
6= ∅ ∧ Γ(e) ∩ V
j
= ∅) .
152
Główne pojęcia teorii grafów
Innymi słowy, w grafie k-dzielnym każda krawędź łączy wierzchołki
należące do dwóch różnych zbiorów V
i
oraz V
j
, i, j = 1, 2, ..., k.
Przykład
(i) Wśród grafów k-dzielnych szczególną rolę odgrywają grafy dwu-
dzielne, czyli takie, dla których V = U ∪ W , V 6= ∅ 6= W ,
U ∩ W = ∅, i każda krawędź grafu łączy wierzchołek u
i
∈ U
z wierzchołkiem w
j
∈ W . Oto kilka przykładów takich grafów.
w
1
w
2
w
3
u
2
u
1
u
3
u
4
u
5
(a)
u
6
w
6
w
5
u
5
u
3
w
4
w
3
u
4
w
2
u
2
u
1
w
1
(b)
Podstawowe definicje teorii grafów
153
w
1
w
2
u
1
u
2
(c)
w
1
u
1
u
2
u
3
(d)
(ii) A oto przykład dwóch grafów trójdzielnych.
w
z
u
(a)
w
1
w
2
u
2
u
1
z
1
z
2
(b)
Definicja 7.7 Pełnym grafem k-dzielnym nazywamy taki graf, że
V = V
1
∪ V
2
∪ ... ∪ V
k
, zbiory V
i
, i = 1, 2, ..., k, są parami rozłącz-
ne i niepuste oraz każdy wierzchołek v
i
∈ V
i
jest połączony krawędzią
z każdym wierzchołkiem v
j
∈ V
j
, i 6= j, a ponadto wierzchołki należące
do dowolnego ze zbiorów V
i
, i = 1, 2, ..., k, nie są połączone ze sobą.
Jeżeli zachodzą równości card (V
i
) = r
i
, i = 1, 2, ..., k, to pełny graf
k-dzielny oznaczamy symbolem K
r
1
,r
2
,...,r
k
.
Przykład
(i) Graf
w
2
w
1
u
1
u
3
u
2
u
4
jest grafem typu K
4,2
.
154
Główne pojęcia teorii grafów
(ii) Graf
w
1
u
1
u
5
u
4
u
3
u
2
jest grafem typu K
5,1
.
Definicja 7.8 Stopniem deg(v) wierzchołka v ∈ V grafu Γ : E →
P
2
(V ) nazywamy liczbę
card {e ∈ E : v ∈ Γ(e) ∧ card Γ(e) = 2}+
+ 2 card {e ∈ E : v ∈ Γ(e) ∧ card Γ(e) = 1}.
Powyższa definicja wydaje się skomplikowana, jednak jej sens jest
prosty. Stopień to liczba krawędzi dwuwierzchołkowych incydentnych
z danym wierzchołkiem, powiększona o podwojoną liczbę pętli wycho-
dzących (i wchodzących do wierzchołka).
Przykład. Rozważamy graf
v
7
v
2
v
6
v
3
v
5
v
1
v
4
v
8
Wtedy
deg(v
1
) = 2,
deg(v
2
) = 7, deg(v
3
) = 8, deg(v
4
) = 4,
deg(v
5
) = 4, deg(v
6
) = 9, deg(v
7
) = 2, deg(v
8
) = 0.
Podstawowe definicje teorii grafów
155
Definicja 7.9 Minimalnym i maksymalnym stopniem wierzchołka gra-
fu Γ : E → P
2
(V ) nazywamy odpowiednio liczby
δ(Γ) = min{deg(v) : v ∈ V }
oraz
∆(Γ) = max{deg(v) : v ∈ V }.
Definicja 7.10 Graf Γ : E → P
2
(V ) nazywamy regularnym stopnia
k ∈
N, jeżeli
δ(Γ) = ∆(Γ) = k.
Przykład. Grafami regularnymi są tzw. grafy platońskie odpowiada-
jące pięciu prawidłowym wielościanom (por. [16, s. 31]).
czworościan
sześcian
ośmiościan
dwunastościan
156
Główne pojęcia teorii grafów
dwudziestościan
Definicja 7.11 Dla grafu Γ : E → P
2
(V ) symbolami d
0
(Γ), d
1
(Γ), ...,
d
k
(Γ), ... oznaczamy liczby wierzchołków grafu mające stopień odpo-
wiednio: zero, jeden, ..., k, itd. A zatem
d
k
(Γ) = card ({v ∈ V : deg(v) = k}),
k ∈
N.
Twierdzenie 7.1 Dla grafu Γ : E → P
2
(V ) zachodzi równość
∆(Γ)
X
k=0
k d
k
(Γ) = 2 card (E).
Dowód twierdzenia jest oczywisty, ponieważ licząc stopnie wierz-
chołków, liczymy dwukrotnie krawędzie dwuwierzchołkowe, a każda pę-
tla zwiększa stopień wierzchołka o dwa.
Przykład. Powyższy wynik pozwala na stwierdzenie, czy istnieje graf,
któremu odpowiada zadany ciąg liczb d
0
(Γ), d
1
(Γ), .... Dla przykładu,
łatwo zauważyć, że nie istnieje graf o dwóch wierzchołkach izolowanych,
jednym wierzchołku stopnia pierwszego, dwóch wierzchołkach stopnia
drugiego i dwóch wierzchołkach stopnia trzeciego, gdyż
2 · 0 + 1 · 1 + 2 · 2 + 2 · 3 = 11,
a ta liczba nie jest podzielna przez 2.
Podstawowe definicje teorii grafów
157
Definicja 7.12 Drogą w grafie Γ : E → P
2
(V ), mającą długość k ∈
N
nazywamy ciąg krawędzi e
1
e
2
...e
k
o tej własności, że kolejne krawędzie
posiadają wspólne wierzchołki, tzn.
^
1¬i¬k−1
Γ(e
i
) ∩ Γ(e
i+1
) 6= ∅.
Uwaga. Droga e
1
e
2
...e
k
może być też zapisana jako ciąg wierzchołków
v
1
v
2
...v
k+1
, gdzie Γ(e
i
) = {v
i
, v
i+1
}, i = 1, 2, ..., k. Jednak ciąg wierz-
chołków nie określa jednoznacznie drogi w przypadku multigrafu.
Przykład. Niech dany będzie następujący multigraf:
v
1
v
2
v
3
v
4
v
5
a
b
c
d
e
f
g
Wtedy droga acdf może być zapisana jako v
1
v
2
v
3
v
4
v
4
. Zwróćmy
uwagę na to, że ostatni zapis odpowiada także drogom acef , abdf ,
abef .
Definicja 7.13 Drogę e
1
e
2
...e
k
nazywamy zamkniętą, jeżeli odpowiada
jej ciąg wierzchołków v
1
v
2
...v
k
v
1
.
Definicja 7.14 Drogę e
1
e
2
...e
k
nazywamy prostą, jeżeli e
i
6= e
j
dla
i, j = 1, 2, ...k, i 6= j.
Definicja 7.15 Prostą drogę zamkniętą e
1
e
2
...e
k
= v
1
v
2
...v
k
v
1
nazy-
wamy cyklem, jeżeli v
i
6= v
j
dla i, j = 1, 2, ..., k, i 6= j.
158
Główne pojęcia teorii grafów
Przykład. Rozważamy graf
v
1
v
2
v
3
v
4
v
5
v
4
e
1
e
6
e
5
e
9
e
3
e
2
e
8
e
4
e
7
e
10
Wtedy e
1
e
5
e
7
e
8
e
4
, e
10
e
6
e
6
e
9
e
6
e
4
, e
7
e
5
e
5
e
5
e
5
e
6
są przykładami dróg.
Z kolei drogi e
1
e
5
e
5
e
1
, e
4
e
7
e
8
e
2
e
3
czy e
9
są przykładami dróg zamknię-
tych. Przy okazji zauważmy, że niekiedy samo wypisanie symboli kra-
wędzi może być niejednoznaczne. Dla przykładu, są dwie drogi za-
mknięte opisane symbolami e
2
e
3
, a mianowicie drogi v
1
v
4
v
1
oraz v
4
v
1
v
4
.
Jak zatem widać, niekiedy wygodniej jest posłużyć się ciągiem wierz-
chołków.
Drogami prostymi zamkniętymi są na przykład: e
5
, e
9
, e
2
e
3
=
v
1
v
4
v
1
, e
2
e
4
e
5
e
1
, e
2
e
3
e
4
e
7
e
8
= v
4
v
1
v
4
v
2
v
5
v
4
.
Pierwsze trzy z powyższych dróg są przy tym cyklami, w przeci-
wieństwie do ostatniej drogi prostej.
Informację na temat tego, w jaki sposób połączone są ze sobą wierz-
chołki grafu zawiera tzw. macierz sąsiedztwa. Oto jej definicja:
Definicja 7.16 Macierzą sąsiedztwa grafu Γ : E → P
2
(V ) o n wierz-
chołkach v
1
, v
2
, ..., v
n
nazywamy macierz S mającą tę własność, że jej
dowolny wyraz s
ik
jest równy liczbie krawędzi łączących wierzchołek v
i
z wierzchołkiem v
k
, gdzie i, j = 1, 2, ..., n.
Stwierdzenie. Dla dowolnego grafu Γ : E → P
2
(V )
S = S
T
,
gdzie po prawej stronie znaku równości występuje macierz transpono-
wana macierzy S.
Podstawowe definicje teorii grafów
159
Przykład. Niech dany będzie graf
v
1
v
2
v
4
v
6
v
5
v
3
v
7
e
1
e
2
e
3
e
4
e
6
e
5
e
7
e
8
Odpowiada mu macierz sąsiedztwa
S =
0 0 0 0 0 0 0
0 0 0 2 0 0 0
0 0 1 0 1 0 0
0 2 0 0 1 2 0
0 0 1 1 0 0 1
0 0 0 2 0 0 0
0 0 0 0 1 0 0
Macierz sąsiedztwa pozwala na znalezienie liczby dróg długości m,
m ∈
N
+
, łączących dowolne dwa wierzchołki grafu. Zachodzi mianowi-
cie twierdzenie
Twierdzenie 7.2 Jeżeli S jest macierzą sąsiedztwa grafu Γ : E →
P
2
(V ), gdzie card (V ) = n, to liczba dróg długości m, m ∈
N
+
, łą-
czących dowolny wierzchołek v
i
z dowolnym wierzchołkiem v
k
, i, k =
1, 2, ..., n, jest równa s
(m)
ik
, gdzie ten ostatni symbol oznacza wyraz ma-
cierzy S
m
znajdujący się w i-tym wierszu i k-tej kolumnie tej macierzy.
Dowód. Przeprowadzimy indukcję względem m ∈
N
+
. Dla m = 1
równość jest oczywista. Załóżmy, że jest ona także prawdziwa dla
m ∈
N
+
.
Z wierzchołka v
i
do wierzchołka v
k
, i, k = 1, 2, ..., n, można przejść
wzdłuż m+1 krawędzi na jeden ze sposobów zilustrowanych poniższym
diagramem.
160
Główne pojęcia teorii grafów
v
1
v
2
v
i
v
k
v
j
v
n
s
(m)
i1
s
(m)
i2
s
(m)
ij
s
(m)
in
s
1k
s
2k
s
jk
s
nj
Tak więc, po przejściu m krawędzi możemy dojść do wierzchołka
v
1
na s
(m)
i1
sposobów, do wierzchołka v
2
na s
(m)
i2
sposobów, itd. Z kolei
z wierzchołka v
1
do wierzchołka v
k
prowadzi s
1k
krawędzi, z wierzchołka
v
2
do v
k
prowadzi s
2k
krawędzi itd.
Ostatecznie wszystkich dróg długości m + 1 od v
i
do v
k
jest
s
(m)
ik
=
n
X
j=1
s
(m)
ij
s
jk
,
co kończy dowód twierdzenia.
2
Przykład. Weźmy pod uwagę ten sam graf, co w poprzednim przy-
kładzie. Obliczmy S
3
. Aby to uczynić, najpierw obliczamy S
2
.
S
2
=
0 0 0 0 0 0 0
0 4 0 0 2 4 0
0 0 2 1 1 0 1
0 0 1 9 0 0 1
0 2 1 0 3 2 0
0 4 0 0 2 4 0
0 0 1 1 0 0 1
Podstawowe definicje teorii grafów
161
Następnie obliczamy S
3
.
S
3
=
0
0
0
0
0
0
0
0
0
2 18
0
0
2
0
2
3
1
4
2
1
0 18 1
0
11 18 0
0
0
4 11
1
0
3
0
0
2 18
0
0
2
0
2
1
0
3
2
0
Zauważmy na przykład, że zgodnie z powyższą macierzą, dróg dłu-
gości 3, wiodących z v
4
do v
5
jest 11. Wypiszmy te drogi:
e
1
e
2
e
5
, e
2
e
1
e
5
, e
3
e
4
e
5
, e
4
e
3
e
5
, e
5
e
5
e
5
, e
5
e
7
e
7
,
e
5
e
8
e
8
, e
1
e
1
e
5
, e
2
e
2
e
5
, e
3
e
3
e
5
, e
4
e
4
e
5
.
Kolejnym ważnym pojęciem, które należy wprowadzić, jest pojęcie
podgrafu.
Definicja 7.17 Niech dany będzie graf Γ : E → P
2
(V ). Podgrafem
tego grafu nazywamy dowolny graf Γ
1
: E
1
→ P
2
(V
1
), taki że E
1
⊂ E,
V
1
⊂ V oraz
^
e∈E
1
Γ
1
(e) = Γ(e).
Inaczej mówiąc, podgraf danego grafu to graf, który powstaje z da-
nego grafu przez ewentualne usunięcie kilku krawędzi lub wierzchołków.
Przykład. Podgrafami grafu rozważanego w ostatnich dwóch przykła-
dach są na przykład grafy (pomijamy dla uproszczenia symbole kra-
wędzi).
v
4
v
2
v
6
v
5
v
3
v
7
(i)
v
1
(ii)
v
2
v
4
v
5
v
7
(iii)
162
Główne pojęcia teorii grafów
Natomiast podgrafami nie są poniższe diagramy,
v
4
v
6
v
3
v
7
(iv)
v
7
v
3
(v)
które powstały odpowiednio poprzez usunięcie z grafu wyjściowego
wierzchołków v
1
, v
2
, v
5
- w przypadku (v) - wierzchołków v
1
, v
2
, v
4
, v
5
, v
6
oraz krawędzi e
1
, e
2
, e
3
, e
4
, e
6
.
Szczególnie ważnym pojęciem w teorii grafów jest pojęcie izomor-
fizmu grafów, pozwalające na nieodróżnianie grafów (i ich rysunków),
które mają te same własności.
Definicja 7.18 Dwa grafy Γ
1
: E
1
→ P
2
(V
1
) i Γ
2
: E
2
→ P
2
(V
2
)
nazywamy izomorficznymi, jeżeli istnieją bijekcje ϕ : E
1
→ E
2
i ψ :
V
1
→ V
2
, takie że
^
e∈E
1
^
u,w∈V
1
Γ
1
(e) = {u, w} ⇔ Γ
2
(ϕ(e)) = {ψ(u), ψ(w)}.
Uwaga. Sens powyższej definicji jest następujący. Grafy są izomor-
ficzne wtedy i tylko wtedy, gdy odpowiadającym sobie krawędziom
odpowiadają również incydentne z nimi pary wierzchołków. Powyższa
definicja może być znacznie uproszczona, gdy rozważa się grafy proste,
ponieważ w tym przypadku każda krawędź e grafu może być utoż-
samiona z incydentnymi z nią wierzchołkami u i w (w szczególnym
przypadku, gdy e jest pętlą, u = w), tzn. e = {u, w}.
W dalszym ciągu, jeśli wierzchołki u i w mają powyższą własność,
tzn. {u, w} ∈ E, czyli są wierzchołkami sąsiednimi, zapisywać to bę-
dziemy w postaci u ∼ w.
Tego samego symbolu ∼ używać będziemy dla zaznaczenia, że
wierzchołki sąsiadują ze sobą, bez względu na to jaki graf rozważa-
my.
Spójność grafów
163
Tak więc zachodzi wniosek
Wniosek. Grafy proste Γ
1
: E
1
→ P
2
(V
1
) i Γ
2
: E
2
→ P
2
(V
2
) są
izomorficzne, jeżeli istnieje bijekcja ψ : V
1
→ V
2
oraz
^
u,w∈V
1
u ∼ w ⇔ ψ(u) ∼ ψ(w).
Przykład.
(i) Dwa poniższe grafy proste są w oczywisty sposób izomorficzne.
c
e
d
b
f
a
a
0
b
0
f
0
e
0
d
0
c
0
(ii) Z kolei następujące grafy nie są izomorficzne, mimo iż mają tyle
samo wierzchołków odpowiednich stopni oraz taką samą ilość kra-
wędzi. Jednak drugi z grafów ma cykl długości osiem: wqrspvtuw,
podczas gdy graf pierwszy takiego cyklu nie posiada.
a
d
c
b
e
h
g
f
p
s
r
q
u
w
v
t
7.3
Spójność grafów
Definicja 7.19 Graf niepusty Γ : E → P
2
(V ) nazywać będziemy spój-
nym, jeżeli dowolne dwa jego wierzchołki mogą być połączone drogą.
W przeciwnym wypadku graf nazywać będziemy niespójnym.
164
Główne pojęcia teorii grafów
Definicja 7.20 Składową niespójnego grafu Γ : E → P
2
(V ) nazywać
będziemy każdy maksymalny spójny podgraf tego grafu, tzn. taki podgraf,
który po dołączeniu kolejnego wierzchołka grafu Γ, wraz z incydentnymi
z nim krawędziami przestaje być spójny.
Przykład. Graf
p
r
q
s
t
u
w
jest niespójny. Składa się z trzech składowych.
Definicja 7.21 Niech dany będzie graf Γ : E → P
2
(V ).
Zbiór E
1
⊂ E, taki ze graf Γ po usunięciu krawędzi należących do
E przestaje być grafem spójnym, nazywać będziemy zbiorem rozspaja-
jącym.
Zbiór V
1
⊂ V o tej własności, że usunięcie z grafu Γ wierzchołków
należących do V
1
wraz z incydentnymi z nimi krawędziami powoduje,
że Γ przestaje być grafem spójnym, nazywać będziemy zbiorem rozdzie-
lającym.
Rozcięciami nazywać będziemy zarówno zbiory rozspajające, jak
i rozcinające, takie że ich podzbiory właściwe nie są odpowiednio zbio-
rami rozspajającymi lub rozcinającymi.
Liczby λ(Γ) = card (E
1
) oraz k(Γ) = card (V
1
), gdzie E
1
oraz V
1
są
rozcięciami o najmniejszych liczbach elementów, nazywamy odpowied-
nio spójnością krawędziową i spójnością wierzchołkową.
Twierdzenie 7.3 ([16, s. 43]) Załóżmy, że Γ : E → P
2
(V ) jest gra-
fem prostym mającym n składników. Wtedy
card (V ) − n ¬ card (E) ¬
1
2
(card (V ) − n)(card (V ) − n + 1).
Dowód twierdzenia jest nieskomplikowany. Wykorzystuje on induk-
cję w stosunku do liczby krawędzi grafu.
Spójność grafów
165
Z powyższego twierdzenia wynika natomiast następujące
Twierdzenie 7.4 Jeżeli dla grafu prostego Γ : E → P
2
(V ) zachodzi
nierówność
card (E) >
1
2
(card (V ) − 1)(card (V ) − 2),
to graf ten jest spójny.
Zauważmy, że zachodzi następujący wynik
Twierdzenie 7.5 ([8, s.12]) Jeżeli graf Γ : E → P
2
(V ) ma więcej
niż jeden wierzchołek, to
k(Γ) ¬ λ(Γ) ¬ δ(Γ).
Dowód. Dowiedziemy najpierw nierówności k(Γ) ¬ λ(Γ).
Niech E
1
będzie dowolnym minimalnym zbiorem krawędzi, takim
że graf Γ
1
: E \ E
1
→ P
2
(V ) jest niespójny. Należy wykazać, że
k(Γ) ¬ card (E
1
). Jeżeli graf Γ ma wierzchołek, który nie jest incy-
dentny z żadną z krawędzi ze zbioru E
1
, to jeżeli Γ
2
jest składową Γ
1
zawierającą v, to wierzchołki Γ
2
incydentne z krawędziami z E
1
od-
dzielają v od grafu, który powstaje z Γ poprzez usunięcie składowej
Γ
2
. Jednak takich wierzchołków jest co najwyżej card (E
1
), ponieważ
żadna krawędź z E
1
nie ma obu wierzchołków należących do zbioru Γ
2
.
A zatem k(Γ) ¬ card (E
1
).
Z kolei załóżmy, że dowolny wierzchołek G jest incydentny z jakąś
krawędzią należącą do E
1
. Niech v będzie dowolnym takim wierzchoł-
kiem, a Γ
2
będzie składową Γ
1
zawierającą v. Wtedy wierzchołki u
sąsiadujące z v, takie że {u, v} /
∈ E
1
należą do Γ
2
i są incydentne
z różnymi krawędziami z E
1
. Stąd wynika, że deg(v) ¬ card (E
1
). Po-
nieważ zbiór U wszystkich wierzchołków sąsiadujących z v oddziela v
od pozostałych wierzchołków grafu Γ, więc k(Γ) ¬ card (E
1
), chyba że
nie ma innych wierzchołków, czyli {v} ∪ U = V . Jednak v jest wierz-
chołkiem dowolnym, więc możemy przyjąć, że Γ jest grafem pełnym,
skąd wynika, że k(Γ) = λ(Γ) = card (V ) − 1.
166
Główne pojęcia teorii grafów
Nierówność druga zawarta w tezie twierdzenia wynika stąd, że
wszystkie krawędzie incydentne z ustalonym wierzchołkiem rozspajają
graf Γ.
2
Przykład. Dla grafu C
n
mamy oczywiście k(C
n
) = λ(C
n
) = 2.
v
n
v
1
v
3
v
2
8
Poruszanie się po grafach
8.1
Grafy Eulera
Teoria grafów Eulera bierze swój początek od tak zwanego proble-
mu mostów królewieckich, który został postawiony i rozwiązany w ro-
ku 1736 przez szwajcarskiego matematyka Leonarda Eulera. Problem
ten sprowadza się do odpowiedzi na następujące pytanie: czy można
przejść przez wszystkie mosty Królewca dokładnie jeden raz i powrócić
do punktu wyjścia?
Schematyczny plan Królewca (K¨
onigsbergu)
168
Poruszanie się po grafach
Rozwiązując powyższe zadanie, Euler odwołał się do grafu, w któ-
rym wierzchołki reprezentują obszary lądu stałego (l
1
i l
2
) oraz wy-
spy (w
1
i w
2
), natomiast mosty są przedstawione za pomocą krawędzi.
Tak więc, problem został sprowadzony do takiego przebycia poniższe-
go grafu, aby każda krawędź została odwiedzona jednokrotnie i aby
wierzchołek końcowy był równy wierzchołkowi początkowemu.
w
1
w
2
l
1
l
2
Euler zauważył, że droga o tych własnościach nie istnieje. Podał
też wynik bardziej ogólny, który przedstawiony zostanie poniżej.
Sformułowanie tego wyniku poprzedzimy definicjami.
Definicja 8.1 Drogą Eulera w grafie nazywać będziemy drogę prostą
w tym grafie, która zawiera wszystkie krawędzie danego grafu.
Definicja 8.2 Cyklem Eulera nazywać będziemy zamkniętą drogę Eu-
lera.
Definicja 8.3 Graf nazywać będziemy grafem Eulera albo grafem eu-
lerowskim, jeśli istnieje w nim cykl Eulera. Graf, który ma drogę Eu-
lera, ale nie ma cyklu Eulera nazywamy semi-eulerowskim lub pół-
eulerowskim.
Twierdzenie 8.1 (Eulera) Niech dany będzie graf spójny. Jest on
grafem eulerowskim wtedy i tylko wtedy, gdy wszystkie jego wierzchołki
są stopnia parzystego.
Dowód. W dalszym ciągu załóżmy, że card (V ) 2, gdyż w przeciw-
nym przypadku twierdzenie staje się trywialne. Załóżmy dalej, że naj-
krótsza droga prosta w danym grafie jest postaci e
1
e
2
...e
k
= v
1
v
2
...v
k+1
,
gdzie k ¬ card (E). Wykażemy, że v
1
= v
k+1
oraz że card (E) = k.
Grafy Eulera
169
Po pierwsze, zauważmy, że mogą zachodzić równości v
i
= v
k+1
dla
i = 2, ..., k. Jeśli tak jest istotnie, to wierzchołek v
k+1
ma stopień nie-
parzysty w grafie Γ
1
utworzonym z wierzchołków v
1
, v
2
, ..., v
k+1
oraz
krawędzi e
1
, e
2
, ..., e
k
. Rzeczywiście, każde „przejście” przez ten wierz-
chołek oznacza „wykreślenie” z drogi e
1
e
2
...e
k
dwóch krawędzi. Ponad-
to droga kończy się krawędzią e
k
, która dochodzi do wierzchołka v
k+1
.
v
k+1
= v
l+1
v
k
v
l+1
v
l
Zatem w grafie Γ
1
wierzchołek ten ma stopień nieparzysty. Ponie-
waż jednak wszystkie wierzchołki danego grafu, na mocy założenia,
są stopnia parzystego, więc z wierzchołka v
k+1
wychodzi jeszcze jedna
krawędź. Jeśli v
k+1
6= v
1
, to dołączenie tej krawędzi do danej drogi
prostej powoduje wydłużenie jej do k + 1 krawędzi. Jest to sprzeczne
z tym, co przyjęliśmy, a mianowicie, że droga e
1
e
2
...e
k
jest najdłuższą
drogą prostą w grafie. Dlatego v
1
= v
k+1
.
Oczywiście, do każdej drogi prostej należeć muszą wszystkie wierz-
chołki grafu. Gdyby tak nie było, to łącząc (a jest to możliwe na mocy
założenia spójności grafu) wierzchołek v
0
nienależący do Γ
1
, ale sąsia-
dujący z jednym z wierzchołków tego grafu, z tymże wierzchołkiem,
otrzymaliśmy drogę prostą dłuższą od danej.
W podobny sposób można uzasadnić to, że wszystkie krawędzie
grafu muszą należeć do drogi e
1
e
2
...e
k
.
Załóżmy, że graf jest eulerowski. Wtedy „przejście” przez każdy
wierzchołek cyklu Eulera powoduje zmniejszenie stopnia tego wierz-
chołka o 2. W przypadku wierzchołka pierwszego - i zarazem ostatnie-
go - w cyklu, krawędzi wychodzącej odpowiada krawędź dochodząca.
Zatem stopień każdego wierzchołka grafu jest liczbą parzystą.
2
170
Poruszanie się po grafach
Uwaga. W dowodzie drugiej implikacji nie korzystaliśmy z założenia
spójności grafu.
Uwaga. Rozwiązując zagadnienie mostów królewieckich, można odwo-
łać się także do grafu prostego, a mianowicie grafu, w którym zarówno
mosty jak i obszary lądowe są reprezentowane przez wierzchołki.
Przykład ten pokazuje, że w wielu przypadkach zamiast multigra-
fów wystarczy posłużyć się grafami prostymi.
Wniosek. Niech dany będzie graf spójny. Graf ten jest semi-eulerowski
wtedy i tylko wtedy, gdy wszystkie wierzchołki grafu, poza dwoma,
które mają stopień nieparzysty, są stopnia parzystego.
Dowód. Teza twierdzenia jest konsekwencją tego, że jeśli dwa wierz-
chołki stopnia nieparzystego w danym grafie połączymy krawędzią, to
uzyskamy graf mający cykl Eulera, którego wszystkie wierzchołki są
stopnia parzystego.
2
Powyższe twierdzenie oraz wniosek nie podają niestety metody
konstruowania cyklu lub drogi Eulera, jeżeli takie istnieją. W tym sen-
sie wyniki te są niekonstruktywne. Metoda konstrukcji odpowiedniej
drogi lub cyklu Eulera zawarta jest w tzw. algorytmie Fleury’ego, któ-
ry zostanie podany bez dowodu (por. [15, s. 346-350]).
Grafy Eulera
171
Algorytm Fleury’ego
1
◦
Jeśli graf ma wierzchołek stopnia nieparzystego, należy wybrać w
dowolny sposób taki wierzchołek. Jeżeli graf nie ma wierzchołków
stopnia nieparzystego, to wybieramy dowolny wierzchołek tego
grafu. Wybrany wierzchołek oznaczamy symbolem u.
2
◦
Jeżeli z wierzchołka u nie wychodzi żadna krawędź, to należy
zatrzymać algorytm.
3
◦
Jeżeli z u wychodzi jedna krawędź e = uv, to należy usunąć
e ze zbioru krawędzi E grafu i zarazem usunąć u ze zbioru V
wierzchołków tego grafu. Następnie należy przejść do punktu 5
◦
.
4
◦
Jeżeli z u wychodzą co najmniej dwie krawędzie, to należy wybrać
taką krawędź e = uv, aby graf po jej usunięciu pozostał spójny.
Krawędź tę usuwamy ze zbioru E krawędzi.
5
◦
Należy dopisać e do ciągu krawędzi tworzących drogę lub cykl
Eulera. Podobnie należy dopisać v do ciągu wierzchołków opisu-
jących tę drogę.
6
◦
Należy zastąpić wierzchołek u przez wierzchołek v i przejść do
punktu 2
◦
.
Przykład. Zastosujmy algorytm Fleury’ego do grafu
v
3
v
1
v
7
v
4
v
2
v
5
v
8
v
6
e
1
e
4
e
3
e
5
e
2
e
7
e
8
e
9
e
6
e
10
e
12
e
11
e
13
e
14
Zauważmy najpierw, że jedynie dwa wierzchołki w grafie, v
1
i v
7
,
są stopnia nieparzystego. Tak więc graf jest semi-eulerowski. Zgodnie
172
Poruszanie się po grafach
z algorytmem Fleury’ego wybieramy jako początek drogi Eulera jeden
z wierzchołków stopnia nieparzystego, powiedzmy v
1
. Następnie wybie-
ramy jedną z trzech krawędzi wychodzących z tego wierzchołka, np. e
1
.
Usuwamy tę krawędź ze zbioru E i przechodzimy do wierzchołka v
3
.
Z wierzchołka v
3
wychodzi już tylko jedna krawędź - e
4
. Dopisujemy
ją do ciągu krawędzi tworzącego drogę Eulera, podobnie wierzchołek
v
3
dopisujemy do ciągu wierzchołków. Przechodzimy do v
7
. Kontynu-
ując powyższe rozumowanie, możemy otrzymać np. następującą drogę
Eulera
v
1
v
3
v
7
v
8
v
6
v
2
v
6
v
8
v
5
v
2
v
1
v
4
v
5
v
4
v
7
=
= e
1
e
4
e
6
e
14
e
12
e
11
e
13
e
10
e
9
e
2
e
3
e
7
e
8
e
5
.
Nie jest to oczywiście jedyna droga Eulera w tym grafie.
8.2
Grafy Hamiltona
Obok dróg i cykli Eulera rozpatruje się też tzw. drogi i cykle
Hamiltona przechodzące przez każdy wierzchołek grafu dokładnie jeden
raz.
Definicja 8.4 Drogą Hamiltona w grafie nazywamy taką drogę, która
przez każdy wierzchołek przechodzi dokładnie raz.
Definicja 8.5 Cyklem Hamiltona w grafie nazywamy drogę Hamilto-
na, która jest zamknięta, tzn. ostatni wierzchołek cyklu Hamiltona jest
równy wierzchołkowi początkowemu.
Definicja 8.6 Graf, który ma cykl Hamiltona nazywać będziemy gra-
fem Hamiltona albo grafem hamiltonowskim.
Graf, który ma drogę Hamiltona, ale nie ma cyklu Hamiltona, na-
zywać będziemy grafem semi-hamiltonowskim albo pół-hamiltonowskim.
Teoria grafów hamiltonowskich i semi-hamiltonowskich jest znacz-
nie bardziej skomplikowana niż teoria grafów eulerowskich i semi-eule-
rowskich. W szczególności, jak dotąd, nieznane jest twierdzenie, które
zawierałoby warunki konieczne i wystarczające na to, by graf skoń-
czony i spójny miał cykl lub drogę Hamiltona. Dlatego ograniczy-
my się do przedstawienia kilku twierdzeń podających jedynie warunki
Grafy Hamiltona
173
dostateczne, aby graf był hamiltonowski, a następnie przedstawimy
warunek konieczny, który muszą spełnić grafy hamiltonowskie i semi-
hamiltonowskie dwudzielne.
Twierdzenie 8.2 (Orego) Jeżeli dla grafu prostego Γ : E → P
2
(V ),
takiego że card (V ) 3, zachodzą nierówności
deg(u) + deg(v) card (V )
dla dowolnych dwóch wierzchołków u i v niesąsiadujących ze sobą, to
Γ jest grafem hamiltonowskim.
Dowód. Załóżmy, że dla grafu Γ spełnione są powyższe nierówności
lecz graf nie ma cyklu Hamiltona. Wtedy, dodając do Γ odpowiednią
ilość krawędzi, możemy otrzymać graf Γ
1
, który jest już grafem hamil-
tonowskim. Usuwając z Γ
1
jedną krawędź, uzyskujemy z kolei graf Γ
2
,
który ma drogę Hamiltona, ale nie ma cyklu Hamiltona. Przyjmijmy,
że wspomnianą drogą Hamiltona jest ciąg
u
1
u
2
...u
k−1
u
k
,
k = card (V ).
Wierzchołki u
1
i u
k
nie są połączone krawędzią, gdyż gdyby tak
było, otrzymalibyśmy cykl Hamiltona. A zatem w Γ
2
deg(u
1
) + deg(u
k
) card (V ),
ponieważ dodanie krawędzi do grafu Γ zachowuje nierówności zawarte
w założeniu twierdzenia. Z powyższej nierówności wynika, że istnie-
ją takie wierzchołki u
i
oraz u
i−1
, że u
i
sąsiaduje z wierzchołkiem u
1
,
natomiast u
i−1
sąsiaduje z wierzchołkiem u
k
.
u
1
u
2
u
i−1
u
i
u
k
Jednak w takim przypadku otrzymujemy cykl Hamiltona
u
i
u
i+1
...u
k
u
i−1
u
i−2
...u
1
u
i
,
co jest sprzeczne z założeniem, że graf nie jest hamiltonowski.
2
174
Poruszanie się po grafach
Z powyższego twierdzenia wynika natomiast
Twierdzenie 8.3 (Diraca) Niech dany będzie graf prosty Γ : E →
P
2
(V ), taki że card (V ) 3. Jeżeli dla dowolnego wierzchołka u tego
grafu zachodzi nierówność
deg(u)
1
2
card (V ),
to graf jest hamiltonowski.
Zachodzi również twierdzenie, które w przypadku grafów dwudziel-
nych podaje warunki konieczne na to, by graf był hamiltonowski lub
semi-hamiltonowski; zob. [15, s. 379].
Twierdzenie 8.4 Niech dany będzie graf dwudzielny Γ : E → P
2
(V ),
gdzie U i W tworzą podział jego wierzchołków. Wtedy, jeśli graf jest
hamiltonowski, to card (U ) = card (W ). Jeśli natomiast graf jest semi-
hamiltonowski, to |card (U ) − card (W )| = 1.
Przykład
(i) Każdy graf pełny K
n
, n 1, jest grafem hamiltonowskim.
(ii) Graf ośmiościanu jest także grafem Hamiltona.
u
5
u
4
u
6
u
3
u
1
u
2
Cykl Hamiltona tworzy np. ciąg wierzchołków u
1
u
2
u
3
u
4
u
5
u
6
u
1
.
Grafy Hamiltona
175
(iii) Z kolei graf
u
1
w
1
u
2
w
2
u
3
w
3
u
4
w
4
u
5
w
5
u
6
w
6
u
7
w
7
u
8
w
8
u
9
w
9
u
10
w
10
u
11
w
11
u
12
w
12
u
13
jest dwudzielny. Zbiory
U = {u
1
, u
2
, u
3
, u
4
, u
5
, u
6
, u
7
, u
8
, u
9
, u
10
, u
11
, u
12
, u
13
}
i
W = {w
1
, w
2
, w
3
, w
4
, w
5
, w
6
, w
7
, w
8
, w
9
, w
10
, w
11
, w
12
}
stanowią podział zbioru wierzchołków, taki że
card (U ) − card (W ) = 1.
Jest to więc graf semi-hamiltonowski. Znalezienie odpowiedniej
drogi Hamiltona jest bardzo proste.
(iv) Rozważmy graf nieoznakowany.
Jest to, jak nietrudno zauważyć, graf dwudzielny.
176
Poruszanie się po grafach
Rzeczywiście, jeśli wierzchołki należące do obu zbiorów tworzą-
cych podział V = U ∪ W oznaczymy odpowiednio kropkami pu-
stymi i pełnymi, to otrzymamy graf
W tym przypadku card (U ) = 13, card (W ) = 11, a zatem graf
nie jest ani hamiltonowski ani semi-hamiltonowski.
8.3
Grafy z wagami
Definicja 8.7 Graf Γ : E → P
2
(V ) nazywać będziemy grafem z waga-
mi, jeśli istnieje funkcja w : E →
R przypisująca każdej krawędzi e jej
wagę w(e).
Uwaga. Wagi krawędzi reprezentują zazwyczaj takie wielkości jak:
odległość, czas lub koszt, a zatem zazwyczaj przyjmujemy, że zachodzi
w(e) > 0.
W dalszym ciągu będziemy rozpatrywać grafy o wagach dodatnich.
W przypadku, gdy wierzchołki nie są połączone krawędzią, będziemy
przyjmować, że owej „wirtualnej” krawędzi odpowiada waga równa ze-
ro.
Definicja 8.8 Niech dany będzie graf postaci Γ : E → P
2
(V ), gdzie
card (V ) = k 2. Macierz
H = [h
ij
]
k×k
= [h(u
i
, u
j
)]
k×k
,
gdzie h
ij
jest wagą odpowiedniej krawędzi łączącej wierzchołki u
i
oraz u
j
lub h
ij
= 0, jeżeli taka krawędź nie istnieje, nazywać będziemy macierzą
wag grafu Γ.
Grafy z wagami
177
Definicja 8.9 Długością albo wagą drogi d = e
1
e
2
...e
n
nazywać będzie-
my liczbę
w(d) =
n
X
i=1
w(e
i
).
Szczególnie ważnym zagadnieniem teorii grafów z wagami jest pro-
blem polegający na znalezieniu drogi łączącej dwa dowolne wierzchołki
grafu, której waga jest najmniejsza. Problem ten rozwiązuje tzw. algo-
rytm Dijkstry, który przedstawiony jest poniżej. Dla ustalenia uwagi
załóżmy, że chcemy znaleźć drogę o najmniejszej wadze z wierzchołka
u do wierzchołka w (por. [7, s. 178]).
Algorytm Dijkstry
1
◦
Przyjmijmy
l(v) =
(
0
jeśli v = u,
∞ jeśli v 6= u.
Równość l(u) = 0 będziemy traktować jako ustaloną. Wielkości
l(v), v 6= u, są zmienne. Podstawiamy p = u.
2
◦
Dla wszystkich wierzchołków v połączonych z p krawędzią, dla
których wielkości l(v) są zmienne, należy dokonać podstawienia
l(v) := min{l(v), l(p) + h(p, v)}.
3
◦
Wśród tych wierzchołków, którym odpowiadają wielkości zmien-
ne, należy znaleźć najmniejszą, tzn.
l(v) = min{l(v)}.
4
◦
Należy przyjąć, że l(v) jest wielkością ustaloną i podstawić p = v.
5
◦
Jeżeli p = w, to l(p) jest wagą najkrótszej drogi z u do w. Należy
zatrzymać algorytm. Jeżeli p 6= w, należy przejść do punktu 2
◦
.
Dowód poprawności algorytmu. Dowód ma charakter indukcyjny.
Oczywiście, gdy u = w to l(w) = 0 daje rzeczywiście wagę najkrótszej
drogi z u do w.
Załóżmy, że po wykonaniu pewnej liczby kroków algorytmu wielko-
ści l(v) są ustalone dla wierzchołków v należących do pewnego zbioru
178
Poruszanie się po grafach
V
1
oraz są nieustalone dla wierzchołków ze zbioru V
2
. Po wykonaniu
kroku 2
◦
, w trakcie każdej iteracji wielkości l(v), v ∈ V
2
, są równe naj-
krótszym drogom z wierzchołka u do wierzchołków v, które przechodzą
jedynie przez wierzchołki należące do V
1
.
Załóżmy, że najkrótsza droga z u do v przechodzi przez co naj-
mniej jeden wierzchołek ze zbioru V
2
. Niech v
0
będzie pierwszym takim
wierzchołkiem. Ponadto, h
ij
0, więc droga z v
0
do v (będąca częścią
wspomnianej najkrótszej drogi) ma nieujemną wagę a. Dodatkowo
l(v
0
) < l(v) − a < l(v).
Jest to sprzeczne z założeniem, że l(v) jest najmniejszą zmienną wiel-
kością. A zatem najkrótsza droga z u do v przechodzi tylko przez wierz-
chołki za zbioru V
1
. Wielkość l(v) jest jej wagą.
Zauważmy, że przy każdej iteracji do zbioru V
1
(na początku wy-
korzystywania algorytmu V
1
= {u}) dodajemy kolejne wierzchołki. Po
skończonej liczbie kroków w ∈ V
1
, czyli l(w) jest wagą najkrótszej drogi
z u do w.
Przykład. Niech dany będzie graf z wagami.
u
1
u
3
u
7
u
4
u
6
u
5
u
2
u
8
u
9
u
10
3
1
2
1
2
5
4
7
1
1
3
1
1
1
2
5
2
1
Grafy z wagami
179
Należy znaleźć, korzystając z algorytmu Dijkstry, najkrótszą drogę
(drogę o najmniejszej wadze) z wierzchołka u
1
do wierzchołka u
10
.
Wypiszemy najpierw macierz wag H = [h(u
i
, u
j
)]
10×10
odpowiada-
jącą temu grafowi.
u
1
u
2
u
3
u
4
u
5
u
6
u
7
u
8
u
9
u
10
u
1
u
2
u
3
u
4
u
5
u
6
u
7
u
8
u
9
u
10
0
1
3
0
2
0
0
0
0
0
1
0
0
0
0
3
0
5
0
0
3
0
0
1
0
1
0
0
5
0
0
0
1
0
2
0
1
0
0
0
2
0
0
2
0
0
0
0
7
0
0
3
1
0
0
0
1
1
0
0
0
0
0
1
0
1
0
2
1
0
0
5
0
0
0
1
2
0
2
4
0
0
5
0
7
0
1
2
0
1
0
0
0
0
0
0
0
4
1
0
Przejdźmy do wykonania algorytmu.
1
◦
l(u
1
) = 0 (wielkość ustalona), l(u
i
) = ∞ dla i = 2, 3, ..., 10,
p = u
1
.
Iteracja pierwsza.
2
◦
Z wierzchołkiem p sąsiadują wierzchołki u
2
, u
3
, u
5
.
l(u
2
) = min{∞, 0 + 1} = 1,
l(u
3
) = min{∞, 0 + 3} = 3,
l(u
5
) = min{∞, 0 + 2} = 2.
3
◦
Obliczamy
min{1, 3, 2, ∞, ..., ∞} = 1.
Wartość ta odpowiada wierzchołkowi u
2
.
4
◦
l(u
2
) = 1 (wielkość ustalona).
p = u
2
5
◦
Nie wszystkie wierzchołki u
i
mają ustalone wielkości l(u
i
). Należy
przejść do kroku 2
◦
.
180
Poruszanie się po grafach
Iteracja druga
2
◦
Z wierzchołkiem p sąsiadują wierzchołki u
6
i u
8
, dla których l(u
6
)
i l(u
8
) są zmienne. Obliczamy
l(u
6
) = min{∞, 1 + 3} = 4,
l(u
8
) = min{∞, 1 + 5} = 6.
3
◦
Obliczamy
min{3, 2, 4, 6, ∞} = 2.
Wartość ta odpowiada wierzchołkowi u
5
.
4
◦
l(u
5
) = 2 (wielkość ustalona).
p = u
5
5
◦
Nie wszystkie wierzchołki u
i
mają ustalone wielkości l(u
i
). Należy
przejść do kroku 2
◦
.
Iteracja trzecia
2
◦
Z wierzchołkiem p sąsiadują wierzchołki u
4
i u
9
o nieustalonych
wartościach l(u
4
) i l(u
9
). Obliczamy
l(u
4
) = min{∞, 2 + 2} = 4,
l(u
9
) = min{∞, 2 + 7} = 9.
3
◦
Obliczamy
min{3, 4, 6, 9, ∞} = 3.
Wartość ta odpowiada wierzchołkowi u
3
.
4
◦
l(u
3
) = 3 (wielkość ustalona).
p = u
3
5
◦
Ponieważ nie wszystkie wielkości l(u
i
) są ustalone, należy przejść
do kroku 2
◦
.
Iteracja czwarta
2
◦
Z wierzchołkiem p sąsiadują wierzchołki u
4
, u
6
i u
9
o nieustalo-
nych l(u
4
), l(u
6
) i l(u
9
). Obliczamy
l(u
4
) = min{4, 3 + 1} = 4,
l(u
6
) = min{4, 3 + 1} = 4,
l(u
9
) = min{9, 3 + 5} = 8.
Grafy z wagami
181
3
◦
Obliczamy
min{4, 8, 6, ∞} = 4.
Wartość ta odpowiada wierzchołkom u
4
i u
6
.
4
◦
l(u
4
) = l(u
6
) = 4 (wielkość ustalona).
p = u
4
5
◦
Ponieważ nie wszystkie wielkości l(u
i
) są ustalone, należy przejść
do kroku 2
◦
.
Kontynuując algorytm, przypisujemy określoną wartość l(u
i
) każde-
mu wierzchołkowi grafu, w szczególności wierzchołkowi u
10
. Nietrudno
zauważyć, że
l(u
10
) = 7.
Jest to właśnie poszukiwana długość najkrótszej drogi łączącej u
1
z u
10
.
9
Drzewa i digrafy
9.1
Podstawowe pojęcia teorii drzew
Definicja 9.1 Graf niezawierający cykli nazywać będziemy acyklicz-
nym.
Definicja 9.2 Skończony graf acykliczny i spójny nazywać będziemy
drzewem.
Przykład. Oto kilka grafów będących drzewami:
(i)
(ii)
184
Drzewa i digrafy
(iii)
(iv)
(v)
Uwaga. Drzewa nie mają oczywiście ani pętli ani krawędzi wielokrot-
nych, ponieważ w przeciwnym przypadku zawierałyby cykle. Odnotuj-
my też jeszcze jedną prostą własność drzew: dowolne dwa wierzchołki
drzewa można połączyć jedną i tylko jedną drogą prostą - gdyby było
inaczej nie byłyby grafami acyklicznymi.
Umowa notacyjna. W dalszym ciągu drzewa oznaczać będziemy za
pomocą symbolu T (ang. tree).
Twierdzenie 9.1 Drzewo T : E → P
2
(V ) ma card (V ) − 1 krawędzi,
gdzie zakładamy, że card (V ) 1.
Dowód. Skorzystamy z zasady indukcji matematycznej. Dla card (V ) =
1 teza jest oczywista. Zakładamy, że twierdzenie jest prawdziwe dla
card (V ) = n.
Niech T będzie drzewem o n + 1 wierzchołkach. Usuwając jeden
wierzchołek pierwszego stopnia (w każdym drzewie takie wierzchołki
istnieją) i incydentną z nim krawędź, otrzymujemy drzewo T
1
o n wierz-
chołkach, które, na mocy założenia, ma n − 1 krawędzi. Stąd wynika,
że drzewo T ma n krawędzi.
2
Podstawowe pojęcia teorii drzew
185
Definicja 9.3 Skończony graf acykliczny nazywamy lasem.
Uwaga. Z powyższej definicji wynika, że każde drzewo jest lasem. Po-
nadto lasem jest graf niespójny, którego składowe są drzewami.
Przykład. Lasem jest np. graf
Definicja 9.4 Wyróżniony wierzchołek u drzewa T nazywać będzie-
my korzeniem, a samo drzewo będziemy w takim przypadku oznaczać
symbolem T
u
.
Uwaga. Wybór korzenia drzewa jest w zasadzie umowny. Każdy wierz-
chołek drzewa może zostać uznany za korzeń.
Przykład. Drzewo T
u
u
v
w
p
q
r
s
t
z
może być przedstawione także następująco
186
Drzewa i digrafy
v
p
q
u
w
r
s
t
z
T
v
z
t
r
w
s
u
v
p
q
T
z
Definicja 9.5 Każdy wierzchołek drzewa mający stopień 1 i niebędący
korzeniem nazywać będziemy liściem albo węzłem końcowym.
Definicja 9.6 Każdy wierzchołek drzewa niebędący ani liściem, ani
korzeniem nazywać będziemy węzłem wewnętrznym albo węzłem gałęzi.
Definicja 9.7 Jeśli wierzchołek u, sąsiadujący z wierzchołkiem v, znaj-
duje się na jedynej drodze od korzenia do v, to nazywać go będziemy
rodzicem v; v nazywać będziemy dzieckiem u.
Definicja 9.8 Jeśli wierzchołek u znajduje się na jedynej drodze z ko-
rzenia do v, to v nazywać będziemy potomkiem wierzchołka u.
Definicja 9.9 Liczbę dzieci wierzchołka nazywać będziemy jego stop-
niem wyjściowym.
Definicja 9.10 Drzewem o k 2 rozgałęzieniach nazywać będziemy
takie drzewo, w którym każdy wierzchołek ma stopień wyjściowy mniej-
szy bądź równy k.
Gdy k = 2, drzewo to nazywać będziemy drzewem binarnym.
Drzewo o k rozgałęzieniach (binarne dla k = 2) nazywać będziemy
regularnym, jeśli stopień wyjściowy każdego wierzchołka niebędącego
liściem jest równy k.
Podstawowe pojęcia teorii drzew
187
Definicja 9.11 Wysokością drzewa T
u
nazywać będziemy długość naj-
dłuższej drogi z u do jednego z liści.
Definicja 9.12 Niech dane będzie drzewo T
u
i wierzchołek v tego drze-
wa (v może być równy u). Poddrzewem drzewa T
u
o wierzchołku v
nazywać będziemy drzewo utworzone z wierzchołka v i jego wszystkich
potomków.
Przykład. Dla drzewa T
u
u
v
w
p
q
s
r
t
poddrzewami są na przykład drzewa
w
p
q
r
t
s
T
w
q
r
t
s
T
q
Definicja 9.13 Nazwy wierzchołków drzewa określać będziemy jako
etykiety.
Uwaga. Do etykietowania wierzchołków drzewa wygodnie jest posłu-
żyć się pewnym alfabetem Σ tak, aby nazwy wierzchołków tworzyły
zbiór liniowo uporządkowany.
Przykład. Rozważmy drzewo regularne o trzech rozgałęzieniach i za-
etykietujmy jego wierzchołki, korzystając ze słów z alfabetu Σ = {0, 1, 2}.
188
Drzewa i digrafy
ε
1
0
2
01
00
02
11
10
12
21
20
22
001
000
002
011
010
012
021
020
022 .......................................
9.2
Drzewa rozpinające grafy
Definicja 9.14 Niech dany będzie skończony graf spójny Γ : E →
P
2
(V ). Drzewem rozpinającym (albo inaczej: spinającym) tego gra-
fu nazywać będziemy każde drzewo, którego zbiorem wierzchołków jest
zbiór V , a zbiorem krawędzi - podzbiór zbioru E.
Przykład. Niech dany będzie graf
Jego drzewami rozpinającymi są między innymi drzewa
Drzewa rozpinające grafy
189
Uwaga. Dla dowolnego grafu spójnego drzewo rozpinające może być
skonstruowane na dwa sposoby.
Pierwszy polega na usuwaniu tych krawędzi grafu, które wchodzą
w skład cykli.
190
Drzewa i digrafy
Drugi opiera się na następującej procedurze. Wybieramy dowolny
wierzchołek grafu. Łączymy ten wierzchołek z wierzchołkami z nim są-
siadującymi. Wszystkie wierzchołki otrzymanego zbioru wierzchołków
łączymy z sąsiadującymi z nimi wierzchołkami nienależącymi do tego
zbioru. Procedurę tę kontynuujemy aż do uzyskania drzewa, którego
zbiór wierzchołków jest równy zbiorowi wierzchołków danego grafu.
Zauważmy jednakże, że dla grafów niespójnych możemy w analo-
giczny sposób budować lasy rozpinające (albo inaczej: spinające), któ-
rych składowe są drzewami rozpinającymi składowych danych grafów.
W dalszym ciągu zajmiemy się zagadnieniem znalezienia drzew
rozpinających, dla których sumy wag ich krawędzi są możliwie naj-
mniejsze.
Definicja 9.15 Niech T : E → P
2
(V ) będzie drzewem z wagami. Licz-
bę
w(T ) =
X
e∈E
w(e)
nazywać będziemy wagą tego drzewa.
Definicja 9.16 Minimalnym drzewem rozpinającym grafu nazywać bę-
dziemy każde drzewo rozpinające tego grafu, którego waga jest nie więk-
sza od wag innych grafów rozpinających tego grafu.
Istnieje kilka algorytmów pozwalających na budowę minimalnego
drzewa rozpinającego. Najbardziej znane z nich to algorytmy Kruskala
i Prima (zob. [7, s. 160].
Oto pierwszy z nich.
Algorytm Kruskala
1
◦
Należy zacząć od grafu T , którego wierzchołkami są wszystkie
wierzchołki danego grafu Γ, lecz który nie ma ani jednej krawędzi.
2
◦
Należy uporządkować krawędzie grafu Γ w ciąg nierosnący
w(e
1
) ¬ w(e
2
) ¬ ... ¬ w(e
k
),
k = card (E).
3
◦
Podstawiamy i := 0.
Drzewa rozpinające grafy
191
4
◦
Podstawiamy i := i + 1 i dołączamy krawędź e
i
do grafu T , jeśli
T ∪ {e
i
} jest acykliczny; w przeciwnym przypadku nie dołączamy
e
i
do T .
5
◦
Jeśli i = k, to należy zatrzymać algorytm. W przeciwnym przy-
padku należy przejść do kroku 4
◦
.
Dowód poprawności algorytmu. Zauważmy, po pierwsze, że pod-
czas każdej iteracji algorytmu graf T zawiera się w pewnym rozpina-
jącym drzewie minimalnym grafu Γ. Rzeczywiście, na początku wyko-
nywania algorytmu T jest grafem zbudowanym z wierzchołków grafu
Γ, ale nie mającym żadnych krawędzi. Zatem T jest podgrafem mini-
malnego drzewa rozpinającego T
min
.
Załóżmy, że po wykonaniu n, 1 ¬ n < k, iteracji T jest podgrafem
T
min
. Należy pokazać, że po kolejnej iteracji T jest także podgrafem
pewnego rozpinającego drzewa minimalnego.
W dalszym ciągu symbolem T ∪ {e} oznaczać będziemy rozsze-
rzenie funkcji T na zbiór zawierający krawędź e. Jeśli T ∪ {e
n+1
} jest
grafem cyklicznym, to krawędź e
n
nie jest dołączona do T , a więc T
jest nadal podgrafem T
min
. Jeśli natomiast T ∪ {e
n+1
} jest grafem acy-
klicznym, to należy znaleźć minimalne drzewo rozpinające T
1
, którego
podgrafem jest T ∪ {e
n+1
}. Jeżeli e
n+1
należy do T
min
, to oczywiście
T
1
= T
min
. Załóżmy więc, że e
n+1
nie jest krawędzią T
min
. Stąd wynika,
że T
min
∪ {e
n+1
} jest grafem cyklicznym, a e
n+1
wchodzi w skład pew-
nego cyklu. Jednak T ∪ {e
n+1
} jest grafem acyklicznym, a stąd wynika,
że do wspomnianego cyklu należy pewna krawędź a drzewa T
min
, która
nie należy do T . Jeśli zdefiniujemy T
1
jako (T
min
∪ {e
n+1
}) \ {a}, to
graf ten jest spójny, ma card (V ) wierzchołków i card (V ) − 1 krawę-
dzi. A zatem jest drzewem spinającym grafu Γ i ponadto T ∪ {e
n+1
}
jest jego podgrafem. Oczywiście graf T ∪ {a} jest acykliczny. Zarazem
w(e
n+1
) ¬ w(a), ponieważ a 6= e
i
, i = 1, 2, ..., n + 1. Tak więc
w(T
1
) = w(T
min
) + w(e
n+1
) − w(a) ¬ w(T
min
),
co oznacza, że T
1
jest minimalnym drzewem rozpinającym grafu Γ.
Wystarczy wykazać jeszcze, że graf T , po zakończeniu algorytmu,
jest spójny. Wybierzmy w dowolny sposób dwa wierzchołki v
i
oraz v
j
tego grafu. Łączy je pewna droga w grafie Γ, ponieważ ten graf jest
192
Drzewa i digrafy
spójny. Gdyby pewna krawędź, powiedzmy a, należąca do tej drogi, nie
należała do grafu T , to graf T ∪ {a} zawierałby cykl, w którego skład
wchodziłaby właśnie ta krawędź. Wystarczyłoby zastąpić w rozważanej
drodze krawędź a przez pozostałe krawędzie cyklu, by otrzymać drogę
z v
i
do v
j
, całkowicie zawierającą się w T .
W jaki sposób działa algorytm Kruskala pokażemy na następują-
cym przykładzie.
Przykład. Znajdziemy minimalne drzewo rozpinające dla grafu Γ.
2
4
1
2
3
1
2
8
5
1
2
3
4
7
8
6
1
◦
Zaczynamy od grafu T zawierającego wszystkie wierzchołki Γ
i nie mającego żadnych krawędzi.
2
◦
Tworzymy uporządkowany ciąg w(e
1
) ¬ w(e
2
) ¬ ... ¬ w(e
16
)
(możemy to zrobić na kilka sposobów, ponieważ wśród krawędzi
są takie, którym odpowiadają te same wagi). Sposób oznaczenia
krawędzi grafu Γ przedstawia rysunek.
Drzewa rozpinające grafy
193
e
5
e
11
e
1
e
4
e
9
e
2
e
7
e
16
e
12
e
3
e
6
e
8
e
10
e
14
e
15
e
13
3
◦
Podstawiamy i := 0.
4
◦
Podstawiamy i := 1; dołączamy e
1
do T , tzn. przyjmujemy T :=
T ∪ {e
1
}, bo T ∪ {e
1
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 2; T := T ∪ {e
2
}, bo T ∪ {e
2
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 3; T := T ∪ {e
3
}, bo T ∪ {e
3
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 4; T := T ∪ {e
4
}, bo T ∪ {e
4
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 5; T := T ∪ {e
5
}, bo T ∪ {e
5
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 6; T := T ∪ {e
6
}, bo T ∪ {e
6
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 7; T := T ∪ {e
7
}, bo T ∪ {e
7
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
194
Drzewa i digrafy
4
◦
Podstawiamy i := 8; T := T (nie dołączmy e
8
do T ), bo T ∪ {e
8
}
jest cykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 9; T := T , bo T ∪ {e
9
} jest cykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 10; T := T , bo T ∪ {e
10
} jest cykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 11; T := T ∪{e
11
}, bo T ∪{e
11
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 12; T := T ∪{e
12
}, bo T ∪{e
12
} jest acykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 13; T := T , bo T ∪ {e
13
} jest cykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 14; T := T , bo T ∪ {e
14
} jest cykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 15; T := T , bo T ∪ {e
15
} jest cykliczny.
5
◦
Ponieważ i 6= 16, więc przechodzimy do kroku 4
◦
.
4
◦
Podstawiamy i := 16; T := T , bo T ∪ {e
16
} jest cykliczny.
5
◦
Ponieważ i = 16, więc zatrzymujemy algorytm.
Zauważmy, że otrzymaliśmy następujące minimalne drzewo rozpi-
nające T .
Drzewa rozpinające grafy
195
e
5
e
11
e
1
e
4
e
2
e
7
e
12
e
3
e
6
Łatwo sprawdzić, że w(T ) = 1 + 1 + 1 + 2 + 2 + 2 + 2 + 4 + 5 = 20.
Obok algorytmu Kruskala często stosowany jest algorytm Prima,
który to algorytm znajduje minimalne drzewo rozpinające grafu bez
sortowania krawędzi pod względem wielkości ich wag. Oto ten algo-
rytm.
Algorytm Prima
1
◦
Niech V
T
:= {v
i
}, E
T
:= ∅ (T jest minimalnym drzewem roz-
pinającym grafu Γ, v
i
jest dowolnym wierzchołkiem grafu Γ, V
T
jest zbiorem wierzchołków T , E
T
jest zbiorem krawędzi T ).
2
◦
Dla dowolnego wierzchołka v
k
/
∈ V
T
należy znaleźć wierzchołek
w
k
∈ V
T
, taki że
h(v
k
, w
k
) = min{h(v
k
, w
i
) : w
i
∈ V
T
} = a
k
,
jeżeli w
k
istnieje; w przeciwnym przypadku wierzchołkowi v
k
przy-
pisujemy parę (0, ∞).
3
◦
Należy wybrać wierzchołek v
k
, taki że
a
k
= min{a
k
: v
k
/
∈ V
T
}.
Podstawiamy V
T
:= V
T
∪ {v
k
}, E
T
:= E
T
∪ {(v
k
, w
k
)}.
Jeżeli card (V
T
) = card (V ), to należy zatrzymać algorytm.
Jeżeli card (V
T
) 6= card (V ) to należy przejść do kroku 4
◦
.
196
Drzewa i digrafy
4
◦
Dla dowolnego v
k
/
∈ V
T
, sąsiadującego z
v
k
, należy dokonać zmian
współczynników w przypisanej temu wierzchołkowi parze upo-
rządkowanej.
Jeżeli a
k
> h(v
k
, v
k
), to a
k
:= h(v
k
, v
k
), w
k
:= v
k
i przechodzimy
do kroku 3
◦
.
Jeżeli a
k
¬ h(v
k
, v
k
), to przechodzimy do kroku 3
◦
.
Zachęcamy Czytelnika do zastosowania algorytmu Prima do grafu
Γ rozważanego w ramach ostatniego przykładu. Dowód poprawności
algorytmu pomijamy. Zauważmy tylko, że z przebiegu algorytmu wy-
nika nie tylko to, że otrzymany graf jest acykliczny, lecz także że jest
spójny.
Wspomniane tutaj zagadnienie znajdowania minimalnego drzewa
rozpinającego dla grafu ma związek z tzw. problemem komiwojaże-
ra. Problem ten polega na znalezieniu dla grafu prostego i spójnego
z wagami cyklu Hamiltona o możliwie najmniejszej wadze.
Przykład. Rozważmy następujące zagadnienie. Komiwojażer ma od-
wiedzić łącznie 7 miejscowości w taki sposób, by na końcu powrócić do
miejscowości, od której rozpoczyna spoją pracę. Diagram odległości
pomiędzy tymi miejscowościami przedstawia graf.
p
q
r
z
s
t
v
w
2
1
4
1
2
1
2
1
2
4
2
1
1
1
Drzewa rozpinające grafy
197
Jest to graf hamiltonowski. Spróbujmy oszacować wagi cykli Hamil-
tona w tym grafie od dołu, znajdując odpowiednie minimalne drzewo
rozpinające.
Takim drzewem jest na przykład drzewo T o wadze w(T ) = 7.
1
1
1
1
1
1
1
Powiedzmy, że ciąg f
1
f
2
...f
n
jest cyklem Hamiltona o najmniejszej
wadze. Wtedy f
2
...f
n
jest drzewem rozpinającym rozważanego grafu
i zachodzi nierówność
w(f
2
) + w(f
3
) + ... + w(f
n
) 7.
Zatem dla cyklu Hamiltona
w(f
1
f
2
...f
n
) 7 + w(f
1
).
Krawędź f
1
może być wybrana jako krawędź o możliwie najmniej-
szej wadze. Zachodzi zatem oszacowanie
w(f
1
f
2
...f
n
) 7 + 1 = 8.
Wynika stąd, że w danym grafie cykle Hamiltona będą miały wagę
nie mniejszą niż 8.
Pozostawiamy Czytelnikowi znalezienie cyklu o mniejszej wadze.
198
Drzewa i digrafy
9.3
Digrafy
Definicja digrafu, albo inaczej grafu skierowanego, różni się tym
od definicji grafu (nieskierowanego), że funkcja Γ przyporządkowuje
każdej krawędzi e nie zbiór {v, w} wierzchołków incydentnych z tą
krawędzią, lecz parę uporządkowaną (v, w). To, że wierzchołek v jest
pierwszym elementem pary, a w drugim elementem oznacza właśnie,
że krawędź e jest skierowana od v do w.
Dokładniej definicja ta przedstawia się następująco:
Definicja 9.17 Digrafem lub grafem skierowanym nazywać będziemy
funkcję Γ : E → V × V , gdzie V i E są dwoma rozłącznymi zbiorami
niepustymi.
Jeżeli Γ(e) = (v, w), to wierzchołek v nazywamy początkiem, zaś
wierzchołek w - końcem krawędzi e.
Definicja 9.18 Drogą w digrafie Γ nazywamy każdy ciąg e
1
e
2
...e
k
kra-
wędzi tego grafu taki, że koniec i-tej krawędzi jest początkiem i + 1-
krawędzi, gdzie i = 1, 2, ..., k − 1.
Długością drogi nazywamy liczbę krawędzi tej drogi.
Drogę e
1
e
2
...e
k
nazywamy zamkniętą, jeżeli koniec k-tej krawędzi
jest początkiem krawędzi pierwszej.
Drogę zamkniętą nazywamy cyklem, jeżeli wszystkie wierzchołki tej
drogi, oprócz pierwszego i ostatniego, które są sobie równe, różnią się
między sobą.
Również relację sąsiedztwa w przypadku digrafu rozumie się nieco
inaczej niż w przypadku grafów nieskierowanych.
Definicja 9.19 Mówimy, że wierzchołek u jest sąsiedni w stosunku do
v jeżeli istnieje krawędź od u do v.
W przypadku digrafów mogą także istnieć krawędzie skierowane
wielokrotne i pętle. Takie grafy nazywamy multigrafami skierowanymi.
W przeciwnym przypadku mówimy o digrafach lub grafach skierowa-
nych prostych.
Digrafy
199
Definicja 9.20 Dla dowolnego wierzchołka v grafu Γ : E → V × V
liczbę krawędzi, których końcem jest ten wierzchołek, nazywamy stop-
niem wejściowym v. Liczbę tę oznaczamy symbolem indeg (v).
Liczbę krawędzi, których początkiem jest v nazywamy stopniem wyj-
ściowym tego wierzchołka i oznaczamy symbolem outdeg (v).
Uwaga. Rzecz jasna, zachodzi równość
indeg (v) + outdeg (v) = deg(v).
Uwaga. Warto zwrócić uwagę na to, że drzewa są w istocie digrafami,
w szczególności, gdy określony jest korzeń tych grafów. W takim przy-
padku, wierzchołek będący rodzicem można traktować jako początek
krawędzi, a wierzchołek będący dzieckiem - jako koniec.
Dla grafów skierowanych zachodzą w wielu przypadkach twierdze-
nia analogiczne do tych, które dotyczą grafów nieskierowanych. Na
przykład zachodzi (por. [15, s. 484])
Twierdzenie 9.2 (Eulera) Niech dany będzie digraf skierowany Γ :
E → V × V . Jeśli graf ten jest spójny, jako graf nieskierowany, to
istnieje w nim droga zamknięta, do której należą wszystkie krawędzie Γ
wtedy i tylko wtedy, gdy dla dowolnego wierzchołka v tego grafu zachodzi
równość
indeg (v) = outdeg (v).
Przykład. Digrafem o powyższej własności jest na przykład poniższy
digraf
200
Drzewa i digrafy
Nietrudno w nim wskazać drogę zamkniętą.
Definicja 9.21 Digraf skończony i spójny (jako graf ) mający zamknię-
tą drogę przechodzącą przez wszystkie krawędzie, nazywać będziemy di-
grafem eulerowskim.
Istnieją też twierdzenia dla digrafów, w których rozpatruje się cykle
Hamiltona.
Definicja 9.22 Digraf nazywamy hamiltonowskim, jeśli istnieje w nim
droga zamknięta, przechodząca przez każdy wierzchołek oprócz pierw-
szego, który jest równy ostatniemu, dokładnie jeden raz.
Zachodzi twierdzenie, którego dowód jest raczej skomplikowany
(por. [16, s. 142] i [4]), będące uogólnieniem twierdzenia Diraca.
Twierdzenie 9.3 Załóżmy, że Γ : E → V × V jest digrafem mającym
tę własność, że dowolne dwa jego wierzchołki mogą być połączone drogą.
Wtedy, jeśli dla dowolnego wierzchołka v tego grafu
indeg (v)
1
2
card (V )
i
outdeg (v)
1
2
card (V ),
to digraf jest hamiltonowski.
Definicja 9.23 Wierzchołek v digrafu Γ, dla którego indeg (v) = 0,
nazywać będziemy źródłem tego digrafu.
Jeżeli natomiast outdeg (v) = 0 to v nazywać będziemy ujściem
digrafu Γ.
Dla digrafów z wagami można podać algorytmy, tak jak ma to miej-
sce w przypadku grafów nieskierowanych, pozwalające znaleźć długości
najkrótszych dróg z dowolnego wierzchołka do dowolnego innego wierz-
chołka - przy założeniu, że taka droga istnieje. W szczególności, można
zastosować w tym przypadku algorytm Dijkstry, pamiętając jednocze-
śnie, że w przypadku digrafów zmienia się rozumienie sąsiedztwa.
10
Zliczanie grafów.
Kilka wybranych problemów
Zliczanie grafów mających określone własności jest na ogół za-
daniem bardzo skomplikowanym. Jedynie w niektórych przypadkach
uzyskujemy proste wzory. W niniejszym rozdziale przedstawimy kilka
stosunkowo elementarnych, choć dość istotnych, problemów, których
rozwiązanie nie wymaga odwołania się do zaawansowanych technik
i złożonych rozważań.
1
◦
Rozważmy najpierw następujący problem: ile jest grafów ozna-
kowanych prostych o n wierzchołkach?
Aby odpowiedzieć na to pytanie, załóżmy, że v
1
, v
2
, ..., v
n
są wierz-
chołkami grafu. Rozważmy następnie wszystkie ciągi postaci
d
12
, d
13
, ..., d
1n
, d
23
, d
24
, ..., d
2n
, d
34
, d
35
, ..., d
3n
, d
41
, ..., d
n−1,n
,
gdzie liczby d
ij
, i, j ∈ {1, 2, ..., n}, i < j, są równe albo zero, jeśli wierz-
chołki v
i
oraz v
j
są połączone krawędziami, albo jeden - w przeciwnym
przypadku.
Zauważmy, że powyższy ciąg określa w sposób jednoznaczny graf
prosty o wierzchołkach v
1
, v
2
, ..., v
n
. Liczba elementów tego ciągu jest,
202
Zliczanie grafów. Kilka wybranych problemów
jak nietrudno zauważyć, równa
n
2
. A zatem, wszystkich takich cią-
gów i wszystkich grafów o danej własności jest tyle, ile wynosi liczba
wszystkich wariacji z powtórzeniami ze zbioru 2-elementowego po
n
2
elementów, czyli
V
(
n
2
)
2
= 2(
n
2
).
2
◦
Powyższe zadanie można nieco zmodyfikować, a mianowicie moż-
na zapytać np., ile jest grafów oznakowanych o n wierzchołkach,
bez krawędzi wielokrotnych, mogących jednak mieć pętle jedno-
krotne?
Zadanie to rozwiązuje się analogicznie do zadania poprzedniego.
Wystarczy dołączyć do ciągu liczb d
ij
, i < j, także liczby d
ii
, i =
1, 2, ..., n, które są równe jeden, gdy odpowiednie pętle istnieją, i zero
w przeciwnym przypadku. Tak więc wszystkich grafów o rozważanych
własnościach jest
2(
n
2
)
+n
= 2
n(n+1)
2
.
3
◦
Zastanówmy się nad następującym zagadnieniem: ile jest grafów
oznakowanych prostych o n wierzchołkach i k ¬
n
2
krawędziach?
Nietrudno zauważyć, że w tym przypadku liczba odpowiednich gra-
fów jest równa
n
2
k
!
.
4
◦
W tym punkcie zajmiemy się zagadnieniem bardziej skompliko-
wanym. Odpowiemy na pytanie o liczbę wszystkich oznakowa-
nych drzew o n wierzchołkach.
Zachodzi mianowicie następujące ([16, s. 69-72])
Twierdzenie 10.1 (Cayleya) Liczba różnych drzew oznakowanych
o n wierzchołkach jest równa
n
n−2
.
Zliczanie grafów. Kilka wybranych problemów
203
Dowód. Liczbę wszystkich drzew oznakowanych o n wierzchołkach
oznaczmy symbolem L
n
. Zachodzi równość
L
n
= L
n
(1) + L
n
(2) + ... + L
n
(n − 1),
gdzie L
n
(i), 1 ¬ i ¬ n − 1, oznacza liczbę drzew o n wierzchołkach,
takich że dany wierzchołek u ma stopień i.
Naszym celem jest obliczenie L
n
(i), a następnie L
n
.
Załóżmy, że T jest drzewem oznakowanym o n wierzchołkach, ta-
kich że deg(u) = m − 1 (na poniższym rysunku deg(u) = 4).
u
b
a
c
g
d
k
h
l
o
f
p
q
r
s
x
y
w
t
z
Poprzez usunięcie jednej z krawędzi drzewa T , która nie jest in-
cydentna z u, otrzymujemy dwa poddrzewa drzewa T . Powiedzmy, że
usuwamy krawędź lf . Wtedy l należy do poddrzewa zawierającego u,
w przeciwieństwie do wierzchołka f , który należy do drugiego poddrze-
wa. Jeżeli połączymy wierzchołek f z wierzchołkiem u, to otrzymamy
drzewo T
0
, dla którego deg(u) = m.
204
Zliczanie grafów. Kilka wybranych problemów
u
b
a
c
g
d
k
h
l
o
f
p
q
r
s
x
y
w
t
z
W dalszym ciągu obliczymy liczbę wszystkich par (T, T
0
).
Drzewo T może być utworzone L
n
sposobami. Z kolei drzewo T
0
powstaje z T na n − 1 − (m − 1) sposobów, gdyż wyznaczone jest ono
jednoznacznie poprzez usuniętą krawędź (w naszym przypadku lf ).
Z tego też względu liczba wszystkich par (T, T
0
) jest równa
L
n
(m − 1) · (n − m).
Załóżmy z kolei, że T
0
jest drzewem oznakowanym o n wierzchoł-
kach i takim, że dla dowolnego ustalonego wierzchołka u zachodzi
deg(u) = m. Jeżeli usunie się wierzchołek u wraz z incydentnymi z nim
krawędziami, otrzyma się m drzew T
0
1
, T
0
2
, ..., T
0
m
. Wybierzmy w dowol-
ny sposób jedną z m krawędzi łączących u z którymś z sąsiadujących
z nim wierzchołków należącym do jednego z wymienionych poddrzew,
powiedzmy poddrzewa T
0
j
. Jeśli następnie ów wierzchołek połączymy
z dowolnie wybranym wierzchołkiem należącym do któregoś z pozo-
stałych drzew, to otrzymamy drzewo T (w przypadku rozpatrywanego
już grafu T
0
możemy usunąć krawędź uf , łącząc f z l, i tym samym
„powrócić” do grafu T ; możemy także usunąć inną krawędź, np. ug,
i połączyć, jak to jest przedstawione niżej, g z o).
Zliczanie grafów. Kilka wybranych problemów
205
u
b
a
c
g
d
k
h
l
o
f
p
q
r
s
x
y
w
t
z
Stosując wyżej opisaną procedurę, znowu otrzymujemy pary (T, T
0
).
Drzewo T
0
może być wybrane na L
(m)
n
sposobów. Z kolei wierzchołek
drzewa T
0
j
sąsiadujący z u może być połączony z pozostałymi wierz-
chołkami innych poddrzew na n − 1 − n
j
sposobów. Ponieważ
n
1
+ n
2
+ ... + n
α
+ 1 = n,
więc wszystkich par (T, T
0
) jest
L
n
(m)[n − 1 − n
1
+ n − 1 − n
2
+ ... + n − 1 − n
m
] = L
n
(m)(n − 1)(m − 1).
A zatem zachodzi równość
L
n
(m)(n − 1)(m − 1) = L
n
(m − 1)(n − m).
Zauważmy, że L
n
(n − 1) = 1.
u
v
n−1
v
1
v
2
v
3
206
Zliczanie grafów. Kilka wybranych problemów
Stąd i z zależności rekurencyjnej wynika, że
L
n
(n − 2) = L
n
(n − 1) · (n − 1) · (n − 2),
L
n
(n − 3) =
1
2
L
n
(n − 2) · (n − 1) · (n − 3) =
=
1
2
L
n
(n − 1) · (n − 1)
2
· (n − 2) · (n − 3).
itd.
Nietrudno stwierdzić, że
L
n
(m) =
n − 2
m − 1
!
(n − 1)
n−m−1
.
Stąd wynika, że
L
n
=
n−2
0
(n − 1)
n−2
+
n−2
1
(n − 1)
n−3
+ ...+
+
n−2
n−2
(n − 1)
0
= [(n − 1) + 1]
n−2
= n
n−2
,
co kończy dowód twierdzenia.
2
Wyniki zawarte w tym rozdziale zilustrujemy następującym przy-
kładem.
Przykład
(i) Wiadomo, że wszystkich grafów prostych o trzech wierzchołkach,
powiedzmy v
1
, v
2
, v
3
, jest
2(
3
2
) = 8.
Oto one
v
2
v
1
v
3
(1)
v
2
v
1
v
3
(2)
v
2
v
1
v
3
(3)
Zliczanie grafów. Kilka wybranych problemów
207
v
2
v
1
v
3
(4)
v
2
v
1
v
3
(5)
v
2
v
1
v
3
(6)
v
2
v
1
v
3
(7)
v
2
v
1
v
3
(8)
(ii) Grafów prostych oznakowanych o czterech wierzchołkach i pięciu
krawędziach jest
4
2
5
!
=
6
5
!
= 6.
v
1
v
2
v
4
v
3
(1)
v
1
v
2
v
4
v
3
(2)
v
1
v
2
v
4
v
3
(3)
v
1
v
2
v
4
v
3
(4)
v
1
v
2
v
4
v
3
(5)
v
1
v
2
v
4
v
3
(6)
208
Zliczanie grafów. Kilka wybranych problemów
(iii) Różnych drzew oznakowanych o czterech wierzchołkach, zgodnie
z twierdzeniem Cayleya, jest
4
4−2
= 16.
Są to drzewa
v
1
v
2
v
3
v
4
(1)
v
1
v
2
v
4
v
3
(2)
v
1
v
3
v
2
v
4
(3)
v
1
v
3
v
4
v
2
(4)
v
1
v
4
v
2
v
3
(5)
v
1
v
4
v
3
v
2
(6)
v
2
v
1
v
3
v
4
(7)
v
2
v
1
v
4
v
3
(8)
v
2
v
3
v
1
v
4
(9)
v
2
v
4
v
1
v
3
(10)
v
3
v
1
v
2
v
4
(11)
v
3
v
2
v
1
v
4
(12)
Zliczanie grafów. Kilka wybranych problemów
209
v
4
v
1
v
2
v
3
(13)
v
4
v
2
v
1
v
3
(14)
v
4
v
3
v
1
v
2
(15)
v
3
v
4
v
1
v
2
(16)
Spis literatury
[1] T. Batóg, Podstawy logiki, Wydawnictwo Naukowe UA, Poznań
2003.
[2] N. Biggs, Discrete Mathematics, Oxford 1993.
[3] A. Błaszczyk, S. Turek, Teoria mnogości, Wydawnictwo Nauko-
we PWN, Warszawa 2007.
[4] J. A. Bondy, U. S. R. Murty, Graph theory with applications,
Elsevier, 1976.
[5] R. C. Bose, B. Manvel, Introduction to Combinatorial Theory,
John Wiley & Sons, New York etc. 1984.
[6] V. Bryant, Aspekty kombinatoryki, Wydawnictwo Naukowo-
Techniczne, Warszawa 2007.
[7] N. Christofides, Graph Theory. An Algorithmic Approach, Aca-
demic Press, New York etc. 1975.
[8] R. Diestel, Graph Theory, Springer-Verlag, Heidelberg, New York
2005.
[9] J. Flachsmeyer, Kombinatoryka. Podstawowy wykład w ujęciu
mnogościowym, Wydawnictwo Naukowe PWN, Warszawa 1977.
[10] A. Grzegorczyk, Zarys logiki matematycznej, Wydawnictwo Na-
ukowe PWN, Warszawa 1981.
212
Spis literatury
[11] J. E. Hopcroft, J. D. Ullman, Wprowadzenie do teorii automa-
tów, języków i obliczeń, Wydawnictwo Naukowe PWN, Warszawa
2003.
[12] S. W. Jabłoński, Wstęp do matematyki dyskretnej, Wydawnictwo
Naukowe PWN, Warszawa 1991.
[13] M. Omyła, Zarys logiki, Wydawnictwa Szkolne i Pedagogiczne,
Warszawa 1995.
[14] N. Rescher, Many-valued Logic, McGraw-Hill, Inc, New York etc.
1969.
[15] K. A. Ross, Ch. R. B. Wright, Matematyka dyskretna, Wydaw-
nictwo Naukowe PWN, Warszawa 2000.
[16] R. J. Wilson, Wprowadzenie do teorii grafów, Wydawnictwo Na-
ukowe PWN, Warszawa 2000.