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 x1, 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 k0 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 k3. 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