Spis treści Przedmowa XI Wprowadzenie XIII 0.1 Czym jest matematyka dyskretna?............... XIII 0.2 Podstawowa literatura...................... XIV 1 Rekurencja 1 1.1 Wieże Hanoi........................... 1 1.2 Notacja asymptotyczna..................... 7 1.3 Liczby trójkątne......................... 10 1.4 Liczby Fibonacciego...................... 11 1.5 Równanie charakterystyczne.................. 19 1.6 Rekurencja liniowa niejednorodna............... 23 1.7 Ruina gracza.......................... 27 1.8 Szybkie mnożenie i rekurencje dziel i rządź......... 34 Ćwiczenia................................. 42 2 Kombinatoryka 47 2.1 Permutacje............................ 48 2.2 Silnia............................... 51 2.3 Wariacje............................. 55 2.4 Permutacje z powtórzeniami.................. 57 2.5 Kombinacje........................... 58 2.6 Współczynniki dwumianowe................... 62 2.7 Współczynniki wielomianowe.................. 65 2.8 Zasada szufladkowa....................... 65 2.9 Układanie domina........................ 67 Ćwiczenia................................. 71 3 Elementy rachunku prawdopodobieństwa 73 3.1 Prawdopodobieństwo dyskretne................ 74 3.2 Paradoks urodzin........................ 79 3.3 Zasada włączania i wyłączania................. 84
VIII Spis treści 3.4 Szaliki kibiców Korony Kielce.................. 87 3.5 Problem sadowienia gości.................... 91 3.6 Prawdopodobieństwo warunkowe............... 94 3.7 Twierdzenie Bayesa....................... 95 Ćwiczenia................................. 98 4 Więcej kombinatoryki 101 4.1 Grupa permutacji........................ 101 4.2 Liczby Stirlinga......................... 103 4.3 Liczby Bella........................... 107 4.4 Triangulacja wielokąta i liczby Catalana............ 110 4.5 Partycje liczb.......................... 113 4.6 Kompendium najczęstszych problemów kombinatorycznych. 121 Ćwiczenia................................. 122 5 Grafy 125 5.1 Spacer Eulera.......................... 127 5.2 Grafy Hamiltona......................... 139 5.3 Kalejdoskop grafów....................... 142 5.4 Izomorfizm grafów........................ 144 5.5 Grafy planarne......................... 146 5.6 Ile jest grafów?......................... 151 5.7 Przeszukiwanie grafów...................... 152 5.8 Grafy z wagami......................... 155 5.9 Jeszcze o wieżach Hanoi.................... 164 5.10 Drzewo Steinera......................... 166 5.11 Mały świat........................... 173 5.12 Kolorowanie wierzchołkowe grafów............... 176 5.13 Kolorowanie krawędziowe grafów................ 185 5.14 Liczby Ramseya......................... 188 5.15 Kojarzenie małżeństw...................... 189 5.16 Drzewa etykietowane...................... 192 5.17 Notacja polska.......................... 197 5.18 Sieci zdarzeń........................... 199 5.19 Przepływy w sieciach...................... 202 Ćwiczenia................................. 208 6 Algorytmy 213 6.1 Czym jest algorytm....................... 213 6.2 Automaty skończone...................... 215 6.3 Maszyna Turinga........................ 218 6.4 Problem 196........................... 223 6.5 Lodziarz z Pińczowa i algorytm genetyczny.......... 224 6.6 Klasyfikacja złożoności problemów decyzyjnych........ 230
Spis treści IX Ćwiczenia................................. 237 7 Wskazówki i odpowiedzi do ćwiczeń 239 7.1 Rozdział 1............................ 239 7.2 Rozdział 2............................ 249 7.3 Rozdział 3............................ 254 7.4 Rozdział 4............................ 261 7.5 Rozdział 5............................ 266 7.6 Rozdział 6............................ 272 Bibliografia 273 Skorowidz 277
Przedmowa Niniejsza książka, przeznaczona dla studentów informatyki oraz wykładowców i prowadzących ćwiczenia, przedstawia najważniejsze i najpotrzebniejsze zagadnienia matematyki dyskretnej, koncentrując się na rekurencji, zaawansowanej kombinatoryce i klasycznym rachunku prawdopodobieństwa, grafach i algorytmach na grafach oraz sieciach, a także na wybranych elementach teorii algorytmów i ich złożoności. Ambicją autora jest ukazanie istoty tłumaczonego problemu w powiązaniu z elementarnym przeprowadzeniem początkującego studenta, po dzisiejszej szkole średniej zazwyczaj dość słabo obytego z technikami matematycznymi, poprzez szczegóły rachunkowe. Preferowaną metodą dydaktyczną jest, w miarę możliwości, ścieżka od szczegółu do ogółu: najpierw ukazywany i rozwiązywany jest pewien typowy problem z danego działu, a następnie przedstawiana jest ogólna teoria z definicjami, twierdzeniami, wnioskami, przykładami i uogólnieniami. W ten sposób wykładana abstrakcja znajduje wcześniejsze ugruntowanie w bardziej intuicyjnym przykładzie z życia, co powinno ułatwić zrozumienie i docenienie praktycznego znaczenia wykładanego materiału. Niemniej, niektóre problemy, których wykład nie unika, łatwe nie są i należy przez nie mozolnie przebrnąć z kartką i ołówkiem w zaciszu domowym. Zgodnie z maksymą uczyć bawiąc wiele zagadnień ma charakter rekreacyjny, co rekompensuje włożony trud w wymagających i może mniej atrakcyjnych, choć ważnych, częściach wykładu. Przy całym ukierunkowaniu na przystępność, wykład dotyczy matematyki i jej konkretnych zastosowań, zatem w jego śledzeniu niezbędna jest stosowna koncentracja i doza samozaparcia. Wykład przeznaczony jest dla studentów pierwszego roku informatyki, wobec czego wymagana wiedza matematyczna niezbędna do jego śledzenia nie wykracza w zasadzie poza podstawowy program szkoły średniej. Warto jednak zawczasu przypomnieć sobie ten materiał z podręczników szkolnych, w szczególności jego część dyskretną: podstawy logiki, teorii mnogości, kombinatoryki i rachunku prawdopodobieństwa. Materiał zahacza też nieco o zazwyczaj biegnące równolegle lub z wyprzedzeniem standardowe wykłady algebry i analizy matematycznej, w szczególności używa elementarnej znajomości funkcji, układów równań liniowych, macierzy, ciągów i szeregów, obliczania granic, a także pewnych elementów rachunku różniczkowego i całkowego, jak rozwinięcie Taylora, całka gaussowska itp.
XII Przedmowa Zadaniem wykładu, oprócz przekazu stosownej porcji wiedzy, aparatu pojęciowego i typowych technik analizowania problemów matematyki dyskretnej, jest również nauczenie logicznego myślenia, kombinowania, sprytu matematycznego. Dlatego też na końcu każdego rozdziału podane są niekoniecznie łatwe problemy, mające na celu wciągnięcie studenta w tę pasjonującą matematykę. Wiele z tych zadań wymaga pomysłu, a ich rozwiązywanie częstokroć stawia na równi studenta i profesora, z tą jedyną różnicą, że profesor miał już okazję dłużej myśleć nad podobnymi zagadnieniami w swojej karierze! Wskazówki bądź rozwiązania trudniejszych zadań zawarte są na końcu książki. I jeszcze jedno. Studenci, pamiętajcie: Pytania nie są niedyskretne, odpowiedzi czasem tak. Oscar Wilde Książka jest pisemną wersją wykładów Matematyka dyskretna, wygłoszonych przez autora dla studentów pierwszego roku informatyki na Wydziale Matematyczno-Przyrodniczym Uniwersytetu Jana Kochanowskiego w Kielcach w latach 2005 2014. Autor pragnie podziękować dr. Przemysławowi Kościkowi oraz studentom informatyki Uniwersytetu Jana Kochanowskiego w Kielcach za uwagi i korektę tekstu.