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.