150 likes | 382 Views
Wykład 8. Indukcja i Rekursja. Arytmetyka. Aksjomaty Arytmetyki. Zero 0 jest liczbą naturalną. Jeżeli k jest następnikiem liczby n i k jest następnikiem liczby m, to n=m. Zero nie jest następnikiem żadnej liczby naturalnej. Zasada indukcji zupełnej:
E N D
Wykład 8 Indukcja i Rekursja Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Arytmetyka Aksjomaty Arytmetyki Zero 0 jest liczbą naturalną. Jeżeli k jest następnikiem liczby n i k jest następnikiem liczby m, to n=m. Zero nie jest następnikiem żadnej liczby naturalnej. Zasada indukcji zupełnej: Jeżeli A jest podzbiorem zbioru liczb naturalnych N takim, że 1. 0 A 2. Dla każdej liczby naturalnej n, jeżeli n A i m jest następnikiem n, to m A to A = N. Dla każdej liczby naturalnej n istnieje dokładnie jedna liczba naturalna s(n) , która jest następnikiem n. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Definiowanie przez indukcję Dodawanie n + 0 = n n + s (m) = s (n+ m) Mnożenie n * 0 = 0 n * s (m) = (n* m) + n Twierdzenie Dla każdej pary liczb naturalnych zdefiniowany jest iloczyn n *m. Niech n będzie dowolnie ustaloną liczbą naturalną i A będzie zbiorem tych liczb naturalnych m, dla których n*m jest zdefiniowane. (1) 0 A (2) Założenie indukcyjne: n*m jest dobrze zdefiniowane, tzn m A. Na mocy definicji mamy n*s (m) = (n* m) + n. Zatem z założenia indukcyjnego n*s (m) N. Czyli s (m) A. Na mocy zasady indukcji A=N c.b.d.o. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Zasada indukcji II Baza indukcji Jeśli W jest własnością określoną w zbiorze liczb naturalnych N, taką że(1) W(0), tzn. 0 ma własność W (2) dla dowolnej liczby naturalnej n, jeśli W(n), to W(n+1), to każda liczba naturalna ma własność W. Krok indukcyjny Teza Założenie indukcyjne Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Zasada minimum Twierdzenie W każdym niepustym zbiorze liczb naturalnych istnieje liczba najmniejsza. Dowód: Niech A i A N i niech A nie ma liczby najmniejszej (pierwszej).Weźmy B = {n : (m n) m A} (1) 0 B (2) Załóżmy, że n B . Gdyby n+1 A to byłby to element najmniejszy w A. Zatem n+1 nie należy do A. Czyli n+1 B. Na mocy zasady indukcji wszystkie liczby naturalne należą do B. Ale to oznacza że zbiór A jest pusty, wbrew założeniu. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Zasada indukcji III Jeżeli A jest podzbiorem zbioru N takim, że (1) 0 A (2) dla każdej liczby n, jeśli dla wszystkich k<n+1, k A , to n+1 A, to A=N. Gdyby (1) i (2) oraz dla pewnego n, n A. Wtedy zbiór N\A nie jest pusty. Weźmy więc jego element najmniejszy n0. Ale n0 0, bo 0 A. Wszystkie liczby <n0 też nie należą do N\A, więc należą do A. Zatem na mocy (2) n0 A. Sprzeczność. Dowody twierdzeń matematycznych, w których korzysta się z zasady indukcji matematycznej nazywamy indukcyjnymi. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Zasada indukcji Niech n będzie liczbą całkowitą oraz niech p(n) będzie ciągiem zdań zdefiniowanych na zbiorze {n Z : n m}. Jeśli (1) zdanie p(m) jest prawdziwe (2) Jeśli wszystkie zdania p(m),...,p(k-1)dla k>m są prawdziwe, to p(k) też jest zdaniem prawdziwym, to p(n) jest zdaniem prawdziwym dla dowolnych n m. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Przykłady silnia(0)=1 silnia(n+1)= silnia (n) * (n+1) a0 =1an+1 = an a Ciąg Fibonacciego F(0) = F(1)= 1 F(n) = F(n -1) + F(n - 2) dla n>1 Definiowanie przez rekursję T(1) = 1 T(n) = 2 T(n/2) dla n >1 będących potęgą 2 Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Definiowanie c.d. Funkcja Ackermmann’a A : N N NA(x,y) = if x=0 then y+1 else if y=0 then A(x-1,1) else A(x-1, A(x,y-1)) A(x,y) jest funkcją całkowitą Stąd na mocy zasady indukcji, twierdzenie jest prawdziwe dla wszystkich par (n,m). Uporządkujmy wszystkie pary (n,m) leksykograficznie.(1) Twierdzenie jest prawdziwe dla wszystkich par postaci (0,y).(2) Załóżmy, że jest prawdziwe dla wszystkich par < (n,m). W szczególności dobrze określone są wartości:A(n -1,1) , A(n-1, y) dla dowolnego y, oraz A(n , m-1).Czyli wartość A(n,m) też jest dobrze określona. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Przykład 1 Twierdzenie Liczba podzbiorów zbioru n elementowego wynosi 2n. Dowód: Niech będzie własność W liczb naturalnych określona jako W(n) wttw liczba podzbiorów zbioru n elementowego wynosi 2n. Zbiór pusty ma tylko 1 podzbiór (1) Liczba 0 ma własność W Jest ich 2k Podzbiory zbioru X, w których nie występuje element x k+1 (2) Załóżmy, że wszystkie zbiory k elementowe mają własność W. Rozważmy zbiór k elementowy X. X = {x1,x2,..., xk,x k+1}.Będziemy dowodzili, że zbiór k+1 elementowy ma też własność W. Jest ich 2k Podzbiory zbioru X, w których występuje element x k+1 Razem 2k + 2k = 2k+1 podzbiorów. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Przykład 2 Czy n = 37 500 - 37 100 jest czy nie jest wielokrotnością 10? Oczywiście mamy37 500 - 37 100 = (37 100 ) 5 - 37 100i ta liczba jest podzielna przez 2 jako różnica liczb nieparzystych.Gdybyśmy udowodnili, że (37 100 ) 5 - 37 100 jest podzielne przez 5 , to twierdzenie byłoby udowodnione. Rzeczywiście: Niech A={n N: n>1 i (n5 -n)mod 5=0} Mamy 1A, 2 A, 3 A.Załóżmy, że k A. Wtedy(k+1)5 - (k+1) = k5 + 5k4 +10k3 +10k2 +5k +1-k-1 = k5 - k + 5(...) Stąd k+1 A. A może każda liczba postaci n5-n dla n>0 jest podzielna przez 5? Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Algorytm Euklidesa NWD(n,m)= największy wspólny dzielnik n i m. x:=n; y := m; While x y do if x>y then x := x-y else y:=y-x fi od; NWD(x,y)=NWD(n,m) NWD(x,y)=NWD(n,m) niezmiennik NWD(x,y)=NWD(n,m) NWD(x,y)=NWD(n,m) NWD(x,y)=NWD(n,m) NWD(x,y) = NWD(x,y mod x)NWD(x,y) = NWD(x,y -x), gdy y>x NWD(x,y) = NWD(x-y,y), gdy x>y Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Niezmiennik Powiemy, że zdanie a jest niezmiennikiem pętli while <warunek> do <Instrukcja> od jeśli z tego, że a jest prawdziwe przed wykonaniem Instrukcji pętli wynika, że a jest prawdziwe po wykonaniu instrukcji pętli. Zasada niezmiennika Jeżeli zdanie a jest prawdziwe przed wejściem do pętli oraz jest niezmiennikiem pętli, to po wyjściu z pętli zdanie a też jest prawdziwe. Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK
Przykład Rozważmy program { z:= x; y :=1; m := n; while (m 0) { if odd(m) { y := y * z; } m := m div 2; z := z * z; }} zm* y = xn zm* y = xn Odd(m) (z * z)mdiv 2* (y * z) = xn lub Odd(m) (z * z)mdiv 2* y = xn WniosekDla dowolnych xR i nN, po wykonaniu programu mamy y = xn . zm* y = xn zm* y = xn oraz m=0 Matematyka Dyskretna, Indukcja i Rekursja G.Mirkowska, PJWSTK