Docente: Giuseppe Scollo
Università di Catania, sede di Comiso (RG)
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Studi in Informatica applicata, AA 2006-7
cosa hanno di speciale? sono di uso frequente nell'analisi degli algoritmi ...
eccone un quadro sintetico di valori tipici e approssimazioni (giustificate appresso)
costanti speciali :
e ≈ 2.71828,
γ ≈ 0.57721,
φ =
( 1+√5
)/2 ≈ 1.61803
ln 2 ≈ 0.693147,
lg e = 1/ln 2 ≈ 1.44269
| funzione | nome | valore tipico | approssimazione |
⌊x⌋ |
base (floor) | ⌊3.14⌋ = 3 |
x |
⌈x⌉ |
tetto (ceiling) | ⌈3.14⌉ = 4 |
x |
| lg N | logaritmo binario | lg 1024 = 10 | 1.44 ln N |
| HN | numeri armonici | H10 ≈ 2.9 |
ln N + γ |
| FN | numeri di Fibonacci | F10 = 55 | φN/√5 |
| N! | fattoriale | 10! = 3628800 | (N/e)N |
| lg(N!) | lg(100!) ≈ 520 |
N lg N - 1.44N |
γ
misura l'area della differenza tra la funzione a gradino
y = 1/⌊x⌋
e la funzione
y = 1/x,
per x ≥ 1,
v. figura:
γ
si coglie dall'approssimazione
≈
ln N + γ + 1/(12N)
∫ 1
N
dx/x
log,
rispetto al calcolo diretto dalla definizione
≥ 2 ,
con
F0 = 0
e
F1 = 1
φ =
( 1+√5
)/2 ≈ 1.61803
≈
φN/√5
definizione induttiva: N! = (N-1)! N , per N > 0 , con 0! = 1
≈
N lg N - N lg e +
lg√2 π
N
≈
N lg N - 1.44 N
che vuol dire esattamente che una funzione è un'approssimazione asintotica di un'altra?
la notazione O grande designa una limitazione asintotica della velocità di crescita:
def. : g(N) è O(f(N)) se esistono costanti c e N0 tali che g(N) < cf(N) per ogni N>N0
utilità della notazione O grande:
discendono direttamente dalla definizione molte proprietà della notazione O grande che permettono spesso di manipolarne le espressioni "come se la O non ci fosse", ad esempio:
la limitazione asintotica espressa dalla notazione O grande non è sufficiente a caratterizzare la velocità di crescita
la notazione ≈
(letta "all'incirca")
designa l'approssimazione asintotica
di una funzione con un'altra:
def. :
f(N) ≈ g(N)
se f(N) = g(N)+h(N)
e h(N)/g(N) → 0 per
N →
∞
per caratterizzare solo la velocità di crescita l'approssimazione asintotica chiede troppo... basta invece il seguente concetto
la notazione ∝
(letta "proporzionale a")
designa la proporzionalità asintotica
di una funzione ad un'altra:
def. :
f(N) ∝ g(N)
se esiste una costante c tale che
f(N) ≈ cg(N)