La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva

Presentazioni simili


Presentazione sul tema: "Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva"— Transcript della presentazione:

1 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Notazioni Asintotiche e Ordini di Grandezza delle funzioni

2 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Nello studio della complessità di un algoritmo si verifica il comportamento dellalgoritmo, in termini di tempo di calcolo, senza far riferimento ad una prefissata dimensione n dei dati di ingresso. Visto che lincidenza sul tempo di calcolo cresce al crescere di n, lanalisi che si conduce è un analisi al limite. Le notazioni che si introducono sono pertanto dette notazioni asintotiche, in quanto devono caratterizzare il comportamento di un dato algoritmo a partire da un valore di n sufficientemente grande. Non è corretto valutare il comportamento asintotico solo nel caso migliore (o in quello peggiore), ma è necessario verificare landamento dellalgoritmo in tutti i casi possibili. E corretta affermazione: lalgoritmo A ha un comportamento asintotico, nel caso migliore, di tipo T, anche se tale comportamento è diverso nel caso medio ed in quello peggiore. Notazioni asintotiche

3 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Tre notazioni: motivazioni e definizioni In informatica, sono tre le notazioni comunemente adottate: O,, le prime due, forniscono un limite lasco, rispettivamente per i limiti superiore ed inferiore mentre la terza fornisce un limite stretto. In alcuni contesti è difficile trovare un limite stretto per landamento delle funzioni, per cui ci si accontenta di un limite meno preciso.

4 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Tali notazioni furono introdotte in un classico articolo di Knuth del 76 in molti testi viene riportata una sola di queste notazioni, che in genere è la O. Tale scelta è dettata da ragioni di semplicità sia per non introdurre troppe notazioni (cosa che potrebbe confondere le idee al lettore) sia perché in genere ciò che serve è una limitazione superiore del tempo impiegato da un dato algoritmo dimostrare che un algoritmo appartiene alla classe O è, come detto, più semplice che dimostrare lappartenenza alla classe Tre notazioni: motivazioni e definizioni

5 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Spesso, volendo trovare un limite stretto, è necessario ricorrere a funzioni più complesse di quelle che si potrebbero adottare se ci si limitasse a considerare un limite lasco. Più in generale, se si vuole caratterizzare un algoritmo con un limite stretto può essere necessario dover considerare separatamente il caso migliore e quello peggiore se ci limita a cercare un limite superiore basta trovarlo per il solo caso peggiore ed evidentemente tale limite sarà valido per lalgoritmo stesso questultima considerazione può essere unulteriore giustifica alladozione in alcuni testi di una sola notazione, la O. Tre notazioni: motivazioni e definizioni

6 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

7 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

8 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche La notazione asintotica O non fornisce un limite stretto. Supponiamo infatti di avere una funzione f(n) O(n 2 ). Ciò implica che la f(n), da un certo punto in poi, è maggiorata da n 2 : se ciò è vero, anche n 3 maggiorerà la f(n), e quindi f(n) appartiene anche a O(n 3 ). In generale quando si introduce la notazione O si cerca comunque di individuare un limite superiore il più possibile stretto. Si noti inoltre che il comportamento per tutti gli n g(n). Ordine O

9 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

10 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

11 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

12 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

13 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

14 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Implicazioni Dalle definizioni suvviste discende il seguente teorema: Date due funzioni f(n) e g(n), f(n) (g(n)) se e solo se f(n) O(g(n)) e f(n) (g(n)). Uso improprio E prassi comune ammettere usi del tipo f(n) = O(n 2 ). Inoltre in alcuni casi è molto utile dal punto di vista notazionale, anche se formalmente scorretto, poter sommare due notazioni asintotiche, cioè ammettere espressioni del tipo T(n) = (n 2 )+ (n). Questultima espressione deve evidentemente intendersi come: T(n) è uguale alla somma di una qualunque funzione che appartiene allinsieme (n 2 ) più una qualunque funzione che appartiene allinsieme (n).

15 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

16 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Il BubbleSort nel caso migliore ha una complessità lineare. Ma non Basta per affermare che lalgoritmo BubbleSort appartenga a (n) oppure a O(n). Il BubbleSort nel caso peggiore ha una complessità (n 2 ). Ma non è corretto affermare che il BubbleSort appartiene a (n 2 ) solo perché nel caso peggiore la complessità è quadratica. Viceversa è corretto affermare che, nel caso migliore, la complessità del BubbleSort è (n), che nel caso medio e nel caso peggiore la complessità è (n 2 ) e, più in generale che il BubbleSort è O(n 2 ) ovvero è (n). Complessità del Bubblesort

17 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Nelle notazioni asintotiche vengono trascurati i termini di ordine inferiore e le costanti moltiplicative. Nel caso in cui è necessario confrontare algoritmi aventi tempi di esecuzione T(n) il cui andamento al limite è uguale (es. sono entrambe O(n 2 )), non è più possibile trascurare tali termini. In tal caso per stabilire quale algoritmo è più conveniente usare bisogna necessariamente tener conto, in primo luogo delle costanti moltiplicative, e poi dei termini di ordine inferiore. Le costanti moltiplicative e termini nascosti

18 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche MergeSort: algoritmo che appartiene a (nlogn) QuickSort : algoritmo O(n 2 ), la cui complessità nel caso migliore e nel caso medio è però (nlogn). Contrariamente a quanto si potrebbe pensare, lalgoritmo di ordinamento più comunemente usato, e che si trova normalmente implementato nelle librerie, è il QuickSort. Perché? QuickSort svolge lordinamento sul posto, e che quindi ha minore complessità spaziale del MergeSort, La probabilità che per il QuickSort si verifichi il caso pessimo è abbastanza remota Le costanti moltiplicative nel caso del QuickSort sono minori rispetto a quelle del MergeSort. QuickSort vs. MergeSort

19 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Un altro caso in cui non è corretto trascurare i termini nascosti dalla notazione asintotica è il caso in cui siamo interessati a confrontare il comportamento di due algoritmi per un prefissato n. In tal caso è possibile, ad esempio, che un algoritmo A1 di complessità (n 3 ) si comporti meglio di un algoritmo A2 (n 2 ); supponiamo di aver fissato n = 50 lalgoritmo A1 abbia un tempo T(n) dato da n 3 /10 lalgoritmo A2 abbia T(n) uguale a 10n 2 + 2n In tal caso per A1 avremo T(50) = mentre per A2 avremo T(50) = Le costanti moltiplicative e termini nascosti

20 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

21 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche

22 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Confronto tra funzioni : transitività

23 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Confronto tra funzioni : riflessività

24 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Confronto tra funzioni : simmetria Confronto tra funzioni : simmetria transposta

25 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Noatzioni asintotiche vs. numeri naturali

26 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Notazioni asintotiche Noatzioni asintotiche vs. numeri naturali Proprietà di tricotomia: Per ogni coppia di numeri reali a e b, deve valere esattamente una delle seguenti espressioni: Sebbene qualunque coppia di numeri possa essere confrontata, non tutte le funzioni sono asintoticamente confrontabili. Esempio:


Scaricare ppt "Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva"

Presentazioni simili


Annunci Google