Sommatorie Proprietà Serie aritmetica Serie geometrica Serie armonica

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
Advertisements

Ricorrenze Il metodo di sostituzione Il metodo iterativo
Elementi di complessità
Algoritmi e Strutture Dati
Problema dellordinamento Input: Sequenza di n numeri Output: Permutazione π = tale che: a 1 a 2 …… a n Subroutine in molti problemi E possibile effettuare.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Il gioco del 15 Il gioco del quindici fu inventato da Sam Loyd piu' di un secolo fa. Lo scopo del gioco e' quello di ordinare le caselle dal numero 1 al.
                      Insertion-Sort
PROGRAMMARE IN PASCAL (le basi)
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
Universita di Camerino
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture di controllo Ing.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Strutture di controllo Ing. Simona Colucci.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
INFORMATICA Strutture iterative
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Istruzioni iterative For, while.
Iterazione enumerativa (for)
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione 1, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a.2009/2010 Prof.ssa Chiara Petrioli.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Algoritmo di Ford-Fulkerson
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Algoritmi e Strutture Dati (Mod. A)
Algoritmi e Strutture Dati Introduzione. Gli argomenti di oggi Analisi della bontà degli algoritmi Modello Computazionale Tempo di esecuzione degli algoritmi.
Algoritmi e Strutture Dati Valutazione del tempo di esecuzione degli algoritmi.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Istruzioni di ripetizione in Java
Istruzioni Iterative Nicola Fanizzi
CAPITOLO 7.
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Elementi di Informatica
Elementi di Informatica di base
INFORMATICA MATTEO CRISTANI.
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
Capitolo 4 (Deitel) Le strutture di controllo in C
Programmazione Strutturata
Complessità degli algoritmi (cenni) CORDA – Informatica A. Ferrari.
Complessità del problema Se non facciamo ipotesi sul tipo degli elementi della sequenza le uniche operazioni permesse sono confronti e assegnazioni. Problema.
Algoritmi e Strutture Dati Laurea in Informatica Calendario: 2 Marzo – 12 Giugno Aula: LuM250 Orario: Mer, Gio, Ven Numero crediti = 8 (~ 64.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Istruzioni iterative For, while.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Ordinamento in tempo lineare Il limite inferiore Ω(n log n) vale per tutti gli algoritmi di ordinamento generali, ossia per algoritmi che non fanno alcuna.
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Corso di Studi in Informatica Applicata – Università di Catania, Campus di Comiso Dr. Simone Faro – – Diapositiva
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
1 Ordinamento (Sorting) Input: Sequenza di n numeri Output: Permutazione π = tale che: a i 1  a i 2  ……  a i n Continuiamo a discutere il problema dell’ordinamento:
Informatica 4 La ricorsione. Definizione di ricorsione Ricorsione è la proprietà di quei programmi che, all’interno delle istruzioni che li compongono,
Strutture di controllo
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 6 – Invariante.
Rudimenti di Complessità Corso di Programmazione II Prof. Dario Catalano.
Transcript della presentazione:

Sommatorie Proprietà Serie aritmetica Serie geometrica Serie armonica Serie telescopica

Sommatorie Quando un algoritmo contiene un costrutto di controllo iterativo come un ciclo while o for, il suo tempo di esecuzione può essere espresso come la somma dei tempi impiegati per ogni esecuzione del corpo del ciclo. Data una sequenza di numeri a1, a2, …… la somma finita a1+ a2+ …. + an può essere scritta nel seguete modo: Se n=0, il valore della sommatoria è 0 per definizione. Se n non è un intero si assume per definizione che il limite superiore sia n Se la somma comincia con k=x, dove x non è un intero, si assume che il valore iniziale si x I termini della sommatoria possono essere sommati in qualsiasi ordine

Sommatorie Data una sequenza di numeri a1, a2, …… la somma infinita a1+ a2+ …. può essere scritta nel seguete modo: Se il limite non esiste la serie diverge, altrimenti converge.

Proprietà di Linearità Dato un qualunque numero reale c e due qualunque sequenze finite a1, a2, …an, e b1, b2, …, bn allora La proprietà di linearità si applica anche a serie convergenti infinite e può inoltre essere impiegata per manipolare sommatorie contenenti termini di notazioni asintotiche.

Analisi dell’InsertionSort InsertionSort(A,n) for j  1 to n do key  A[i] i=j-1 while i>0 and A[i]>key do A[i+1]  A[i] i  i-1 A[i+1]  key Due cicli annidati. Quante volte si ripetono i cicli nel caso peggiore? Se i=1  1 ripetizione Se i=2  2 ripetizioni Se i=3  3 ripetizioni

Serie aritmetica La sommatoria che viene fuori dall’analisi dell’insertion sort è un aserie aritmetica:

Somma esponeziale Algo2(n) key  1 while key ≤ n do for i=1 to key do A[i] ++ key  key  2 Due cicli annidati. Tempo di esecuzione costante all’interno del ciclo. Quante volte vengono eseguiti i cicli? Passo 0 : key = 20  1 volta Passo 1 : key = 21  2 volte Passo 2 : key = 22  4 volte Passo j : key = 2j  2j volte

Serie geometrica Dato un reale x1, la sommatoria è una serie geometrica o esponenziale ed ha come valore Se la serie è infinita e |x|<1, si ha la serie geometrica decrescente infinita

Somma esponeziale Algo2(n) key  1 while key ≤ n do for i=1 to key do A[i] ++ key  key  2

Serie armonica Dato l’intero positivo n, l’n-esimo numero armonico è con valore

Applicazione di Integrali e Differenziali Le formule risultato delle sommatorie possono essere ottenute integrando e differenziando le formule appena viste. Per esempio applicando il differenziale ad entrambi i lati della serie geometrica infinita, e moltiplicando per x, si ha

Serie telescopiche Data una qualunque sequenza a0, a1, a2, …, an, vale che Poiché ognuno dei termini della sequenza sequenza a1, a2, …, an-1, è sia sommato che sottratto esattamente una volta. Analogamente

Serie telescopiche Come esempio di serie telescopica si consideri la sommatoria Poiché ogni termine può essere scritto come si ha

Produttorie Il prodotto finito di una sequenza di elementi a1, a2, …, an, può essere scritto come Se n=0, il valore del prodotto è 1 per definizione. Si può convertire una formula contenente un prodotto in una formula contenente una sommatoria usando la seguente identità

Limitazioni sulle sommatorie Vi sono molte tecniche disponibili per definire limiti sulle sommatorie che descrivono i tempi di esecuzione degli algoritmi. Di seguito saranno presentati alcuni metodi usati più di frequente. Induzione matematica Limitazione dei termini Spezzare le sommatorie Approssimazione con integrali

Induzione matematica Il metodo base per calcolare il valore di una serie e di usare l’induzione matematica. Si dimostra il passo base (per n=0, oppure n=1) Si fa l’ipotesi induttiva che esso valga per n Si dimostra che vale per n+1

Induzione matematica Esempio: dimostriamo che Passo base (n=1): Supponiamo vero per n. Dimostriamolo per n+1:

Induzione matematica L’induzione può essere usata per tentare un limite superiore Esempio: dimostriamo che o più precisamente dimostreremo che Passo base (n=0): Supponiamo vero per n. Dimostriamolo per n+1:

Limitazioni dei termini Talvolta un buon limite superiore su una serie può essere ottenuto maggiorando ogni termine della serie, e spesso è sufficiente usare il termine più grande per limitare gli altri. In generale:

Limitazioni dei termini Data la serie con Per ogni k0 dove r<1 è una costante Dato che ak≤a0rk la somma può essere limitata da una serie geometrica decrescente infinita

Limitazioni dei termini Esempio : si può applicare il metodo per dare un limite alla sommatoria Il rapporto tra due termini consecutivi è: Quindi ogni termine è limitato seperiormente da (1/3)(2/3)k

Spezzare le sommatorie Per ottenere dei limiti su una sommatoria difficile si può esprimere la serie come la somma di due o più serie ottenute spezzando l’intervallo dell’indice e quindi limitando ognuna delle serie risultanti. Per esempio abbiamo visto che Per ottenere un limite inferiore si potrebbe limitare ogni termine con il termine più piccolo, ma poiché quel limite è 1 si avrebbe un limite di sommatoria inferiore a n

Spezzare le sommatorie Si può ottenere un risultato migliore spezzando la sommatoria. Si assuma per comodità che n sia pari. Si ha:

Spezzare le sommatorie Spesso si può spezzare la sommatoria ottenuta dall’analisi di un algoritmo, ignorando un numero costante di termini iniziali. In generale si adotta questa tecnica quando ogni termine ak della sommatoria è indipendente da n. Per esempio, per qualunque k0>0 si può scrivere

Spezzare le sommatorie Esempio : troviamo un limite asintotico superiore per la sommatoria Si osservi che il rapporto tra due termini consecutivi è Se k3. Quindi la somma può essere spezzata così

Approssimazione con integrali Quando una sommatoria può essere espressa come Dove f(k) è una funzione monotona crescente, si può approssimarla con i seguenti integrali

Approssimazione con integrali

Approssimazione con integrali

Approssimazione con integrali Analogamente quando una sommatoria può essere espressa come Dove f(k) è una funzione monotona decrescente, si può approssimarla con i seguenti integrali

Approssimazione con integrali Esempio : forniamo un limite stretto per l’n-esimo numero armonico