Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Algoritmi e Strutture Dati
Analisi asintotica e Metodi di analisi
2
Notazione asintotica f(n) = tempo di esecuzione / occupazione di memoria di un algoritmo su input di dimensione n La notazione asintotica è un’astrazione utile per descrivere l’ordine di grandezza di f(n) ignorando i dettagli non influenti, come costanti moltiplicative e termini di ordine inferiore Copyright © The McGraw - Hill Companies, srl
3
Notazione asintotica O
f(n) = O( g(n) ) se due costanti c>0 e n0≥0 tali che f(n) ≤ c g(n) per ogni n ≥ n0 Copyright © The McGraw - Hill Companies, srl
4
Notare: Copyright © The McGraw - Hill Companies, srl
5
Notazione asintotica W
f(n) = W( g(n) ) se due costanti c>0 e n0≥0 tali che f(n) ≥ c g(n) per ogni n ≥ n0 n0 n f(n) = W( g(n) ) f(n) c g(n) Copyright © The McGraw - Hill Companies, srl
6
Notare: Copyright © The McGraw - Hill Companies, srl
7
Notazione asintotica Q
f(n) = Q( g(n) ) se tre costanti c1,c2>0 e n0≥0 tali che c1 g(n) ≤ f(n) ≤ c2 g(n) per ogni n ≥ n0 n0 n f(n) = Q( g(n) ) f(n) c1 g(n) c2 g(n) Copyright © The McGraw - Hill Companies, srl
8
Notare che: Copyright © The McGraw - Hill Companies, srl
9
o(g(n)) = {f(n) : c > 0, n0 tale che
Notazione o Data una funzione g(n): N R, si denota con o(g(n)) l’ insieme delle funzioni f(n): N R: o(g(n)) = {f(n) : c > 0, n0 tale che n n0 0 f(n) c g(n) } Notare: Copyright © The McGraw - Hill Companies, srl
10
(g(n)) = {f(n) : c > 0, n0 tale che
Notazione Data una funzione g(n): N R, si denota con (g(n)) l’ insieme delle funzioni f(n): (g(n)) = {f(n) : c > 0, n0 tale che n n0 0 c g(n) f(n) } Notare: Copyright © The McGraw - Hill Companies, srl
11
Riassumendo …… Copyright © The McGraw - Hill Companies, srl
12
T(n) / nd = ad + ad-1 n-1 + … + a0 n-d
Esempio: Se T(n) = ad nd + ad-1 nd-1 + … + a0 è un polinomio di grado d (con ad>0), allora T(n) = (nd) Infatti: T(n) / nd = ad + ad-1 n-1 + … + a0 n-d n0 : n n ad - |ad-1|n-1 - … - |a0| n-d > 0 Se scegliamo: c1 = ad - |ad-1| n … - |a0 | n0-d c2 = ad + |ad-1| + … + |a0| n n c1 nd T(n) c2 nd Copyright © The McGraw - Hill Companies, srl
13
P(n) = ad nd + ad-1 nd-1 + … + a0 ad > 0
Polinomi …… P(n) = (nd) P(n) = O(nd) P(n) = (nd) P(n) = ad nd + ad-1 nd-1 + … + a0 ad > 0 Esponenziali …… f(n) = an a >1 an = (nd) an = (nd) Logaritmi …… f(n) = logb(n) b>1 logb(n) = o(nd) logb(n) = O(nd) Fattoriali …… f(n) = n! = n*(n-1)*……*2*1 n! = o(nn) n! = (an) Copyright © The McGraw - Hill Companies, srl
14
Proprietà della notazione asintotica
Transitività Riflessività Simmetria Simmetria trasposta Copyright © The McGraw - Hill Companies, srl
15
Notazione asintotica: esempi
Sia f(n)=3n2+10 f(n)=O(n2): basta scegliere c=4 e n0=4 Infatti, 3n2+10 ≤ 4n2 per ogni n≥4 f(n)=W(n2): scegliere c=1 e n0=0 Infatti, 3n2+10 ≥ 1n2 per ogni n≥0 ═> f(n)=Q(n2): infatti f(n)= Q(g(n)) se e solo se f(n)= O(g(n)) e f(n)= W(g(n)) f(n)=O(n3) basta scegliere c=1 e n0=4 Infatti, 3n2+10 ≤ 1n3 per ogni n≥4 …ma f(n) ≠ Q(n3) Copyright © The McGraw - Hill Companies, srl
16
Metodi di analisi Copyright © The McGraw - Hill Companies, srl
17
Caso peggiore, migliore e medio
Misureremo le risorse di calcolo usate da un algoritmo ( tempo di esecuzione / occupazione di memoria ) in funzione della dimensione n delle istanze Istanze diverse, a parità di dimensione, potrebbero però richiedere risorse diverse Distinguiamo quindi ulteriormente tra analisi nel caso peggiore, migliore e medio Copyright © The McGraw - Hill Companies, srl
18
Caso peggiore Sia tempo(I) il tempo di esecuzione di un algoritmo sull’istanza I Tworst(n) = max istanze I di dimensione n {tempo(I)} Intuitivamente, Tworst(n) è il tempo di esecuzione sulle istanze di ingresso che comportano più lavoro per l’algoritmo Copyright © The McGraw - Hill Companies, srl
19
Caso migliore Sia tempo(I) il tempo di esecuzione di un algoritmo sull’istanza I Tbest(n) = min istanze I di dimensione n {tempo(I)} Intuitivamente, Tbest(n) è il tempo di esecuzione sulle istanze di ingresso che comportano meno lavoro per l’algoritmo Copyright © The McGraw - Hill Companies, srl
20
Caso medio Sia P(I) la probabilità di occorrenza del- l’istanza I
Tavg(n) = ∑ istanze I di dimensione n {P(I) tempo(I) } Intuitivamente, Tavg(n) è il tempo di esecuzione nel caso medio, ovvero sulle istanze di ingresso “tipiche” per il problema Richiede di conoscere una distribuzione di probabilità sulle istanze Copyright © The McGraw - Hill Companies, srl
21
Approfondimento Sia dato un mazzo di n carte scelte in un universo U di 2n carte, e si supponga di dover verificare se una certa carta x in U appartenga o meno al mazzo. Qual è il costo di tale verifica (in termine di numero di confronti) nel caso migliore, peggiore e medio? Copyright © The McGraw - Hill Companies, srl
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.