(ETC) MATRICOLE DISPARI

Documenti analoghi
(ETC) A.A. 2016/17 MATRICOLE DISPARI

(ETC) MATRICOLE DISPARI

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Varianti Macchine di Turing

Algoritmi e Complessità

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Programmazione di dipartimento: INFORMATICA classe 5 A.S

REGOLE PER L ESAME (agg.te settembre 2015)

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

FACOLTÀ DI INGEGNERIA ESAME DI ANALISI MATEMATICA A A.A. 2008/ Ing. Biomedica, Elettrica, Elettronica, Informatica - L Z

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Corso di Matematica per la Chimica

Sommario. Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Tipologie di macchine di Turing

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Ingegneria Meccanica

Complessità Computazionale

1. Distribuzioni campionarie

Soluzione di equazioni quadratiche

Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

PROGRAMMAZIONE ANNUALE

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Corso Programmazione

Metodologie di programmazione in Fortran 90

Luigi Piroddi

Piano di Lavoro. Di Matematica. Secondo Biennio

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Esercizio su MT. Svolgimento

Esercizi per il corso di Algoritmi e Strutture Dati

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270)

Gruppo di lavoro La comunicazione sociale

Matematica generale CTF

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

LEZIONE: Pensiero Computazionale. Tempo della lezione: Minuti. - Tempo di preparazione: 15 Minuti.

Le macchine di Turing

Cos è un Calcolatore?

Piano di gestione della qualità

Fondamenti e didattica di Matematica Finanziaria

Parte 4. Progettazione di una simulazione

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

CERTIFICATI BIANCHI - TEE (Titoli di Efficienza Energetica)

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Origini e caratteristiche dei calcolatori elettronici

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

TEMATICA 1 - FUNZIONI ED EQUAZIONI

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6

Appunti sulla Macchina di Turing. Macchina di Turing

Fisica Medica x OPD. Angelo Scribano (ottobre 2006) Le scienze e il metodo scientifico Fisica Medica. A. Scribano pag.1

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

LA VALUTAZIONE DEGLI ALUNNI

Cosa dobbiamo già conoscere?

Istituto Tecnico Commerciale Statale e per Geometri E. Fermi Pontedera (Pi)

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

ISTRUZIONI E SUGGERIMENTI PER LA STESURA DEL REPORT

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

REGOLAMENTO PER LA VERIFICA DEL LIVELLO DI APPLICAZIONE DELLA LINEA GUIDA ISO 26000

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 7: Teoria generale della calcolabilitá

LICEO SCIENTIFICO STATALE G. D. CASSINI

Perché il logaritmo è così importante?

Calcolo delle Probabilità

Laboratorio di Informatica

Fondamenti di Informatica. Allievi Automatici A.A Informazioni Generali

LABORATORIO DI INFORMATICA

risulta (x) = 1 se x < 0.

Riconoscere le caratteristiche funzionali di un Nozioni fondamentali di un sistema operativo.

Il Test d ingresso per la Facoltà à di Scienze. PISA 3 dicembre 2008

COORDINAMENTO PER MATERIE SETTEMBRE 2013

Bisogni Educativi Speciali

Elementi di Informatica e Programmazione

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi

Fondamenti di Informatica T1

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Tempo a disposizione: 2 ore 30 minuti

Studente: SANTORO MC. Matricola : 528

Eco 8, intelligente, semplice, utile. Software di calcolo del risparmio energetico con Altivar

SPC e distribuzione normale con Access

Linguaggi di programmazione

GRIGLIA DI PROGETTAZIONE

Corso di Sistemi Informativi Territoriali. Presentazione del corso. Maria Luisa Damiani

Elementi di matematica finanziaria

Ogni azienda ha la necessità di conoscere il proprio sistema dei costi sia per controllare la situazione esistente che per verificare il

Transcript:

Elementi di Teoria della Computazione (ETC) MATRICOLE DISPARI Docente: Prof. Luisa Gargano BENVENUTI!

Finalità: Fornire gli elementi di base delle teorie che sono di fondamento all'informatica 1. Computabilità 2. Complessità

Computazione Obiettivo: Formulare una teoria a partire dall idea della computazione

