Capitolo 11. Teoria della computazione Pearson Addison-Wesley. All rights reserved

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Capitolo 11. Teoria della computazione Pearson Addison-Wesley. All rights reserved"

Transcript

1 Capitolo 11 Teoria della computazione 2007 Pearson Addison-Wesley. All rights reserved

2 Capitolo 11: Teoria della computazione 11.1 Funzioni e loro calcolo 11.2 Macchine di Turing 11.3 Linguaggi gg di programmazione universali 11.4 Una funzione non calcolabile 11.5 Complessità dei problemi 11.6 Crittografia a chiave pubblica 2007 Pearson Addison-Wesley. All rights reserved 0-2

3 Funzioni Funzione: Una corrispondenza tra una raccolta di possibili valori di input e una collezione di possibili valori di output tale che sia possibile assegnare ad ogni iinput til suo proprio output t Calcolare una funzione: Determinare il valore di output associato con un dato set di valori di input Funzione non calcolabile: Una funzione che non può essere calcolata da nessun algoritmo 2007 Pearson Addison-Wesley. All rights reserved 0-3

4 Figura 11.1 Un modo di rappresentazione delle funzioni (tabellare) 2007 Pearson Addison-Wesley. All rights reserved 0-4

5 Figura 11.2 I componenti di una macchina di Turing 2007 Pearson Addison-Wesley. All rights reserved 0-5

6 Operazioni di una macchina di Turing Input a ogni passo Stato Valore alla posizione corrente del nastro Azioni a ogni passo Scrivere un valore alla posizione corrente del nastro Muovere la testina di lettura e scrittura Cambiare stato t 2007 Pearson Addison-Wesley. All rights reserved 0-6

7 Figura 11.3 Macchina di Turing per incrementare un valore 2007 Pearson Addison-Wesley. All rights reserved 0-7

8 Tesi di Church-Turing Le funzioni che sono calcolabili da una macchina di Turing sono esattamente le funzioni che sono calcolabili da ogni strumento di calcolo algoritmico i 2007 Pearson Addison-Wesley. All rights reserved 0-8

9 Linguaggi di programmazione universali Un linguaggio con il quale può essere espressa la soluzione per ogni funzione calcolabile Esempio il linguaggio Essenziale 2007 Pearson Addison-Wesley. All rights reserved 0-9

10 Linguaggio Essenziale Essenziale è semplice, ma nello stesso tempo è universale. Comandi clear name; incr name; decr name; while name not 0 do; end; 2007 Pearson Addison-Wesley. All rights reserved 0-10

11 Figura 11.4 Un programma in Essenziale per calcolare l X x Y 2007 Pearson Addison-Wesley. All rights reserved 0-11

12 Figura 11.5 copia Today a Tomorrow in Essenziale 2007 Pearson Addison-Wesley. All rights reserved 0-12

13 Il problema della terminazione Questa funzione dovrebbe, data la versione codificata di ogni programma, restituire 1 se il programma può giungere alla fine correttamente t o 0 se non può giungere alla fine 2007 Pearson Addison-Wesley. All rights reserved 0-13

14 Figura 11.6 Controllo del fatto che un programma sia auto- terminante 2007 Pearson Addison-Wesley. All rights reserved 0-14

15 Figura 11.7 Prova della indecidibilità del problema della terminazione 2007 Pearson Addison-Wesley. All rights reserved 0-15

16 Complessità del problema Complessità nel tempo: Il numero delle istruzioni richieste Se non ulteriormente definito il termine complessità è da intendersi come complessità nel tempo Un problema è di classe O(f(n)) se può essere risolto da un algoritmo in Θ(f(n)). Un problema è di classe Θ(f(n)) se il miglior algoritmo per risolverlo l è di classe Θ(f(n)) Pearson Addison-Wesley. All rights reserved 0-16

17 Figura 11.8 Un procedura per fondere due liste 2007 Pearson Addison-Wesley. All rights reserved 0-17

18 Figura 11.9 L algoritmo di fusione ordinata per due liste 2007 Pearson Addison-Wesley. All rights reserved 0-18

19 Figura La gerarchia di problemi generata dall algoritmo algoritmo di fusione ordinata 2007 Pearson Addison-Wesley. All rights reserved 0-19

20 Figura Grafici delle funzioni matematiche ti n, lg, n, n lg n, and n Pearson Addison-Wesley. All rights reserved 0-20

