Matematyka Dyskretna

Transkrypt

Matematyka Dyskretna
Matematyka Dyskretna
Andrzej Szepietowski
25 marca 2004 roku
Rozdział 1
Kombinatoryka
1.1 Zasada podwójnego zliczania
Zasada podwójnego zliczania jest bardzo prosta. Oto ona:
Jeżeli elementy jakiegoś zbioru sa˛ zliczane na dwa sposoby, to wynik obu zliczeń jest taki
sam.
Zastosujemy t˛e zasad˛e do udowodniena nast˛epujacego
˛
lematu:
Lemat 1.1 (O uściskach dłoni) Przypuśćmy, że na przyj˛eciu cz˛eść osób wita si˛e przez
uścisk dłoni. Wtedy liczba osób, które uścisn˛eły nieparzysta˛ liczb˛e dłoni jest parzysta.
Bardziej formalnie lemat ten można formułować za pomoca˛ grafów. Rozważmy graf,
którego wierzchołkami sa˛ osoby na przyj˛eciu, a kraw˛edzie łacz
˛ a˛ te osoby, które uścisn˛eły
sobie dłonie. Mamy.
Lemat 1.2 Niech G = (V, E), b˛edzie dowolnym grafem z m = |E| kraw˛edziami. Wtedy
X
d(v) = 2m,
v∈V
gdzie d(v) oznacza stopień wierzchołka v, czyli liczb˛e kraw˛edzi wychodzacych
˛
z v.
Dowód: Zliczmy końce wszystkich kraw˛edzi na dwa sposoby. Najpierw sumujemy po
wszystkich wierzchołkach v ile kraw˛edzi ma koniec w wierzchołku v. Otrzymamy sum˛e
P
epnie dla każdej kraw˛edzi zliczamy jej dwa końce. Otrzymamy wynik
v∈V d(v). Nast˛
2m. Teza wynika z zasady podwojnego zliczania.
2
P
Ponieważ suma v∈V d(v) jest parzysta, wi˛ec liczba nieparzystych składników jest
parzysta. Mamy wi˛ec:
Lemat 1.3 (O uściskach dłoni, druga wersja) W każdym grafie liczba wierzchołków nieparzystego stopnia jest parzysta.
3
4
Rozdział 1. Kombinatoryka
1.2 Ciagi
˛
Zastanówmy si˛e, ile ciagów
˛
długości k można utworzyć z elementów zbioru zawieraja˛
cego n symboli. Jeżeli zbiór symboli zawiera dwa elementy:
a, b,
to można utworzyć dwa ciagi
˛ długości jeden:
(a), (b),
cztery ciagi
˛ długości dwa:
(a, a), (a, b), (b, a), (b, b).
Aby uzyskać ciagi
˛ długości trzy, post˛epujemy w nast˛epujacy
˛ sposób: bierzemy cztery
ciagi
˛ długości dwa i najpierw do każdego z nich dopisujemy na poczatku
˛ a. Otrzymujemy
w ten sposób komplet:
(a, a, a), (a, a, b), (a, b, a), (a, b, b).
Zauważmy, że sa˛ to wszystkie ciagi
˛ długości trzy z pierwsza˛ litera˛ a. Potem do tych
samych czterech ciagów
˛
długości dwa dopisujemy na poczatku
˛ symbol b i otrzymujemy
komplet:
(b, a, a), (b, a, b), (b, b, a), (b, b, b).
Komplety te sa˛ rozłaczne
˛
i oba zawieraja˛ różne ciagi.
˛ Razem tworza˛ zbiór wszystkich
ciagów
˛
długości trzy:
(a, a, a), (a, a, b), (a, b, a), (a, b, b), (b, a, a), (b, a, b), (b, b, a), (b, b, b).
Post˛epujac
˛ podobnie, możemy otrzymać szesnaście ciagów
˛
długości cztery.
Twierdzenie 1.4 Liczba ciagów
˛
długości k o elementach ze zbioru {a, b} wynosi 2 k .
Dowód przez indukcj˛e. Jak już pokazano, sa˛ dwa ciagi
˛ długości jeden.
Załóżmy teraz, że liczba ciagów
˛
długości k wynosi 2k i zauważmy, że wszystkich
ciagów
˛
długości k + 1 jest dwa razy wi˛ecej. Jest 2k ciagów
˛
z pierwszym elementem a i
2k ciagów
˛
z pierwszym elementem b. Razem mamy 2 · 2k = 2k+1 ciagów
˛
długości k + 1.
2
Jeżeli zbiór symboli zawiera n elementów, to powtarzajac
˛ powyższe rozumowanie,
możemy si˛e przekonać, że istnieje n ciagów
˛
długości jeden, n2 ciagów
˛
długości dwa i
ogólnie ciagów
˛
długości k + 1 jest n razy wi˛ecej niż ciagów
˛
długości k. Zachodzi zatem
twierdzenie.
Twierdzenie 1.5 Liczba ciagów
˛
długości k o elementach ze zbioru n-elementowego wynosi nk .
1.3. Funkcje
5
1.3 Funkcje
Policzmy teraz, ile jest funkcji ze zbioru A w zbiór B. Przypuśćmy, że zbiór A zawiera k
elementów:
1, . . . , k.
Każda˛ funkcj˛e f z A w B można przedstawić jako ciag
˛
(f (1), f (2), . . . , f (k)).
Ciag
˛ ten jest długości k, a jego elementy sa˛ wzi˛ete ze zbioru B. Zauważmy, że każdej
funkcji odpowiada jeden ciag,
˛ i na odwrót, każdy ciag
˛
(b1 , b2 , . . . , bk )
opisuje jedna˛ funkcj˛e. Mianowicie funkcj˛e, która dla każdego i przypisuje wartość
f (i) = bi .
Przykład 1.6 Jeżeli A składa si˛e z czterech elementów:
A = {1, 2, 3, 4},
a B składa si˛e z trzech elementów:
B = {1, 2, 3},
to ciag
˛
(2, 2, 2, 2)
opisuje funkcj˛e stała,˛ która w całej swojej dziedzinie przyjmuje wartość 2, a ciag
˛
(1, 2, 3, 3)
opisuje funkcj˛e f , która przyjmuje nast˛epujace
˛ wartości:
f (1) = 1,
f (2) = 2,
f (3) = 3,
f (4) = 3.
Z powyższego wynika, że funkcji ze zbioru A w zbiór B jest tyle samo co ciagów
˛
długości
k = |A| z elementami ze zbioru B. Udowodniliśmy wi˛ec poniższe twierdzenie.
Twierdzenie 1.7 Jeżeli zbiór A zawiera k elementów, a zbiór B zawiera n elementów, to
liczba funkcji ze zbioru A w zbiór B wynosi nk .
1.4 Ciagi
˛ bez powtórzeń
Policzmy teraz, ile jest ciagów
˛
bez powtórzeń, czyli ciagów
˛
różnowartościowych. Jeżeli
elementy bierzemy ze zbioru trzyelementowego
{1, 2, 3},
6
Rozdział 1. Kombinatoryka
to możemy utworzyć trzy ciagi
˛ jednoelementowe:
(1),
(2),
(3),
sześć różnowartościowych ciagów
˛
dwuelementowych:
(1, 2),
(1, 3),
(2, 1),
(2, 3),
(3, 1),
(3, 2)
oraz sześć ciagów
˛
trójelementowych:
(1, 2, 3),
(1, 3, 2),
(2, 1, 3),
(2, 3, 1),
(3, 1, 2),
(3, 2, 1).
Nie ma, oczywiście, dłuższych ciagów
˛
różnowartościowych utworzonych z elementów
zbioru {1, 2, 3}.
Twierdzenie 1.8 Jeżeli elementy wybieramy ze zbioru n-elementowego A, to liczba cia˛
gów k-elementowych bez powtórzeń, które można wybrać z tego zbioru, wynosi:
n(n − 1) · · · (n − k + 1).
W tym wyrażeniu mamy iloczyn k kolejnych liczb, poczynajac
˛ od (n − k + 1), a kończac
˛
na n.
Dowód. Jeżeli budujemy ciag
˛ bez powtórzeń, to na pierwszy element ciagu
˛ możemy wybrać każdy z n elementów zbioru A, na druga˛ pozycj˛e w ciagu
˛ możemy wybra ć już tylko
jeden z n − 1 elementów (wszystkie poza tym, który został wybrany na pierwszy element
ciagu)
˛ i tak dalej, na każda˛ kolejna˛ pozycj˛e mamy o jeden element do wyboru mniej. 2
Zauważmy, że jeżeli k > n, to n(n − 1) . . . (n − k + 1) = 0, co jest zgodne z tym, że
w takim przypadku nie można utworzyć żadnego k-elementowego ciagu
˛ bez powtórzeń
z elementami ze zbioru A.
1.5 Permutacje
Permutacje to ciagi
˛ bez powtórzeń długości n, wybierane ze zbioru n-elementowego. Na
przykład, mamy dwie permutacje dwuelementowe:
(1, 2),
(2, 1),
oraz sześć permutacji trzyelementowych:
(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1).
Zgodnie z twierdzeniem 1.8 liczba permutacji w zbiorze n-elementowym wynosi:
n(n − 1)(n − 2) . . . 1,
czyli jest równa n!.
1.5. Permutacje
7
Funkcja silnia n! określona jest dla n > 0 w nast˛epujacy
˛ sposób:
n! =
n
Y
i
i=1
Dodatkowo przyjmujemy 0! = 1. Mamy
1! = 1,
2! = 1 · 2 = 2,
3! = 1 · 2 · 3 = 6,
4! = 1 · 2 · 3 · 4 = 24.
Wartości funkcji silnia szybko rosna,
˛ na przykład:
5! = 120,
10! = 3 628 800,
20! ≈ 2433 · 1015 .
Dla przybliżonego obliczania silni korzysta si˛e ze wzoru Stirlinga:
√
n! ≈ e−n nn 2πn.
Dla każdego n zachodza˛ również nast˛epujace
˛ oszacowania:
n n n
√
√
n n
2πn
≤ n! ≤ 2πn
e 12 .
e
e
(1.1)
(1.2)
Dowody wzoru Stirlinga oraz powyższych oszacowań wychodza˛ poza zakres tego podr˛ecznika.
Czasami używa si˛e innej definicji permutacji. Mianowicie permutacja n-elementowa
to dowolna funkcja różnowartościowa ze zbioru {1, 2, . . . , n} na ten sam zbiór. Na oznaczenie permutacji π używa si˛e zapisu:
1
2
...
n
.
π(1) π(2) . . . π(n)
Przykład 1.9 Permutacja:
π=
1 2 3 4
2 1 4 3
jest funkcja,
˛ która przyjmuje nast˛epujace
˛ wartości:
π(1) = 2,
π(2) = 1,
π(3) = 4,
π(4) = 3.
Dwie permutacje n-elementowe można składać tak, jak składa si˛e funkcje. Złożenie π1 ◦
π2 permutacji π1 i π2 określone jest wzorem:
π1 ◦ π2 (x) = π1 (π2 (x)).
Na przykład:
1 2 3 4
2 1 4 3
1 2 3 4
1 2 3 4
◦
=
.
3 2 1 4
4 1 2 3
Zbiór wszystkich permutacji na zbiorze {1, . . . , n} z działaniem złożenia ma nast˛epujace
˛
własności:
8
Rozdział 1. Kombinatoryka
• Złożenie permutacji jest łaczne.
˛
To znaczy, dla każdych trzech permutacji π, ρ, σ:
π ◦ (ρ ◦ σ) = (π ◦ ρ) ◦ σ.
• Wśród permutacji istnieje identyczność id, czyli permutacja, która każdemu x z
dziedziny przypisuje wartość id(x) = x. Identyczność jest elementem neutralnym
składania permutacji, ponieważ dla każdej permutacji π:
id ◦ π = π ◦ id = π.
• Dla każdej permutacji π istnieje permutacja odwrotna (funkcja odwrotna) π −1 ,
spełniajaca
˛ warunek:
π ◦ π −1 = π −1 ◦ π = id.
Powyższe zależności oznaczaja,
˛ że zbiór wszystkich permutacji na zbiorze {1, . . . , n} z
działaniem składania permutacji stanowi grup˛e.
1.6
Podzbiory
Policzmy teraz, ile podzbiorów ma skończony zbiór n-elementowy. Jeżeli zbiór składa
si˛e z trzech elementów:
{a, b, c},
to możemy łatwo wypisać wszystkie jego podzbiory:
∅,
{a},
{b},
{c},
{a, b},
{a, c},
{b, c},
{a, b, c}.
Tych podzbiorów jest osiem. Każdy zbiór trzyelementowy posiada osiem podzbiorów,
ponieważ nie ma znaczenia, jak nazywaja˛ si˛e elementy zbioru. Zbiór pusty ma tylko jeden
podzbiór: zbiór pusty. Jeżeli zbiór zawiera jeden element {a}, to ma dwa podzbiory:
∅,
{a},
a jeżeli zbiór zawiera dwa elementy {a, b}, to ma cztery podzbiory:
∅,
{a},
{b},
{a, b}.
Rozważmy teraz ogólnie podzbiory zbioru
{1, 2, 3, . . . , n}.
Z każdym podzbiorem
A ⊂ {1, 2, 3, . . . , n}
jest zwiazana
˛
jego funkcja charakterystyczna, określona nast˛epujacym
˛
wzorem:
1, gdy i ∈ A,
χA (i) =
0, gdy i ∈
/ A.
1.7. Podzbiory k-elementowe
9
Dziedzina˛ funkcji χA jest zbiór {1, . . . , n}, a przeciwdziedzina˛ zbiór {0, 1}. Zauważmy,
że każdemu podzbiorowi odpowiada jedna funkcja charakterystyczna, i na odwrót, jeżeli
weźmiemy dowolna˛ funkcj˛e:
χ : {1, . . . , n} → {0, 1},
to wyznacza ona zbiór:
A = {i | χ(i) = 1}.
Przykład 1.10 Dla n = 5 funkcja charakterystyczna χA zbioru A = {2, 3, 5} jest opisana przez ciag
˛ (0, 1, 1, 0, 1), a ciag
˛ (1, 0, 1, 1, 0) opisuje funkcj˛e charakterystyczna˛ zbioru:
{1, 3, 4}.
Z powyższych rozważań wynika, że liczba podzbiorów zbioru n-elementowego jest równa liczbie funkcji ze zbioru {1, . . . , n} w zbiór {0, 1}. Czyli na podstawie twierdzenia 1.7
mamy.
Twierdzenie 1.11 Każdy n-elementowy zbiór ma 2n podzbiorów.
1.7 Podzbiory k-elementowe
Zastanówmy si˛e teraz nad podzbiorami określonej mocy. Mówimy, że zbiór jest mocy n,
jeżeli zawiera n elementów. Dla zbioru czteroelementowego
{1, 2, 3, 4},
mamy jeden podzbiór pusty (zeroelementowy), cztery podzbiory jednoelementowe:
{1},
{2},
{3},
{4},
sześć podzbiorów dwuelementowych:
{1, 2},
{1, 3},
{1, 4},
{2, 3},
{2, 4},
{3, 4},
cztery podzbiory trzyelementowe:
{1, 2, 3},
{1, 2, 4},
{1, 3, 4},
{2, 3, 4},
i jeden podzbiór czteroelementowy:
{1, 2, 3, 4}.
Liczb˛e podzbiorów k-elementowych zbioru n-elementowego oznacza si˛e przez
n
.
k
10
Rozdział 1. Kombinatoryka
Jest to tak zwany symbol Newtona. Inaczej, nk jest równe liczbie sposobów na jakie
można wybrać k elementów ze zbioru n elementowego. Właśnie pokazaliśmy, że:
4
4
4
4
4
= 1,
= 4,
= 6,
= 4,
= 1.
0
1
2
3
4
Z definicji wynika, że jeżeli k > n, to nk = 0. Zachodza˛ dwa wzory:
n
n
=
,
(1.3)
k
n−k
n+1
n
n
=
+
.
(1.4)
k
k
k−1
Wzór (1.3) bierze si˛e z prostej obserwacji, że wybranie k elementów, które należa˛ do
podzbioru A, jest równoważne wybraniu n − k elementów, które do A nie należa.˛
Aby uzasadnić równość (1.4), rozważmy k-elementowe podzbiory zbioru
{1, . . . , n, n + 1}.
Policzmy osobno te podzbiory, które zawieraja˛ element
n + 1, i osobno te, które go nie
zawieraja.
˛ Podzbiorów nie zawierajacych
˛
n + 1 jest nk , bo wszystkie k elementów
trze
n
ba wybrać ze zbioru {1, . . . , n}. Podzbiorów zawierajacych
˛
n + 1 jest k−1
, bo k − 1
elementów trzeba wybrać ze zbioru {1, . .. , n}. Razem
wszystkich k-elementowych pod
n
.
zbiorów zbioru {1, . . . , n, n + 1} jest nk + k−1
Korzystajac
˛ z równości (1.4), możemy obliczać symbole Newtona rekurencyjnie. Najpierw mamy 00 = 1, ponieważ jest jeden zeroelementowy (pusty) podzbiór zbioru zeroelementowego (pustego). Jeżeli mamy już policzone symbole Newtona dla n, to możemy
liczyć, ile jest podzbiorów zbioru (n + 1)-elementowego. Zaczynamy od n+1
= 1
n+1
n+1
oraz 0 = 1, a nast˛epnie korzystamy z równania (1.4). Metod˛e t˛e ilustruje tak zwany
trójkat
˛ Pascala:
1
1
1
1
1
1
1
3
4
5
6
1
2
6
10
15
1
3
1
4
10
20
1
5
15
1
6
1
W n-tym wierszu (wiersze numerowane sa˛ od n = 0) znajduja˛ si˛e symbole Newtona:
n
n
n
n
...
.
0
1
2
n
Na skraju znajduja˛ si˛e jedynki, ponieważ n0 = nn = 1. k-ty element w n-tym wierszu
dla 1 ≤ k ≤ n − 1 jest suma˛ dwóch elementów stojacych
˛
bezpośrednio nad nim:
n
n−1
n−1
=
+
.
k
k
k−1
1.8. Dwumian Newtona
Jeżeli 0 ≤ k ≤ n, to symbol Newtona można też obliczyć ze wzoru:
n
n(n − 1) · · · (n − k + 1)
=
k
k!
lub
n
n!
=
k!(n − k)!
k
11
(1.5)
(1.6)
Oto uzasadnienie wzoru (1.5): Aby wybrać podzbiór k-elementowy ze zbioru {1, . . . , n},
wybieramy k-elementowy ciag
˛ bez powtórzeń i bierzemy do podzbioru elementy tego
ciagu
˛ ignorujac
˛ ich kolejność. Ponieważ każdemu k-elementowemu podzbiorowi odpowiada k! ciagów
˛
o tych samych elementach, wi˛ec podzbiorów jest k! razy mniej niż
k-elementowych ciagów
˛
bez powtórzeń. Wzór (1.5) wynika teraz z twierdzenia 1.8, a
wzór (1.6) bezpośrednio ze wzoru (1.5).
Wzór (1.5) pozwala wyprowadzić oszacowania na wartość symbolu Newtona, dla 1 ≤
k ≤ n:
n(n − 1) · · · (n − k + 1) n n − 1
n
n−k+1
n k
=
···
≥
=
.
k
k(k − 1) · · · 1
k
k−1
1
k
n
˛ z
Ponieważ, jak łatwo sprawdzić n−i
k−i ≥ k dla każdego 1 ≤ i ≤ k − 1. Korzystajac
k k
nierówności k! ≥ ( e ) wyprowadzonej ze wzoru Stirlinga (1.2), otrzymujemy górne
ograniczenie:
en k
n
n(n − 1) · · · (n − k + 1)
nk
=
.
≤
≤
k
k!
k!
k
1.8 Dwumian Newtona
Symbole Newtona wyst˛epuja˛ w znanym twierdzeniu Newtona.
Twierdzenie 1.12 (dwumian Newtona) Dla każdej liczby rzeczywistej t oraz liczby całkowitej n ≥ 0 zachodzi:
n X
n k
(1 + t)n =
t .
k
k=0
Dowód, przez indukcj˛e. Wzór jest oczywisty dla n = 0. Załóżmy teraz, że jest prawdziwy dla n. Mamy:
!
n X
n k
n+1
n
t (1 + t).
(1 + t)
= (1 + t) (1 + t) =
k
k=0
Współczynnik przy tk po prawej stronie wynosi:
n
n
+
.
k−1
k
12
Rozdział 1. Kombinatoryka
k−1
n
Pierwszy składnik pochodzi od iloczynu: k−1
t
· t, a drugi od iloczynu: nk tk · 1. Ze
wzoru (1.4) wynika, że współczynnik przy tk wynosi n+1
2
k .
b
n
Jeżeli do wzoru Newtona podstawimy t = a , a potem pomnożymy obie strony przez a ,
to otrzymamy inna˛ znana˛ wersj˛e wzoru Newtona.
Wniosek 1.13 Dla dowolnych liczb rzeczywistych a i b i dowolnej liczby całkowitej n ≥
0:
n X
n n−k k
n
a
b .
(a + b) =
k
k=0
Jeżeli podstawimy t = 1 do wzoru z twierdzenia 1.12, to otrzymamy:
n X
n
n
,
2 =
k
k=0
co potwierdza jeszcze raz, że wszystkich podzbiorów zbioru n-elementowego jest 2 n .
Zobaczymy teraz, że wśród wszystkich podzbiorów zbioru {1, . . . , n} jest tyle samo
podzbiorów mocy parzystej (o parzystej liczbie elementów) i podzbiorów mocy nieparzystej (o nieparzystej liczbie elementów).
Twierdzenie 1.14 Dla każdego zbioru zawierajacego
˛
n > 0 elementów, liczba podzbiorów parzystej mocy jest równa liczbie podzbiorów nieparzystej mocy.
Pierwszy dowód. Jeżeli podstawimy t = −1 do wzoru Newtona, to otrzymamy:
n
X
k n
.
0=
(−1)
k
k=0
Zauważmy, że w sumie po prawej stronie z plusem wyst˛epuja˛ symbole Newtona nk
dla parzystych k, a z minusem — dla nieparzystych k. Tak wi˛ec z plusem mamy liczb˛e
podzbiorów parzystej mocy, a z minusem liczb˛e podzbiorów nieparzystej mocy. Z powyższego wzoru wynika, że podzbiorów parzystej mocy jest tyle samo co podzbiorów mocy
nieparzystej.
Drugi dowód. Rozważmy funkcj˛e f , która każdemu podzbiorowi
A ⊂ {1, 2, . . . , n}
przyporzadkuje
˛
podzbiór
f (A) = A ⊕ {n} = (A − {n}) ∪ ({n} − A),
czyli różnic˛e symetryczna˛ zbioru A i zbioru jednoelementowego {n}. Zauważmy, że
funkcja f łaczy
˛
podzbiory w pary, ponieważ jeżeli f (A) = B, to f (B) = A. Rzeczywiście, jeżeli A zawiera n, to B = A − {n} i B ⊕ {n} = A. Jeżeli natomiast A nie zawiera
n, to B = A ∪ {n} i również B ⊕ {n} = A.
Pozostaje zauważyć, że z pary zbiorów A i f (A) jeden jest mocy parzystej i jeden
nieparzystej.
2
1.9. Zasada szufladkowa Dirichleta
13
1.9 Zasada szufladkowa Dirichleta
Zasada szyfladkowa Dirichleta w najprostszej postaci mówi, że jeżeli mamy k kul i chcemy je rozmieścić w m < k szufladach, to w przynajmniej jednej szufladzie musi znaleźć
si˛e wi˛ecej niż jedna kula. W nieco ogólniejszej postaci brzmi ona nast˛epujaco:
˛
Twierdzenie 1.15 (Zasada szufladkowa Dirichleta) Jeżeli zbiór A podzielimy na k podecej elementów.
zbiorów, to przynajmniej jeden z tych podzbiorów ma |A|
k lub wi˛
Dowód Nie wprost. Przypuśćmy, że każdy z k podzbiorów ma mniej niż
Wtedy cały zbiór A ma mniej niż k |A|
k = |A| elementów; sprzeczność.
|A|
k
elementów.
2
Przykład 1.16 Wyobraźmy sobie urn˛e z białymi i czarnymi kulami, po 10. Jeżeli wylosujemy trzy kule, to b˛eda˛ wśród nich dwie kule w tym samym kolorze, a jeżeli wylosujemy 9
kul, to b˛edziemy mieli 5 kul w jednym kolorze.
Przykład 1.17 Przypuśćmy, że na przyj˛eciu jest n osób i niektorzy witaja˛ si˛e przez podanie dłoni. Pokażemy, że wśród nich znajda˛ si˛e dwie osoby, które uścisn˛eły tyle samo dłoni.
Najpierw załóżmy, że każda osoba uścisn˛eła komuś dłoń. Mamy wtedy n osób, z których
każda uścisn˛eła dłoń od 1 do n − 1 razy. Musza˛ być wi˛ec dwie osoby z ta˛ sama˛ liczba˛
uścisków. Jeżeli natomiast jest osoba, która nie uścisn˛eła dłoni nikomu, to wtedy nie może
być osoby, która uścisn˛eła n − 1 dłoni. Czyli mamy n osób, z których każda uścisn˛eła dłoń
od 0 do n − 2 razy.
1.10
Zasada sumy
W najprostszej postaci zasada sumy, mówi że moc sumy dwóch zbiorów A i B jest równa
|A ∪ B| = |A| + |B| − |A ∩ B|.
Wyobraźmy sobie, że obliczajac
˛ prawa˛ stron˛e tej równości liczymy po kolei elementy
zbioru A i dla każdego elementu dodajemy +1 do ogólnej sumy, nast˛epnie liczymy elementy zbiorów B i dla każdego dodajemy +1, a na końcu liczymy elementy przekroju
A ∩ B i dla każdego dodajemy −1. Zastanówmy si˛e teraz jaki jest udział poszczególnych
elementów w tak powstałej sumie. Jeżeli jakiś element wyst˛epuje tylko w A lub tylko w
B, to jego udział wynosi 1. Ale także, jeżeli należy do obu zbiorów A i B to jego udział
wynosi 1 = 1 + 1 − 1. Dlatego na końcu wynik b˛edzie równy liczbie elementów, które
należa˛ do jednego lub drugiego zbioru.
Przykład 1.18 Policzmy ile liczb naturalnych z przedziału od 1 do 30 jest podzielnych
przez 2 lub 3. Niech A2 oznacza zbiór liczb podzielnych przez 2, a A3 zbiór liczb podzielnych przez 3. Liczby podzielne przez 2 lub 3 tworza˛ zbiór A2 ∪ A3 . Mamy
|A2 | = 15,
|A3 | = 10 oraz |A2 ∩ A3 | = 5.
A2 ∩ A3 zawiera liczby podzielne przez 2 i 3, czyli podzielne przez 6. Ze wzoru na sum˛e
otrzymujemy:
|A2 ∪ A3 | = 15 + 10 − 5 = 20.
14
Rozdział 1. Kombinatoryka
Podobnie możemy uzasadnić wzór na sum˛e trzech zbiorów:
|A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|.
Jeżeli zastosujemy podobne liczenie, to udział elementów, które należa˛ tylko do jednego
zbioru, wynosi 1, tych, które należa˛ do dwóch (ale nie do trzech naraz), wynosi 1+1−1 =
1, a tych, które należa˛ do wszystkich trzech zbiorów, 1 + 1 + 1 − 1 − 1 − 1 + 1 = 1.
Przykład 1.19 Policzmy ile liczb z przedziału od 1 do 30 jest podzielnych przez 2, 3, lub
5. Niech A2 oznacza zbiór liczb podzielnych przez 2, A3 zbiór liczb podzielnych przez
3, a A5 podzielnych przez 5. Mamy |A2 | = 15, |A3 | = 10, |A5 | = 6, |A2 ∩ A3 | = 5,
|A2 ∩ A5 | = 3, |A3 ∩ A5 | = 2, |A2 ∩ A3 ∩ A5 | = 1. Ze wzoru na sum˛e otrzymujemy:
|A2 ∪ A3 ∪ A5 | = 15 + 10 + 6 − 5 − 3 − 2 + 1 = 22.
Jak widać, tylko osiem liczb mniejszych od 30 nie jest podzielnych przez 2, 3 lub 5; sa˛ to:
1, 7, 11, 13, 17, 19, 23, 29.
W nast˛epnym podrozdziale pokażemy jak można obliczyć sumy dowolnej skończonej
klasy zbiorów.
1.11
Zasada właczania
˛
i wyłaczania
˛
Zacznijmy od przykładu.
Przykład 1.20 W grupie 100 studentów 45 uprawia koszykówk˛e, 53 pływanie i 55 szachy.
Takich, którzy graja˛ w koszykówk˛e i pływaja,
˛ jest 28; takich, którzy graja˛ w koszykówk˛e i
szachy, jest 32, takich, którzy graja˛ w szachy i pływaja,
˛ jest 35, a takich, którzy uprawiaja˛ wszystkie trzy sporty, jest 20. Pytanie: ilu studentów nie uprawia ani koszykówki, ani
pływania? To zadanie można rozwiazać
˛
za pomoca˛ tak zwanego diagramu Venna (rysunek ??). Posługujac
˛ sie diagramem łatwo policzyć, że:
8 studentów uprawia koszykówk˛e i pływanie, ale nie gra w szachy,
15 pływa i gra w szachy, ale nie gra w koszykówk˛e;
10 pływa, ale nie gra w ani w koszykówk˛e, ani w szachy,
i tak dalej.
Widać też, że 22 studentów nie uprawia żadnego sportu.
Zasada właczania
˛
i wyłaczania
˛
pozwala rozwiazywać
˛
tego typu zadania bez diagramów Venna. Niech X b˛edzie naszym uniwersum, A1 , . . . , An jego podzbiorami. Dla
każdego podzbioru I zbioru indeksów I ⊂ {1, . . . , n} definiujemy zbiór:
\
AI =
Ai ,
i∈I
przyjmujemy przy tym A∅ = X.
1.11. Zasada właczania
˛
i wyłaczania
˛
15
Rysunek 1.1: Diagram Venna
pływacy
22
10
15
8
20
5
8
12
szachiści
koszykarze
Przykład 1.21 W przykładzie 1.20 X to zbiór wszystkich studentów, A 1 to uprawiajacy
˛
koszykówk˛e, A2 — pływanie, a A3 — szachy:
• A{1,2} = A1 ∩ A2
to uprawiajacy
˛ koszykówk˛e i pływanie,
• A{1,3} = A1 ∩ A3
to uprawiajacy
˛ koszykówk˛e i szachy,
• A{2,3} = A2 ∩ A3
to uprawiajacy
˛ pływanie i szachy,
• A{1,2,3} = A1 ∩ A2 ∩ A3
to uprawiajacy
˛ wszystkie trzy sporty.
Twierdzenie 1.22 (zasada właczania
˛
i wyłaczania)
˛
Niech X, b˛edzie dowolnym skończonym zbiorem (uniwersum), a A1 , . . . , An dowolnymi jego podzbiorami. Wtedy liczba elementów uniwersum X, które nie należa˛ do żadnego podzbioru A i , wynosi:
X
(−1)|I| |AI |.
(1.7)
I⊂{1,...,n}
16
Rozdział 1. Kombinatoryka
Sumujemy
T tutaj po wszystkich podzbiorach I zbioru {1, . . . , n}, a A I oznacza przekrój
AI = i∈I Ai .
Przykład 1.23 Stosujac
˛ zasad˛e właczania
˛
i wyłaczania
˛
do przykładu ze studentami możemy teraz policzyć studentów, którzy nie uprawiaja˛ żadnego sportu:
|A∅ | − |A1 | − |A2 | − |A3 | + |A{1,2} | + |A{1,3} | + |A{2,3} | − |A{1,2,3} |=
|X| − |A1 | − |A2 | − |A3 | + |A1 ∩ A2 | + |A1 ∩ A3 | + |A2 ∩ A3 |
−|A1 ∩ A2 ∩ A3 |=
100 − 45 − 53 − 55 + 28 + 32 + 35 − 20=22.
Dowód Twierdzenia 1.22. Podobnie jak w poprzednim podrozdziale, żeby obliczy ć sum˛e (1.7), liczymy elementy poszczególnych zbiorów A I , i dla każdego elementu dodajemy (−1)|I| do sumy (+1, gdy |I| jest parzyste, lub −1, gdy |I| jest nieparzyste). Udział
pojedynczego elementu x w tak utworzonej sumie wynosi
X
(−1)|I| ,
x∈AI
czyli jest równy sumie współczynników (−1)|I| dla tych podzbiorów I ⊂ {1, . . . , n}, dla
których x ∈ AI .
Jeżeli x nie należy do żadnego z podzbiorów Ai , to x jest liczony tylko raz, w zbiorze A∅ , i jego udział w sumie (1.7) wynosi 1. Przypuśćmy teraz, że x należy do jakiś
podzbiorów i niech
J = {i ∈ {1, . . . , n} : x ∈ Ai },
czyli J to indeksy tych podzbiorów, które zawieraja˛ x, niech |J| = j. Zauważmy
teraz,
T
że x ∈ AI wtedy i tylko wtedy, gdy I ⊂ J. Rzeczywiście x ∈ AI = i∈I Ai wtedy i
tylko wtedy, gdy x ∈ Ai , dla każdego i ∈ I, czyli gdy I ⊂ J. Tak wi˛ec udział elementu
x w sumie (1.7) wynosi:
X
(−1)|I| .
I⊂J
Jest to suma po wszystkich podzbiorach I zbioru
J. Uporzadkujmy
˛
teraz składniki tej
sumy według mocy podzbiorów I. Mamy ji podzbiorów mocy i, wi˛ec:
X
I⊂J
(−1)
|I|
=
j X
j
i=0
i
(−1)i = (1 − 1)j = 0.
Przedostatnia równość wynika ze wzoru Newtona. Tak wi˛ec wkłady elementów, które nie
należa˛ do żadnego Ai , wynosza˛ po 1, a wkłady tych elementów, które należa˛ do jakiegoś
Ai , wynosza˛ po 0. A zatem suma (1.7) zlicza elementy nie należace
˛ do żadnego A i . 2
Aby policzyć moc sumy zbiorów
n
[
Ai
i=1
możemy wykorzystać wzór (1.7), przy założeniu, że X =
Sn
i=1
Ai . Mamy wtedy
1.12. Przestawienia
17
Twierdzenie 1.24
n
[
X
(−1)|I| |AI |.
Ai = −
I⊂{1,...,n}
i=1
I6=∅
1.12 Przestawienia
Przestawieniem b˛edziemy nazywać permutacj˛e bez punktu stałego, czyli taka˛ permutacj˛e,
w której żaden element nie stoi na swoim miejscu. Wykorzystamy teraz zasad˛e właczania
˛
i wyłaczania,
˛
do policzenia liczby przestawień w zbiorze n-elementowym.
Twierdzenie 1.25 Liczba przestawień (permutacji bez punktów stałych) w zbiorze nelementowym wynosi:
n
X
(−1)i
n!
.
i!
i=0
Dowód. Niech X = Sn b˛edzie zbiorem wszystkich permutacji na zbiorze {1, . . . , n},
a Ai zbiorem permutacji, w których i jest punktem stałym, to znaczy A i = {π ∈ Sn |
π(i) = i}. Moc zbioru Ai wynosi:
|Ai | = (n − 1)!,
ponieważ w zbiorze Ai sa˛ te permutacje, które permutuja˛ wszystkie n − 1 elementów
oprócz i-tego. Podobnie moc zbioru AI wynosi:
\ |AI | = Ai = (n − |I|)!,
i∈I
bo teraz w AI permutujemy n − |I| elementów, wszystkie oprócz tych, które należa˛ do I.
Permutacje bez punktów stałych to te permutacje, które nie należa˛ do żadnego ze zbiorów
Ai . Z zasady właczania
˛
i wyłaczania
˛
ich liczba wynosi
X
I⊂{1,...,n}
(−1)|I| (n − |I|)!.
Pogrupujmy teraz składniki sumy według mocy zbiorów I. Mamy ni podzbiorów mocy
i. Dla każdego z nich składnik sumy wynosi (−1)i (n − i)!, tak wi˛ec liczba przestawień
wynosi:
n
X
i n
(−1)
(n − i)!.
i
i=0
Twierdzenie wynika teraz z równości
n
i
(n − i)! =
n!
i! .
2
18
Rozdział 1. Kombinatoryka
1.13 Generowanie obiektów kombinatorycznych
W tym rozdziale zajmiemy si˛e algorytmami generujacymi
˛
(wypisujacymi)
˛
obiekty kombinatoryczne. Przedstawione algorytmy b˛eda˛ działaly według nast˛epujacego
˛
schematu:
• Wypisujemy pierwszy obiekt.
• Powtarzamy, aż do napotkania ostatniego obiektu:
Przetwarzamy bieżacy
˛ obiekt tak, aby otrzymać nast˛epny obiekt.
Takie algorytmy maja˛ ta˛ zalet˛e, że nie wymagaja˛ dużo pami˛eci. Należy tylko pami˛etać jeden obiekt. Algorytmy generujace
˛ obiekty sa˛ używane w przypadku, gdy chcemy
sprawdzić wszystkie obiekty danej klasy lub wtedy, gdy chcemy wylosować obiekt danej klasy. Przypuśćmy, na przykład, że chcemy wylosować jakiś 3 elementowy
podzbiór
zbioru {1, . . . , 7}. W tym celu losujemy liczb˛e naturalna˛ k od 1 do 73 = 35, a nast˛epnie
generujujemy podzbiory, aż do elementu k.
1.13.1 Generowanie podzbiorów
Algorytm wypisujacy
˛ wszystkie podzbiory zbioru {1, . . . , n}:
Pierwszy podzbiór: A = ∅.
By uzyskać nast˛epny po A podzbiór:
Wybieramy najwi˛ekszy element a ∈ {1, . . . , n} nie należacy
˛ do A,
czyli a = max{1 ≤ i ≤ n | i ∈
/ A}
Jeżeli takiego a nie ma, to
koniec algorytmu, zbiór A = {1, . . . , n} jest ostatnim podzbiorem.
W przeciwnym przypadku
dodajemy a do A i usuwamy z A wszystkie elementy wi˛eksze od a.
Przykład 1.26 Dla n = 3 powyższy algorytm wypisze po kolei nast˛epujace
˛ zbiory: ∅,
{3}, {2}, {2, 3}, {1}, {1, 3}, {1, 2}, {1, 2, 3}.
Funkcje charakterystyczne wypisywanych podzbiorów, traktowane jako binarny zapis liczb, tworza˛ ciag
˛ kolejnych liczb od 0 do 2n − 1. Szukajac
˛ nast˛epnego elemenetu
algorytm post˛epuje podobnie jak algorytm zwi˛ekszania o jeden liczby w systemie dwójkowym.
1.13.2 Generowanie k-elementowych podzbiorów
Algorytm generujacy
˛ k elementowe podzbiory zbioru {1, . . . , n}:
Pierwszy k-podzbiór to {1, . . . , k};
Przypuśćmy, że ostatnio wygenerowany podzbiór to A = {a1 , . . . , ak },
gdzie a1 < . . . < ak .
Aby wygenerować nast˛epny podzbiór:
znajdujemy najmniejsze takie i, że ai + 1 ∈
/ A;
1.13. Generowanie obiektów kombinatorycznych
19
jeżeli ai = n, to
A = {n − k + 1, . . . , n} jest ostatnim podzbiórem.
jeżeli ai < n, to
zwi˛ekszamy ai o jeden,
elementymniejsze od ai zamieniamy na i − 1 najmniejszych liczb,
to znaczy aj := j dla j < i.
Przykład 1.27 Dla n = 6 i k = 4 algorytm wypisze po kolei nast˛epujace
˛ podzbiory
(podajemy je bez nawiasów i przecinków)
1234, 1235, 1245, 1345, 2345, 1236, 1246, 1346, 2346, 1256, 1356, 2356, 1456, 2456, 3456.
Zauważmy, że w przykładzie najpierw wypisywane sa˛ 4-podzbiory niezawierajace
˛ 6:
1234, 1235, 1245, 1345, 2345
a później 4-podzbiory zawierajace
˛ 6
1236, 1246, 1346, 2346, 1256, 1356, 2356, 1456, 2456, 3456,
które otrzymywane sa˛ w ten sposób, że do kolejnych 3-podzbiorów zbioru {1, . . . , 5} dopisywana jest 6. Jest to ogólna zasada działania tego algorytmu: aby wypisać j-podzbiory
zbioru {1, . . . , i} algorytm najpierw wypisuje j podzbiory zbioru {1, . . . , i − 1}, a nast˛epnie podzbiory zawierajace
˛ element i (sa˛ one otrzymywane przez dodawanie i do j − 1
podzbiorów zbioru {1, . . . , i − 1}). W powyższym przykładzie wśrod podzbiorów zawierajacych
˛
6 najpierw mamy te, które sa˛ utworzone z 3-podzbiorów {1, 2, 3, 4} z dopisana˛
6:
1236, 1246, 1346, 2346,
a po nich nast˛epuja˛ te, które sa˛ utworzone z 2-podzbiorów {1, 2, 3, 4}, z dopisana˛ 5 i 6:
1256, 1356, 2356, 1456, 2456, 3456.
Dlatego, kiedy w bieżacym
˛
zbiorze A = {a1 , . . . , ak } algorytm znalazł takie i, że ai +1 ∈
/
A, to znaczy, że algorytm jest w trakcie wypisywania tych podzbiorów, które zawieraja˛
ai+1 , . . . , ak (wszystkie wi˛eksze od ai + 1), plus jakiś i-podzbiór zbioru {1, . . . , ai +
1}. Zbiór A jest ostatnim podzbiorem, w którym wyst˛epuja˛ a i+1 , . . . , ak , oraz jakiś ipodzbiór zbioru {1, . . . , ai }, a nie wyst˛epuje ai + 1. Według opisanej wyżej zasady teraz
powinny nastapić
˛ podzbiory, które zawieraja˛ ai + 1 plus jakiś (i − 1)-podzbiór zbioru
{1, . . . , ai }, plus elementy ai+1 , . . . , ak . Pierwszy z nich to podzbiór
{1, . . . , i − 1, ai + 1, ai+1 . . . , ak }.
I taki element jest wypisywany po zbiorze A.
20
Rozdział 1. Kombinatoryka
1.13.3 Generowanie permutacji
Algorytm generowania permutacji zbioru {1, . . . , n}:
Pierwsza permutacja to identyczność, czyli ai = i, dla 1 ≤ i ≤ n.
Aby wypisać nast˛epna˛ po (a1 , . . . , an ) permutacj˛e:
Znajdujemy najwi˛eksze j, 1 ≤ j ≤ n − 1 spełniajace
˛ warunek a j < aj+1 ,
jeżeli takiego j nie ma, to
bieżaca
˛ permutacja jest ostatnia,
jeżeli takie j istnieje, to
zamieniamy aj z najmniejszym ak takim, że ak > aj oraz k > j,
nast˛epnie odwracamy porzadek
˛
elementów aj+1 , . . . , an .
Przykład 1.28 Oto 10 pierwszych permutacji czteroelementowych
1234, 1243, 1324, 1342, 1423, 1432, 2134, 2143, 2314, 2341, 2413, 2431,
Alorytm wypisuje permutacje w porzadku
˛
rosnacym,
˛
jeżeli potraktujemy permutacje jako
liczby zapisane z baza˛ n + 1, a liczby 1, . . . , n jako cyfry w tym systemie. Na przykład,
przypuśćmy, że bieżac
˛ a˛ permutacja˛ jest (436521). Algorytm znajduje j = 2 i a j = 3.
Wtedy ta permutacja jest ostatnia˛ (najwi˛eksza)
˛ permutacja˛ spośród permutacji zaczynaja˛
cych si˛e od (43...), bo od pozycji trzeciej mamy ciag
˛ malejacy
˛ (..6521) i jest to najwi˛ekszy ciag
˛ jaki można utworzyć z elementów 1,2,5,6. Teraz powinny nastapić
˛ permutacje
zaczynajace
˛ si˛e od (45...) (czwórki na pierwszym miejscu nie zmieniamy, a trójka na
drugim miejscu powinna być zamieniona przez nast˛epna˛ spośrod liczb stojacych
˛
za nia,˛
czyli przez 5). Pierwsza˛ taka˛ permutacja˛ jest ta, w której pozostałe elementy rosna,
˛ czyli
(451236).
1.14 Zadania
1. Ile numerów rejestracyjnych samochodów można utworzyć, jeżeli każdy numer
składa si˛e z trzech liter i czterech cyfr?
Ile numerów rejestracyjnych można utworzyć, jeżeli b˛edziemy dodatkowo wymagać, aby każdy numer zaczynał si˛e od spółgłoski?
2. Ile jest ciagów
˛
zero-jedynkowych długości 4, w których pierwszy i trzeci bit sa˛
jednakowe? Wypisz je wszystkie.
3. Jaka cz˛eść wszystkich ciagów
˛
zero-jedynkowych długości n > 3, posiada identyczne bity na pierwszej i trzeciej pozycji?
4. Ile jest liczb trzycyfrowych w systemie: a) dziesi˛etnym, b) dwójkowym, c) trójkowym? Ile jest liczb trzycyfrowych z różnymi cyframi.
5. Ile liczb trzycyfrowych zawiera cyfr˛e 2 lub 3?
6. Na ile sposobów można posadzić n osób przy okragłym
˛
stole. Nie robi różnicy,
gdzie kto siedzi, ale jakich ma sasiadów
˛
po lewej i prawej.
1.14. Zadania
21
7. Wypisz wszystkie funkcje ze zbioru {a, b} w zbiór {x, y, z}. Które z nich sa˛ różnowartościowe?
8. Wypisz wszystkie funkcje ze zbioru {1, 2, 3} w zbiór {1, 2}. Które z nich sa˛ monotoniczne?
9. Ile jest funkcji f ze zbioru {1, . . . , n} w zbiór {a, b, c}? ILe spośród nich spełnia
warunek f (1) = a, a ile spełnia warunek f (1) 6= f (2)?
10. Mamy dowolny graf G = (V, E). Na ile sposobów można pokolorować dwoma
kolorami jego wierzchołki? Na ile sposobów można pokolorować dwoma kolorami
wierzchołki tak, aby zgóry wybrana kraw˛edź e = {u, v} miała ko ńce w różnych
kolorach?
11. Ile jest monotonicznych ciagów
˛
zerojedynkowych długości n?
12. Mamy dwie permutacje:
π1 =
1 2 3 4 5
2 5 4 3 1
π2 =
1 2 3 4 5
1 5 4 3 2
Oblicz π1 ◦ π2 , π2 ◦ π1 , π1−1 ,
π2−1 .
13. Ile słów można utworzyć z liter słowa ULICA (litery nie moga˛ si˛e powtarzać)?
14. Mamy trójkat
˛ równoboczny o wierzchołkach a, b, c. Jakim przekształceniom odpowiadaja˛ permutacje jego wierzchołków?
15. Mamy czworościan o wierzchołkach a, b, c, d. Jakim przekształceniom odpowiadaja˛ permutacje jego wierzchołków?
16. Wypisz wszystkie 4-elementowe permutacje spełniajace
˛ warunek π(2) = 3.
17. Ile jest 6-elementowych permutacji spełniajacych
˛
warunek: a) π(2) = 3; b) a)
π(2) = 3 oraz pi(3) = 2.
18. W ilu permutacjach zbioru {1, . . . , n} jedynka stoi przed dwójka˛ (niekoniecznie
bezpośrednio).
19. Wypisz wszystkie podzbiory zbioru {x, y, z}.
20. Na ile sposobów można wybrać dwuosobowa˛ delegacj˛e z grupy pi˛ecioosobowej?
21. Wypisz funkcje charakterystyczne wszystkich trzyelementowych podzbiorów zbioru {1, 2, 3, 4, 5}.
22. W grupie jest pi˛eć dziewczat
˛ i pi˛eciu chłopców; a) na ile sposobów można wybrać podgrup˛e składajac
˛ a˛ si˛e: a) z trzech dziewczat
˛ i dwóch chłopców? b) Na ile
sposobów można utworzyć pi˛eć par z chłopcem i dziewczyna˛ w każdej parze?
22
Rozdział 1. Kombinatoryka
23. Znana jest zabawka dla dzieci składajaca
˛ si˛e z dwunastu sześciennych klocków z
naklejonymi na ściankach fragmentami obrazków. Na ile sposobów można ułożyć
te klocki w prostokat
˛ (trzy rz˛edy po cztery klocki w rz˛edzie)?
24. Udowodnij wzór k nk = n n−1
k−1
Wskazówka. Policz na dwa różne sposoby, ile k-elementowych drużyn z kapitanem
można utworzyć ze zbioru n sportowców.
2
Pn
25. Udowodnij wzór k=0 nk = 2n
n .
Wskazówka. Policz na dwa różne sposoby, ile n-elementowych grup można utworzyć w klasie złożonej z n chłopców i n dziewczat.
˛
26. Na ile sposobów można wybraż trzy liczby spośród liczb od 1 do 60, tak aby ich
suma była: a) nieparzysta; b) parzysta; c) podzielna przez 3.
27. Udowodnij, że nk jest najwi˛eksze dla k = d n2 e i k = b n2 c.
22n
28. Udowodnij, że 2n
n ≥ 2n+1 .
29. Rozwiń wielomian (1 + t)8 .
Pn
30. Udowodnij, że i=0 ni 2i = 3n .
31. Udowodnij wzory:
n
n−1
n−2
3
2
=
+
+··· +
+
3
2
2
2
2
n
n−1
n−2
k
k−1
=
+
+··· +
+
.
k
k−1
k−1
k−1
k−1
Wskazówka. Należy osobno policzyć podzbiory, w których 1 jest najmniejszym
elemnetem, osobno te, w których 2 jest najmniejszym elementem i tak dalej.
32. Ile jest ściśle rosnacych
˛
funkcji ze zbioru {1, . . . , n} w zbiór {1, . . . , m}.
33. Ile maksymalnie kraw˛edzi może mieć graf o n wierzchołkach? Ile maksymalnie
kraw˛edzi może mieć graf skierowany o n wierzchołkach?
34. Na ile sposobów można pokolorować dwoma kolorami kraw˛edzie pełnego grafu z
n wierzchołkami?
35. Mamy zbiór wierzchołków V = {1, . . . , n}. a) Ile jest grafów ze zbiorem wierzchołków V ? b) W ilu grafach {1, 2} jest kraw˛edzia?
˛ c) Ile jest grafów skierowanych
z zbiorem wierzchołków V ?
36. W urnie sa˛ kule białe i czarne. Ile kul trzeba wyciagn
˛ ać
˛ z urny, żeby mieć pewność,
że wśród wyciagni˛
˛ etych b˛eda:
˛ a) dwie w tym samym kolorze, b) siedem w tym
samym kolorze. Jakie b˛eda˛ odpowiedzi w przypadku, gdy w urnie b˛eda˛ kule w
trzech kolorach.
1.15. Problemy
23
etnej. Udowodnij, że okres tego ułamka
37. Ułamek m
k przedstawiamy w postaci dziesi˛
jest nie wi˛ekszy niż k.
38. Wylosowano n + 1 liczb ze zbioru {1, 2, . . . , 2n}. Pokaż, że któraś z nich jest
wielokrotnościa˛ innej.
Wskazówka: Mamy n szuflad, ponumerowanych kolejnymi liczbami nieparzystymi
1, 3, 5, ... , 2n − 1. Każda˛ z wylosowanych liczb k ∈ {1, . . . , 2n} wkładamy do
szuflady z numerem m, jeżeli k = 2r m dla jakiegoś r ≥ 0.
39. Ze zbioru liczb od 1 do 107 wybrano 10 liczb. Pokaż, że w wylosowanym zbiorze
istnieja˛ dwa rozłaczne
˛
podzbiory z ta˛ sama˛ suma.˛
40. Przedstaw wzór na sum˛e czterech zbiorów A, B, C i D.
41. Ile elementów zawiera różnica symetryczna A ⊕ B?
42. Ile ciagów
˛
długości n o elementach ze zbioru {A, B, C, D} nie zawiera A lub nie
zawiera B, lub nie zawiera C.
43. Wyznacz liczb˛e elementów |A ∩ B ∩ C| oraz |C|, wiedzac,
˛ że |A| = 10, |B| = 9,
|A ∩ B| = 3, |A ∩ C| = 1, |B ∩ C| = 1 oraz |A ∪ B ∪ C| = 18.
44. Oblicz ile liczb mniejszych od 100 jest podzielnych przez 2, 3 lub 5.
45. Oblicz ile liczb mniejszych od 100 nie jest podzielnych przez żadna˛ z liczb 2, 3,
5 lub 7. Udowodnij, że wszystkie te liczby oprócz 1 sa˛ pierwsze. Ile jest liczb
pierwszych mniejszych od 100?
46. Za pomoca˛ algorytmów opisanych w podrozdziale o generowaniu obiektów kombinatorycznych wypisz wszystkie:
a) podzbiory zbioru {1, 2, 3, 4},
b) 2 elementowe podzbiory zbioru {1, 2, 3, 4, 5},
c) 3 elementowe podzbiory zbioru {a, b, c, d, e, f }.
d) 14 kolejnych permutacji zbioru {1, 2, 3, 4, 5, 6} poczynajac
˛ od permutacji
456321 (lub od permutacji 246531).
47. Napisz programy realizujace
˛ opisane w tym rozdziale algorytmy generowania obiektów kombinatorycznych.
1.15 Problemy
1.15.1 Najkrótsze drogi
Wyobraźmy sobie siatk˛e prostokatnych
˛
ulic z m + 1 ulicami biegnacymi
˛
pionowo (w
kierunku północ—południe) i k + 1 ulicami biegnacymi
˛
poziomo (w kierunku wschód—
zachód). Rysunek 1.2 przedstawia taka˛ siatk˛e dla m = 6 i k = 4.
24
Rozdział 1. Kombinatoryka
Rysunek 1.2: Siatka ulic dla m = 6 i k = 4 z zaznaczona˛ jedna˛ z najkrótszych dróg z A
do B.
B
A
1. Udowodnij, że liczba najkrótszych dróg z punktu A do punktu B wynosi
k+m
k
.
2. Udowodnij, że liczba
funkcji niemalejacych
˛
ze zbioru {1, . . . , n} w zbiór {1, . . . , k}
wynosi k+n−1
.
k−1
3. Ile jest funkcji monotonicznych ze zbioru {1, . . . , n} w zbiór {1, . . . , k}?
Wskazówki. Najkrótsze drogi z A do B składaja˛ si˛e z ciagu
˛ k + m odcinków, z których
m jest poziomych i k pionowych.
Funkcje niemalejace
˛ ze zbioru {1, . . . , n} w zbiór {1, . . . , k} można skojarzyć z najkrótszymi drogami w sieci ulic w prostokacie
˛ n × (k − 1).
1.15.2 Rozmieszczanie przedmiotów w pudełkach.
Przypuśćmy, że mamy n nierozróżnialnych kul. Rozważ na ile sposobów można rożłoży ć
te kule do k rozróżnialnych pudełek.
sposobów rożłożenia n kul do k pudełek.
1. Udowodnij, że istnieje n+k−1
k−1
2. Na ile sposobów można rozmieścić: a) 2 kule w trzech szufladach, b) 3 kule w
dwóch szufladach. Wypisz wszystkie takie rozmieszczenia.
Wskazówka. Każde rozmieszczenia n kul w k pudełkach może być przedstawione jako
ciag
˛ zer i jedynek długosci n + k − 1, w którym wyst˛epuje dokładnie k − 1 jedynek. Zera
symbolizuja˛ kule a jedynki przegrody pomi˛edzy pudełkami. Na przykład ciag
˛ 00110100
przedstawia rozłożenie pi˛eciu kul do czterech pudełek, w których pierwsze pudełko zawiera dwie kule, drugie jest puste, trzecie zawiera jedna˛ kule, a czwarte dwie kule.
1.15. Problemy
25
1.15.3 Wybór n przedmiotów k rozróżnialnych typów
Wyobraźmy sobie, że mamy przedmioty w k różnych typach, że liczba przedmiotów każdego typu jest nieograniczona i że przedmioty jednego typu sa˛ nierozróżnialne. Zastanówmy si˛e na ile sposobów można wybrać n przedmiotów spośród tych k typów, przy
założeniu, że dopuszczalne sa˛ powtórzenia typów i że kolejność wybranych przedmiotów
nie jest istotna.
1. Pokaż, że można to zrobić na
n+k−1
k−1
sposobów.
2. Ile jest rozwiazań
˛
równania x1 + x2 + · · · + xk = n wśród nieujemnych liczb
całkowitych? Liczba n jest stała,˛ a x1 , ... ,xk to zmienne.
3. Na ile sposobów można wybrać 5 monet jeżeli mamy nieograniczone zapasy złotówek i dwuzłotówek? Wypisz wszystkie takie sposoby.
4. Na ile sposobów można wybrać 5 monet jeżeli mamy nieograniczone zapasy złotówek, dwuzłotówek i pi˛eciozłotówek?
Wskazówka. Wybory przedmiotów k typów sa˛ równoważne rozkładaniu nierozróżnialnych kul do k szuflad. Włożenie kuli do i-tej szuflady oznacza, że jest ona i tego typu.
1.15.4 Kombinacje z powtórzeniami
k-elementowe kombinacje z powtórzeniami ze zbioru n-elementowego sa˛ to k-elementowe
wybory elementów zbioru n-elementowego, w których elementy moga˛ si˛e powtarza ć i
w których nie jest istotna kolejność wybieranych elementów. Na przykład, mamy cztery trzyelementowe kombinacje z powtórzeniami ze zbioru dwuelementowego {1, 2}; oto
one: (1, 1, 1), (1, 1, 2), (1, 2, 2), (2, 2, 2).
Udowodnij, że liczba k-elementowych
kombinacji z powtórzeniami ze zbioru n
elementowego wynosi n+k−1
.
k
Wskazówka. Takie kombinacje odpowiadaja˛ wyborowi k elementów n typów.
1.15.5 Permutacje z powtórzeniami
Przypuśćmy, że mamy n przedmiotów k różnych typów oraz, że przedmiotów typu i jest
ni . Rozważmy ustawienia wszystkich tych przedmiotów w ciag.
˛ Przy tym dwa ustawienia
sa˛ rozróżnialne tylko, jeżeli na jakiejś pozycji maja˛ przedmioty różnych typów.
1. Pokaż, że takich rozróżnialnych ustawień jest
n!
n1 !n2 !···nk !
2. Ile słów można utworzyć z liter słowa MAMA (litery M i A moga˛ wystapić
˛ po dwa
razy)? Wypisz wszystkie te słowa.
3. Ile słów można utworzyć z liter słowa MATEMATYKA?
26
Rozdział 1. Kombinatoryka
1.15.6 Podziały uporzadkowane
˛
Niech A b˛edzie dowolnym zbiorem n elementówy i niech n1 . . . nk b˛eda˛ dowolnymi
liczbami naturalnymi takimi, że n1 + . . . + nk = n. Rozważmy rozbicia zbioru A na k
podzbiorów A1 , . . . , Ak , takich, że |Ai | = ni dla każdego 1 ≤ i ≤ k. Zakładamy przy
tym, że kolejność podzbiorów jest istotna.
1. Pokaż, że takich rozbić jest
n!
n1 !n2 !···nk ! .
2. Na ile sposobów można rozdać 52 kartry na cztery osoby?
3. Na ile sposobów można utworzyć 5 par z 10 osób?
4. Uogólnij wzór na dwumian Newtona na przypadek (a+b+c) n lub (a1 +· · ·+ak )n .
1.15.7 Permutacje bez punktów stałych
Udowodnij, że liczba przestawień (permutacji bez punktów stałych) w zbiorze n-elementowym
jest równa zaokragleniu
˛
liczby n!
e do najbliższej liczby naturalnej; e jest podstawa˛ logarytmu naturalnego.
P∞ (−1)i
Wskazówka. Skorzystaj
z twierdzenia
1.25, z rozwini˛ecia: e−1 =
oraz z
i=0
i!
P
∞
(−1)i 1
oszacowania: i=n+1 i! ≤ (n+1)! .
1.15.8 Liczba surjekcji
Udowodnij, że liczba surjekcji (funkcji na cała˛ przeciwdziedzin˛e) ze zbioru n-elementowego
na zbiór k-elementowy wynosi:
k
X
(−1)i
i=0
k
(k − i)n .
i
Wskazówka. Skorzystaj z zasady właczania
˛
i wyłaczania
˛
dla zbioru wszystkich funkcji ze
zbioru {1, . . . , n} w zbiór {1, . . . , k}. Zbiór Ai to funkcje, które nie maja˛ elementu i w
obrazie.
1.15.9 Twierdzenie Ramseya
W tym podrozdziale b˛edziemy rozważać grafy pełne, których kraw˛edzie sa˛ pokolorowane
dwoma kolorami: białym lub czarnym. Dokładniej, mamy graf pełny G = (V G , EG ) z
n = |VG | wierzchołkami i ze zbiorem kraw˛edzi EG = {{u, v} | u, v ∈ VG }, oraz funkcj˛e
c : VG → {b, c} kolorujac
˛ a˛ kraw˛edzie tego grafu. Interesuje nas problem, kiedy w grafie
G istnieje klika H = (VH , EH ) (podgraf pełny) z k wierzchołkami, której wszystkie
kraw˛edzie maja˛ ten sam kolor.
1.15. Problemy
27
1. Pokaż, że w każdym grafie z sześcioma wierzchołkami istnieje jednobarwny trójkat
˛
(trzy wierzchołki połaczone
˛
kraw˛edziami w tym samym kolorze).
Wniosek. W każdej grupie 6 osobowej albo sa˛ trzy osoby, które si˛e wzajemnie
znaja,
˛ albo trzy, które si˛e nie znaja.˛
2. Pokaż, że istnieje graf z pi˛ecioma wierzchołkami, w którym nie ma jednobarwnego
trójkata.
˛
3. Pokaż, że w każdym grafie z 20 wierzchołkami istnieja˛ cztery wierzchołki połaczo˛
ne kraw˛edziami w tym samym kolorze.
Wskazówka. Pokaż, że istnieje 10 wierzchołków, które z pierwszym sa˛ połaczone
˛
tym samym kolorem, na przykład białym. Pokaż, że wśród każdych 10 wierzchołków albo sa˛ trzy wierzchołki połaczone
˛
tylko białymi kraw˛edziami, albo cztery
połaczone
˛
tylko czarnymi (z dowolnego wierzchołka albo wychodza˛ cztery białe,
albo sześć czarnych kraw˛edzi).
4. Pokaż, że w każdym grafie z 18 wierzchołkami istnieja˛ cztery wierzchołki połaczo˛
ne kraw˛edziami w tym samym kolorze.
Wniosek. W każdej grupie conajmniej 18 brydżystów albo sa˛ cztery osoby, które
już ze soba˛ grały (każda z każda˛ w parze), albo cztery, które ze soba˛ nigdy nie grały
(żadna z żadna).
˛
Wskazówka. Podobnie jak w punkcie 3. Udowodnij, że wśród każdych 9 wierzchołków albo sa˛ trzy wierzchołki połaczone
˛
tylko białymi kraw˛edziami, albo cztery
połaczone
˛
tylko czarnymi. Pokaż, że nie jest możliwe, aby z każdego wierzchołka
wychodziły trzy białe i pi˛eć czarnych kraw˛edzi.
Udowodnij nast˛epujace
˛
Twierdzenie 1.29 (Twierdzenie Ramseya) . Dla każdego k istnieje R k , takie, że każdy graf z n > Rk wierzchołkami i dowolna˛ funkcja˛ kolorujac
˛ a˛ jego kraw˛edzie posiada
podgraf z k wierzchołkami i wszystkimi kraw˛edziami w jednym kolorze.
Szkic dowodu. Niech N0 b˛edzie duża˛ liczba.˛ Pod koniec dowodu okaże si˛e jak duża.˛
Niech graf posiada N0 wierzchołków i niech te wierzchołki b˛eda˛ ustawione w ciag.
˛ Weżmy pierwszy wierzchołek x1 . Na podstawie zasady szufladkowej istnieje kolor c1 ∈
{b, c} oraz podciag
˛ N1 = N0 /2 wierzchołków, które sa˛ z x1 połaczone
˛
kolorem c1 . Pozostałe wierzchołki usuwamy. Niech x2 b˛edzie pierwszym który został. Znowu istnieje
kolor c2 oraz podciag
˛ N2 = (N1 − 1)/2 wierzchołków stojacych
˛
za x2 , które wszystkie
sa˛ z x2 połaczone
˛
kolorem c2 (kolory c1 i c2 moga˛ być takie same albo różne). Pozostałe
wierzchołki usuwamy. Powtarzamy to 2k − 1 razy i otrzymamy ciag
˛ wierzchołków x 1 ,
x2 , ... , x2k , takich, że każdy wierzchołek xi , 1 ≤ i ≤ 2k − 1 jest połaczony
˛
kolorem
ci ze wszystkimi wierzchołkami stojacymi
˛
za nim. Kolory c1 , ... , c2k−1 nie musza˛ być
jednakowe, ale wszystkie należa˛ do zbioru dwóch kolorów: biały i czarny. Dlatego na
podstawie zasady szufladkowej istnieje podciag
˛ k wierzckołków, z których każde dwa
sa˛ połaczone
˛
tym samym kolorem. Liczba N0 powinna być tak duża, aby możliwe były
wszystkie opisane wyżej wybory. Na liczb˛e Rk należy wybrać najmniejsza˛ taka˛ liczb˛e.
28
Rozdział 1. Kombinatoryka
Udowodnij Twierdzenie Ramseya dla przypadku, gdy kolorujemy nie pary wierzchołków, ale trójki wierzchołków. Dokładniej funkcja kolorujaca
˛ przypisuje kolory trójkom
różnych wierzchołków c : {{u, v, w} | u, v, w ∈ VG u 6= v, v 6= w, u 6= w} → {b, c}.
Szkic dowodu. Dowód prowadzimy podobnie jak w twierdzeniu Ramsey’a. Bierzemy
wierzchołek x1 . Wśród pozostałych wierzchołków kolorujemy pary: para {u, v} ma kolor biały, jeżeli trójka {x1 , u, v} ma kolor biały. Z twierdzenia Ramsey’a 1.29 wynika,
że jeżeli liczba wierzchołków N0 jest dostatecznie duża, to istnieje podciag
˛ z N1 wierzchołkami i parami w jednym kolorze. Pozostałe wierzchołki usuwamy. Teraz każda trójka
zawierajaca
˛ x1 ma taki sam kolor. Bierzemy nast˛epny wierzchołek x2 itd..
Udowodnij Twierdzenie Ramseya dla 3 (lub m) kolorów.
1.15.10 Twierdzenie Halla o różnych reprezentantach
Wyobraźmy sobie n podzbiorów A1 , ... ,An zbioru {1, . . . , n}. Interesuje nas, kiedy dla
tych podzbiorów istnieje zestaw różnych reprezentantów, czyli ciag
˛ n różnych liczb a 1 ,
... ,an takich, że ai ∈ Ai .
Łatwo zauważyć, że aby istniał zestaw różnych reprezentantów musi być spełniony
nast˛epujacy:
˛
Warunek Halla:
Dla każdego podzbioru J ⊂ {1, ..., n}
[ A
j ≥ |J|.
j∈J Pokaż, że jest to także warunek wystarczajacy.
˛
Wskazówka.
S
Szkic dowodu (przez indukcj˛e). Powiemy, że zbiór J jest krytyczny, jeżeli
j∈J Aj = |J|. Załóżmy najpierw, że istnieje podzbiór krytyczny J różny od całego
S
zbioru {1, . . . , n}. Niech C = j∈J Aj .
Na podstawie indukcji można w nim znaleźć reprezentatów. Reszta spełnia warunek
Halla. Istotnie, niech I ⊂ {1, . . . , n} − J oraz K = I ∪ J. Z tego, że K spełniał warunek
Halla na poczatku
˛ wynika, że podzbiór I spełnia warunek Halla dla zbiorów B i = Ai −C.
[
[ [
(Ai − C) = (Ai ) − |C| ≥ |K| − |J| = |I|.
Bi = i∈I
k∈K
k∈K
Jeżeli nie ma właściwego podzbioru krytycznego, to na a1 wybieramy dowolny elemnet z A1 , a reszta spełnia warunek Halla.