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 – Sommatorie Ricorrenze Il metodo di sostituzione Il metodo iterativo Il metodo Principale

2 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Ricorrenze Quando un algoritmo contiene una o più chiamate ricorsive a se stesso, il suo tempo di esecuzione può essere descritto da una ricorrenza. ReursiveAlgo(P,n) If nc then return Solution(P,n) for j 1 to a do P j =SubProblem(P,n/b, j) for j 1 to a do S j =RcursiveAlgo(Pj, n/b) sol = Compose(S 1,S 2 …,S a ) return sol

3 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Ricorrenze Quando un algoritmo contiene una o più chiamate ricorsive a se stesso, il suo tempo di esecuzione può essere descritto da una ricorrenza. ReursiveAlgo(P,n) If nc then return Solution(P,n) for j 1 to a do P j =SubProblem(P,n/b j, j) for j 1 to a do S j =RcursiveAlgo(P j, n/b j ) sol = Compose(S 1,S 2 …,S a ) return sol

4 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione Il metodo di sostituzione per risolvere le ricorrenze richiede di tentare uno schema di soluzione, quindi usare linduzione matematica per trovare le costanti e mostrare che la soluzione funziona. Questo metodo è potente ma può essere applicato solo quando sia facile azzeccare lo schema di soluzione. Si assume che il limite valga per n/2 : Lo si dimostra per n : Si prova la limitazione : Consideriamo la ricorrenza :

5 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione Il metodo di sostituzione per risolvere le ricorrenze richiede di tentare uno schema di soluzione, quindi usare linduzione matematica per trovare le costanti e mostrare che la soluzione funziona. Questo metodo è potente ma può essere applicato solo quando sia facile azzeccare lo schema di soluzione.

6 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : condizioni a contorno Linduzione matematica richiede di dimostrare le condizioni a contorno. Potrebbero nascere dei problemi: Tuttavia la notazione asintotica T(n)=O(nlgn) richiede di provare che T(n)cnlgn per n n 0 dove n 0 è una costante. Allora si possono considerare le condizioni a contorno, n=2 ed n=3

7 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : scegliere la soluzione Sfortunatamente non esiste una regola generale per azzeccare la soluzione corretta per ogni ricorrenza. Esistono però alcune euristiche. Se si incontrano ricorrenze simili a quelle già conosciute si può tentare una soluzione simile. Ad esempio per la ricorrenza T(n)=2(T(n/2)+17)+n si tenta ancora T(n)=O(nlgn) Un altro modo per azzeccare la soluzione è di provare limiti laschi della ricorrenza e quindi ridurre il grado di incertezza

8 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : sottigliezze A volte si può azzeccare correttamente un limite asintotico della soluzione di una ricorrenza, ma può sembrare che il calcolo matematico non torni nellinduzione. Correggere la soluzione sottraendo un termine di ordine più basso, spesso consente di ottenere la prova matematica. Si tenta con la soluzione O(n) e si cerca di dimostrare T(n)cn.

9 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : sottigliezze Per dimostrare questa ricorrenza bisogna fare una ipotesi induttiva più forte. Si supera la difficoltà sottraendo un termine di ordine più basso dal precedente tentativo. Il nuovo tentativo è T(n)cn-b, dove b 0 è una costante.

10 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : evitare le trappole E facile sbagliare luso della notazione asintotica. Per esempio nella ricorrenza T(n)=2T(n/2)+n si puo provare erroneamente che T(n)=O(n) tentando con T(n)cn e quindi dedurre Poiché c è una costante. Lerrore è che non è stata dimostrata la forma esatta dellipotesi induttiva. Cioè che T(n)cn.

11 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : sostituzione di variabili Talvolta una piccola manipolazione algebrica può rendere una ricorrenza sconosciuta simile ad una già vista. Per esempio si consideri la ricorrenza: Si può semplificare questa ricorrenza con una sostituzione di variabile. Sostituendo m=lgn si ottiene

12 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo di Sostituzione : sostituzione di variabili Si può ridenominare la vecchia ricorrenza per produrre una nuova ricorrenza:

13 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo Il metodo iterativo non richiede di tentare una soluzione. Ma può richiedere molta più algebra del metodo di sostituzione. Lidea è di iterare la ricorrenza ed esprimerla come somma di termini dipendenti solo da n e dalle condizioni iniziali. Le tecniche per limitare le sommatorie possono essere usate per fornire limiti alla soluzione.

14 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo Quanto bisogna sviluppare la ricorrenza per raggiungere una condizione al contorno? Il termine i-esimo nella serie è Literazione trova

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

16 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo

17 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo Il metodo iterativo di solito comporta luso di molta algebra, e fare tutti i calcoli in modo esatto può essere complesso. Bisogna concentrarsi su due parametri: il numero di volte che la ricorr. deve essere iterata per raggiungere le condizioni a contorno la somma dei termini originati da ogni livello del processo di iterazione Talvolta nel processo di iterazione si può azzeccare la soluzione senza fare tutti calcoli matematici. In tal caso è possibile passare al metodo di sostituzione.

18 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo: alberi di ricorsione Un albero di ricorsione è un metodo molto comodo per visualizzare tutto ciò che accade quando si itera una ricorrenza. Consideriamo la ricorrenza: T(n)=2T(n/2)+n 2 n2n2 T(n/2)

19 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo: alberi di ricorsione Un albero di ricorsione è un metodo molto comodo per visualizzare tutto ciò che accade quando si itera una ricorrenza. Consideriamo la ricorrenza: T(n)=2T(n/2)+n 2 n2n2 n 2 /4 T(n/4)

20 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo: alberi di ricorsione Un albero di ricorsione è un metodo molto comodo per visualizzare tutto ciò che accade quando si itera una ricorrenza. Consideriamo la ricorrenza: T(n)=2T(n/2)+n 2 n2n2 n 2 /4 n 2 /16 n2n2 n 2 /2 n 2 /4

21 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo: alberi di ricorsione Poiché il valore decresce geometricamente, il valore totale differisce, al più di un fattore costante dal termine più grande, quindi la soluzione è (n 2 )

22 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo: alberi di ricorsione (2) T(n)=T(n/3)+T(2n/3)+n n n/32n/3 n/92n/9 4n/9 n n n

23 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Iterativo: alberi di ricorsione

24 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Principale Fornisce soluzioni dirette per le ricorrenze del tipo Dove a 1 e b 1 sono costanti e f(n) è una funzione asintoticamente positiva. Teorema Principale

25 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Principale: esempio 1

26 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Principale: esempio 2

27 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Il Metodo Principale: esempio 3

28 Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva Algoritmi e Strutture Dati I – Sommatorie Estensione del Metodo Principale Fornisce soluzioni dirette per le ricorrenze del tipo Dove a 1 e b 1 sono costanti e f(n) è una funzione asintoticamente positiva. Teorema Principale


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

Presentazioni simili


Annunci Google