Matematyka dyskretna

Podobne dokumenty
Matematyka dyskretna

Matematyka dyskretna Oznaczenia

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

Przykładowe zadania z teorii liczb

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

KARTA MODUŁU KSZTAŁCENIA

Wykłady z Matematyki Dyskretnej

Graf. Definicja marca / 1

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie do algorytmów / Thomas H. Cormen [et al.]. - wyd. 7. Warszawa, Spis treści. Wprowadzenie 2

1 Działania na zbiorach

Matematyka dyskretna

Wymagania kl. 3. Zakres podstawowy i rozszerzony

Spis treści. Przedmowa. Wprowadzenie 0.1 Czym jest matematyka dyskretna?... XIII 0.2 Podstawowa literatura... XIV

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Matematyka dyskretna

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15

Zbiory, relacje i funkcje

Matematyczne Podstawy Informatyki

Matematyka dyskretna

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Matematyka dyskretna. 1. Relacje

Podstawowe własności grafów. Wykład 3. Własności grafów

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Algorytmiczna teoria grafów

Program zajęć pozalekcyjnych z matematyki poziom rozszerzony- realizowanych w ramach projektu Przez naukę i praktykę na Politechnikę

Agnieszka Kamińska, Dorota Ponczek. MATeMAtyka 3. Plan wynikowy. Zakres podstawowy i rozszerzony

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Plan wynikowy. Klasa III Technik pojazdów samochodowych/ Technik urządzeń i systemów energetyki odnawialnej. Kształcenie ogólne w zakresie podstawowym

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna dla informatyków

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Algorytmy i struktury danych. Wykład 4

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Rachunek prawdopodobieństwa

Indukcja matematyczna. Zasada minimum. Zastosowania.

Zadania do samodzielnego rozwiązania

Kongruencje twierdzenie Wilsona

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Poziom wymagań K P K R K R. 2. Permutacje definicja permutacji definicja n! liczba permutacji zbioru n-elementowego K K K P D

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Zał. nr 4 do ZW. Wykład Ćwiczenia Laboratorium Projekt Seminarium 30 30

Zdarzenia losowe i prawdopodobieństwo

Jeśli lubisz matematykę

51. Wykorzystywanie sumy, iloczynu i różnicy zdarzeń do obliczania prawdopodobieństw zdarzeń.

Matematyczne Podstawy Informatyki

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA Pod auspicjami Polskiej Akademii Nauk Warszawa, ul. Newelska 6, tel.

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

V. WYMAGANIA EGZAMINACYJNE

Spis treści. Przedmowa... 9

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Digraf. 13 maja 2017

Matematyczne Podstawy Informatyki

KOMBINATORYKA OBIEKTY KOMBINATORYCZNE MATEMATYKA DYSKRETNA (2014/2015)

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Wymagania egzaminacyjne z matematyki. Klasa 3C. MATeMATyka. Nowa Era. Klasa 3

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

domykanie relacji, relacja równoważności, rozkłady zbiorów

1.1. Rachunek zdań: alternatywa, koniunkcja, implikacja i równoważność zdań oraz ich zaprzeczenia.

Wybrane zagadnienia teorii liczb

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

Uczeń: -podaje przykłady ciągów liczbowych skończonych i nieskończonych oraz rysuje wykresy ciągów

Agnieszka Kamińska, Dorota Ponczek. MATeMAtyka 3. Szczegółowe wymagania edukacyjne z matematyki w klasie trzeciej.

Matematyka dyskretna Literatura Podstawowa: 1. K.A. Ross, C.R.B. Wright: Matematyka Dyskretna, PWN, 1996 (2006) 2. J. Jaworski, Z. Palka, J.

Wymagania edukacyjne z matematyki dla klasy III a,b liceum (poziom podstawowy) rok szkolny 2018/2019

1. Wykład NWD, NWW i algorytm Euklidesa.

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Plan wynikowy. Klasa III Technikum ekonomiczne. Kształcenie ogólne w zakresie rozszerzonym

Wielomiany. dr Tadeusz Werbiński. Teoria

Zaawansowane algorytmy i struktury danych

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

LOGIKA I TEORIA ZBIORÓW

Elementy rachunku prawdopodobieństwa (M. Skośkiewicz, A. Siejka, K. Walczak, A. Szpakowska)

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Dział Rozdział Liczba h

Arytmetyka liczb binarnych

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Standardy wymagań maturalnych z matematyki - matura

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

E-I-0002-s3. Matematyka dyskretna. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

MATeMAtyka 3. Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

Rachunek prawdopodobieństwa- wykład 2

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

2. Permutacje definicja permutacji definicja liczba permutacji zbioru n-elementowego

