n - Politechnika Częstochowska
Transkrypt
n - Politechnika Częstochowska
MATEMATYKA DYSKRETNA Wykład III Dr inż. Jolanta Błaszczuk Instytut Matematyki Politechnika Częstochowska Częstochowa 2011 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Rekurencja Ciągiem nieskończonym nazywamy funkcję f, która odwzorowuje zbiór N+ liczb naturalnych dodatnich w pewien niepusty zbiór A. Wartości tej funkcji określamy jako wyrazy ciągu. Ciąg nieskończony nosi miano liczbowego, gdy jego wyrazy są liczbami. Ciąg może być podany w różny sposób, najczęściej za pomocą: zapisu słownego, wzoru ogólnego, wzoru rekurencyjnego (zwanego też wzorem indukcyjnym), to znaczy tak, że aby obliczyć jakiś wyraz ciągu, należy znać wyrazy poprzednie. Mówimy, że ciąg jest zdefiniowany rekurencyjnie, jeśli: - określony jest pierwszy lub kilka pierwszych wyrazów ciągu, - pozostałe wyrazy ciągu są zdefiniowane za pomocą poprzednich wyrazów ciągu. Równania rekurencyjne to zagadnienie kombinatoryczne, w którym poszukiwane rozwiązanie jest reprezentowane przez ciąg liczbowy a1, a2, a3, … Rekurencja w informatyce jest to zdolność podprogramu (procedury lub funkcji) do wywołania samego siebie. Najprostszym przykładem funkcji rekurencyjnej jest silnia. Przykład 1 Ciąg (fn) zapisano następująco: f1=2 oraz fn+1=2fn dla każdego n∈N+. Wyznacz kilka początkowych wyrazów tego ciągu. Zgodnie z podanym wzorem: f2=2f1=4, f3=2f2=8, f4=2f3=16, f5=2f4=32. Częstochowa 2011 29 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Przykład 2 Ciąg (an) ma następujący zapis: a1=1, an+1=an+(2n+1) dla n=1,3,4,… Udowodnij, że (an) jest ciągiem kwadratów kolejnych liczb naturalnych dodatnich. Zastosujemy indukcję matematyczną. (P) Sprawdzamy prawdziwość tezy dla n=1. Zgodnie z podanym w zadaniu założeniem a1=1=12. (I) Wykazujemy, że dla każdej liczby naturalnej dodatniej n, jeśli an=n2, to an+1=(n+1)2. Istotnie, zgodnie z podanym wzorem rekurencyjnym i założeniem indukcyjnym: an+1=an+(2n+1)=n2+(2n+1)=(n+1)2. Zatem na mocy indukcji matematycznej stwierdzamy, że an=n2 dla wszystkich n∈N+. Zajmiemy się teraz problemem prowadzącym do nieco bardziej skomplikowanej zależności rekurencyjnej. Będzie to klasyczne zadanie o królikach rozważane w XIII w. przez Leonarda Fibonacciego z Pizy. Przypuśćmy, że każda nowo narodzona para królików wydaje co miesiąc jedną parę potomstwa, poczynając od drugiego miesiąca życia. Oznaczając przez N, M, D odpowiednio parę królików nowo narodzonych, młodych (jednomiesięcznych) i dojrzałych możemy nasz proces, rozpoczynający się od jednej nowo narodzonej pary, przedstawić następująco: Stan początkowy: N, Po 1 miesiącu: M, Po 2 miesiącach: D, N, Po 3 miesiącach: D, M, N, Po 4 miesiącach: D, D, M, N, N, Częstochowa 2011 30 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Po 5 miesiącach: D, D, D, M, M, N, N, N, ………………………………………………………………….. Oznaczmy przez Fn liczbę królików po n miesiącach (przy założeniu, że króliki nie zdychają) oraz przedstawmy Fn jako sumę FnD+ FnM+ FnN odpowiednio królików dojrzałych, młodych i nowo narodzonych. Dla n ≥ 2 mamy wtedy Fn= Fn-1+ FnN = Fn-1 + FnD = Fn-1 + Fn-2. Ostatnia równość wynika stąd, że pary dorosłe po n miesiącach to wszystkie pary po n-2 miesiącach i tylko one. Technika pozwalająca na wyznaczenie ogólnego wzoru na Fn oparta jest na pojęciu funkcji tworzącej (wykład IV). Przykład 3 Ciąg (Fn) jest określony wzorem rekurencyjnym: F0=F1=1, Fn= Fn-1+ Fn-2 dla każdego n ≥ 2 (ciąg Fibonacciego). Wypisz kilka początkowych wyrazów tego ciągu. Początkowe wyrazy tego ciągu to: F2= F1+ F0=1+1=2, F3= F2+ F1=2+1=3, F4= F3+ F2=3+2=5, F5= F4+ F3=5+3=8, itd. Początkowe wyrazy ciągu Fibonacciego to: 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,… Liczby te często spotykamy w przyrodzie. Na przykład typowy słonecznik ma nasiona upakowane w ciasno zwinięte spirale – zwykle jest 55 spiral skręconych zgodnie ze wskazówkami zegara oraz 34 spirale skręcone przeciwnie. Mniejsze słoneczniki mają odpowiednio 34 i 21 spiral. Podobne zjawisko można zauważyć u ananasów, stokrotek, a także w pewnych gatunkach szyszek. Częstochowa 2011 31 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Kepler odkrył, że stosunek dwóch Fibonacciego dąży do tzw. złotej liczby. kolejnych liczb 1+ 5 ≈ 1,618 . 2 Stosunek kolejnych liczb Fibonacciego jest bliski 1,618 zaczynając od ilorazu ósmego i siódmego wyrazu ciągu Fibonacciego. To może sugerować, że ciąg Fibonacciego zachowuje się jak ciąg geometryczny. Więc zobaczmy, czy istnieje taki postęp geometryczny, który spełnia tę samą rekurencję, co ciąg Fibonacciego. q= Przykład 4 Niech Fn=c⋅qn będzie ciągiem geometrycznym (c,q≠0). Wtedy Fn= Fn-1+ Fn-2 można przekształcić w c⋅qn = c⋅qn-1+ c⋅qn-2. Po podzieleniu obustronnie równania przez c oraz qn otrzymujemy równanie kwadratowe q2 - q- 1=0. Rozwiązania równania są następujące: 1+ 5 1− 5 ≈ 1,618034 , q2 = ≈ −0,618034 . 2 2 Znaleźliśmy dwa ciągi geometryczne, które spełniają tę samą rekurencję co ciąg Fibonacciego: q1 = 1+ 5 Fn = c 2 Częstochowa 2011 n lub 1− 5 Fn = c 2 n 32 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Przykład 5 Wykaż, że n-ty wyraz ciągu Fibonacciego określony jest wzorem Bineta: n n 1 1+ 5 1− 5 − Fn = 5 2 2 Zastosujemy indukcję matematyczną. (P) Sprawdzamy najpierw, czy F1=1 i F2=1. 1 1 1 1+ 5 1− 5 − = 1 F1 = 5 2 2 2 2 1 1 + 5 1 − 5 − = 1 F2 = 5 2 2 (I) Wykazujemy, że dla każdej liczby naturalnej n takiej, że n ≥2, jeśli: n n 1 1 + 5 1 − 5 − i Fn = 5 2 2 n −1 n −1 1− 5 1 1 + 5 − , to Fn −1 = 5 2 2 n +1 n +1 1− 5 1 1 + 5 − . Fn +1 = 2 5 2 Istotnie, zgodnie ze wzorem rekurencyjnym określającym ciąg (Fn) i na mocy założenia indukcyjnego: Fn +1 = Fn + Fn −1 = Częstochowa 2011 33 Dr inż. Jolanta Błaszczuk n Instytut Matematyki, Politechnika Częstochowska n −1 n −1 n 1 1 + 5 1 − 5 1 1 + 5 − + = 2 2 2 5 5 1− 5 − 2 = n n −1 n n −1 1 1+ 5 1+ 5 1− 5 1− 5 + − + = = 5 2 2 2 2 n −1 1 + 5 1 − 5 1 − 5 + 1 − + 1 = 2 2 2 n −1 1 1 + 5 = 5 2 n −1 3 + 5 1 − 5 3 − 5 − = 2 2 2 n −1 1 1 + 5 = 5 2 1 1 + 5 = 5 2 n −1 6 + 2 5 1 − 5 6 − 2 5 − = 4 4 2 n −1 n −1 2 n −1 2 1 1+ 5 1+ 5 1− 5 1− 5 − = = 5 2 2 2 2 1 1 + 5 = 5 2 n +1 1− 5 − 2 n +1 Na mocy indukcji matematycznej stwierdzamy, że podany wzór na n-ty wyraz ciągu Fibonacciego jest prawdziwy dla każdej liczby naturalnej n. Przykład 6 Wiemy ile jest n-elementowych permutacji. Policzymy je teraz stosując równanie rekurencyjne. Oznaczmy przez an liczbę Częstochowa 2011 34 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska permutacji zbioru {1,2,…,n}. Każdą taką permutację otrzymamy z permutacji zbioru n-1 elementowego przez wstawienie liczby n na jedno z n miejsc. Zatem an= n⋅an-1 jest równaniem rekurencyjnym spełnionym przez ciąg an z warunkiem początkowym a1=1. Teraz już łatwo można wyznaczyć początkowe wyrazy ciągu an: a2=2a1=2⋅1=2! a3=3a2=3⋅2!=3!itd. Można się pokusić o przypuszczenie, że an=n!. Trzeba to jednak formalnie udowodnić, stosując, najlepiej, indukcję matematyczną. (P) Wzór jest prawdziwy dla n=1. (I) Zakładając prawdziwość dla n-1, korzystamy kolejno z równania rekurencyjnego an=n⋅an-1 i z założenia indukcyjnego, otrzymując an=n⋅an-1=n(n-1)!=n!. Przykład 7 Kolejny przykład będzie miał charakter geometryczny. Ile kawałków pizzy można uzyskać za pomocą n prostoliniowych cięć nożem? Albo ściślej, jaka jest największa liczba obszarów wyznaczonych przez n prostych na płaszczyźnie? Problem ten został rozwiązany przez szwajcarskiego matematyka Jacoba Steinera w 1826 roku. Częstochowa 2011 35 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Trzeba odpowiedzieć na pytanie: Na ile spójnych obszarów dzieli płaszczyznę n prostych, z których żadne dwie nie są równoległe i żadne trzy nie przecinają się w jednym punkcie? Oznaczmy szukaną liczbę przez an. Mamy a0=1 (płaszczyzna bez prostych ma jeden obszar) i a1=2 (płaszczyzna z jedną prostą ma 2 obszary). Płaszczyzna z dwiema prostymi ma 4 obszary. Dla trzech prostych otrzymamy aż 7 części. Prowadząc n-tą prostą, przetniemy wszystkie n-1 poprzednie, a to oznacza, że przetniemy na dwie części n obszarów spójnych, zwiększając tym samym liczbę obszarów o n. Zatem an = an-1+n. Iterując to równanie, otrzymamy n + 1 an = an-1+n = an-2 + n-1 + n =...= a0 + 1 + 2 + ... +n = 1 + 2 czego nie można traktować jednak jak formalnego dowodu. Znów zastosujmy indukcję. Mamy n n + 1 an = an −1 + n = 1 + + n = 1 + . 2 2 Przykład 8 Łamigłówkę zwaną Wieżą z Hanoi wymyślił francuski matematyk Edouard Lucas w roku 1883. Wieża składała się z 8 krążków ułożonych jeden na drugim i nadzianych na jeden z 3 prętów malejącymi średnicami ku górze. Zadanie polega na przeniesieniu całej wieży krążków na jeden z pozostałych prętów, przy czym w każdym ruchu można brać tylko jeden krążek i nie wolno położyć większego krążka na mniejszym. Częstochowa 2011 36 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Lucas ubarwił swoje zadanie ze starohinduską legendą głoszącą, że w świątyni Benares, przy stworzeniu świata, Brahma postawił trzy diamentowe paliki i nanizał na jeden z nich sześćdziesiąt cztery krążki z czystego złota. Krążki te były różnej średnicy i nanizane od największego na spodzie do najmniejszego na górze. Kapłani mieli za zadanie nieustannie przenosić je na trzeci palik (korzystając pomocniczo z drugiego), biorąc za każdym razem tylko jeden krążek i nigdy nie kładąc większego krążka na mniejszy. Według legendy, gdy kapłani zakończą swoją pracę nastąpi koniec świata. Zadanie polega na obliczeniu, ile zajmie im to czasu, zakładając, że jeden ruch trwa jedną sekundę i że robią to optymalnie, to znaczy w najszybszy możliwy sposób. Wprawdzie interesuje nas tylko przypadek sześćdziesięciu czterech krążków, ale łatwiej będzie rozwiązać problem bardziej ogólnie, przyjmując, że mamy n krążków. Niech an będzie szukaną, minimalną liczbą ruchów. Zauważmy, że aby móc przenieść największy krążek, należy najpierw przenieść wszystkie pozostałe n-1 krążków i umieścić je na jednym paliku. Oznacza to, że musimy najpierw rozwiązać podproblem z parametrem o 1 mniejszym. Minimalna liczba ruchów w tym etapie wynosi więc an-1. Uwolniwszy największy krążek przenosimy go na wolne miejsce i więcej go nie ruszamy, a pozostałe krążki ustawiamy ponownie na nim. Otrzymujemy zatem następujące równanie rekurencyjne: an=2an-1+1 z warunkiem początkowym a1=1. Obliczając kilka początkowych wartości, zauważamy prawidłowość an=2n-1. Częstochowa 2011 37 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska Dowodzimy ją indukcyjnie następująco: an=2an-1+1=2(2n-1-1)+1=2n-1. Powracając do legendy, oznacza to, że dla n=64 koniec świata nastąpiłby po 264-1 ruchach (około 18 trylionów), czyli zakładając, że jeden ruch trwa tylko jedną sekundę, przełożenie Wieży Brahmy zajęłoby kapłanom ponad 5⋅109 wieków. Oryginalna łamigłówka Lucasa była nieco bardziej realna: wymagała jedynie 28-1=255 ruchów. Literatura do wykładu III 1. V.Bryant, Aspekty kombinatoryki, Wydawnictwa NaukowoTechniczne, 2007. 2. R.L.Graham, D.E.Knuth, O.Patashnik, Matematyka konkretna, Państwowe Wydawnictwo Naukowe, Warszawa 2008. 3. J.Grygiel, Wprowadzenie do matematyki dyskretnej, Akademicka Oficyna Wydawnicza EXIT 2007. 4. R.Kalina, T.Szymański, F.Linke, M.Woźniak, Matematyka dla klasy II liceum i technikum, Wydawnictwo Sens, 2003. 5. W.Lipski, W.Marek, Analiza kombinatoryczna, Państwowe Wydawnictwo Naukowe, Warszawa 1986. 6. L.Lovász, K.Vesztergombi, Discrete mathematics, Lecture Notes, Yale University, 1999. 7. Z.Palka, A.Ruciński, Wykłady z kombinatoryki, Wydawnictwa Naukowo-Techniczne, Warszawa 1998. 8. H.Pawłowski, Matematyka 2, Wydawnictwo Pedagogiczne Operon, 2003. 9. K.A.Ross, Ch.R.B.Wright, Matematyka Dyskretna, Państwowe Wydawnictwo Naukowe, Warszawa 2008. Częstochowa 2011 38 Dr inż. Jolanta Błaszczuk Instytut Matematyki, Politechnika Częstochowska ZESTAW ZADAŃ DO WYKŁADU III Zadanie 1 Oblicz pięć początkowych wyrazów ciągu określonego wzorem rekurencyjnym: a1 = 1 2 n . an +1 = an ⋅ n + 1 Zadanie 2 1 a1 = 6 Ciąg (an) jest określony za pomocą wzoru rekurencyjnego: an . Podaj an+1 = an + 1 wzór na n-ty wyraz tego ciągu. Zadanie 3 a1 = 1 1 Ciąg (an) jest określony za pomocą wzoru rekurencyjnego: an+1 = an − n(n + 1) dla n≥1. Które wyrazy ciągu (an) spełniają nierówność an < 0,1? Zadanie 4 Definiujemy rekurencyjnie ciąg (an) wzorami a0= a1=1 oraz an = an2−1 + an − 2 dla n≥2. an−1 + an − 2 (a) Oblicz kilka pierwszych wyrazów tego ciągu (b) Korzystając z punktu (a), odgadnij wzór ogólny Zadanie 5 Znajdź wzór rekurencyjny ciągu: 0,0,1,1,2,2,3,3,… Zadanie 6 Wyznacz x1000, jeśli x1=4, x2=6 oraz xn jest najmniejszą liczbą złożoną większą od 2xn-1-xn-2 dla każdej liczby naturalnej n większej od dwóch. Zadanie 7 1 xn Ciąg (xn) jest określony następująco: x1 = , xn+1 = dla n=1,2,3,… 2 2(n + 1)xn + 1 Oblicz x1 + x 2 + ... + xn . Zadanie 8 Wykaż prawdziwość wzoru Cassiniego Fn+1⋅Fn-1-Fn2=(-1)n dla dowolnego n>0 korzystając z rekurencyjnej definicji ciągu: F0=0, F1=0, Fn+2=Fn+Fn+1. Częstochowa 2011 39