ALGORITMI E COMPLESSITÀ

Slides:



Advertisements
Presentazioni simili
…da von Neumann al computer quantistico architettura dellelaboratore.
Advertisements

Problema dellordinamento Input: Sequenza di n numeri Output: Permutazione π = tale che: a 1 a 2 …… a n Subroutine in molti problemi E possibile effettuare.
Classe III A A.s – 2010 Programma di Informatica
Analisi della complessità degli algoritmi
Classe III A A.s – 2011 Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Alberto Paganuzzi.
Analisi della complessità degli algoritmi
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Cos’è la LOGICA?.
Algoritmi e Programmazione
Introduzione allo studio dell’informatica
Fondamenti di Informatica
Il computer ragiona? Problemi e algoritmi.
Algoritmi e Dimostrazioni Stefano Berardi
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
La programmazione didattica, in termini generali, può essere organizzata o secondo una prospettiva seriale che segue le linee della logica disciplinare.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Introduzione1 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo: procedura suddivisa.
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Linguaggi di Programmazione 1 docente: Maurizio Tucci Lezione 0.1 Concetti di Base.
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Gli algoritmi AA 2003/04 © Alberti Programmazione 2. Algoritmi.
Gli algoritmi.
Algoritmi e diagrammi di flusso
Elementi di Informatica
Elementi di Informatica Simone Scalabrin a.a. 2008/2009.
Biologia Computazionale - Algoritmi
Algoritmi e Programmazione strutturata
Algoritmi e Strutture dati Introduzione al corso
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
INFORMATICA MATTEO CRISTANI.
L' ARCHITETTURA DI VON NEUMANN
IPOTESI DI LAVORO GRUPPO n° 3: LEO, RIBATTEZZATO, ROSSI, SCIANGUETTA
Laboratorio di Informatica Dott.ssa Elisa Tiezzi Dott.ssa Elisa Mori
Ricetta realizzata da Andrea Conti Andrea Conti 29/11/1993 ama talmente tanto la cucina e la sala da decidere terminato il 4 ginnasio di abbandonare li.
11/10/2004Introduzione all'Informatica1 Che cose lInformatica Computer ScienceLInformatica (Computer Science) non è soltanto La scienza e la tecnologia.
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
Ripasso : Algoritmi.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
STRUTTURA DI UN COMPUTER
Programmazione Avanzata Java e C 12/01/ Lezione 28: Algoritmi di ordinamento.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Quarta giornata Risolvere efficientemente un problema in P: la sequenza di Fibonacci Guido.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Algoritmi.
Realizzazione software
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Informatica e Informatica di Base
Informazione e Informatica - presentazione dei concetti di base -
Sistemi e Tecnologie Informatiche Complessità di calcolo.
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Università degli Studi di Perugia 20/09/2015Informatica applicata all’educazione a.a Informatica applicata all’educazione a.a Corso.
Dal problema al programma
IL CODING.
Sintesi da pag. 8 a pag. 21. L’ Informatica è la scienza che studia il trattamento automatico dell’informazione. Deriva dal francese «Informatique»
Il PENSIERO COMPUTAZIONALE
…da von Neumann al computer quantistico L’archittettura dell’elaboratore.
ISTITUTO COMPRENSIVO “R. CALDERISI”
Se vuoi imparare davvero qualcosa, insegnala!. Umilmente IMPARARE IL PENSIERO COMPUTAZIONALE IMPARARE A PROGRAMMARE IL PENSIERO COMPUTAZIONALE PER OGNI.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Teacher Dojo. Chi siamo Generare cultura digitale nell’accezione più ampia del termine significa suonare un campanellino dentro i cervelli dormienti che.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
1. Introduzione al corso Ing. Simona Colucci Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A
INFORMATICA Informatica è una parola recente; è stata inventata in Francia nel 1962 come contrazione di information automatique.
Componenti base di un computer Gli elementi fondamentali La Cpu La Ram L’ Hard disk.
Prof.ssa Rossella Petreschi Lezione del 1 /10/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitoli da 1 a3 del testo Giorgio Ausiello, Rossella.
Transcript della presentazione:

ALGORITMI E COMPLESSITÀ G1DisCs: Albertani, Driussi, Tomasoni

Pastasciutta all’olio Mettere 2 litri di acqua in una pentola Mettere la pentola sopra al gas Portare l’acqua in ebollizione Buttare in acqua 20 g di sale Aggiungere 80 g di pasta Spegnere il fuoco dopo il tempo indicato sulla confezione della pasta Scolare l’acqua in un apposito scolapasta Servire in un piatto aggiungendo 10 ml di olio Cospargere il tutto con 10 g di parmigiano

Cos’è un algoritmo? È una procedura automatica, cioè eseguibile da un essere non pensante (ad esempio un computer), per risolvere in un numero finito di passi un certo problema Un algoritmo è un insieme ordinato di passi eseguibili e non ambigui

Algoritmo Input ELABORATORE Output

Pastasciutta all’olio 2 Mettere un po’ d’acqua in una pentola Mettere la pentola sopra al gas Portare l’acqua in ebollizione Buttare in acqua sale q.b. Aggiungere una porzione di pasta Spegnere il fuoco quando la pasta è cotta Scolare l’acqua in un apposito scolapasta Servire in un piatto aggiungendo un filo d’olio Cospargere il tutto con una spolverata di parmigiano

Finitezza Un algoritmo per essere tale, deve produrre un output in un numero finito di passi Questo significa che finirà in un tempo finito qualora venga eseguito da un computer La finitezza è una condizione necessaria per un algoritmo

Calcolare il numero di Nepero come somma di una serie Questo è un algoritmo? Calcolare il numero di Nepero come somma di una serie

Correttezza Ovvero per ogni input valido, l'output dell'algoritmo è una soluzione per il problema La correttezza non è una condizione necessaria per un algoritmo (un algoritmo non corretto è comunque un algoritmo) Dire esempio su pasta (se aggiungo il sugo non è pasta all’olio ma è comunque una ricetta )

Efficienza Si indica col termine efficienza la velocità di un algoritmo nel risolvere un problema L’efficienza dipende da molte variabili esterne: tipo di calcalatore, input differenti, ecc. Come trovare una misura univoca dell’efficienza dell’algoritmo?

Complessità computazionale La misura univoca dell’efficienza di un algoritmo si basa sul numero di istruzioni da eseguire nel caso peggiore possibile Il numero di istruzioni dipende dalle dimensioni dell’input

Classi di complessità I problemi vengono classificati in differenti classi di complessità La complessità è sempre funzione della dimensione dell’input (dice come aumentano le istruzioni al crescere delle dimensioni dell’input)

Tempo/Memoria Per diminuire la complessità di un algoritmo è utile memorizzare le soluzioni di sottoproblemi in modo da non doverle ricalcolare più volte Si rischiano però problemi insuperabili di spazio per la memoria

Esempi Calcolo dei numeri di Fibonacci con uso della memoria senza memoria

Programma ≠ Algoritmo Un algoritmo non è un programma! Un programma è l’implementazione di uno o più algoritmi

Strutture dati Organizzazione dell’input: vengono usate in ogni programma per raggruppare in modo logico i dati e accedervi in modo veloce. Sono utilizzate dall'algoritmo e ne influenzano l'efficienza

Calcolabilità Per ogni problema esiste un algoritmo che lo risolve? Può essere utile sapere se esiste o no un algoritmo per un determinato problema È stato dimostrato che per certi problemi non esiste un algoritmo risolutivo Prima il grassetto, poi compare il resto

Ruolo nel pensiero razionale Matematica…. Latino… perché non l’informatica? È universalmente riconosciuto il valore di alcune discipline per esercitare e stimolare il ragionamento: l’informatica si presta molto bene Computational thinking! Prima grassetto poi il resto

Relazione con altre Scienze Al giorno d’oggi l’informatica assume un ruolo centrale tra le scienze Algoritmi di ogni genere sono usati da fisici, matematici, biologi, ecc.

Importanza in informatica Gli algoritmi sono come il prezzemolo Gli algoritmi sono tra i fondamenti dell’informatica Hanno dato vita a molti studi teorici (teorie della complessità e della calcolabilità) Sono presenti in ogni settore, dalla teoria all’ingegneria

Per saperne di più The Art of Computer Programming Donald Knuth Introduction to Algorithms Thomas H. Cormen Algoritmi, divinità e gente comune F. Luccio, L. Pagli http://g1discs.wikispaces.com/