MATEMATYKA. kurs uzupełniający dla studentów 1. roku PWSZ. w ramach»europejskiego Funduszu Socjalnego« Adam Kolany.

Zagadnienia na egzamin licencjacki

Elementy rachunku zdań i algebry zbiorów

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Agnieszka Kamińska, Dorota Ponczek. MATeMAtyka 3. Plan wynikowy. Zakres podstawowy

Przykład 1 W przypadku jednokrotnego rzutu kostką przestrzeń zdarzeń elementarnych

PROGRAM KLASY Z ROZSZERZONĄ MATEMATYKĄ

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

Transkrypt:

Matematyka dyskretna

Andrzej Szepietowski Matematyka dyskretna Wydawnictwo Uniwersytetu Gdańskiego Gdańsk 2018

Recenzja prof. dr hab. Marek Zaionc Redakcja wydawnicza Dorota Zgaińska Projekt okładki i stron tytułowych Gabriela Gic-Grusza Skład i łamanie Marcin Babnis Wydanie drugie poprawione c Copyright by Uniwersytet Gdański Wydawnictwo Uniwersytetu Gdańskiego ISBN 978-83-7865-747-7 Wydawnictwo Uniwersytetu Gdańskiego ul. Armii Krajowej 119/121, 81-824 Sopot tel./fax 58 523 11 37, tel. 725 991 206 e-mail: wydawnictwo@ug.edu.pl www.wyd.ug.edu.pl Księgarnia internetowa: www.kiw.ug.edu.pl

Spis treści Przedmowa 13 1 Podstawowe pojęcia, oznaczenia 15 1.1 Sumy.................................... 15 1.2 Iloczyny................................... 16 1.3 Zbiory.................................... 17 1.4 Różnica symetryczna zbiorów....................... 18 1.5 Iloczyn kartezjański............................. 19 1.6 Rodzina zbiorów.............................. 20 1.7 Grafy (nieskierowane)........................... 21 1.8 Drzewa................................... 23 1.9 Drzewa ukorzenione............................ 24 1.10 Grafy skierowane.............................. 25 1.11 Słowa.................................... 25 1.12 Zaokrąglenia................................ 27 1.13 Przedrostki................................. 27 1.14 Notacja asymptotyczna........................... 28 1.15 Wielomiany................................. 30 1.15.1 Dzielenie wielomianów...................... 31 1.15.2 Schemat Horna........................... 32 1.15.3 Pierwiastki wielomianu....................... 33 1.16 Zadania................................... 33 2 Arytmetyka 37 2.1 System dziesiętny.............................. 37 2.2 System dwójkowy.............................. 38 2.3 Zwiększanie liczby o jeden......................... 39 2.4 Porównywanie liczb............................. 40 2.5 Operacje arytmetyczne w systemie dwójkowym.............. 40 2.6 Zamiana systemu.............................. 41 2.7 Długość liczby............................... 43 2.8 Duże liczby................................. 44 2.9 Ułamki................................... 44 2.10 System szesnastkowy............................ 45 2.11 Reprezentacja liczb w komputerze..................... 46 2.11.1 Integer............................... 47 2.11.2 Real................................. 48

6 Spis treści 2.12 Wyrażenia arytmetyczne w języku Pascal................. 48 2.13 Poszukiwania binarne (binary search)................... 49 2.13.1 Poszukiwanie pierwiastka..................... 50 2.14 Zadania................................... 51 2.15 Problemy.................................. 52 2.15.1 Uzupełnieniowy zapis liczb ujemnych............... 52 2.15.2 Liczby w postaci ósemkowej i szesnastkowej w języku C..... 52 2.15.3 Sumy potęg dwójki......................... 52 2.15.4 Waga................................ 52 3 Kombinatoryka 55 3.1 Zasada podwójnego zliczania........................ 55 3.2 Ciągi..................................... 56 3.3 Funkcje................................... 57 3.4 Ciągi bez powtórzeń............................ 57 3.5 Permutacje................................. 58 3.6 Podzbiory.................................. 60 3.7 Podzbiory k-elementowe.......................... 61 3.8 Dwumian Newtona............................. 63 3.9 Zasada szufladkowa Dirichleta....................... 64 3.10 Zasada sumy................................ 64 3.11 Zasada włączania i wyłączania....................... 65 3.12 Przestawienia................................ 68 3.13 Generowanie obiektów kombinatorycznych................ 69 3.13.1 Generowanie podzbiorów..................... 69 3.13.2 Generowanie k-elementowych podzbiorów............ 70 3.13.3 Generowanie permutacji...................... 71 3.14 Zadania................................... 71 3.15 Problemy.................................. 74 3.15.1 Najkrótsze drogi.......................... 74 3.15.2 Rozmieszczanie przedmiotów w pudełkach............. 75 3.15.3 Wybór n przedmiotów k rozróżnialnych typów.......... 75 3.15.4 Kombinacje z powtórzeniami................... 76 3.15.5 Permutacje z powtórzeniami.................... 76 3.15.6 Podziały uporządkowane...................... 76 3.15.7 Permutacje bez punktów stałych.................. 77 3.15.8 Liczba surjekcji........................... 77 3.15.9 Twierdzenie Ramseya....................... 77 3.15.10 Twierdzenie Halla o różnych reprezentantach........... 78 4 Rachunek prawdopodobieństwa 81 4.1 Przestrzeń zdarzeń elementarnych..................... 81 4.1.1 Zdarzenia.............................. 81 4.1.2 Dalsze przykłady przestrzeni zdarzeń elementarnych....... 82 4.2 Prawdopodobieństwo............................ 83 4.2.1 Klasyczna definicja prawdopodobieństwa, rozkład jednostajny.. 84 4.2.2 Własności prawdopodobieństwa.................. 84

Spis treści 7 4.3 Prawdopodobieństwo warunkowe..................... 85 4.4 Zdarzenia niezależne............................ 86 4.5 Prawdopodobieństwo całkowite...................... 87 4.6 Schemat dwumianowy (Bernoulliego)................... 89 4.6.1 Rzut symetryczną monetą..................... 89 4.6.2 Kolorowanie wierzchołków grafu................. 90 4.6.3 Trzykrotny rzut niesymetryczną monetą.............. 91 4.6.4 Ogólny schemat n-krotny rzut niesymetryczną monetą..... 92 4.7 Zmienna losowa............................... 93 4.7.1 Gęstość rozkładu prawdopodobieństwa zmiennej losowej..... 93 4.7.2 Dalsze przykłady zmiennych losowych.............. 94 4.7.3 Rozkład jednopunktowy...................... 95 4.7.4 Rozkład zero-jedynkowy...................... 95 4.8 Łączny rozkład prawdopodobieństwa................... 95 4.8.1 Gęstość łącznego rozkładu..................... 96 4.9 Niezależność zmiennych losowych..................... 97 4.9.1 Własność niezależnych zmiennych losowych........... 98 4.10 Rozkład dwumianowy (Bernoulliego)................... 99 4.11 Wartość oczekiwana, średnia........................ 100 4.11.1 Własności wartości oczekiwanej.................. 100 4.11.2 Wartość oczekiwana rozkładu jednopunktowego......... 101 4.11.3 Wartość oczekiwana rozkładu zero-jedynkowego......... 102 4.11.4 Wartość oczekiwana rozkładu dwumianowego.......... 102 4.11.5 Wartość oczekiwana liczby różnokolorowych krawędzi...... 102 4.11.6 Własności wartości oczekiwanej, cd................. 103 4.12 Nierówność Markowa............................ 103 4.13 Wariancja.................................. 104 4.13.1 Wariancja rozkładu jednopunktowego............... 105 4.13.2 Wariancja rozkładu zero-jedynkowego............... 105 4.13.3 Wariancja rozkładu dwumianowego................ 105 4.13.4 Wariancja liczby różnokolorowych krawędzi........... 105 4.14 Nierówność Czebyszewa.......................... 106 4.15 Krańce rozkładu dwumianowego...................... 107 4.16 Problem dnia urodzin............................ 107 4.17 Algorytmy probabilistyczne........................ 108 4.17.1 Algorytm z jednostronnym błędem................ 108 4.17.2 Algorytm sprawdzający mnożenie wielomianów......... 108 4.17.3 Algorytmy z błędem obustronnym................. 109 4.17.4 Algorytm kolorowania wierzchołków grafu............ 109 4.18 Zadania................................... 110 4.19 Problemy.................................. 114 4.19.1 Niezależność zmiennych losowych................ 114

8 Spis treści 5 Funkcje boolowskie 115 5.1 Algebra Boole a............................... 115 5.1.1 Algebra podzbiorów........................ 117 5.1.2 Alternatywa wykluczająca, xor................... 117 5.2 Wyrażenia boolowskie........................... 118 5.2.1 Wyrażenia boolowskie w języku Pascal.............. 119 5.3 Funkcje boolowskie............................. 120 5.3.1 Funkcje boolowskie jednej zmiennej................ 120 5.3.2 Funkcje boolowskie dwóch zmiennych.............. 121 5.3.3 Alternatywa i koniunkcja n zmiennych.............. 122 5.3.4 Funkcja progowa.......................... 122 5.3.5 Postacie normalne funkcji boolowskich.............. 123 5.4 Wielowartościowe funkcje boolowskie................... 124 5.5 Sieci boolowskie.............................. 125 5.5.1 Sieć dla alternatywy kilku zmiennych............... 126 5.5.2 Sumator............................... 127 5.6 Operacje boolowskie na wektorach..................... 128 5.6.1 Reprezentacja zbioru........................ 129 5.6.2 Operacje na wektorach w języku Pascal.............. 130 5.6.3 Operacje na wektorach w języku C................ 130 5.6.4 Flagi................................ 131 5.6.5 Reprezentacja ustawienia bierek w grze w szachy......... 131 5.6.6 Szyfrowanie w systemie one-pad.................. 131 5.7 Funkcja parzystości (parity)........................ 133 5.8 Odciski, zabezpieczanie danych...................... 134 5.9 Zadania................................... 136 5.10 Problemy.................................. 137 5.10.1 Gra w kamienie........................... 137 5.10.2 Tożsamości w algebrze podzbiorów................ 137 5.10.3 Sieci funkcji progowych i sortujących............... 138 5.10.4 Wspólne losowanie bitów..................... 138 6 Teoria liczb 139 6.1 Dzielenie całkowitoliczbowe........................ 139 6.2 Podzielność liczb.............................. 140 6.3 Relacja kongruencji............................. 141 6.4 Klasy abstrakcji............................... 142 6.5 Pierścień Z m................................ 143 6.5.1 PierścieńZ 5............................ 144 6.5.2 PierścieńZ 4............................ 145 6.6 Największy wspólny dzielnik........................ 145 6.7 Algorytm Euklidesa............................. 146 6.7.1 Rozszerzony algorytm Euklidesa.................. 147 6.8 Liczby pierwsze i względnie pierwsze................... 149 6.9 Rozkład liczb na czynniki pierwsze.................... 149 6.10 Elementy odwracalne............................ 151 6.11 Funkcja liniowa............................... 152

Spis treści 9 6.12 Szyfry liniowe................................ 154 6.13 Chińskie twierdzenie o resztach...................... 156 6.14 Obliczenia na dużych liczbach....................... 159 6.15 Szybkie potęgowanie............................ 161 6.16 Pierwiastki kwadratowe........................... 163 6.17 Funkcja Eulera............................... 164 6.18 Małe twierdzenie Fermata......................... 164 6.19 Szyfry RSA................................. 165 6.20 Testy pierwszości.............................. 166 6.20.1 Test naiwny............................. 166 6.20.2 Test Fermata............................ 166 6.20.3 Test Millera-Rabina........................ 167 6.20.4 Losowanie liczb pierwszych.................... 169 6.21 Zadania................................... 169 6.22 Problemy.................................. 171 6.22.1 Największy wspólny dzielnik................... 171 6.22.2 Najmniejsza wspólna wielokrotność................ 172 6.22.3 Liczby względnie pierwsze..................... 172 6.22.4 Liczby pierwsze.......................... 172 6.22.5 Chińskie twierdzenie o resztach.................. 172 6.22.6 System szyfrowania one-pad.................... 172 6.22.7 Przestrzeń liniowa......................... 173 6.22.8 Uogólnienie małego twierdzenia Fermata............. 173 6.22.9 Algorytm Euklidesa dla wielomianów............... 173 6.22.10 Wspólne losowanie liczby, gra w marynarza............ 173 7 Stosy, kolejki i drzewa 175 7.1 Listy..................................... 175 7.2 Stosy i kolejki................................ 175 7.3 Implementacja stosu............................ 176 7.4 Implementacja kolejki........................... 177 7.5 Drzewa ukorzenione............................ 178 7.6 Drzewa binarne............................... 178 7.7 Drzewa wyrażeń arytmetycznych...................... 179 7.8 Przeszukiwanie drzew binarnych...................... 182 7.8.1 Przeszukiwanie drzewa w głąb................... 182 7.8.2 Przeszukiwanie drzewa wszerz................... 183 7.9 Drzewa decyzyjne.............................. 184 7.10 Drzewo gry................................. 185 7.10.1 Algorytm waluacji drzewa gry................... 187 7.11 Zadania................................... 189 7.12 Problemy.................................. 189 7.12.1 Szukanie fałszywej monety..................... 189

10 Spis treści 8 Rekurencja 191 8.1 Wieże Hanoi................................ 191 8.2 Drzewo rekursji............................... 192 8.3 Algorytm Euklidesa, wersja rekurencyjna................. 193 8.3.1 Rekurencyjne algorytmy przeszukiwania drzew.......... 194 8.4 Drzewa poszukiwań binarnych....................... 195 8.5 Funkcje rekurencyjne............................ 197 8.6 Funkcja (ciąg) Fibonacciego........................ 197 8.7 Algorytm sortowania przez scalanie.................... 198 8.8 Rozwiązywanie równań i nierówności rekurencyjnych.......... 199 8.9 Metoda podstawiania............................ 199 8.10 Metoda iteracyjna.............................. 201 8.11 Metoda rekurencji uniwersalnej...................... 202 8.12 Funkcje tworzące.............................. 203 8.13 Zadania................................... 204 8.14 Problemy.................................. 207 8.14.1 Wieże Hanoi............................ 207 9 Grafy (nieskierowane) 209 9.1 Izomorfizm grafów............................. 210 9.2 Drogi i cykle................................ 211 9.3 Drzewa................................... 212 9.4 Przeszukiwanie grafów w głąb....................... 214 9.5 Algorytm przeszukiwania grafu wszerz.................. 215 9.6 Liczenie składowych spójności....................... 216 9.7 Drzewa spinające.............................. 216 9.8 Fundamentalny zbiór cykli......................... 218 9.9 Minimalne drzewo spinające........................ 220 9.10 Cykle i drogi Eulera............................. 221 9.11 Drogi i cykle Hamiltona.......................... 224 9.12 Kolorowanie grafów............................ 225 9.12.1 Kolorowanie z nawrotami..................... 225 9.12.2 Kolorowanie grafu dwoma kolorami................ 227 9.12.3 Heurystyki kolorowania grafów.................. 228 9.13 Hiperkostka................................. 228 9.13.1 Rozgłaszanie wiadomości..................... 230 9.13.2 Zbieranie informacji........................ 231 9.13.3 Plotkowanie............................. 231 9.14 Zadania................................... 231 9.15 Problemy.................................. 233 9.15.1 Drzewa spinające.......................... 233 9.15.2 Skojarzenia............................. 234 9.15.3 Minimalne drzewo spinające.................... 234 9.15.4 Cykle Eulera............................ 234

Spis treści 11 10 Grafy skierowane 237 10.1 Podstawowe definicje............................ 237 10.2 Najkrótsze drogi w grafie.......................... 238 10.3 II etap.................................... 239 10.4 Algorytm Forda-Bellmana......................... 239 10.5 Dodatnie długości, algorytm Dijkstry.................... 241 10.6 Najkrótsza droga w grafach acyklicznych................. 243 10.7 Zadania................................... 245 10.8 Problemy.................................. 245 10.8.1 Spójność.............................. 245 10.8.2 Cykl Eulera w grafie skierowanym................. 246 10.8.3 Ciąg de Bruijna........................... 246 Bibliografia 247 Skorowidz 248

Przedmowa Jest to kolejne, poprawione, wydanie podręcznika z matematyki dyskretnej. Jest on przeznaczony dla studentów pierwszego roku kierunku informatyki i zawiera materiał rocznego wykładu z matematyki dyskretnej, prowadzonego przeze mnie na Uniwersytecie Gdańskim. Sądzę, że zawarty materiał może być pomocny także dla studentów innych kierunków. Głównym celem wykładu jest przygotowanie słuchaczy do dalszego studiowania informatyki, a w szczególności do nauki projektowania algorytmów. Podręcznik zawiera podstawowe wiadomości z tak zwanej matematyki dyskretnej, czyli z arytmetyki, kombinatoryki, funkcji logicznych i teorii liczb. Zawiera także wiele przykładów algorytmów oraz zadań algorytmicznych do samodzielnego rozwiązania. Nie wymaga się od czytelnika specjalnego przygotowania, poza znajomością matematyki na poziomie szkoły średniej. Gdańsk, 10 września 2018 Andrzej Szepietowski

Rozdział 1 Podstawowe pojęcia, oznaczenia 1.1 Sumy Mając dany skończony ciąg liczb a 1,a 2,..., a k, sumę jego elementów zapisujemy jako Niezbyt formalnie możemy to zapisać k a i. k a i = a 1 +a 2 + +a k. Jako przykład zastosujmy symbol sumy do zapisu wzoru na sumę ciagu arytmetycznego k i = 1+2+ +k = oraz wzoru na sumę ciagu geometrycznego k i=0 (k +1)k 2 x i = 1+x+x 2 + +x k = xk+1 1 x 1 (wzór (1.2) jest słuszny dla każdego x 1). Będziemy też używać zapisu typu a i = a 1 +a 2 +a 3 +a 4 +a 5 +a 6. 1 i 6 (1.1) (1.2) W tym przypadku zbiór indeksów określony jest za pomocą warunku pod znakiem sumy. Warunek określający indeksy, po których należy sumować, może być bardziej skomplikowany, na przykład a i = a 2 +a 4 +a 6. 1 i 6 i parzyste

16 Rozdział 1. Podstawowe pojęcia, oznaczenia Stosować będziemy także zapis a i, i I oznaczający sumę tych elementów a i, których indeksy należą do skończonego zbioru indeksów I. Na przykład jeżeli I = {1,3,5,7}, to a i = a 1 +a 3 +a 5 +a 7. i I Możemy też sumować ciągi, których elementy zależą od dwóch indeksów, 1 i 3 2 j 3 a ij = 1 i 32 j 3 a ij = a 12 +a 13 +a 22 +a 23 +a 32 +a 33. Korzystając ze znanych własności działań arytmetycznych oraz z indukcji matematycznej, łatwo można udowodnić następujące wzory 1 i n 1 i m 1 i m a 1 i n a i = (a i +b i ) = a i a i 2 1 i n 1 i n 1 j n = 1 i m b j a a i, (1.3) a i + 1 i n = 1 i m 1 j n a 2 i + 1 i<j m b i, (1.4) a i b j, (1.5) 2a i a j. (1.6) 1.2 Iloczyny Aby zapisać iloczyn elementów ciągu a 1,a 2,..., a k, stosujemy zapis k a i. Znów niezbyt formalnie możemy to zapisać jako k a i = a 1 a 2... a k.

1.3. Zbiory 17 1.3 Zbiory oznacza zbiór pusty, który nie zawiera żadnych elementów. N oznacza zbiór liczb naturalnych, N = {0, 1, 2, 3,...}. Z oznacza zbiór liczb całkowitych. Q oznacza zbiór liczb wymiernych. R oznacza zbiór liczb rzeczywistych. a A oznacza, że elementanależy do zbiorua,a / A że elementanie należy do zbioru A. Najprostszy sposób zdefiniowania zbioru polega na wypisaniu jego elementów w nawiasach klamrowych. Na przykład zbiór {1,2,3} zawiera elementy 1, 2, 3. Inny sposób definiowania zbioru polega na podaniu własności, którą spełniają elementy zbioru. Na przykład {x x N,3 < x < 7} oznacza zbiór liczb naturalnych większych od 3 i mniejszych od 7. A oznacza moc zbiorua, czyli liczbę jego elementów, {3,6,9} = 3, = 0. A B oznacza sumę zbiorów, czyli zbiór zawierający elementy, które należą do A lub do B, A B = {x : x A lub x B}. Zatem sumaa B zawiera wszystkie elementy zbioruaiwszystkie elementy zbiorub. A B oznacza iloczyn lub przekrój zbiorów, czyli zbiór zawierający elementy, które należą do obu zbiorów naraz, A B = {x : x A ix B}. A B oznacza różnicę zbiorów, czyli zbiór zawierający elementy, które należą doa i nie należą dob, A B = {x : x A i x / B}. Przykład 1.1 DlaA = {1,2,4} i B = {1,4,6} mamy A B = {1,2,4,6}, A B = {1,4}, A B = {2}. A B oznacza, że zbiórazawiera się w zbiorzeb, to znaczy wszystkie elementy zbioru A należą do zbioru B, {2,1} {1,2,3}. Dwa zbiory są równe, jeżeli zawierają te same elementy, lub inaczeja = B wtedy i tylko wtedy, gdy A B ib A, {1,4,2,3} = {4,1,3,2}. Jak widać, kolejność elementów w zapisie zbioru nie ma znaczenia. I tak na przykład {1,2} = {2,1}. Taki zbiór dwuelementowy nazywamy para nieuporzadkowan a. W poniższym lemacie zebrano podstawowe własności operacji sumy oraz iloczynu zbiorów. Lemat 1.2 A B = B A (przemienność sumy).