Cosa è la Computazione? Treccani Computazione: Il computare e il modo con cui si computa; calcolo. Computare Calcolare, fare il conto di qualche cosa: c. il tempo necessario; metodo di c. gli anni;

Mezzi di Computazione Carta e Penna 237+ 84= 321 Abaco. Calcolatori/programmi

Cosa è la Computazione? Per noi la computazione sarà processare l informazione mediante l applicazione illimitata di un insieme finito di operazioni o regole Es. Linguaggio macchina

Teoria Che cosa vogliamo da una teoria? Precisione, Generalità

Teoria della Computazione? Generalità Possiamo definire la computazione senza fa riferimento ad un calcolatore attuale? Possiamo definire la computazione indipendentemente dai limiti odierni della scienza (ingegneria, fisica, )? Precisione Possiamo definire formalmente (matematicamente) un calcolatore? Possiamo dimostrare teoremi circa ciò che può o non può essere computato?

Avendo a disposizione risorse (memoria, tempo, ) sufficienti un calcolatore può risolvere qualsiasi problema? oppure esistono limiti fondamentali a ciò che si può computare?

Computabilità: Quali problemi possono essere computati? (con qualsiasi macchina, linguaggio, ) Esempi di problemi computazionali Problemi numerici Data una stringa binaria, il numero di 1 è maggiore del numero di 0? Dati due numeri x e y, calcola x+y Dato un intero, risulta x primo? Problemi riguardanti programmi (es. in C) Data una sequenza di caratteri ASCII, rispetta la sintassi del C? Dato un programma in C, esiste un input che lo manda in loop?

Computabilità: Quali problemi possono essere computati? (con qualsiasi macchina, linguaggio, ) Esempi di problemi computazionali in matematica Equazioni Diofantine: data un equazione con una o più incognite e coefficienti interi (es x 2 +3xyz-37z 3-5=0), essa ammette una soluzione intera? Problema del commesso viaggiatore: data una rete di città, connesse tramite delle strade, trovare il percorso di minore lunghezza che un commesso viaggiatore deve seguire per visitare tutte le città una e una sola volta per poi tornare alla città di partenza

Computabilità: Quali problemi possono essere computati? (con qualsiasi macchina, linguaggio, ) Macchine a stati finiti/automi: Quali problemi possiamo risolvere con memoria costante?

Distributore di bibite/snack a 50c Accetta monete da 10c e da 20c non da resto, rifiuta moneta troppo grande E (semplice) macchina a stati finiti che opera in accordo all input (monete)

Macchina a stati finiti o Automa finito Astrazione Più semplice modello di calcolo Chip Parte di molti apparecchi elettromeccanici Analizzatori lessicali e sintattici di compilatori,

Computabilità: Quali problemi possono essere computati? Non tutti!!! Esempi di problemi computazionali Problemi numerici Data una stringa binaria, il numero di 1 è maggiore del numero di 0? Dati due numeri x e y, calcola x+y Dato un intero, risulta x primo? Problemi riguardanti programmi (es. in C) Data una sequenza di caratteri ASCII, rispetta la sintassi del C? Dato un programma in C, esiste un input che lo manda in loop?

Computabilità: Modello di computazione indipendente dalla tecnologia presente? Macchine di Turing Ideate da Alan Turing nel 1936. Modello di calcolatore più semplice: - macchina a stati finiti - Nastro (lettura e scrittura) memoria, processore

Macchine di Turing Ideate da Alan Turing nel 1936. Modello di calcolatore più semplice: - macchina a stati finiti - Nastro memoria, processore Scopo: fornire una teoria della computazione formalizzare in maniera esatta (matematica) il concetto di computazione (indipendentemente dalla potenza di calcolo )

Macchine di Turing: Concetto di Computabilità indipendente dalla tecnologia Tesi di Church-Turing: Equivalenza tra programmi e Macchine di Turing Limiti delle macchine di Turing (e della computazione): Problemi non computabili

Computabilità: Cosa può essere computato? Cosa non può esserlo? (con qualsiasi macchina, linguaggio, ) Dove si trova il confine? Calcolabilità: Quali sono le le risorse minime necessarie (es. tempo di calcolo e memoria) per la risoluzione di un problema?

