Valutazione di progressioni geometriche
|
|
- Lazzaro Bucci
- 6 anni fa
- Visualizzazioni
Transcript
1 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 1/22 Valutazione di progressioni geometriche Somme finite: Sia S n = n i=0 αi. Se α 1 allora S n (α 1) = α S n S n = n α i+1 i=0 n i=0 = α+α α n +α n+1 1 α α 2... α n = α n+1 1 da cui S n = (α n+1 1)/(α 1). Somme infinite: Supponiamo 0 < α < 1 e sia S = i=0 αi. Allora αs = i=1 αi, da cui α i S(1 α) = S αs = α i i=0 α i = α 0 = 1, ovvero S = 1/(1 α) i=1
2 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 2/22 Esempio Calcoliamo log 3 n i=0 (1/3) i ovviamente vale che ) i < ( 1 i i=0 3) log3 n i=0 ( 1 3 Applicando quindi la formula S n = i=0 α i = 1 1 α alla espressione otteniamo log 3 n i=0 ( ) 1 i < 3 i=0 i=0 ( ) 1 i 3 ( ) 1 i = (1/3) = (3/2)
3 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 3/22 Parliamo ora di Analisi di Algoritmi Ricorsivi: Come esprimere la complessità di algoritmi ricorsivi mediante relazioni di ricorrenza Come derivare le relazioni di ricorrenza Come risolvere le relazioni di ricorrenza
4 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 4/22 Struttura tipica di algoritmi ricorsivi Algoritmo A(I). A(I 1 ). A(I a ) I è l input iniziale all algoritmo. i puntini ". sono istruzioni di qualche tipo A(I 1 ),...,A(I a ) sono le a chiamate ricorsive all algoritmo A, rispettivamente sugli input I 1,...,I a.
5 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 5/22 Derivazione di relazioni di ricorrenza Per derivare le relazioni di ricorrenza che descrivono il tempo di esecuzione T(n) di un algoritmo occorre: Determinare la taglia dell input n Determinare quale valore n 0 di n è usato per la base della ricorsione (generalmente, ma non sempre, n 0 = 1). Determinare il valore T(n 0 ) del tempo di esecuzione sulla base della ricorsione (spesso basterà essere certi che T(n 0 ) = c, per qualche costante c) Il valore T(n) sarà generalmente uguale ad una somma del tipo T(m 1 )+...+T(m a ) (per le chiamate ricorsive), piú la somma di eventuale altro lavoro fatto. Spesso le a chiamate ricorsive saranno effettuate tutte su sottoproblemi di taglia uguale f(n), dando un termine at(f(n)) nella relazione di ricorrenza.
6 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 6/22 Tipica relazione di ricorrenza T(n) = c sen = n 0 at(f(n))+g(n) altrimenti n 0 =base ricorsione, c =tempo di esecuzione per la base a =numero di volte che le chiamate ricorsive sono effettuate f(n) =taglia dei problemi risolti nelle chiamate ricorsive g(n) =tutto il tempo di calcolo non incluso nelle chiamate ricorsive
7 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 7/22 Esempi procedure bugs(n) if n = 1 then do qualcosa else bugs(n 1); bugs(n 2); for i = 1 to n do qualcosa T(n) = c sen = 1 T(n 1)+T(n 2)+cn altrimenti
8 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 8/22 Esempi procedure daffy(n) if n = 1 or n = 2 then do qualcosa else daffy(n 1); for i = 1 to n do qualcosa di nuovo daffy(n 1) T(n) = c sen 2 2T(n 1)+cn altrimenti
9 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 9/22 Esempi procedure elmer(n) if n = 1 then do qualcosa else if n = 2 then do qualcos altro else for i = 1 to n do elmer(n 1) fa qualcosa di differente T(n) = c sen 2 nt(n 1)+cn altrimenti
10 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 10/22 Esempi procedure bar(n) if n = 1 then do qualcosa else for i = 1 to n do bar(i) fa qualcosa di differente T(n) = c sen = 1 n i=1 T(i)+cn altrimenti
11 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 11/22 Un teorema generale Teorema: Se n è potenza di c, la soluzione alla ricorrenza T(n) = d sen 1 at(n/c) + bn altrimenti è T(n) = O(n) sea < c O(nlogn) sea = c O(n log c a ) sea > c Esempi: Se T(n) = 2T(n/3)+dn, allora T(n) = O(n) Se T(n) = 2T(n/2)+dn, allora T(n) = O(nlogn) Se T(n) = 4T(n/2)+dn, allora T(n) = O(n 2 )
12 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 12/22 Cenni di dimostrazione, quando n = c i T(n) = a T(n/c)+bn (per ipotesi) = a(a T(n/c 2 )+bn/c)+bn (in quanto T(n/c) = at(n/c 2 )+bn/c) = a 2 T(n/c 2 )+abn/c+bn = a 2 (a T(n/c 3 )+bn/c 2 )+abn/c+bn = a 3 T(n/c 3 )+a 2 bn/c 2 +abn/c+bn i 1 = a i T(n/c i )+bn (a/c) j = a log c n T(1)+bn log c n 1 (a/c) j (poichè i = log c n)
13 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 13/22 continuando... T(n) = a log c n T(1)+bn = da log c n +bn log c n 1 log c n 1 (a/c) j (dalla slide precedente) (a/c) j (per ipotesi T(1) = d) Ricordando che x = y log y x, abbiamo a log c n = (c log c a ) log c n = (c log c n ) log c a = n log c a e quindi T(n) = d n log c a +bn log c n 1 (a/c) j
14 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 14/22 Per calcolare log c n 1 (a/c) j occorre ricordare ció che abbiamo già visto sulle Progressioni Geometriche, ovvero: Somme finite: Se α 1 allora n i=0 α i = αn+1 1 α 1 (1) Somme infinite: Se 0 < α < 1. Allora i=0 α i = 1 1 α (2)
15 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 15/22 ritornando alla dimostrazione... Caso 1: a < c (cioè (a/c) < 1) log c n 1 (a/c) j < (a/c) j = 1 1 a/c = c c a Pertanto (dalla formula (2) precedente) T(n) < d n log c a +bcn/(c a) = O(n) (Infatti, a < c log c a < 1 e quindi il termine d n log c a è O(n))
16 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 16/22 altro caso... Caso 2: a = c Allora T(n) = d n log c a +bn = d n log c a +bn = O(nlogn) log c n 1 log c n 1 (a/c) j (1) j
17 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 17/22 ed infine... Caso 3: a > c (il che implica (a/c) 1) Dalla precedente formula (1) otteniamo log c n 1 Pertanto, (a/c) j = (a/c)log c n 1 (a/c) 1 = nlog c a 1 1 (a/c) 1 (poichè a log c n = n log c a e (1/c) log c n = 1/n) = O(n log c a 1 ) T(n) = d n log c a +bn log c n 1 (a/c) j = O(n log c a )
18 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 18/22 Qualche noioso dettaglio... Cosa accade se n NON è potenza di c? Osserviamo che per k = log c n vale che c k n < c k+1 e cn c k+1 (3) Immaginiamo quindi di "aumentare" l input di taglia n, fino a farlo diventare di taglia c k+1. É ovvio che T(n) < T(c k+1 ). Applicando ora il teorema a T(c k+1 ), otteniamo O(c k+1 ) = O(cn) = O(n) sea < c T(n) < T(c k+1 ) = O(c k+1 logc k+1 ) = O(cnlog(cn)) = O(nlogn) sea = c O((c k+1 ) log c a ) = O((cn) log c a ) = O(n log c a ) sea > c
19 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 19/22 Esempi Sia T(1) = 1. Valutiamo T(n) = 2T(n/2)+6n T(n) = 3T(n/3)+6n 9 T(n) = 2T(n/3)+5n T(n) = O(nlogn) T(n) = O(nlogn) T(n) = O(n) T(n) = 2T(n/3)+12n+16 T(n) = O(n) T(n) = 4T(n/2)+n T(n) = O(n log 2 4 ) = O(n 2 ) T(n) = 3T(n/2)+9n T(n) = O(n log 2 3 ) = O(n )
20 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 20/22 Concludendo Con esattamente la stessa tecnica è possibile dimostrare una forma un pó piú generale del Teorema, ad esempio la seguente: Teorema: La soluzione alla ricorrenza d sen 1 T(n) = at(n/c)+bn k altrimenti per a,c,b,k costanti, è T(n) = O(n k ) sea < c k O(n k logn) sea = c k O(n log c a ) sea > c k
21 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 21/22 Altri esempi Sia T(1) = 1. Valutate T(n) = 2T(n/2)+n 3 T(n) = O(n 3 ) T(n) = T(9n/10)+n T(n) = 16T(n/4)+n 2 T(n) = O(n) T(n) = O(n 2 logn) T(n) = 7T(n/3)+n 2 T(n) = O(n 2 ) T(n) = 7T(n/2)+n 2 T(n) = O(n log 2 7 ) T(n) = 2T(n/3)+ n T(n) = O(n log 3 2 ) T(n) = T(n 1)+n T(n) = T( n)+1 T(n) = O(?) T(n) = O(?)
22 Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 22/22 Infine Esistono forme ancora piú generali del Teorema, che permettono la risoluzione di equazioni di ricorrenza del tipo generale T(n) = at(n/b)+f(n) Sussiste il seguente risultato 1.Se f(n) = O(n log b a ǫ ), per qualche ǫ > 0, allora T(n) = Θ(n log b a ) 2. Se f(n) = Θ(n log b a ), allora T(n) = Θ(n log b a logn) 3. Se f(n) = Ω(n log b a+ǫ ), per qualche ǫ > 0, e se af(n/b) cf(n) per qualche costante c > 1 ed n sufficientemente grande, allora T(n) = Θ(f(n))
Di cosa parliamo oggi?
Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/41 Di cosa parliamo oggi? Oggi parliamo di Analisi di Algoritmi Analisi di Algoritmi = valutazione delle risorse
DettagliAlgoritmi e Strutture Dati
Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli
DettagliAlgoritmi (9 CFU) (A.A )
Algoritmi (9 CFU) (A.A. 2009-10) Equazioni di ricorrenza Prof. V. Cutello Algoritmi 1 Overview Definiamo cos è una ricorrenza Introduciamo 3 metodi per risolvere equazioni di ricorrenza Sostituzione e
DettagliAlgoritmi e strutture dati. Analisi di algoritmi Funzioni di costo, notazione asintotica
Algoritmi e strutture dati Analisi di algoritmi Funzioni di costo, notazione asintotica Alberto Montresor Università di Trento 2016/09/11 This work is licensed under a Creative Commons Attribution-ShareAlike
DettagliCOMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Ω (grande omega) Diciamo che T(n) = Ω (f(n)), - leggiamo T(n) ha complessità
DettagliAnalisi algoritmi ricorsivi e relazioni di ricorrenza
Analisi algoritmi ricorsivi e relazioni di ricorrenza Punto della situazione Finora abbiamo affrontato: il tempo di esecuzione di un algoritmo, l analisi asintotica con le notazioni asintotiche e la tecnica
Dettagli5. DIVIDE AND CONQUER I
Divide-et-Impera (Divide and conquer) 5. DIVIDE AND CONQUER I Mergesort e Relazioni di ricorrenza Esempi di progettazione D&I Moltiplicazione di interi Contare inversioni Divide-et-Impera. Definizione
DettagliTecniche Algoritmiche: divide et impera
Tecniche Algoritmiche: divide et impera Una breve presentazione F. Damiani - Alg. & Lab. 04/05 Divide et impera (o Divide and conquer) Per regnare occorre tenere divisi i nemici e trarne vantaggio F. Damiani
DettagliNotazione asintotica. notazione Ω. notazione O. notazione o notazione ω. Marina Zanella Algoritmi e strutture dati Richiami matematici 1
Notazione asintotica Sebbene si possa talvolta determinare il tempo esatto di esecuzione di un algoritmo, l estrema precisione non giustifica lo sforzo del calcolo; infatti, per input sufficientemente
DettagliNote per la Lezione 6 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,
DettagliIntroduzione al Corso di Algoritmi
Introduzione al Corso di Algoritmi Di cosa parliamo oggi: Una discussione generale su cosa studieremo, perchè lo studeriemo, come lo studieremo,... Un esempio illustrativo di cosa studeriemo Informazione
DettagliUn algoritmo realizza una relazione funzionale tra i valori di input e quelli di output
Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di
DettagliEsercizi sulla complessità di frammenti di pseudo-codice
Esercizi sulla complessità di frammenti di pseudo-codice Esercizio 1 Si determini la complessità temporale del seguente frammento di pseudo-codice in funzione di n. Il ciclo contiene solo istruzioni elementari;
Dettagli5) Equazioni di ricorrenza
Pag 37 5) Equazioni di ricorrenza Valutare la complessità di un algoritmo ricorsivo è, in genere, più laborioso che nel caso degli algoritmi iterativi. Infatti, la natura ricorsiva della soluzione algoritmica
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla http://www.moreno.marzolla.name/ Ultima Modifica: 7 ottobre 202 Copyright Portions of this work are Copyright 202, Moreno Marzolla. This work is licensed
DettagliAppunti lezione Capitolo 2 Analisi delle funzioni di costo
Appunti lezione Capitolo Analisi delle funzioni di costo Alberto Montresor 0 Settembre, 016 1 Funzioni di costo Definizione 1 (Funzione di costo). Utilizziamo il termine funzione di costo per indicare
DettagliNell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:
Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi
DettagliEsercizi per il corso di Algoritmi, anno accademico 2014/15
1 Esercizi per il corso di Algoritmi, anno accademico 2014/15 Esercizi sulle Notazioni Asintotiche 1. Esercizio: Provare le seguenti relazioni, esibendo opportune costanti c 1,c 2 ed n 0. Si assuma per
DettagliAlgoritmi e Strutture Dati
Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo
DettagliL1 L2 L3 L4 L5 L6 L7 L8 L9. Esercizio. Determinare l insieme di disuguaglianze che descrive esattamente la regione di piano della figura
Determinare l insieme di disuguaglianze che descrive esattamente la regione di piano della figura [1] y x, x 1 [2] y x, x 1 [3] y x, x 1 [4] y x, x 1 [5] y x, x 1 L insieme è simmetrico rispetto all origine
DettagliΩ (grande omega) Esempio 10 COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Esempio 10 int potenza(int base, int esp); main () { \* Genera le prime potenze
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione informale di algoritmo Insieme di istruzioni, definite
DettagliAlgoritmi e Strutture Dati
Analisi asintotica e Ricorrenze Esercizi Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Notazioni O, Ω e Θ Parte I Notazioni
DettagliAlgoritmi e strutture di dati 2
Algoritmi e strutture di dati 2 Paola Vocca Lezione 1: Divide et Impera 1 Paradigma del divide et impera Strutturato in tre fasi. Sia Π() istanza di dimensione di un problema computazionale Π (dove è immediato
DettagliEsercizi sul Principio d Induzione
AM110 - ESERCITAZIONI I - II - 4 OTTOBRE 01 Esercizi sul Principio d Induzione Esercizio svolto 1. Dimostrare che per ogni n 1, il numero α(n) := n 3 + 5n è divisibile per 6. Soluzione. Dimostriamolo usando
DettagliCrescita funzioni. 20 novembre Come possiamo confrontare le funzioni di costo che abbiamo ottenuto finora?
Crescita funzioni 20 novembre 2006 1 Funzioni di costo Definizione 1 (Funzione di costo). Utilizziamo il termine funzione di costo per indicare una funzione f : N R dall insieme dei numeri naturali ai
DettagliTempo e spazio di calcolo (continua)
Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base
Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile
DettagliTempo e spazio di calcolo (continua)
Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza
DettagliEsercizi su alberi binari
Esercizi su alberi binari Esercizi svolti: Determinazione nodi contenti verifica completezza verifica quasi completezza lunghezza del cammino interno determinazione ultima foglia in un quasi completo verifica
DettagliProprietà delle notazioni asintotiche
Proprietà delle notazioni asintotiche Punto della situazione Cos è un algoritmo Tempo di esecuzione T(n) Analisi di algoritmi: analisi asintotica di T(n) Notazioni asintotiche Argomento di oggi Proprietà
DettagliLa principale modalità di calcolo è l applicazione di funzioni
1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un
DettagliQuickSort (1962, The Computer Journal)
QuickSort (1962, The Computer Journal) Charles Antony Richard Hoare (1934 -) Attualmente senior researcher al Microsoft Research Center di Cambridge Hoare ha vinto nel 1980 il Turing Award, il premio più
DettagliSommario della lezione
Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/27 Sommario della lezione Ancora altri esempi di applicazione della Programmazione Dinamica: Il Problema della
DettagliEsercizi Capitolo 2 - Analisi di Algoritmi
Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare
DettagliLaurea in Informatica e Tecnologie per la Produzione del Software Corso di Analisi Matematica Successioni e loro limiti
Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Analisi Matematica Successioni e loro limiti Docente: Anna Valeria Germinario Università di Bari A.V.Germinario (Università di
DettagliEsempio : i numeri di Fibonacci
Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci
DettagliFunzioni derivabili (V. Casarino)
Funzioni derivabili (V. Casarino) Esercizi svolti 1) Applicando la definizione di derivata, calcolare la derivata in = 0 delle funzioni: a) 5 b) 3 4 c) + 1 d) sin. ) Scrivere l equazione della retta tangente
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Informazioni sul corso + Un introduzione informale agli algoritmi Domenico Fabio Savo 1 Domenico Fabio Savo Email: savo@dis.uniroma1.it Web: http://www.dis.uniroma1.it/~savo
DettagliQuando non espressamente detto, intendiamo che: f : R R x 0 R è punto di accumulazione per dom(f).
Teoremi sui iti Quando non espressamente detto, intendiamo che: f : R R 0 R è punto di accumulazione per dom(f). Teorema di unicità del ite. Supponiamo che f ammetta ite l (finito o infinito) per 0. Allora
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliLa ricorsione. Sommario. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino
La ricorsione Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario! Definizione di ricorsione e strategie divide et impera! Semplici algoritmi ricorsivi! Merge
DettagliIntroduzione alla tecnica di Programmazione Dinamica
Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/37 Sommario della lezione Introduzione alla tecnica di Programmazione Dinamica Esempio di applicazione n. 1:
DettagliEsercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen
Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di
DettagliSerie numeriche e serie di potenze
Serie numeriche e serie di potenze Sommare un numero finito di numeri reali è senza dubbio un operazione che non può riservare molte sorprese Cosa succede però se ne sommiamo un numero infinito? Prima
DettagliPrincipio di induzione: esempi ed esercizi
Principio di induzione: esempi ed esercizi Principio di induzione: Se una proprietà P n dipendente da una variabile intera n vale per n e se, per ogni n N vale P n P n + allora P vale su tutto N Variante
Dettagli1) Applicando la definizione di derivata, calcolare la derivata in x = 0 delle funzioni: c) x + 1 d)x sin x.
Funzioni derivabili Esercizi svolti 1) Applicando la definizione di derivata, calcolare la derivata in x = 0 delle funzioni: a)2x 5 b) x 3 x 4 c) x + 1 d)x sin x. 2) Scrivere l equazione della retta tangente
DettagliSoluzione. Soluzione. Soluzione. Soluzione
SUCCESSIONI E PROGRESSIONI Esercizio 78.A, 5, 8,, 4, La differenza tra ogni termine e il suo precedente è sempre uguale a 3. Pertanto si tratta di una progressione aritmetica crescente di ragione 3. La
DettagliI numeri rossi sulla Mole Antonelliana a Natale. Algoritmi e Laboratorio a.a Lezioni. Le regole della riproduzione dei conigli.
I numeri rossi sulla Mole Antonelliana a Natale Università di Torino acoltà di Scienze MN Corso di Studi in Informatica Curriculum SR (Sistemi e Reti) Algoritmi e Laboratorio a.a. 29- Lezioni prof. Elio
DettagliMacchina RAM. Modelli di calcolo e metodologie di analisi. Linguaggio di una macchina RAM. Algoritmi e Strutture Dati. Istruzioni.
Algoritmi e Strutture Dati Macchina RAM Nastro di ingresso Modelli di calcolo e metodologie di analisi Contatore istruzioni Programm a Accumulatore Unità centrale M[0] M[1] Nastro di uscita Basato su materiale
DettagliCorso di Controllo Digitale Equazioni alle Differenze e Z-trasformate a
Corso di Controllo Digitale Equazioni alle Differenze e Z-trasformate a Università degli Studi della Calabria Corso di Laurea in Ingegneria Elettronica. Ing. Domenico Famularo a Proprietà Letteraria Riservata
DettagliA.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.
A.A. 2015-2016. CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. Esercizio 5.1. Determinare le ultime tre cifre di n = 13 1625. (Suggerimento. Sfruttare il Teorema di Eulero-Fermat)
DettagliAlgoritmi e Strutture Dati
Analisi di algoritmi Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno Parte I Analisi
DettagliNote per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
DettagliRichiami di Matematica. 1. Insiemi, relazioni, funzioni. 2. Cardinalitá degli insiemi infiniti e numerabilitá. 3. Notazione asintotica.
Richiami di Matematica 1. Insiemi, relazioni, funzioni. 2. Cardinalitá degli insiemi infiniti e numerabilitá. 3. Notazione asintotica. Insiemi Definizioni di base Dato un insieme A: x A: elemento x appartenente
DettagliAnalisi Matematica I Primo Appello ( ) - Fila 1
Analisi Matematica I Primo Appello (4-11-003) - Fila 1 1. Determinare la retta tangente alla funzione f() = (1 + ) 1+ in = 0. R. f(0) = 1, mentre la derivata è f () = ( e (1+) log(1+)) ( ) = e (1+) log(1+)
DettagliAlgoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione
Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliAppunti lezione Capitolo 14 Greedy
Appunti lezione Capitolo 14 Greedy Alberto Montresor 21 Novembre, 2016 1 Domanda: dimostrare che S[i, j] = con i j Nel problema della selezione delle attività, il sottoinsieme S[i, j] è definito nel modo
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Definizione informale di algoritmo Insieme di istruzioni, definite passo per passo, in modo da poter essere eseguite meccanicamente
DettagliUn tipico esempio è la definizione del fattoriale n! di un numero n, la cui definizione è la seguente:
Pag 29 4) La ricorsione 4.1 Funzioni matematiche ricorsive Partiamo da un concetto ben noto, quello delle funzioni matematiche ricorsive. Una funzione matematica è detta ricorsiva quando la sua definizione
Dettagli2. Analisi degli Algoritmi
2. Analisi degli Algoritmi Introduzione 2.1 Un modello di macchina elementare: la Macchina a Registri 2.2 Costo di esecuzione di un programma 2.3 Analisi del costo di esecuzione: il modello a costi uniformi
DettagliSommario della lezione
Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione
DettagliL algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013
L algoritmo AKS Seminario per il corso di Elementi di Algebra Computazionale Oscar Papini 22 luglio 2013 Test di primalità Come facciamo a sapere se un numero n è primo? Definizione (Test di primalità)
DettagliZeri di funzioni e teorema di Sturm
Zeri di funzioni e teorema di Sturm Enrico Bertolazzi Dipartimento di Ingegneria Meccanica e Strutturale Università degli Studi di Trento via Mesiano 77, I 38050 Trento, Italia EnricoBertolazzi@ingunitnit
DettagliNote per la Lezione 7 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 7 Ugo Vaccaro Sempre sulla tecnica Programmazione Dinamica Ricordiamo che lo sviluppo di algoritmi basati sulla Programmazione Dinamica
DettagliL1 L2 L3 L4 L5 L6. Esercizio. [1] ha infinite soluzioni [2] non ha soluzioni [3] ha esattamente due soluzioni
La disequazione x x + 1 0 [1] ha infinite soluzioni [] non ha soluzioni [3] ha esattamente due soluzioni [4] nessuna delle precedenti possibilità è corretta Introduciamo la funzione f : R R definita da
DettagliTempo e spazio di calcolo
Tempo e spazio di calcolo Modelli di calcolo e metodologie di analisi F. Damiani - Alg. & Lab. 04/05 (da M. Zacchi - Alg. & Lab. 03/04) In quale modo stimiamo il tempo di calcolo? Possiamo considerare
DettagliInformatica II. Capitolo 2 Analisi di algoritmi. Valutare la complessità in tempo. Complessità in tempo: cosa serve?
Valutare la complessità in tempo Complessità in tempo: cosa serve? Informatica II Capitolo 2 Analisi di algoritmi Per stimare il tempo impiegato da un programma Per stimare il più grande input gestibile
DettagliAnno 5 Regole di derivazione
Anno 5 Regole di derivazione 1 Introduzione In questa lezione mostreremo quali sono le regole da seguire per effettuare la derivata di una generica funzione. Seguendo queste regole e conoscendo le derivate
DettagliCorso di Geometria BIAR, BSIR Esercizi 2: soluzioni
Corso di Geometria 2- BIAR, BSIR Esercizi 2: soluzioni Esercizio Calcolare il determinante della matrice 2 3 : 3 2 a) con lo sviluppo lungo la prima riga, b) con lo sviluppo lungo la terza colonna, c)
DettagliStudieremo le congruenze lineari, cioe le equazioni del tipo
Congruenze lineari 1. Oggetto di studio - Definizione 1. Studieremo le congruenze lineari, cioe le equazioni del tipo dove ax b (mod n) (1) n, il modulo della congruenza, e un intero positivo fissato x,
DettagliLa trasformata di Laplace
La trasformata di Laplace (Metodi Matematici e Calcolo per Ingegneria) Enrico Bertolazzi DIMS Universitá di Trento anno accademico 2005/2006 La trasformata di Laplace 1 / 34 Outline 1 La trasformata di
Dettaglipoiché f(n) max{f(n),g(n)}, e g(n) max{f(n),g(n)}, sommando termine a termine: Quindi possiamo concludere che f(n)+g(n) = Θ(max{f(n),g(n)})
Sol Esercizio 1 Es. Notazione asintotica: 1. Si dimostri che f(n)+g(n) = Θ(max{f(n),g(n)}) sotto l ip. f(n),g(n) >0, a partire da un certo n 0. poiché f(n) max{f(n),g(n)}, e g(n) max{f(n),g(n)}, sommando
Dettagli3.2 Notazioni standard e funzioni comuni
3.2 Notazioni standard e funzioni comuni 43 Esercizi 3.1-1 Se f(n) e g(n) sono funzioni asintoticamente non negative, usate la definizione di base della notazione Θ per dimostrare che max(f(n), g(n)) =
DettagliSoluzioni dello scritto di Analisi Matematica II - 10/07/09. C.L. in Matematica e Matematica per le Applicazioni
Soluzioni dello scritto di Analisi Matematica II - /7/9 C.L. in Matematica e Matematica per le Applicazioni Proff. K. Payne, C. Tarsi, M. Calanchi Esercizio. a La funzione f è limitata e essendo lim fx
DettagliAlgoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I)
Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte I) Algoritmi greedy Gli algoritmi per problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione
DettagliESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME
ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME a cura di Michele Scaglia FUNZIONI DERIVABILI Sia f : domf R una funzione e sia 0 domf di accumulazione per domf Chiamiamo derivata prima di
DettagliCorso di Laurea in Ingegneria per l Ambiente e il Territorio - sede distaccata di Latina Corso di Analisi Matematica (1 modulo) - a.a.
Corso di Laurea in Ingegneria per l Ambiente e il Territorio - sede distaccata di Latina Corso di Analisi Matematica ( modulo) - a.a. 00/04 APPUNTI INTEGRATIVI SUI CRITERI DI CONVERGENZA PER LE SERIE Serie
DettagliIl passo del gambero. La soluzione di problemi con la tecnica del Backtracking. Ugo de' Liguoro - Algoritmi e Sperimentazioni 03/04 - Lez.
Il passo del gambero La soluzione di problemi con la tecnica del Backtracking Nel labirinto Nel labirinto In ogni posizione provo sistematicamente tutte le strade, ricordando ogni volta l ultima scelta
Dettaglix 1 Fig.1 Il punto P = P =
Geometria di R 2 In questo paragrafo discutiamo le proprietà geometriche elementari del piano Per avere a disposizione delle coordinate nel piano, fissiamo un punto, che chiamiamo l origine Scegliamo poi
Dettagliinferiore ai 180, ha area uguale al quadrato della corda AD che sottende un arco uguale alla somma dell arco AC e dell arco 180
L approssimazione di π secondo al-kashi Al-Kashi calcola il π in modo tale che soddisfi una condizione, detta Condizione di Al-Kashi : La circonferenza di un cerchio deve essere espressa in funzione del
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Capitolo 4 Ordinamento Ordinamento Dato un insieme S di n oggetti presi da un dominio totalmente ordinato, ordinare S Esempi: ordinare alfabeticamente lista di nomi, o insieme
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliOttimizzazione dei Sistemi Complessi
1 Giovedì 2 Marzo 2017 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Pseudo-code del metodo Fermi-Metropolis Input: x 0, 0, min, maxit k 0, x x 0, 0 while k maxit and min do k k + 1, x x
DettagliIIASS International Institute for Advanced Scientific Studies. Dipartimento di Fisica E.R. Caianiello Università di Salerno Premio
IIASS International Institute for Advanced Scientific Studies Eduardo R. Caianiello Dipartimento di Fisica E.R. Caianiello Università di Salerno Premio Eduardo R. Caianiello per gli studenti delle Scuole
DettagliCorso di Matematica per la Chimica
Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Errori Cause principali di errori nella risoluzione
DettagliCORSO DI LAUREA IN FISICA
CORSO DI LAUREA IN FISICA ANALISI MATEMATICA I BREVI RICHIAMI DELLA TEORIA DEI LIMITI. Confronto di infinitesimi. Sia A sottoinsieme di R, sia 0 punto di accumulazione di A nella topologia di R quindi
DettagliLa forma normale di Schur
La forma normale di Schur Dario A Bini, Università di Pisa 30 ottobre 2013 Sommario Questo modulo didattico contiene risultati relativi alla forma normale di Schur, alle sue proprietà e alle sue applicazioni
DettagliGeometria e Topologia I (U1-4) 2006-mag-10 61
Geometria e Topologia I (U1-4) 2006-mag-10 61 (15.9) Teorema. Consideriamo il piano affine. Se A A 2 (K) è un punto e r una retta che non passa per A, allora esiste unica la retta per A che non interseca
DettagliCenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)
Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice
DettagliCOMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,
DettagliSoluzione dei problemi di Programmazione Lineare Intera
Fondamenti di Ricerca Operativa T-A a.a. 2014-2015 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Daniele Vigo rev. 1.1.a ottobre 2014 Fondamenti di Ricerca Operativa
DettagliTriangolo rettangolo
Dato il triangolo rettangolo Possiamo perciò utilizzare angoli). Progetto Matematica in Rete Triangolo rettangolo OPA sappiamo che: PA cateto sen OP cos tg OA cateto OP PA cateto OA cateto opposto ad ipotenusa
DettagliForme indeterminate e limiti notevoli
Forme indeterminate e iti notevoli Limiti e continuità Forme indeterminate e iti notevoli Forme indeterminate Teorema di sostituzione Limiti notevoli Altre forme indeterminate 2 2006 Politecnico di Torino
DettagliEquivalentemente, le colonne di A sono linearmente indipendenti se e solo se
Lezioni di Algebra Lineare. Versione novembre 2008 VI. Il determinante Il determinante det A di una matrice A, reale e quadrata, è un numero reale associato ad A. Dunque det è una funzione dall insieme
DettagliEsercizi Capitolo 10 - Code con priorità e insiemi disgiunti
Esercizi Capitolo 10 - Code con priorità e insiemi disgiunti Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente,
DettagliMetodi iterativi per equazioni nonlineari.
Metodi iterativi per equazioni nonlineari. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 9 aprile 2016 Alvise Sommariva Introduzione 1/ 14 Introduzione Si supponga sia f
DettagliOrdinamento per inserzione e per fusione
Ordinamento per inserzione e per fusione Alessio Orlandi 15 marzo 2010 Fusione: problema Problema Siano A e B due array di n A e n B interi rispettivamente. Si supponga che A e B siano ordinati in modo
Dettagliax 1 + bx 2 + c = 0, r : 2x 1 3x 2 + 1 = 0.
. Rette in R ; circonferenze. In questo paragrafo studiamo le rette e le circonferenze in R. Ci sono due modi per descrivere una retta in R : mediante una equazione cartesiana oppure mediante una equazione
Dettagli