Notazione asintotica
In questa pagina 7
Si considerano funzioni positive per abbastanza grande. L'analisi asintotica ignora i fattori moltiplicativi costanti e i termini additivi non dominanti (vedi Complessità in tempo e caso pessimoPerché lo studio sperimentale non basta; complessità al caso pessimo come massimo sul numero di operazioni tra le istanze di una data taglia; stima con limiti superiore e inferiore senza trovare l'istanza peggiore; esempi arrayMax, prefixAverages e InsertionSort; efficienza asintotica e limiti dell'analisi.Complessità in tempo e caso pessimo →).
Le quattro definizioni
| Notazione | Definizione | Si legge |
|---|---|---|
| : per ogni | cresce al più come | |
| : per ogni | almeno come | |
| e , cioè definitivamente | come | |
| : per ; equivale a | strettamente meno di |
Le costanti ed non dipendono da . Per vale invece "per ogni ", e dipende da .
Esempi con le costanti
- con , (perché per ); anche con e : .
- con , .
- con , (vero ma poco informativo: non è un limite stretto).
- con .
- con ; con .
- : per ogni si prende .
- perché il rapporto .
Proprietà
- Polinomi: se e costanti. Per si prende , . Per si pone e si usa che , da cui per si ottiene . Esempio: .
- Polinomio contro esponenziale: se , (limite ).
- Logaritmo contro potenza: per , . Si pone : con e per il punto 2.
- Cambio di base: , quindi per basi costanti. Dentro la notazione la base si omette; fuori si assume . Inoltre .
- Legami tra notazioni:
- (si prende );
- (si divide per );
- e ;
- (perché );
- non valgono: () né (, ).
Sommatorie notevoli
Utili anche (più grande intero ), (più piccolo intero ) e (resto della divisione intera, % in C): .
Terminologia
| Complessità | Nome |
|---|---|
| logaritmica | |
| lineare | |
| , | quadratica, cubica |
| , costante | polinomiale |
| , | esponenziale |
Ordine crescente: .
Esempio svolto
Un algoritmo su un array di interi esegue operazioni per ogni intero pari e per ogni dispari. Nel caso peggiore tutti gli elementi sono pari: (più costanti), quindi . Limite superiore: ogni elemento costa al più , totale . Inferiore: l'istanza di soli pari costa .
Errori comuni
- Confondere "è " con "è quadratico": è solo un limite superiore, è vero ma non stretto; per "esattamente" serve .
- Dire che implica , o che implica .
- Far dipendere o da .
- Dimenticare che senza base fuori dalla notazione è in base 2.
Versione ripasso
- : con per . : . . : per ogni vale definitivamente, cioè . Le costanti non dipendono da (vedi Complessità in tempo e caso pessimoPerché lo studio sperimentale non basta; complessità al caso pessimo come massimo sul numero di operazioni tra le istanze di una data taglia; stima con limiti superiore e inferiore senza trovare l'istanza peggiore; esempi arrayMax, prefixAverages e InsertionSort; efficienza asintotica e limiti dell'analisi.Complessità in tempo e caso pessimo →).
- Esempi: con ; ; con .
- Proprietà:
- polinomio di grado con coefficiente direttivo positivo ;
- (); ; basi dei logaritmi irrilevanti ();
- ; ; in entrambe le direzioni ; ;
- falsi: (), ( contro ).
- Sommatorie: ; ; .
- Terminologia: logaritmica, lineare, quadratica, cubica, polinomiale , esponenziale .
- Errori: letto come "esattamente"; o dipendenti da ; base del log fuori dalla notazione = 2.