21 Confronto P - NP Classe P: Tutti i problemi in ogni classe Θ(f(n)), dove f(n) )èu una apolinomialeo Classe NP: Tutti i problemi che possono essere risolti da un algoritmo non deterministico in un tempo polinomiale Algoritmo non deterministico =un algoritmo i cui passi non possono essere univocamente e completamente determinati dallo stato del processo Non si sa ancora se la classe NP sia più grande della classe P Pearson Addison-Wesley. All rights reserved 0-21

22 Figura Schema grafico della classificazione i dei problemi 2007 Pearson Addison-Wesley. All rights reserved 0-22

23 Crittografia a chiave pubblica Chiave: Un valore usato per cifrare/decifrare messaggi Chiave pubblica: usata per cifrare messaggi Chiave privata: usata per decifrare messaggi RSA: Un algoritmo diffuso di cifratura a chiave pubblica Basato sulla presunta non trattabilità del problema di fattorizzare numeri sufficientemente i grandi 2007 Pearson Addison-Wesley. All rights reserved 0-23

24 Crittare il messaggio Chiavi di codifica: n = 91 and e = due = 23 dieci 23 e = 23 5 = 6,436,343 6,436, ha il resto di 4 4 dieci = 100 due Perciò, la versione crittata di è Pearson Addison-Wesley. All rights reserved 0-24

25 Decrittare il messaggio 100 Chiavi di decrittazione: d = 29, n = due = 4 dieci 4 d = 4 29 = 288,230,376,151,711, ,230,376,151,711, ha il resto di dieci = due Perciò, la versione decrittata di 100 è Pearson Addison-Wesley. All rights reserved 0-25

26 Figura Crittografia a chiave pubblica 2007 Pearson Addison-Wesley. All rights reserved 0-26

27 Figura Stabilire un sistema di crittografia a chiave pubblica RSA 2007 Pearson Addison-Wesley. All rights reserved 0-27

Parte I.5 Cenni alla computazione

Parte I.5 Cenni alla computazione Parte I.5 Cenni alla computazione Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 14, 2015 Elisabetta Elisabetta Ronchieri I Concetti

Dettagli

La nozione di algoritmo

La nozione di algoritmo La nozione di algoritmo Agostino Dovier Dip. di Matematica e Informatica, Univ. Udine UDINE, Aprile 2015 Agostino Dovier (DIMI) La nozione di algoritmo UDINE 1 / 17 Un algoritmo viene descritto in un certo

Dettagli

Teoria della Calcolabilità!

Teoria della Calcolabilità! Teoria della Calcolabilità Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo. L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici

Dettagli

Capitolo III. Algoritmi e Programmi

Capitolo III. Algoritmi e Programmi Capitolo III Algoritmi e Programmi Trattamento delle Informazioni Informatica Studio sistematico dei processi che servono al trattamento delle informazioni Studio della definizione della soluzione di problemi

Dettagli

Il calcolatore universale, origini e nuovi paradigmi

Il calcolatore universale, origini e nuovi paradigmi Il calcolatore universale, origini e nuovi paradigmi Lucia Pomello Università degli studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione 24 febbraio 2017 L evoluzione dell

Dettagli

Capitolo 9: Trattabilitá e intrattabilitá dei problemi

Capitolo 9: Trattabilitá e intrattabilitá dei problemi Capitolo 9: Trattabilitá e intrattabilitá dei problemi 1 La classe P : é considerata tradizionalmente come una caratterizzazione formale dei problemi trattabili. n = 2 n = 5 n = 10 n = 100 n = 1000 n 2

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 2 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 09 Marzo 2010 Controlli automatici

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 2 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 01 Marzo 2013 1 2 3 Obiettivo chiave dei LdP: fornire costrutti che riducano la

Dettagli

Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione. Limiti della Calcolabilità

Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione. Limiti della Calcolabilità Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione Macchina di Turing Universale Problema della fermata Altri problemi indecidibili 1 2 Tesi di Church Nel 1936 Church propone la seguente

Dettagli

Capitolo 8: Teoria della complessitá

Capitolo 8: Teoria della complessitá Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algoritmi e Programmi Elementi

Dettagli

Da Turing a Böhm. Simona Ronchi Della Rocca Dipartimento di Informatica

Da Turing a Böhm. Simona Ronchi Della Rocca Dipartimento di Informatica Da Turing a Böhm Simona Ronchi Della Rocca 40-100 Dipartimento di Informatica I nostri due padri Alan Turing 1912-1954 Corrado Böhm 1923 - Alan Turing! Calcolabilità (1936): Formalizzazione del calcolo,

Dettagli

LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE

LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE INTRODUZIONE OBIETTIVO: classificare gli algoritmi a seconda delle risorse utilizzate - risorse necessarie (lower bound) - risorse sufficienti (upper bound) Aspetti

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

Teoria della Calcolabilità!

Teoria della Calcolabilità! Teoria della Calcolabilità!! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.!! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici

Dettagli

Capitolo 5. Algoritmi. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Capitolo 5. Algoritmi. Mauro Giacomini Pearson Addison-Wesley. All rights reserved Capitolo 5 Algoritmi Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 5: Algoritmi 5.1 Concetto di algoritmo 5.2 Rappresentazione degli algoritmi 5.3 Scoprire Algoritmi 5.4 Strutture

Dettagli

Principio di composizione delle MT

Principio di composizione delle MT Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi

Dettagli

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati Obiettivi Unità E1 Dall analisi del problema alla definizione dell algoritmo Conoscere il concetto di algoritmo Conoscere le fasi di sviluppo di un algoritmo (analisi, progettazione, verifica) Conoscere

Dettagli

Esercitazione 4 - Linguaggi e Complessità Antonio Cruciani

Esercitazione 4 - Linguaggi e Complessità Antonio Cruciani Esercitazione 4 - Linguaggi e Complessità 03-05-2019 Antonio Cruciani antonio.cruciani@alumni.uniroma2.eu 1 Funzioni Time e Space constructible Definizione: Una funzione f : N æ N è time-constructible

Dettagli

Algoritmi e Complessità

Algoritmi e Complessità Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it a.a. 2002-03 e.merelli

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

Teoria della complessità

Teoria della complessità Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Teoria della complessità Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Problemi decidibili, semidecidibili, indecidibili

Problemi decidibili, semidecidibili, indecidibili Problemi decidibili, semidecidibili, indecidibili (Paragrafo 3.5 delle dispense) Il problema di determinare se una formula A della logica proposizionale sia valida o no può essere risolto mediante un procedimento

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Teoria della Calcolabilità

Teoria della Calcolabilità Teoria della Calcolabilità n Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo n L origine risale alla prima metà del ventesimo secolo, quando i logici matematici

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

Teoria della Calcolabilità

Teoria della Calcolabilità Teoria della Calcolabilità! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici

Dettagli

Fondamenti Informatica A.A. 2010/'11. (I parte)

Fondamenti Informatica A.A. 2010/'11. (I parte) Problemi e algoritmi Macchina di Turing Fondamenti di informatica Proff. De Nitto e D Ambrogio A.A. 2010/2011 (I parte) Architettura e visione funzionale Rappresentazione dei numeri Modello computazionale

Dettagli

Complessità computazionale. Introduzione al corso

Complessità computazionale. Introduzione al corso computazionale Introduzione al corso Piero A. Bonatti Università di Napoli Federico II Laurea Magistrale in Informatica Introduzione Questo corso tratta la teoria della complessità una branca dell informatica

Dettagli

Teoria della computazione

Teoria della computazione Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Teoria della computazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

ALGORITMI DI GENERAZIONE DI GRAFI CASUALI PER MODELLARE IL WEB OF TRUST - 1 -

ALGORITMI DI GENERAZIONE DI GRAFI CASUALI PER MODELLARE IL WEB OF TRUST - 1 - - 1 - Capitolo 1 INTRODUZIONE In crittografia il sistema PGP (Pretty Good Privacy) è forse il crittosistema più usato al mondo. PGP usa sia la crittografia asimmetrica (detta anche a chiave pubblica) sia

Dettagli

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell

Dettagli

Sommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili.

Sommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili. Sommario Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili. 1 UTM: la TM universale Una TM T che accetta un linguaggio è analoga a un programma

Dettagli

Le parole dell informatica: algoritmo e decidibilità

Le parole dell informatica: algoritmo e decidibilità Le parole dell informatica: algoritmo e decidibilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico dell Informatica

Dettagli

Limiti della calcolabilità

Limiti della calcolabilità Limiti della calcolabilità Argomenti della lezione Macchina di Turing universale Il problema della terminazione Altri problemi indecidibili Macchine di Turing in forma ridotta Per ogni MT M esiste una

Dettagli

Sommario. Complessità di tempo e spazio di una TM che si ferma sempre.

Sommario. Complessità di tempo e spazio di una TM che si ferma sempre. Sommario Complessità di tempo e spazio di una TM che si ferma sempre. Relazioni tra le due misure Analisi complessità delle TM costruite per dimostrare che più nastri o il non determinismo non aumentano

Dettagli

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da: Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Automi Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano

Dettagli

Introduzione all informatica

Introduzione all informatica Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell

Dettagli

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29 Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,

Dettagli

Dall analisi del problema alla definizione dell algoritmo A. Ferrari

Dall analisi del problema alla definizione dell algoritmo A. Ferrari Dall analisi del problema alla definizione dell algoritmo A. Ferrari Problema Problema è un termine largamente utilizzato dai molti significati quasi sempre intuitivi Risolvere un problema Passaggio da

Dettagli

I Limiti della computazione

I Limiti della computazione I Limiti della computazione Fondamenti di Informatica 2011 Cio che un computer non puo fare Prof, perche pensare in negativo?!? Un ovvia motivazione: Comprendere i limiti della tecnologia 1 Il pensare

Dettagli

Diario delle Lezioni del Corso di Algoritmimodulo

Diario delle Lezioni del Corso di Algoritmimodulo Diario delle Lezioni del Corso di Algoritmimodulo Complessità A.A. 2010-2011 Dott.ssa Margherita Zorzi 1 Materiale didattico Libro di testo C.H. Papadimitrious, Computational Complexity, ed Addison-Wesley

Dettagli

Crittografia ed Aritmetica Modulare VI incontro

Crittografia ed Aritmetica Modulare VI incontro Crittografia ed Aritmetica Modulare VI incontro PLS - CAM Padova, 21 novembre 2014 1 Il Piccolo Teorema di Fermat Come si è osservato nella ATTIVITÀ 1.2. del IV incontro, in generale il comportamento delle

Dettagli

Progetto Lauree Scientifiche Crittografia V incontro

Progetto Lauree Scientifiche Crittografia V incontro Progetto Lauree Scientifiche Crittografia V incontro Giovanna Carnovale 13 marzo 2006 Sommario Durante questo incontro analizzeremo la sicurezza del sistema crittografico RSA e parleremo di come trasformare

Dettagli

Logica Algoritmi Cognizione

Logica Algoritmi Cognizione Logica Algoritmi Cognizione Le nozioni di DECIDIBILITÀ e COMPUTABILITÀ e i loro limiti Formulazione della logica in termini di teorie formalizzate e di dimostrazioni (all interno di teorie formalizzate)

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

complessità degli algoritmi

complessità degli algoritmi complessità degli algoritmi progetto CORDA informatica algoritmo matematico persiano Muhammad al-khwarizmi (IX secolo) un algoritmo è una sequenza finita di passi interpretabili da un esecutore l esecuzione

Dettagli

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere

Dettagli

La tesi di Church-Turing e

La tesi di Church-Turing e La tesi di Church-Turing e l indecidibilità Automi e algoritmi i La domanda d fondamentale dll della teoria dll della calcolabilità è: Quali risultati possiamo e non possiamo ottenere mediante algoritmi?

Dettagli

Elementi di Complessità Computazionale

Elementi di Complessità Computazionale Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con

Dettagli

Testi di esame precedenti a.a. e soluzioni

Testi di esame precedenti a.a. e soluzioni Fondamenti di Informatica mod. 2 2018/2019 M.Di Ianni Testi di esame precedenti a.a. e soluzioni 1 Problemi Problema 6.1: Dimostrare che, per ogni costante intera positiva k, 2 nk è una funzione time-constructible.

Dettagli

Capitolo 0. Introduzione. Prof. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Capitolo 0. Introduzione. Prof. Mauro Giacomini Pearson Addison-Wesley. All rights reserved Capitolo 0 Introduzione Prof. Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 0: Introduzione 0.1 Il ruolo degli algoritmi 0.2 L origine delle macchine per il calcolo 0.3 La scienza

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

Complessità. Ricorda: Problema P decidibile Linguaggio L P decidibile Taglia input x x. Esempio: G è un grafo connesso? { G G è un grafo connesso}

Complessità. Ricorda: Problema P decidibile Linguaggio L P decidibile Taglia input x x. Esempio: G è un grafo connesso? { G G è un grafo connesso} Complessità Calcolabilità: studia la frontiera tra problemi solubili e insolubili, Si limita ad aspetti qualitativi della risolubilità dei problemi (distingue ciò che è risolubile da ciò che non lo è).

Dettagli

APPUNTI DEL MODULO: COMPUTABILITA' IO MENTO!!! IL PROBLEMA DELLA COMPUTABILITA'

APPUNTI DEL MODULO: COMPUTABILITA' IO MENTO!!! IL PROBLEMA DELLA COMPUTABILITA' APPUNTI DEL MODULO: COMPUTABILITA' IO MENTO!!! IL PROBLEMA DELLA COMPUTABILITA' IL PROBLEMA DELLA COMPUTABILITA' Algoritmo E' una procedura sequenziale, effettivamente calcolabile, deterministica, finita.

Dettagli

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione Automi Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione automa o automa: macchina astratta o realizza un certo algoritmo, secondo

Dettagli

Teoria della Calcolabilità!

Teoria della Calcolabilità! Teoria della Calcolabilità! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici

Dettagli

Sommario. martedì 23 ottobre 2012

Sommario. martedì 23 ottobre 2012 Sommario Macchina di Turing universale il problema dell accettazione per TM e sua indecidibilità il problema della fermata e sua indecidibilità Proprietà dei problemi Turing riconoscibili Linguaggi non

Dettagli

Complessità computazionale

Complessità computazionale Complessità computazionale Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Complessità computazionale 1 / 20 Un rappresentante di commercio... deve recarsi

Dettagli

Programmazione. Marco Anisetti. Università degli Studi di Milano, Dipartimento di Informatica. Marco Anisetti - 1 / 30

Programmazione. Marco Anisetti. Università degli Studi di Milano, Dipartimento di Informatica. Marco Anisetti - 1 / 30 Programmazione Marco Anisetti Università degli Studi di Milano, Dipartimento di Informatica marco.anisetti@unimi.it Marco Anisetti - 1 / 30 Obiettivi del corso Corso introduttivo alla programmazione, ai

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

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

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Fondamenti d Informatica. Barbara Re, Phd

Fondamenti d Informatica. Barbara Re, Phd Fondamenti d Informatica Barbara Re, Phd Informazioni e Contatti Ricercatrice a tempo determinato INF/01 (Tipo B) Membro della Sezione d Informatica - SST Secondo Piano (Polo Lodovici) barbara.re@unicam.it

Dettagli

Elementi di Informatica

Elementi di Informatica Elementi di Informatica Capitolo 6 Iterazione Prof. Mauro Gaspari: mauro.gaspari@unibo.it Assegnamenti multipli bruce = 5 print bruce, bruce = 7 print bruce Assegnamento e uguaglianza E' importante distinguere

Dettagli

PROGRAMMAZIONE I A.A. 2018/2019

PROGRAMMAZIONE I A.A. 2018/2019 PROGRAMMAZIONE I A.A. 2018/2019 COMPUTATIONAL THINKING Formalizzato da una psicologa Americana Jeanette Wing in un articolo sulla rivista ACM nel 2008 ühttps://www.ncbi.nlm.nih.gov/pmc/articles/pmc2696102/

Dettagli

MODULO 07 LA MACCHINA DI TURING

MODULO 07 LA MACCHINA DI TURING MODULO 07 LA MACCHINA DI TURING Nel 1936 Alan Turing presenta una definizione di computabilità basata sull osservazione del comportamento di un agente umano che sta eseguendo un calcolo (algoritmo) con

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su dati in ingresso (input) per produrre uno

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Lauree scientifiche Crittografia. RSA CRT

Lauree scientifiche Crittografia. RSA CRT Lauree scientifiche Crittografia. RSA CRT Emanuele Cesena emanuele.cesena @ gmail.com Sommario RSA Complessità RSA CRT Crittoanalisi di RSA CRT RSA in pillole Chiave pubblica: intero n = p q di 1024 bit,

Dettagli

Teoria della complessità

Teoria della complessità Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi

Dettagli

Teoria della computabilità. Appunti tratti dal libro di testo M. Addomine, D. Pons INFORMATICA Zanichelli pag