Lista luoghi con associato il l interesse a visitare il luogo (voto da 0 a 100) Vogliamo ordinare i luoghi in ordine di interesse Facile!

Usando I collegamenti esistenti (metro, bus). Facile?

Prova tutti i siti vicini non ancora visitati

Algoritmi utili in pratica Algoritmi P efficienti: Utilizzano un tempo polinomiale su tutti gli input Algoritmi inefficienti: Utilizzano un tempo esponenziale su qualche input Nota. Definizione indipendente da sviluppo tecnologico Cosa rende un problema facile o meno?

P Esempi del terzo tipo Problema del commesso viaggiatore Programmazione lineare intera: esiste una soluzione intera di un sistema di equazioni del tipo

Cosa rende un problema facile o meno?

Le classi P e NP Definizione (informale) della classe P: insieme di problemi risolubili in tempo polinomiale da una macchina di Turing deterministica Tesi Church-Turing ==> insieme di problemi che ammettono un algoritmo efficiente

Le classi P e NP Definizione (informale) della classe NP: insieme di problemi per cui non si conosce un algoritmo efficiente, ma che ammettono un algoritmo efficiente di verifica di una soluzione fornita

Problemi NP-completi Travelling Salesman Problem, 3-coloring di grafi, Scheduling Multiprocessore, Folding Proteine, Programmazione lineare intera: esiste soluzione intera per un sistema del tipo Tutti risolvibili efficientemente o nessuno!

Argomenti di massima: Macchine a stati finiti Macchine di Turing Le classi P e NP

Finalità Computabilità Comprendere la nozione di di computabilità Limiti intrinsechi della computabilità Modelli più semplici di computazione

Risultati attesi: Saprete che è impossibile dimostrare che un programma in C termina fornire una dimostrazione formale di ciò nessun calcolatore futuro può cambiare la situazione

Finalità Computabilità Comprendere la nozione di di computabilità Limiti intrinsechi della computabilità Modelli più semplici di computazione Complessità classificazione problemi solubili: difficoltà riconoscere problemi difficili

Risultati attesi: Saprete Come riconoscere un problema intrattabile se vi capita Come modellare la computazione, in vari settori: Cellule/DNA, nel cervello, sistemi economici, social networks,... Es. ll folding delle proteine all'interno della cellula Le proteine, sintetizzate come catene polipeptidiche che si estendono in modo spazialmente non strutturato, devono raggiungere una conformazione tridimensionale stabile per poter svolgere le loro funzioni biologiche. Come determinarla? Come fanno le cellule?

Risultati attesi: Saprete Come riconoscere un problema intrattabile se vi capita Come modellare la computazione, in vari settori: Cellule/DNA, nel cervello, sistemi economici, social networks,... Es. Perhaps nothing is as effective and efficient in spreading your message as a viral marketing campaign. The idea behind viral marketing is to inspire people to spread your message for you. It s been estimated that a successful viral campaign can have 500-1000 times more impact than a non-viral campaign. Come minimizzare i costi iniziali?

Informazioni Pratiche ORARIO: Martedì: 11:00 14:00 (include recupero) Giovedì: 14:00 16:00 Venerdì: 9:00 11:00 N.B.: Tutte le lezioni sono ugualmente importanti!

Informazioni Pratiche SITO WEB: http://www.dia.unisa.it/professori/lg/etc.html di riferimento per il materiale relativo al corso - copie delle slides, esercizi, - date delle prove, - comunicazioni varie, - etc.

Suggerimenti (per superare facilmente l esame) Seguire il corso È più difficile imparare da soli dal libro (ancora di più dalle slide!) Studiare lezione per lezione Gli argomenti diventano più complessi Studiare dal libro di testo Fare gli esercizi

Testo Michael Sipser, Introduction to the Theory of Computation, Course Technology.

Testo Jon Kleinberg, Eva Tardos, Algorithm Design, Pearson

Prove di Esame Prova scritta con esercizi e teoria (nessun materiale ammesso) Eventuale prova orale Requisito minimo: 50% del totale Prove in Itinere: 2 prove, stesse modalità delle prove d esame

Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP