Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku
Rozdział Oznaczenia W tym rozdziale przedstawimy podstawowe oznacznia oznacza kwantyfikator ogólny "dla każdego" oznacza kwantyfikator szczegółowy "istnieje" Sumy Maj ac dany skończony ci ag,,, sumȩ jego elementów zapisujemy jako Niezbyt formalnie możemy to zapisać Jako przykład zastosujmy symbol sumy do zapisu wzoru na sumę ci agu arytmetycznego) oraz wzoru na sumę ci agu geometrycznego) %$' ( (wzór (2) jest słuszny dla każdego Bȩdziemy też używać zapisu typu 2 54 476 3 )* )! ",+ 0 98:9;9<:= 6 3 () (2)
)( )( ' )( 4 Rozdział Oznaczenia W tym przypadku zbiór indeksów określony jest za pomoc a warunku pod znakiem sumy Warunek określaj acy indeksy, po których należy sumować może być bardziej skomplikowany, na przykład Stosować bȩdziemy także zapis oznaczaj acy sumȩ tych elementów indeksów Na przykład, jeżeli = ; 6, których indeksy należ a do skończonego zbioru, to 8: < Możemy też sumować ciągi, których elementy zależą od dwóch indeksów,!" $% 8 8 8 8 8 Za pomocą podwójnej sumy możemy na przykład przedstawić uogólnione prawo rozdzielności mnożenia względem dodawania: 54 4+*, ' 54 ' 402, 3 %4 ' (3) a także wzór na podnoszenie sumy do kwadratu: 4 40*, 4 40* 4 5 ' 4+* ' (4) 2 Iloczyny Aby zapisać iloczyn elementów ci agu,,, stosujemy zapis 6 Znów niezbyt formalnie możemy to zapisać jako 6
3 Zbiory 3 Zbiory 5 oznacza zbiór pusty, który nie zawiera żadnych elementów oznacza zbiór liczb naturalnych oznacza zbiór liczb całkowitych oznacza zbiór liczb wymiernych oznacza zbiór liczb rzeczywistych oznacza, że elment należy do zbioru,, że elment nie należy do zbioru Najprostszy sposób zdefiniowania zbioru polega na wypisaniu jego elementów w nawiasach klamrowych Na przykład zbiór zawiera elementy,2,3 Inny sposób definiowania zbioru polega na podaniu własności, któr a spełniaj a elementy zbioru Na przykład oznacza zbiór liczb naturalnych wiȩkszych od 3 i mniejszych od 7 oznacza moc zbioru, czyli liczbȩ jego elementów oznacza sumȩ zbiorów, czyli zbiór, który zawiera elementy, które należą do lub do : lub A zatem suma zawiera wszystkie elementy zbioru i wszystkie elementy zbioru oznacza iloczyn lub przekrój zbiorów, czyli zbiór, który zawiera te elementy, które należ a do obu zbiorów naraz i oznacza różnicȩ zbiorów, czyli zbiór, który zawiera te elementy, które należ a do i nie należ a do Przykład Dla i i mamy: 9! oznacza, że zbior zawiera siȩ w zbiorze, to znaczy wszystkie elementy zbioru należ a do zbioru Dwa zbiory s a równe jeżeli zawieraj a te same elementy, lub inaczej wtedy gdy! i " wtedy i tylko Jak widać kolejność elementów w zapisie zbioru nie ma znaczenia I tak na przykład Taki zbiór dwuelementowy nazywamy czasami par a nieuporz adkowan a W poniższym lemacie zebrano podstawowe własności operacji sumy i iloczynu zbiorów
6 Rozdział Oznaczenia Lemat 2 (przemienność sumy) (przemienność iloczynu),, (ł aczność sumy) (ł aczność iloczynu) 4 Różnica symetryczna zbiorów (rozdzielność sumy wzglȩdem iloczynu) (rozdzielność iloczynu wzglȩdem sumy), oznacza różnicȩ symetryczn a zbiorów, która zawiera elementy należ ace tylko do jednego z dwóch zbiorów: Przykład 3 W poniższym lemacie zebrano podstawowe własności różnicy symetrycznej zbiorów Lemat 4 Jeżeli,, to (przemienność) (ł aczność), (rozdzielność wzglȩdem iloczynu) 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 lub zawiera te elementy, które należ a do nieparzystej liczby zbiorów, czyli te, które należ a tylko do, plus te, które należ a tylko do, plus te, które należ a tylko do, plus te, które należ a do przekroju Udowodnimy teraz ostatnią implikację Jeżeli, to :
5 Iloczyn kartezjański 7 Twierdzenie 5 Różnica symetryczna zbiorów: zawiera elementy, które należ a do nieparzystej liczby spośród zbiorów, Dowód przez indukcjȩ ze wzglȩdu na Twierdzenie jest oczywiste dla Załóżmy teraz, że jest ono prawdziwe dla i rozpatrzmy: + + Zbiór ten zawiera te elementy, które należ a do i nie należ a do +, oraz te, które nie należ a do " i należ a do + W pierwszym przypadku s a to elementy, które nie należ a do + i na mocy założenia indukcyjnego należ a do jakiejś nieparzystej liczby zbiorów spośród W drugim przypadku s a to elementy, które należ a do +, a także do pewnej parzystej liczby zbiorów spośród Razem mamy wszystkie elementy należ ace do nieparzystej liczby zbiorów + spośród 5 Iloczyn kartezjański Para uporz adkowana jest to dwuelementowy ciąg Mamy tylko wtedy gdy oraz Dopuszczalne jest także lub wtedy i oznacza iloczyn kartezjański zbiorów i Jest to zbiór wszystkich uporz adkowanych par, w których i Inaczej Przykład 6 Dla Można łatwo wykazać, że i 6 Rodzina zbiorów mamy Czasami będziemy mieli do czynienia ze zbiorem, którego elementami są zbiory Przez lub będziemy oznaczać zbiór wszystkich podzbiorów zbioru Przykład 7 Dla
6 8 Rozdział Oznaczenia 8 ; jest rodzin a zawieraj ac a cztery zbiory ",, 8 i ;, s a to elementy zbioru Możemy Zbiór zbiorów nazywamy czasami rodzin a zbiorów Na przykład też zapisać Możemy sumować zbiory z rodziny Suma zawiera te elementy, które należ a do któregoś ze zbiorów,,,, czyli 4 47 Inaczej możemy to zapisać: Bȩdziemy też używać zapisu, których indeksy należ a do zbioru Zacho na oznaczenie sumy wszystkich zbiorów dzi wtedy ' Zbiór indeksów sumowania może być określony za pomoc a warunku 5 5 8 ; < Możemy też brać przekroje zbiorów z rodziny Przekrój zawiera te elementy, które należ a do wszystkich zbiorów,,,, czyli 4 47 Inaczej możemy to zapisać: '
8 6 Bȩdziemy też używać zapisu, których indeksy należ a do zbioru Za na oznaczenie przekroju wszystich zbiorów chodzi wtedy 7 Słowa 9 Zbiór indeksów przekroju może być określony za pomoc a warunku 57"5 8 ; < Przykład 8 Weźmy rodzinȩ złożon a z trzech zbiorów 8 bȩdzie zbiorem indeksów Dla każ ' 9 8 ' Przykład 9 Niech dego określamy zbór Mamy: 5 5 7 Słowa, Słowa są to ciągi liter lub symboli z jakiegoś skończonego zbioru Zbiór wtedy alfabetem Zbiór wszystkich słów nad alfabetem oznaczamy przez Wśród słów wyróżniamy słowo puste, które nie zawiera żadnych liter Przykład 0 Na przykład, jeżeli jednoliterowe i, 9, i, 9,, i, cztery słowa dwuliterowe, 5 5 9, nazywamy, to zawiera słowo puste, dwa słowa, i, osiem słów trzyliterowych, i tak dalej Długość słowa jest to liczba jego liter, będziemy ją oznaczać przez Długość słowa pustego Zbiór wszystkich słów długości nad alfabetem oznaczamy przez Dla słów możemy określić operację konkatenacji, lub składania słów Konkatenacja lub złożenie dwóch słów,, oznaczana przez, jest to sklejenie słów i Do słowa dopisujemy na końcu słowo Dla dowolnego słowa zachodzi
0 Rozdział Oznaczenia Przykład Konkatenacja słów Słowo jest prefiksem lub przedrostkiem słowa, jeżeli istnieje takie słowo, że Podobnie, słowo jest sufiksem lub przyrostkiem słowa, jeżeli istnieje takie słowo, że i to sówo Przykład 2 Na przykład jest prefiksem słowa 9, a słowo jest sufiksem słowa Słowo puste jest prefixem i sufiksem dowolnego słowa Każde słowo jest swoim własnym prefiksem i sufiksem Zwykle alfabet jest zbiorem uporządkowanym, lub mówiąc inaczej mamy pewną kolejność liter w alfabecie Na przykład w zbiorze litera stoi przed Możemy też wtedy uporządkować zbiór słów nad alfabetem Jeden porządek nazywa się porzadkiem leksykograficznym Jest to porządek słów w słownikach Aby porównać dwa słowa,, szukamy pierwszej pozycji, na której te dwa słowa się różnią Słowo, które ma na tej pozycji wcześniejszą literę, jest wcześniejsze w porządku leksykograficznym Jeżeli takiej pozycji nie ma, to albo, albo jedno ze słów jest prefiksem drugiego, wtedy wcześniejszy w porządku leksykograficznym jest prefiks Przykład 3 W porzadku leksykograficznym słowo a to jest wcześniejsze od jest wcześniejsze od słowa Porządek leksykograficzny jest wygodny, jeżeli zbiór słów jest skończony Zauważmy, że w zbiorze wszystkich słów nieskończenie wiele słów (wszystkie słowa złożone tylko z litery ) poprzedza słowo Dlatego czasami stosuje się inny porządek, tak zwany porzadek kanoniczny Słowo poprzedza słowo w porządku kanonicznym, jeżeli: albo, albo i poprzedza w porządku leksykograficznym uporzadkowane według porzadku kano Przykład 4 Pocz nicznego to: 8 Zaokr aglenia atkowe słowa zbioru Wprowadźmy dwa oznaczenia na zaokr aglenie liczby rzeczywistej Dla dowolnej liczby rzeczywistej oznacza zaokr aglenie w górȩ do najbliższej liczby całkowitej oznacza zaokr aglenie w dół do najbliższej liczby całkowitej Zaokrąglenie nazywamy podłogą z nazywamy sufitem z, a zaokrąglenie,
9 Przedrostki Przykład 5 9 Przedrostki W przypadku bardzo dużych lub bardzo małych wartości używa siȩ czasami jednostek miar bȩd acych wielokrotnościami lub podwielokrotnościami podstawowych jednostek Takie jednostki wyraża siȩ przez dodanie do nazwy jednostki odpowiedniego przedrostka, a do oznaczenia tej jednostki dodaje siȩ oznaczenie przedrostka W nastȩpuj acej tabeli zebrano te przedrostki Przedrostek Oznaczenie Wielokrotność exa E < peta P tera T giga G mega M 6 kilo k 8 hekto h deka da Przedrostek Oznaczenie Podwielokrotność decy d centy c mili m 8 mikro 6 nano n piko p femto f < atto a Przykładami tak utworzonych jednostek s a: centymetr (cm), milimetr (mm), hehtopaskal, hektolitr, kilogram (kg), kilowat (kw) Do mierzenia prȩdkości (zegara) procesora używa siȩ megahertzów Jeden megahertz (MHz) to jednostka czȩstości równa milionowi impulsów na sekundȩ Kilobajtów, megabajtów i gigabajtów używa siȩ do mierzenia liczby komórek pamiȩci Czȩsto przyjmuje siȩ, że kilobajt ma bajtów, megabajt bajtów, a gigabajt bajtów 0 Notacja asymptotyczna W analizie jakiegoś algorytmu (programu) ważne jest oszacowanie jego czasu działania Jako przykład weźmy algorytm sortowania bąbelkowego, który ustawia elementy ciągu wejściowego w porządku niemalejącym
2 Rozdział Oznaczenia Algorytm sortowania babelkowego Aby posortować ciąg długości : () wykonujemy co następuje razy: (a) wskazujemy na pierwszy element, (b) wykonujemy co następuje razy: porównujemy wskazany element z elementem następnym, jeżeli porównane elementy są w niewłaściwej kolejności, to zamieniamy je miejscami, wskazujemy na następny element W poniższej tabeli zilustrowano zastosowanie algorytmu dla ciągu 4 2 3 2 3 2 2 4 2 4 2 4 2 3 4 3 4 2 4 Kolejne wiersze przedstawiają ciąg po kolejnych porównaniach Element aktualnie wskazany jest zaznaczony daszkiem Poprawność powyższego algorytmu wynika z faktu, że po pierwszym wykonaniu zewnętrznej pętli () największy element ciągu znajdzie się na końcu, po drugim wykonaniu pętli drugi największy element ciągu znajdzie się na przedostatniej pozycji, i tak dalej Po każdym kolejnym wykonaniu pętli () kolejny największy element znajdzie swoją właściwą pozycję Czas działania algorytmu zależy od liczby elementów w ciągu Pętla zewnętrzna () jest wykowywana razy W każdej iteracji pętli zewnętrznej pętla wewnętrzna (b) również jest wykonywana razy W każdym kolejnym wykonaniu pętli wewnętrznej algorytm wykonuje kilka kroków Tak więc, aby posortować ciąg długości algorytm w sumie wykonuje kroków, gdzie jest pewną stałą Czas pracy powyższego algorytmu został oszacowany z dokładnością do stałej Jest to powszechna praktyka i będziemy tak postępować w tej książce Do szacowania czasu pracy algorytmu (jego złożoności czasowej) i do porównywania algorytmów pod względem czasu działania będziemy używać notacji asymptotycznej Niech i będą dwiema funkcjami określonymi na zbiorze liczb naturalnych o wartościach w zbiorze dodatnich liczb rzeczywistych Wtedy:
8 8 dla prawie wszystkich 0 Notacja asymptotyczna 3, jeżeli istnieje dodatnia stała taka, że, to znaczy istnieje $, takie, że każdego $ W takim przypadku mówimy, że funkcja jest O duże od W takim przypadku mówimy, że funkcja jest o małe od prawie wszystkich duże od, jeżeli funkcja jest Theta duże od, jeżeli istnieje dodatnia stała dla taka, że dla W takim przypadku mówimy, że funkcja jest Omega, jeżeli istnieją dwie dodatnie stałe dla prawie wszystkich takie, że W takim przypadku mówimy, że Jeżeli, to mówimy, że funkcja ogranicza z góry funkcję dokładnością do stałej), albo, że rząd funkcji jest nie większy od rzędu funkcji Przykład 6 Czas działania algorytmu sortowania babelkowego jest 8 8 8 dla prawie wszystkich liczb naturalnych Na przykład Będziemy dopuszczać notację asymptotyczną także wobec funkcji, które są dodatnie Jeżeli, to mówimy, że jest niższego rzędu niż Przykład 7 8 Jeżeli Przykład 8, to i są tego samego rzędu, czyli " (z oraz
< ; 4 Rozdział Oznaczenia Następujący lemat jest bardzo użyteczny przy szacowaniu asymptotycznym Jego dowód zostawiamy jako ćwiczenie Lemat 9 Jeżeli granica istnieje i jest właściwa (nie jest równa ), to Wniosek 20 Jeżeli, to Następujący przykład pokazuje, że oszacowanie asymptotyczne może być zawodne Przykład 2 Weźmy dwie funkcje oraz Mamy, ale dla wszystkich 8 $ $, czyli dla wszystkich liczb mniejszych od liczby atomów w naszej galaktyce (porównaj podrozdział duże liczby w rozdziale o arytmetyce) Z drugiej jednak strony oszacowanie asymptotyczne wystarczy do naszych celów i jest łatwiejsze do uzyskania Przykład 22 Rozważmy trzy algorytmy: pierwszy działający w czasie, drugi w czasie 8 i trzeci w czasie 8 8 Funkcje te określaja czas działania na pewnym konkretnym komputerze Niech, i 8 oznazczają :( długości wejść, dla których algorytmy dają odpowiedź w ciagu jednej sekundy, to znaczy 8 8 Przypuśćmy teraz, że mamy 000 razy szybszy komputer i pytamy jakie wejścia teraz moga być policzone przez te algorytmy w ciagu jednej sekundy Dla pierwszego algorytmu działajacego w czasie liniowym możemy teraz obliczać 000 razy dłuższe dane wejściowe, ponieważ Dla drugiego algorytmu działajacego w czasie sześciennym możemy teraz obliczać 0 razy dłuższe dane wejściowe, ponieważ ( Dla trzeciego algorytmu działaja cego w czasie wykładniczym możemy teraz obliczać tylko dane wejściowe o 0 dłuższe, ponieważ 8 8 Zadania Oblicz 2 Oblicz 3 Oblicz 4 Niech 5 Niech zbór dla 8 8, i Oblicz,,, bȩdzie zbiorem indeksów Dla każdego określamy Oblicz,, 8 < oraz,, 8 ; <
6 Niech 7 Niech zbór, Zadania 5 Wypisz elementy, oraz bȩdzie zbiorem indeksów Dla każdego określamy oraz dzieli Oblicz oraz 8 Uporządkuj następujący zbiór słów [Fragment wiersza Ptasie radio Juliana Tuwima] według porządku leksykograficznego i kanonicznego: słowik, wróbel, kos, jaskółka, kogut, dzięcioł, gil, kukułka, szczygieł, sowa, kruk, czubatka, drozd, sikora i dzierlatka, kaczka, gąska, jemiołuszka, dudek, trznadel, pośmieciuszka, wilga, zięba, bocian, szpak 9 Udowodnij wzór () na sumę ciągu arytmetycznego 0 Udowodnij wzór (2) na sumę ciągu geometrycznego Udowodnij wzór (3) 2 Udowodnij wzór (4) 3 Udowodnij lemat 9, 4 Udowodnij zależności z przykładów 6, 7, 8,