18 Rozdział 1. Podstawowe pojęcia, oznaczenia A B = B A (przemienność iloczynu). A (B C) = (A B) C (A B) C = A (B C) (A B) C = A C B C (łaczność sumy). (łaczność iloczynu). (rozdzielność sumy względem iloczynu). (A B) C = (A C) (B C) (rozdzielność iloczynu względem sumy). A = A, A =, A A = A, A A = A. Dowód. Udowodnimy tylko rozdzielność sumy względem iloczynu. W tym celu pokażemy dwa zawierania:(a B) C A C B C oraza C B C (A B) C. Aby udowodnić zawieranie(a B) C A C B C, weźmy dowolny element x (A B) C; wtedy x A B oraz x C, a to oznacza, że x należy do C i do jednego ze zbiorów A lub B (lub do obu), czyli należy do A C lub do B C, a więc x A C B C. Pokazaliśmy więc, że dowolny element z (A B) C należy do A C B C. Aby udowodnić zawieraniea C B C (A B) C, weźmy dowolny element x A C B C; wtedy x A C lub x B C, a to oznacza, że x należy do C i do jednego ze zbiorów A lub B (lub do obu), czyli należy do A B oraz do C, a więc x (A B) C. Pokazaliśmy więc, że dowolny element z A C B C należy do (A B) C. 1.4 Różnica symetryczna zbiorów A B oznacza różnicę symetryczna zbiorów, która zawiera elementy należące tylko do jednego z dwóch zbiorów A B = (A B) (B A). Przykład 1.3 {1,2,4} {1,4,6} = {2,6}. W poniższym lemacie zebrano podstawowe własności różnicy symetrycznej zbiorów. Lemat 1.4 A B = B A (przemienność). (A B) C = A (B C) (A B) C = A C B C (łaczność). (rozdzielność względem iloczynu). A = A, A A =. Jeżeli A B =, toa = B. Dowód. Udowodnimy, tylko dwie tożsamości, dowód pozostałych pozostawiamy czytelnikowi jako ćwiczenie. Aby pokazać, że różnica symetryczna jest łączna, wystarczy zauważyć, że zbiór A (B C) lub(a B) C zawiera te elementy, które należą do nieparzystej liczby zbiorów, czyli te, które należą tylko doa,b lubc, plus te, które należą do przekroju A B C.

1.5. Iloczyn kartezjański 19 Udowodnimy teraz ostatnią implikację. Jeżeli A B =, to A = A = A (A B) = (A A) B = B = B. Twierdzenie 1.5 Różnica symetryczna n zbiorów A 1 A 2... A n zawiera elementy, które należa do nieparzystej liczby spośród zbiorówa 1, A 2,...,A n. Dowód przez indukcję ze względu na n. Twierdzenie jest oczywiste dla n = 1 lub n = 2. Załóżmy teraz, że jest ono prawdziwe dlanirozpatrzmy A 1... A n A n+1 = (A 1... A n ) A n+1. Zbiór ten zawiera te elementy, które należą do (A 1... A n ) i nie należą do A n+1, oraz te, które nie należą do (A 1... A n ) i należą do A n+1. W pierwszym przypadku są to elementy, które nie należą do A n+1 i na mocy założenia indukcyjnego należą do jakiejś nieparzystej liczby zbiorów spośród A 1,...,A n. W drugim przypadku są to elementy, które należą do A n+1, a także do pewnej parzystej liczby zbiorów spośród A 1,...,A n. Razem mamy wszystkie elementy należące do nieparzystej liczby zbiorów spośróda 1,...,A n+1. 1.5 Iloczyn kartezjański Para uporzadkowana jest to dwuelementowy ciąg (x,y). Mamy (x,y) = (u,v) wtedy i tylko wtedy, gdy x = u orazy = v. Dopuszczalne jest także x = y. A B oznacza iloczyn kartezjański zbiorów A i B. Jest to zbiór wszystkich uporządkowanych par (a,b), w których a A i b B. Inaczej A B = {(a,b) a A, b B}. Przykład 1.6 DlaA = {1,3,5} i B = {3,4} mamy A B = {(1,3),(1,4),(3,3),(3,4),(5,3),(5,4)}. Można łatwo wykazać, że A B = A B. Podobnie można tworzyć iloczyn większej liczby składników. A B C = {(a,b,c) a A, b B c C}. Elementy iloczynu kartezjańskiego będziemy też nazywać wektorami.a 2 oznaczaa A, podobnie A 3 = A A A i ogólnie A n = {(a 1,...,a n ) i a i A}.

20 Rozdział 1. Podstawowe pojęcia, oznaczenia 1.6 Rodzina zbiorów Czasami będziemy mieli do czynienia ze zbiorem, którego elementami są zbiory. Przez P(A) lub 2 A oznaczamy zbiór wszystkich podzbiorów zbioru A. Przykład 1.7 Dla A = {a, b} P(A) = {,{a},{b},{a,b}}. Zbiór zbiorów nazywamy czasami rodziną zbiorów. Na przykład A = {A 1,A 2,A 3,A 4 } jest rodziną zawierającą cztery zbiorya 1,A 2,A 3 ia 4 ; są to elementy zbiorua. Możemy też zapisać A = {A i 1 i 4}. Zbiory z rodziny możemy sumować. Suma zawiera te elementy, które należą do któregoś ze zbiorów A 1, A 2,...,A k, czyli Inaczej możemy to zapisać Będziemy też używać zapisu k A i k A i = {x i 1 i k x A i }. k A i = A 1 A 2... A k. i I na oznaczenie sumy wszystkich zbiorów A i, których indeksy należą do zbioru I. Zachodzi wtedy A i = {x i I x A i }. i I Zbiór indeksów sumowania może być określony za pomocą warunku A i = A 2 A 3 A 4 A 5. 1<i<6 Lemat 1.8 Dla sumy zbiorów zachodzi prawo rozdzielności sumy względem przekroju C i I A i A i = i I(C A i ). Dowód. Weźmy dowolny element x C i I A i. Wtedy x należy do C i do któregoś ze zbiorówa i, czyli dla jakiegośi I,xnależy doc A i, a to znaczy, żex i I (C A i ). Weźmy z kolei dowolny element x i I (C A i). Wtedy x należy do C A i dla jakiegoś i I, czyli x należy do C i do sumy i I A i, czyli należy do przekroju C i I A i.

