Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 2/14
Funkcji podłogi z logarytmu można użyć do wyliczenia liczby cyfr liczby naturalnej k (k>0): w układzie dziesiętnym log 10 (k) +1 w układzie dwójkowym log 2 (k) +1 2 20 = 1048576 10 = 100000000000000000000 2 ma 21 cyfr 2 20-1 = 1048575 10 = 11111111111111111111 2 ma 20 cyfr log 2 (1048575) = 19,9999 34203 5 = 3+0+2*25+4*125+3*625 = 2428 log 5 (2428) +1 = 4,843 +1 = 5
log2(n) N log10(n) 0 1 0 1 2 0,301 1,585 3 0,477 2 4 0,602 2,322 5 0,699 2,585 6 0,778 2,807 7 0,845 3 8 0,903 3,170 9 0,954 3,322 10 1 6,644 100 2 9,966 1000 3 13,288 10000 4 16,610 100000 5 19,932 1000000 6
Dla dowolnej liczby x 0 jej logarytm dziesiętny zaokrąglony w górę (funkcja sufitu) jest równy minimalnej liczbie cyfr przed przecinkiem w zapisie dziesiętnym, np. log 5083495,424 = 6,7061624 z czego sufit to 7 To samo zachodzi dla dowolnego systemu pozycyjnego o podstawie b i logarytmu o podstawie b, np. log 5 (412432,0223 5 ) = prawie 6 można to policzyć: log 5 (412432,0223 5 ) = log 5 (13492,... 10 ) log5(15625 10 ) = 6
Λόγος + ἀριθµός Logarytm naturalny to logarytm o podstawie oznaczanej literą e=2,718281828 i związany z funkcją eksponencjalną exp(x) =e x. exp(1)=e
Ciągi Ciągiem liczb rzeczywistych s(n) nazywamy funkcję s: N R i oznaczamy go stosując notację z indeksami (s n ) n N, albo notację informatyczną s[n]; s n nazywamy n-tym wyrazem ciągu s. Ćwiczenie: jakie są zbiory wartości ciągów a n =n!, b n =(-1) n, c n = n n Często definiujemy ciąg jako funkcję o dziedzinie {m, m+1, m+2, }, gdzie m jest liczbą całkowitą. Nie ograniczamy się również do wartości rzeczywistych, np. d n = {m Z: m jest wielokrotnością n} Σ n = {w Σ*: n jest długością słowa w} f n = Σ k=1..n k 2, np. f 10 = Σ k=1..10 k 2 = 1+4+9+16+25+36+49+64+81+100 = 385
Notacja 0 Notacja O służy do opisu szybkości wzrostu ciągu wartości rzeczywistych. W informatyce jest używana do szacowania czasu wykonania algorytmu dla zmieniającej się liczby danych wejściowych. Niech f i g to ciągi o wartościach rzeczywistych (w zasadzie interesują nas funkcje o wartościach nieujemnych, jednak wartość bezwzględna zapewnia nam ogólniejszą definicję). A zatem: Funkcja asymptotycznie niewiększa od funkcji g(n) to taka funkcja (ciąg) f: N R, dla której istnieją c>0 i n 0 N, że f(n) c g(n) dla wszystkich n n 0. Będziemy też często mówić, że nierówność ta zachodzi dla prawie wszystkich liczb naturalnych N (albo po prostu dla dużych wartości n).
Wśród algorytmów prowadzących do tego samego wyniku jedne są szybsze, inne wolniejsze. Jeżeli czasy liczenia kilku algorytmów z wartością wejściową n N (wykonujących to samo zadanie) zależą wprost proporcjonalnie od liczby n, to dla małych n nie ma zbytniej różnicy, który algorytm wybierzemy. Dla większych n różnica czasu obliczeń może być bardzo duża: Źródło: str. 61 podręcznika K.R. Ross i C. R. B. Wright
Zbiór funkcji asymptotycznie niewiększych niż g(n) oznaczamy przez O(g(n)). Mimo, że poprawnie powinniśmy zapisywać f O (g(n)), gdy f spełnia warunek podany w definicji, to jednak przyjęło się zapisywać f(n)=o(g(n)), co czytamy f(n) jest O-duże od g(n), a nie jest równe. każda funkcja stała jest O(1) ( 1) n jest O(1) 1/ n jest O(1) (log n)/ n jest O(1) 15n 7 jest O(n) 3n + 15log n 9 jest O(n) 22n 2 23n + 4 jest O(n 2 ) (n(n+1))/2 jest O(n 2 ) 5 log n 5 jest O(n 2 ), a także jest O(n) i jest O(log n)
Używa się zatem pięciu terminów: funkcja asymptotycznie niewiększa, mniejsza, niemniejsza, większa, podobna i odpowiednich symboli: O, o, Ω, ω, Θ.
(wzór będzie wyprowadzony na kolejnym wykładzie) 3
Dla poniższych funkcji z N do R mamy:, wtedy i tylko wtedy, gdy, wtedy i tylko wtedy, gdy, wtedy i tylko wtedy, gdy, jeśli i to, jeśli i to.
Przykład: jest wielomianem stopnia k a zatem
i dalej niech wtedy dla każdego n większego od pewnego n 0 mamy wystarczy więc. Teraz więc.
Przykład: Z asymptotycznego punktu widzenia wszystkie funkcje logarytmiczne są podobne tzn. np. i, lub ogólniej: Jest to po prostu wzór na zamianę podstaw logarytmu: gdzie ta sama stała jest dobra do dolnego i górnego ograniczenia.
Przykład: Dla wielomianów mamy: wtedy i tylko wtedy, gdy Ustala to hierarchię rzędów funkcji: Również dla "stopni" będącymi dowolnymi liczbami dodatnimi mamy: wtedy i tylko wtedy, gdy Na przykład:,. Lemat: Dla wielomianu dowolnego stopnia d mamy, o ile tylko a>1.
Przykład: Oczywiście, więc. Ale. Gdyby bowiem to podczas gdy funkcja wykładnicza rośnie do nieskończoności. Nie może zatem być ograniczona przez żadną stałą c. Lemat: Ogólnie dla a>1, b>1 mamy wtedy i tylko wtedy, gdy a<b.
Przykład: Mamy oraz. Istotnie, bo każdy czynnik (poza pierwszym) w n! jest równy co najmniej 2. Podobnie w n! jest nie większy niż n., bo każdy czynnik
Lemat: Oto ciąg funkcji, z których każda jest O-duże od następnej, ale nie od poprzedniej: i dalej
Przykład: Nie każde dwie funkcje są porównywalne asymptotycznie. Na przykład dla funkcji mamy i. i
φιλοσοφία γεωµετρία Proszę powtórzyć ELEMENTY LOGIKI w zakresie rozdziału 2 podręcznika Rossa i Wrighta (obowiązują przykłady i ćwiczenia zawarte w tym rozdziale).