Analisi asintotica1 Se si considerano tutte le costanti lanalisi può divenire eccessivamente complessa In realtà interessa conoscere come varia il costo.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Elementi di complessità
                      Insertion-Sort
LE SUCCESSIONI Si consideri la seguente sequenza di numeri:
Funzioni reali: prime proprietà e loro composizione
Linguaggi algoritmici
Analisi della complessità degli algoritmi
Analisi della complessità degli algoritmi
Cifre significative e arrotondamento Regole per la determinazione il numero delle cifre significative Conteggio delle cifre significative Tutti i valori.
Le Funzioni.
Sommatorie Proprietà Serie aritmetica Serie geometrica Serie armonica
Lez. 51 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Complessita'
Esempio 1: Calcolo del M.C.D.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Continuità delle funzioni. Funzione continua in un punto Sia y=f(x) una funzione definita in un intervallo, aperto o chiuso, e sia x 0 un punto interno.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Unintroduzione.
Il problema della ricerca 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.
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.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
1 Informazioni generali r Stefano Leonardi m Tel.: m URL: / r Ricevimento:
1 Informazioni generali r Luca Becchetti m Tel.: m URL: r Ricevimento: m Latina:
Introduzione1 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo: procedura suddivisa.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Il Linguaggio C.
COMPLESSITÀ DEGLI ALGORITMI
Studio di funzione Manessi Stefano V°O 2011/2012.
Analisi della varianza
Elementi di Informatica di base
Ordinamento dell’array
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
CLASSE 5^ LICEO SCIENTIFICO PROGRAMMA DI MATEMATICA DOCENTE: PROF
Vedremo in seguito che (n log n) è un limite stretto per il problema dellordinamento. Per ora ci limitiamo a dimostrare che: La complessità nel caso pessimo.
23 aprile 2002 Algoritmi e strutture dati1 Informazioni generali Fabrizio d'Amore o Tel.: o o URL:
La complessità media O(n log n) di Quick-Sort vale soltanto se tutte le permutazioni dell’array in ingresso sono ugualmente probabili. In molte applicazioni.
PREMESSE DELL’ANALISI INFINETISIMALE
Radice quadrata di un numero
Stabilità per E.D.O. (II): IL METODO DIRETTO DI LYAPUNOV
Gli argomenti di questa lezione sono:
STUDIO DI UNA FUNZIONE DOMINIO DELLA FUNZIONE TIPO DELLA SEGNO DELLA
Complessità degli algoritmi (cenni) CORDA – Informatica A. Ferrari.
Valutare la difficoltà dei problemi
Studio della monotonia
Complessità del problema Se non facciamo ipotesi sul tipo degli elementi della sequenza le uniche operazioni permesse sono confronti e assegnazioni. Problema.
Il calcolo dei limiti nelle funzioni razionali Seconda parte: la frontiera.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
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.
Il problema della ricerca Algoritmi e Strutture Dati.
Autore: Francesca Maria Stasi Tutor: Marinella Molinari Modulo T05 Presentazioni Multimediali: da Power Point alla LIM.
Teoria degli asintoti.
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:
algoritmi approssimati
La variabile casuale (v.c.) è un modello matematico in grado di interpretare gli esperimenti casuali. Infatti gli eventi elementari  che compongono lo.
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:
Automi temporizzati.
Complessità Computazionale
Rappresentazione Del Modulo di una Costante Per calcolare il punto dove la costante si interseca con l’asse y: 20log 10 della costante |G| W [ ]
(II) Schema generale studio di funzioni
Informatica 3 V anno.
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Rudimenti di Complessità Corso di Programmazione II Prof. Dario Catalano.
Teoremi sulle funzioni derivabili 1. Definizione di massimo globale x0x0 f(x 0 ) Si dice massimo assoluto o globale di una funzione il più grande dei.
Dal grafico risalire alle caratteristiche della funzione
Transcript della presentazione:

Analisi asintotica1 Se si considerano tutte le costanti lanalisi può divenire eccessivamente complessa In realtà interessa conoscere come varia il costo al variare della dimensione dellinput, a meno di costanti o Motivo: il costo è comunque calcolato a meno di costanti, per le ipotesi fatte circa il modello Unanalisi di questo tipo è detta asintotica Lanalisi asintotica trascura i fattori costanti Lanalisi asintotica è influenzata dalloperazione dominante di un algoritmo o L'operazione eseguita "più frequentemente" (concetto da chiarire)

Analisi asintotica2 Analisi asintotica /2 f(n), g(n) funzioni non negative e non decrescenti, dagli interi ai reali f(n) = O(g(n)) se esistono c > 0 reale e una costante intera n 0 >= 1 tali che f(n) = n 0 (f cresce al più come g) f(n) = Ω(g(n)) se esistono c > 0 reale e una costante intera n 0 >= 1 tali che f(n) >= c·g(n), per n >= n 0 (f cresce almeno come g) f(n) = Θ(g(n)) se f(n) = O(g(n)) e f(n) = Ω(g(n)) (f cresce come g) f(n) = o(g(n)) se lim n f(n)/g(n) = 0 f(n) = ω(g(n)) se g(n) = o(f(n))

Analisi asintotica3 Esempi 1. Lalgoritmo arrayMax ha costo Θ(n) 2. f(n) = 3n n = O(n 2 ) per c = 4 e n 0 >= 10, 3n n <= 4n 2 3. f(n) = n 2 /2 – 3n = Θ(n 2 ) per c 1 = 1/14, c 2 = 1/2, n 0 >= 7: c 1 n 2 <= n 2 /2 – 3n <= c 2 n 2 D.: Cosa significa O(1)?

Analisi asintotica4 Operazione dominante Unoperazione di un algoritmo di costo f(n) si dice dominante se, per ogni n, essa viene eseguita, nel caso peggiore di input di dimensione n, un numero di volte d(n) che soddisfa: f(n) < a·d(n) + b per opportune costanti reali a e b Ex.: istruzione if (A[i] > currentMax) nellalgoritmo arrayMax(A, n)

Analisi asintotica5 Analisi asintotica /3 Limiti dellapproccio "analisi asintotica di caso peggiore" o Le costanti nascoste possono essere molto grandi: un algoritmo con costo n è lineare ma potrebbe essere poco pratico o Comportamento nel caso di istanze piccole (es. 3n contro n 2 )? o Il caso peggiore potrebbe verificarsi raramente

Analisi asintotica6 Analisi di Insertion Sort Algorithm insertionSort(A, n) for (i=0; i<n; i++) { tmp=A[i]; for (j=i; j>0 && tmp<A[j-1]; j--) A[j]=A[j-1]; A[j] = tmp; } return A; Ordina in modo non-decrescente Inserisce lelemento A[i] nella posizione corretta nel vettore ordinato A[0,…,i-1] Operazione dominante: una qualunque fra quelle eseguite nel for più interno D.: se la ricerca della posizione di A[i] in A[0,…,i-1] avvenisse con la ricerca binaria? Ex: i= confronti i= confronto i= confronti i= confronti i= confronti Ex: f(n) = n

Analisi asintotica7 Esempi class esercizio { public void Ex1(int n) { int a, i; for (i = 0; i < n; i++) a = i; } public void Ex2(int n) { int a, i; for (i = 0; i < n * n; i++) a = i; } public void Ex3(int n) { int a, i, j; for (i = 0; i < n; i++) for (j = 0; j <= i; j++) a=i; } Valutare la complessità dei tre metodi Complessità di Ex3: … + n = O(n 2 ) qual è la dimensione dell'input??

Analisi asintotica8 Calcolo delle somme dei prefissi Dato un vettore di interi X[0....n-1], determinare le componenti del vettore A[0...n-1] in modo tale che A[i]=X[0]+....+X[i-1] + X[i]. Due algoritmi: Algorithm prefix1(X, n) for (i=0; i<n; i++) { A[i]=0; for (j=0; j<=i; j++) A[i]=A[i]+X[j]; } return A; Algorithm prefix2(X, n) A[0]=X[0]; for (i=1; i<n; i++) A[i]=A[i-1]+X[i]; return A; O(n 2 ) O(n)