1.7. Grafy (nieskierowane) 21 Możemy też brać przekroje zbiorów z rodziny. Przekrój zawiera te elementy, które należą do wszystkich zbiorów A 1, A 2,...,A k, czyli Inaczej możemy to zapisać Będziemy też używać zapisu k A i k A i = {x i 1 i k x A i }. k A i = A 1 A 2... A k. i I na oznaczenie przekroju wszystkich zbiorów A i, których indeksy należą do zbioru I. Zachodzi wtedy A i = {x i I x A i }. i I Zbiór indeksów przekroju może być określony za pomocą warunku A i = A 2 A 3 A 4 A 5. 1<i<6 Przykład 1.9 Weźmy rodzinę złożona z trzech zbiorów, A 1 = {4,6,8}, A 2 = {4,5,6}, A 3 = {4,5,8,9}, 3 A i = {4,5,6,8,9}, A i 3 A i = {4}. Przykład 1.10 Niech I = {1,2,3,4,5,6,7,8,9,10} będzie zbiorem indeksów. Dla każdego i I określamy zbiór A i = {x N 1 x i}. Mamy A i = {1,2,3,4,5,6,7,8,9,10}, A i = {1}, i I 1<i<7 A i = {1,2,3,4,5,6}, 1.7 Grafy (nieskierowane) i I 1<i<7 A i = {1,2}. Definicja 1.11 Graf (nieskierowany) G = (V,E) jest to para składaj aca się ze skończonego zbioru wierzchołków V oraz ze zbioru krawędzi E, gdzie krawędzie to pary wierzchołków, E {{u,v} u,v V, u v}.

22 Rozdział 1. Podstawowe pojęcia, oznaczenia O krawędzi e = {u,v} mówimy, że łączy wierzchołki u iv, a o wierzchołkach u iv że są końcami krawędzi e. Wierzchołki połączone krawędzią nazywamy sąsiednimi. Stopień wierzchołka v, oznaczany przez d(v), jest to liczba krawędzi wychodzących z v. Rysunek 1.1: Przykład grafu a b c d e f g Przykład 1.12 Rysunek 1.1 przedstawia grafg = (V,E) ze zbiorem wierzchołkówv = {a,b,c,d,e,f,g} i zbiorem krawędzi E = {{a,b},{a,d},{a,e},{a,g},{b,c},{c,g},{c,f},{d,f},{e,f},{f,g}}. Stopień wierzchołków a i f wynosi 4, wierzchołki c i g sa stopnia 3, wierzchołki b, d i e stopnia 2. Graf H = (V H,E H ) nazywamy podgrafem grafu G = (V G,E G ), jeżeli V H V G oraz E H E G. Przykład 1.13 Drzewo przedstawione na rysunku 1.3 jest podgrafem grafu z rysunku 1.1. Graf pełny o n wierzchołkach, oznaczany przez K n, jest to graf z n wierzchołkami, w którym każde dwa wierzchołki połączone są krawędzią. Droga lub ścieżka w grafie G = (V G,E G ) jest to ciąg wierzchołków v 0,v 1,...,v k, taki że dla każdego i, 1 i k, wierzchołki v i 1, v i są połączone krawędzią, czyli {v i 1,v i } E G. O drodze v 0,v 1,...,v k mówimy, że łączy wierzchołki v 0 i v k. Mówimy także, że wierzchołek v k jest osiągalny z wierzchołka v 0. Droga jest zamknięta, jeżeli v 0 = v k. Droga jest prosta, jeżeli wszystkie występujące w niej wierzchołki są różne. Drogę v 0,v 1,...,v k nazywamy cyklem, jeżeli v 0 = v k, k 3 oraz wszystkie wierzchołki v 1,...,v k są różne. Przykład 1.14 W grafie z rysunku 1.1 ciag e, a, d, a, b, c, g jest droga, a ciag a, e, f, d,a jest cyklem. Ciag a,e,f,d,a,b,c,g,a jest droga zamknięta, ale nie jest cyklem. GrafGjest spójny, jeżeli dla każdych dwóch wierzchołkówu,v V G istnieje ścieżka łącząca u iv.