Teoria della computabilità. Appunti tratti dal libro di testo M. Addomine, D. Pons INFORMATICA Zanichelli pag Teoria della computabilità Appunti tratti dal libro di testo M. Addomine, D. Pons INFORMATICA Zanichelli pag.120-129 Teoria della computabilità Si occupa dell esistenza o meno di algoritmi risolutivi di

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 3.1 MACCHINE A REGISTRI 1 (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

La formalizzazione dell informazione: Dati e Diagrammi di Flusso La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi

Dettagli

Algoritmi e Strutture dati Introduzione al corso. Dr Maria Federico

Algoritmi e Strutture dati Introduzione al corso. Dr Maria Federico Dr Cosa studieremo Algoritmi = descrizione precisa di una sequenza di azioni che devono essere eseguite per giungere alla risoluzione di un problema Sintesi / disegno / progetto Analisi dell efficienza

Dettagli

Teoria della NP-completezza

Teoria della NP-completezza Teoria della NP-completezza Ivan Lanese Dipartimento di Informatica Scienza e Ingegneria Università di Bologna Ivan.lanese@gmail.com http://www.cs.unibo.it/~lanese/ NP-completezza 2 Complessità di problemi

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

RAPPRESENTAZIONE MATEMATICA DI OGGETTI

RAPPRESENTAZIONE MATEMATICA DI OGGETTI 1 RAPPRESENTAZIONE MATEMATICA DI OGGETTI Rappresentazione matematica di oggetti Alfabeto: insieme finito di caratteri o simboli Un oggetto è rappresentato da una sequenza ordinata di caratteri dell alfabeto.

Dettagli

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi Sommario Codifica dei dati Macchina Astratta Definizioni Esempi 1 2 Codifica dei dati È possibile introdurre la teoria della computabilità facendo riferimento ad algoritmi che elaborano numeri naturali

Dettagli

La tesi di Church-Turing

La tesi di Church-Turing ITLCC 2006/11/12 21:06 page 79 #3 Capitolo 5 La tesi di Church-Turing SOMMARIO Sebbene il concetto di algoritmo abbia avuto una lunga storia nel campo della matematica, il concetto formale di algoritmo

Dettagli

Crittografia. Corso di Laurea Specialistica. in Informatica. Generatori di Numeri PseudoCasuali

Crittografia. Corso di Laurea Specialistica. in Informatica. Generatori di Numeri PseudoCasuali Crittografia Corso di Laurea Specialistica in Informatica Generatori di Numeri PseudoCasuali Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano

Dettagli

L ELABORATORE ELETTRONICO!

L ELABORATORE ELETTRONICO! L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

La MT come riconoscitore

La MT come riconoscitore La MT come riconoscitore Sia M =

Dettagli

Pietro Battiston 26/09/2008

Pietro Battiston 26/09/2008 26/09/2008 Macchina di Turing Tesi di Church-Turing: Modello astratto di calcolatore. Tutto ciò che è calcolabile è Turing-calcolabile. È al tempo stesso una congettura ed un assioma alla base della teoria

Dettagli

La Teoria della Complessità Computazionale fa un passo avanti:

La Teoria della Complessità Computazionale fa un passo avanti: Introduzione La Teoria della Calcolabilità fornisce criteri per analizzare i problemi computazionali dal punto di vista della loro risolvibilità per via algoritmica. La domanda centrale riguarda l'esistenza

Dettagli

Marta Capiluppi Dipartimento di Informatica Università di Verona

Marta Capiluppi Dipartimento di Informatica Università di Verona Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona I Dati Ogni variabile è caratterizzata da Nome Valori Tipo Numeri naturali o interi o reali (1, -2, 0.34) Caratteri

Dettagli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

Dettagli

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE

GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE GARA5 SECONDARIA DI SECONDO GRADO INDIVIDUALE ESERCIZIO 1 PROBLEMA La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna di

Dettagli

Testo di riferimento. Problema delle 12 monete. Algoritmi. Complessità degli algoritmi (cenni) Dispense del Corso di Algoritmi e Strutture Dati

Testo di riferimento. Problema delle 12 monete. Algoritmi. Complessità degli algoritmi (cenni) Dispense del Corso di Algoritmi e Strutture Dati Testo di riferimento Complessità degli algoritmi (cenni) CORDA Informatica A. Ferrari Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo - Edoardo Bontà Università degli Studi di Urbino Carlo

Dettagli

Complessità degli algoritmi (cenni)

Complessità degli algoritmi (cenni) Complessità degli algoritmi (cenni) CORDA Informatica A. Ferrari Testo di riferimento Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo - Edoardo Bontà Università degli Studi di Urbino Carlo

Dettagli

PARTE VI COMPLESSITA

PARTE VI COMPLESSITA PARTE VI COMPLESSITA Complessità di algoritmi e problemi Classi di complessità Proprietà delle classi spaziali e temporali Le classi P, NP, PSPAZIO Problemi NP-completi 6.1. Introduzione alla complessità

Dettagli