Oczywiście na logarytmu naturalnego

Transkrypt

Oczywiście na logarytmu naturalnego
Matematyka dyskretna
© Andrzej Łachwa, UJ, 2012
[email protected]
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 log10 (k) +1
– w układzie dwójkowym log2 (k) +1
2 20 = 104857610 = 1000000000000000000002 ma 21 cyfr
2 20 -1 = 104857510 = 111111111111111111112 ma 20 cyfr
log2 (1048575) = 19,9999
34203 5 = 3+0+2*25+4*125+3*625 = 2428
log5 (2428) +1 = 4,843 +1 = 5
log2(n)
0
1
1,585
2
2,322
2,585
2,807
3
3,170
3,322
6,644
9,966
13,288
16,610
19,932
N
log10(n)
1
2
3
4
5
6
7
8
9
10
100
1000
10000
100000
1000000
0
0,301
0,477
0,602
0,699
0,778
0,845
0,903
0,954
1
2
3
4
5
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.
log5(412432,02235) = „prawie 6”
można to policzyć:
log5(412432,02235) = log5(13492,...10)
log5(1562510) = 6
Λόγος + ἀριθµός
Logarytm naturalny to logarytm o podstawie oznaczanej literą
e=2,718281828 i związany z funkcją eksponencjalną exp(x) =ex.
exp(1)=e
Ciągi
Ciągiem liczb rzeczywistych s(n) nazywamy funkcję s: N → R
i oznaczamy go stosując notację z indeksami (sn)n∈N , albo notację
informatyczną s[n];
sn nazywamy n-tym wyrazem ciągu s.
Ćwiczenie: jakie są zbiory wartości ciągów an=n!, bn=(-1)n, cn= nn
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. dn = {m∈Z: m jest wielokrotnością n}
Σn = {w∈Σ*: n jest długością słowa w}
fn = Σk=1..n k2 , np. f10 = Σk=1..10 k2 = 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 n0∈N, że |f(n)| ≤ c∙|g(n)| dla wszystkich n≥n0.
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)
–22n2 – 23n + 4 jest O(n2)
•
•
•
•
•
•
(n(n+1))/2 jest O(n2)
5 log n – 5 jest O(n2), 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
•
jeśli
jeśli
to
,
i
to
•
,
wtedy i tylko wtedy, gdy
•
•
,
,
i
.
Przykład:
jest wielomianem stopnia k
a zatem
i dalej niech
wtedy dla każdego n większego od pewnego n0 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
Ale
, więc
. 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
i
mamy
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).