La tesi di Church-Turing e
|
|
- Massimo Papi
- 6 anni fa
- Visualizzazioni
Transcript
1 La tesi di Church-Turing e l indecidibilità
2 Automi e algoritmi i La domanda d fondamentale dll della teoria dll della calcolabilità è: Quali risultati possiamo e non possiamo ottenere mediante algoritmi? Per affrontare questa domanda dovremo basarci su caratterizzazioni i i precise, non intuitive, i i dll delle nozioni i di algoritmo e di sistema (macchina) che esegue algoritmi. La tesi di Church-Turing fornisce elementi per una caratterizzazione precisa della nozione di algoritmo
3 Tesi di Church-Turing h Ogni funzione calcolabile l mediante un algoritmo è calcolabile da una macchina di Turing funzione calcolabile mediante un algoritmo (nozione intuitiva) funzione calcolabile l da MdT (nozione precisa)
4 Tesi di Church-Turing: h conseguenza! Conseguenza logica della Tesi: NON esiste una MdT per calcolare la funzione f? Allora NON esiste alcun algoritmo per calcolare la funzione f! Quindi, non può esistere alcun calcolatore (presente, passato, futuro) in grado di calcolare l quella funzione!
5 Tesi di Church-Turing: h conseguenza! Conseguenza logica della Tesi: NON esiste una MdT per calcolare la funzione f? Allora NON esiste alcun algoritmo per calcolare la funzione f! Come possiamo sapere se non esiste una MdT che calcola la funzione f? Avere una definizione formale della nozione di MdT ci permette, in alcuni casi, di dimostrarlo Nessuna dimostrazione di questo tipo sarebbe stata possibile in mancanza di adeguata formalizzazione
6 Turing e la storia dei calcolatori l Turing ha permesso lo sviluppo della teoria della calcolabilità, co ab ovvero o della disciplina che si occupa di capire quali problemi possano essere risolti algoritmicamente, proprio perché ha fornito elementi per sostituire la nozione intuitiva di algoritmo con quella, ben più precisa, di programma per MdT
7 L analisi di Turing ha permesso di identificare problemi non risolvibili da MdT PC di e quindi, per la Tesi, non risolvibili da alcun sistema algoritmico Turing e la storia dei calcolatori l Z1 (1938) Colossus (1943) PC odierno NASA Columbia Supercomputer (2004) ENIAC (1945) EDVAC (1945) Commodore 64 (1986)
8 Tesi di Church-Turingh Questa affermazione è detta tesi, e non teorema, perché intrinsecamente indimostrabile Dimostrare questa affermazione richiederebbe una definizione formale dei termini in gioco Abbiamo a disposizione una definizione formale dell espressione calcolabile mediante un programma per MdT (è stata fornita da Turing stesso) Il significato dell espressione espressione calcolabile algoritmicamente è intrinsecamente intuitivo La tesi di Church-Turing (tesi CT da ora in poi) fornisce proprio elementi per una definizione formale della nozione di calcolabile algoritmicamente
9 Verso le funzioni i non Turing-calcolabili l È stato dimostrato t che esistono funzioni i non Turingcalcolabili In base alla tesi CT, si conclude che esistono funzioni non algoritmicamente calcolabili Una di queste funzioni è relativa al cosiddetto problema della fermata Il di d ll di i i i ill l Il diagramma della diapositiva successiva illustra le relazioni tra tesi CT ed esistenza di funzioni non calcolabili
10 Verso le funzioni i non Turing-calcolabili l Tesi di Church-Turing algoritmi (nozione intuitiva) iti programmi per MdT (nozione precisa) problema della fermata esistenza di funzioni non Turing-calcolabili funzioni Turingcalcolabili funzioni
11 TEOREMA: Ei Esistono funzioni i non Turing-calcolabili l A questo risultato si arriva dimostrando che l insieme delle MdT è più piccolo dell insieme delle funzioni funzioni i funzioni Esistono funzioni non Turing- calcolabili? l Turingcalcolabili
12 L insieme delle MdT è più piccolo dell insieme i delle funzioni i La frase l insieme delle MdT è più piccolo dell insieme delle funzioni solleva un PROBLEMA: L insieme delle MdT è finito o infinito? è INFINITO L insieme delle funzioni è finito o infinito? è INFINITO Com è possibile che un insieme infinito sia più piccolo Com è possibile che un insieme infinito sia più piccolo di un altro insieme infinito?
13 Georg Cantor ( ) 1918) Cantor ha dimostrato che un insieme infinito può essere più piccolo di un altro insieme infinito: L insieme dei numeri naturali N = {0,1,2,3, } è infinito e più piccolo dell insieme dei numeri reali
14 Il teorema di Cantor Il teorema di Cantor gioca un ruolo importante nel dimostrare l esistenza di funzioni non Turing-calcolabili DIMOSTRAZIONE PER ASSURDO del teorema di Cantor Supponiamo che i numeri naturali siano tanti quanti sono i numeri reali Da questa affermazione deriviamo una contraddizione Quindi, siamo costretti a negare l assunzione iniziale
15 Teorema di Cantor: dimostrazione per assurdo Supponiamo che i numeri naturali siano tanti quanti i numeri reali Allora, è possibile mettere in corrispondenza ogni numero naturale con un numero reale numeri naturali numeri reali 1 1,
16 Teorema di Cantor: dimostrazione per assurdo Supponiamo che i numeri naturali siano tanti quanti i numeri reali Allora, è possibile mettere in corrispondenza ogni numero naturale con un numero reale numeri naturali numeri reali 1 1, ,
17 Teorema di Cantor: dimostrazione per assurdo Supponiamo che i numeri naturali siano tanti quanti i numeri reali Allora, è possibile mettere in corrispondenza ogni numero naturale con un numero reale numeri naturali numeri reali 1 1, , ,
18 Teorema di Cantor: dimostrazione per assurdo Supponiamo che i numeri naturali siano tanti quanti i numeri reali Allora, è possibile mettere in corrispondenza ogni numero naturale con un numero reale numeri naturali numeri reali 1 1, , , ,
19 Teorema di Cantor: dimostrazione per assurdo Supponiamo che i numeri naturali siano tanti quanti i numeri reali Allora, è possibile mettere in corrispondenza ogni numero naturale con un numero reale numeri naturali numeri reali 1 1, , , , ,
20 Teorema di Cantor: dimostrazione per assurdo Supponiamo che i numeri naturali siano tanti quanti i numeri reali Allora, è possibile mettere in corrispondenza ogni numero naturale con un numero reale e così via all infinito numeri naturali numeri reali 1 1, , , , , ,
21 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
22 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
23 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
24 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
25 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
26 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
27 Teorema di Cantor: dimostrazione per assurdo Per ogni numero naturale n, cambiamo a piacere l nesimo decimale del numero reale numeri naturali numeri reali 1 1, , , , , ,
28 Teorema di Cantor: dimostrazione per assurdo Formiamo un numero reale mettendo insieme i i decimali rossi : numeri naturali 1, numeri reali 1 1, , , , , ,
29 Teorema di Cantor: dimostrazione per assurdo 1, Questo è un numero reale; quindi, in base all assunzione assunzione di partenza, dovrebbe essere compreso nella tabella iniziale (prima della modifica dei decimali) e associato a un naturale! Ma può essere così? NO! Perché è diverso da OGNI numero reale in quella lista per UNA cifra decimale QUINDI, quel numero non figura nella colonna numeri reali, e QUINDI non sta in corrispondenza con nessun numero naturale numeri naturali numeri reali 1 1, ,
30 Il teorema di Cantor: riepilogo il Abbiamo svolto i seguenti passi: 1. Assumiamo che i numeri reali siano tanti quanti i numeri naturali 2. Quindi, possiamo far corrispondere un numero reale a ogni numero naturale 3. Identifichiamo un numero reale che non figura in quella corrispondenza 4. Quindi, l assunzione di partenza è da gettare: L insieme Linsieme dei numeri reali è più grande dell insieme dei numeri naturali!
31 Esistono funzioni i non Turing-calcolabili l Ora, è possibile dimostrare che L insieme delle MdT è grande quanto l insieme dei numeri naturali l insieme delle funzioni è grande quanto l insieme dei numeri reali QUINDI (in base al teorema di Cantor) Esistono funzioni che non sono Turing-calcolabili! (vedi il diagramma illustrativo alla diapositiva successiva)
32 Funzioni i non Turing-calcolabili l programmi per MdT (funzioni i Turingcalcolabili) funzioni insieme dei numeri naturali funzioni NON Turing-calcolabili co ab
33 Funzioni i non Turing-calcolabili l Vedremo ora una funzione non Turingcalcolabile (Turing, 1936) problema della fermata programmi per MdT (funzioni Turingcalcolabili) funzioni
34 Il problema della fermata Esiste un algoritmo (o una MdT, in base alla tesi CT) per decidere se una qualsiasi MdT m si fermerà su un qualsiasi li i ingresso w?? ingresso qualsiasi 2 # $ a % 3 ^ ingresso MdT U uscita MdT m La MdT m si ferma/non si ferma con l ingresso w
35 Il problema della fermata NOTA: esistono MdT per decidere se particolari MdT si fermano su particolari ingressi Possiamo studiare il comportamento t della macchina somma e capire che si fermerà su qualsiasi ingresso ingresso qualsiasi 2 # $ a % 3 ^ ingresso MdT U uscita MdT m La MdT m si ferma/non si ferma con l ingresso w
36 Il problema della fermata Ma noi vogliamo una MdT che sia in grado di decidere se una qualsiasi MdT m si fermerà su un qualsiasi ingresso w! ingresso qualsiasi 2 # $ a % 3 ^ ingresso MdT U uscita MdT m La MdT m si ferma/non si ferma con l ingresso w
37 Parentesi Il problema della fermata è analogo a molti problemi dell informatica odierna Verifica di correttezza: valutare algoritmicamente se un certo software svolge effettivamente il compito per cui è stato progettato Il problema in questo caso è quello di scrivere un software che controlli il funzionamento di un altro software Pensate all importanza della verifica di correttezza in relazione ai software di controllo aerei o di diagnosi medica!
38 Ancor prima di dare una risposta Questo problema si basa sulla capacità di fornire una qualche descrizione della MdT m alla MdT u! Come fare? ingresso qualsiasi 2 # $ a % 3 ^ ingresso MdT U uscita MdT m La MdT m si ferma/non si ferma con l ingresso w
39 Rappresentazione di una MdT sul nastro di un altra MdT È possibile rappresentare un automa finito o un automa a pila (e il loro ingresso) sul nastro di una MdT Mediante questo tipo di rappresentazione è possibile costruire una MdT che simuli il comportamento di un automa finito o di un automa a pila! Come rappresentare una MdT, e il suo ingresso, sul nastro di un altra MdT?
40 Rappresentazione di una MdT sul nastro di un altra MdT Possiamo rappresentare le quintuple di una MdT sul nastro di una MdT scegliendo un opportuno alfabeto e sistema di codifica! Ad esempio, la quintupla q D q 2, interpretata come se sei nello stato q 1 e leggi il simbolo 0, allora scrivi 1, vai a destra, e assumi lo stato q 2,può essere rappresentata nel modo seguente: D 2 (supponendo di interpretare il primo e l ultimo simbolo come rappresentazioni del numero dello stato)
41 Rappresentazione di una MdT sul nastro di un altra MdT Quindi, per costruire una MdT U che contenga una codifica della MdT M: 1. codifichiamo sul nastro di U l insieme delle istruzioni di M, separate da un simbolo speciale 2. poi inseriamo, di seguito, l ingresso di M MdT che codifica M e il suo ingresso insieme di istruzioni di M ingresso di M
42 La macchina universale È possibile costruire una MdT U che simuli il comportamento di una qualsiasi MdT M (sulla base di una codifica di M) Questa macchina si chiama macchina universale
43 La macchina universale Ingresso qualsiasi w 1 I codifica sul nastro della MdT M MdT (che chiamiamo universale) uscita che avrebbe prodotto M se avesse avuto w come ingresso
44 La macchina universale La MdT universale U, con ingresso w e la codifica di M, restituisce l uscita che avrebbe prodotto M con ingresso w, se M si ferma non si ferma, se M non si ferma sull ingresso w È importante notare che la macchina universale non è altro che una MdT opportunamente programmata. Così come è possibile costruire una MdT che calcoli la funzione somma, è possibile costruire una macchina (la macchina universale, appunto) che calcoli la funzione simulazione della MdT M su ingresso w, dove M e w sono rappresentati sul suo nastro. Per questo motivo, U può calcolare qualsiasi funzione Turing-calcolabile!
45 La MdT universale è una macchina di Turing opportunamente t programmata! MdT UNIVERSALE: simula qualsiasi altra MdT MdT che calcola la SOMMA MdT che ORDINA ELEMENTI IN UN INSIEME MdT che CONDUCE UNA PARTITA A SCACCHI MdT che calcola la SOTTRAZIONE
46 Torniamo al problema della fermata La MdT universale U, con ingresso w e la codifica di M, Restituisce l uscita che avrebbe prodotto M con ingresso w, se M si ferma non si ferma, se M non si ferma sull ingresso w PROBLEMA DELLA FERMATA. È possibile costruire una macchina universale che decida (fermandosi in qualche stato) t ) se una qualsiasi i M si ferma o no su un qualsiasi ingresso w? Si può dimostrare che NON ESISTE una MdT che risolva questo problema
47 Macchine universali e problema della fermata Possiamo costruire una MdT U che restituisca isca in uscita ciò che un altra MdT m produce (fermandosi) sull ingresso w MA NON possiamo costruire una MdT che decida se una qualsiasi m si fermerà o no su un qualsiasi ingresso w
48 Conseguenze del teorema della fermata Le MdT (quindi i sistemi algoritmici, se accettiamo la tesi di Church-Turing) sono intrinsecamente limitate: non possiamo costruire una MdT che decida se una qualsiasi altra MdT si ferma o no su un qualsiasi i ingresso w
49 Attenzione! Evitare l errore comune di enunciare il problema della fermata nel modo seguente: nessuna MdT può decidere se un altra MdT m si ferma sull ingresso w Questo non è il problema della fermata! Infatti, possiamo decidere algoritmicamente se, ad esempio, la MdT che esegue la somma si fermerà sull ingresso ! Il problema della fermata è relativo all esistenza di una MdT che decida se qualsiasi MdT si ferma o no: nessuna MdT può decidere se una qualsiasi altra MdT m si ferma su un qualsiasi ingresso w
50 Appendice: La MdT universale e la programmazione PROGRAMMARE una MdT consiste nello scrivere la descrizione di una MdT e i dati di ingresso sul nastro della MdT universale insieme di istruzioni di M ingresso di M
51 Analogamente Programmare un calcolatore l significa ifi scrivere un programma e i suoi dati di ingresso nella memoria del calcolatore hard disk memoria RAM
52 Programmare un calcolatore l programma scritto in un linguaggio di programmazione 1. $cateto1 = 3; 2. $cateto2 = 4; 3. $quadratocateto1 = pow($cateto1,2); 4. $quadratocateto2 = pow($cateto2,2); 5. $sommaquadrati = $quadratocateto1 + $quadratocateto2; 6. $ipotenusa = sqrt($sommaquadrati); 7. echo "L'ipotenusa è ".$ipotenusa;
53 Esecuzione del programma 1. $cateto1 = 3; 2. $cateto2 = 4; 3. $quadratocateto1 = pow($cateto1,2); 4. $quadratocateto2 = pow($cateto2,2); 5. $sommaquadrati = $quadratocateto1 + $quadratocateto2; 6. $ipotenusa = sqrt($sommaquadrati); 7. echo "L'ipotenusa è ".$ipotenusa; Il processore centrale del PC esegue quel programma su quei dati di ingresso e restituisce il risultato
54 Macchine universali e calcolatori l odierni i Un PC che conserva nella propria memoria un programma che calcola la somma si comporta, in un certo senso, da macchina universale! Quel PC, infatti, ha nella propria memoria la descrizione di una macchina che esegue la somma e il suo ingresso (analogamente al caso della macchina universale, che conserva sul proprio nastro la descrizione di un altra macchina e il suo ingresso).
55 I linguaggi i di programmazione I linguaggi di programmazione servono per programmare algoritmi su un calcolatore 1. In base alla tesi CT, qualsiasi algoritmo scritto in uno qualsiasi di questi linguaggi calcola una funzione che può essere calcolata l da una MdT opportunamente programmata. 2. In base ai teoremi che abbiamo visto e alla tesi CT, nessun programma scritto in uno di questi linguaggi potrà risolvere il problema della fermata (ovvero, decidere se un calcolatore qualsiasi restituirà un risultato su un ingresso qualsiasi) 3. né potrà risolvere alcun problema non Turing- 3. né potrà risolvere alcun problema non Turing calcolabile
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
DettagliMacchine 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,
DettagliTeoria 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
DettagliPrincipio 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
DettagliLa macchina di Turing
La macchina di Turing (Esercitazione) I. Frosio AIS Lab. frosio@dsi.unimi.it 1/32 Cosa è la macchina di Turing? Algoritmo: sequenza di istruzioni elementari che termina in un numero finito di passi; Macchina
DettagliIl 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
DettagliTuring cercò di fornire una risposta matematica al problema CHE COSA SIGNIFICA CALCOLARE?
STORIA DELLE CONOSCENZE SCIENTIFICHE SULL UOMO E SULLA NATURA a.a. 2016 2017 Prof. Roberto Giuntini, PhD. Introduzione alla storia dell intelligenza artificiale e della robotica Modulo II: Le macchine
DettagliTeoria 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
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
DettagliProblemi, 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
DettagliSommario 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
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine
DettagliAniello Murano Problemi non decidibili e riducibilità
Aniello Murano Problemi non decidibili e riducibilità 8 Lezione n. Parole chiave: Riduzione Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Overview Nelle lezioni
DettagliLinguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
DettagliCorso di Linguaggi di Programmazione + Laboratorio
Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un
DettagliMODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio
ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati
DettagliL 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
DettagliLa cardinalità di Q e R
La cardinalità di Q e R Ha senso chiedersi se ci sono più elementi in N o in Q? Sono entrambi due insiemi infiniti. I numeri naturali sono numerosi quanto i quadrati perfetti, infatti ad ogni numero naturale
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
DettagliFondamenti della Matematica a.a LUMSA. Basi di numerazione. Scrittura in forma polinomiale e scrittura in una base
Basi di numerazione L utilizzo della scrittura posizionale (che assegna allo stesso simbolo valore differente a seconda della posizione in cui è scritto) permette di rappresentare un qualsiasi numero naturale
DettagliScaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1
Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliElementi 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
DettagliCapitolo 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
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli
DettagliParte 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
DettagliLe 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
DettagliEsercitazioni per il corso di Logica Matematica
Esercitazioni per il corso di Logica Matematica Luca Motto Ros 02 marzo 2005 Nota importante. Queste pagine contengono appunti personali dell esercitatore e sono messe a disposizione nel caso possano risultare
DettagliLezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi
Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione
DettagliIndice. 1 Analisi matematica dell infinito Concetti base La numerabilità di Q e la non numerabilità di R... 5
Indice 1 Analisi matematica dell infinito 2 1.1 Concetti base................................... 2 1.2 La numerabilità di Q e la non numerabilità di R................ 5 1 1 Analisi matematica dell infinito
DettagliRappresentazione dei numeri interi in un calcolatore
Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliAppunti 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)
DettagliIL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero
IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero Il teorema degli zeri è fondamentale per determinare se una funzione continua in un intervallo chiuso [ a ; b ] si annulla in almeno un punto interno
DettagliAlgoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi)
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 2 LA MACCHINA DI VON NEUMANN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliL 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
DettagliINFORMATICA. 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
DettagliUniversità degli Studi di Palermo Facoltà di Economia. CdS Sviluppo Economico e Cooperazione Internazionale. Appunti del corso di Matematica
Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 05 - Limiti Anno Accademico 2013/2014 D. Provenzano M. Tumminello,
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliDall 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
DettagliRappresentazione dei numeri interi in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2012-2013 Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica
DettagliFondamenti 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
DettagliElaboratore 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 rre altri oggetti
DettagliMacchine di Turing: somma di due numeri
Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore
DettagliUNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 2015/16 UNA GERARCHIA DI MACCHINE UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di
DettagliCorso di Informatica Modulo T1 1 - Il concetto di problema
Corso di Informatica Modulo T1 1 - Il concetto di problema 1 Prerequisiti Concetti intuitivi di: Proporzione Problema Variabile Numeri interi e reali 2 1 Introduzione Nel risolvere un problema abbiamo
DettagliFondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.
Fondamenti di Informatica Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2011-2012 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque operatore
DettagliMa il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione
Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?
DettagliL AUTOMA ESECUTORE L AUTOMA ESECUTORE
L AUTOMA ESECUTORE Metodo Risolutivo (algoritmo) Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto DATI Esecutore RISULTATI cioè capace di interpretare un linguaggio (linguaggio
DettagliIntroduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco
Introduzione: informatica 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco Indice - di cosa si occupa l informatica - una definizione della scienza informatica - cosa è un
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)
DettagliInformatica. Come si risolve un problema?
Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza
DettagliArchitettura di un Computer
Architettura di un Computer Corso Informatica Generale (matr. Dispari) Dott.ssa Rossella Aiello Dipartimento di Informatica 2 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill IV
DettagliLezione 1 - Insiemi. Laboratorio di Programmazione M1 UD2 Matematica e Logica per la Programmazione
Lezione 1 - Insiemi Laboratorio di Programmazione M1 UD2 Matematica e Logica per la Programmazione Michael Grifalconi e-mail: michael.grifalconi@studenti.unimi.it web: Università degli Studi di Milano
DettagliRappresentazione generale del problema e fasi di progettazione
D-003-2015-10-18 MATERIA DATA OGGETTO Informatica 18/10/2015 Progettazione degli algoritmi: strategia top-down Rappresentazione generale del problema e fasi di progettazione In generale, la risoluzione
DettagliMatematica Corso Base a.a INTRODUZIONE LEZIONE I Federica Ricca
Matematica Corso Base a.a. 2017-2018 INTRODUZIONE LEZIONE I Federica Ricca Informazioni generali Introduzione: informazioni generali INSEGNAMENTO DOCENTE MATEMATICA CORSO BASE (Scienze Aziendali E-M) Prof.ssa
DettagliBOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1
BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1 SOMMARIO DEL TOMO 1 CAPITOLO 1: IL LINGUAGGIO DEGLI INSIEMI 1.1 Gli insiemi e la loro rappresentazione pag. 1 1. I sottoinsiemi pag. 6 1.3 Insieme
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
DettagliFondamenti di programmazione!! Parte 2!
Fondamenti di programmazione!! Parte 2! 1! Definizione intuitiva di algoritmo! n Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliParole 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
DettagliLa suddivisione lezione/esercitazione è orientativa Martedì Lezione Aula A4 Martedi Esercitazione Aula A2 Mercoledì Laboratorio
La suddivisione lezione/esercitazione è orientativa Martedì 11 13 Lezione Aula A4 Martedi 14 16 Esercitazione Aula A2 Mercoledì 11 13 Laboratorio Lab. 1 Mercoledì 14 16 Lezione Aula A3 Giovedì 14 16 Lezione
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliIl 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
DettagliLa 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
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliMODULO 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
DettagliInsiemi, Numeri, Terminologia. Prof. Simone Sbaraglia
Insiemi, Numeri, Terminologia Prof. Simone Sbaraglia Corso Rapido di Logica Matematica La logica formale definisce le regole cui deve obbedire qualsiasi teoria deduttiva. Una proposizione e` una affermazione
DettagliAppunti di informatica. Lezione 5 anno accademico Mario Verdicchio
Appunti di informatica Lezione 5 anno accademico 2015-2016 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore
DettagliMacchina di Turing Universale
Informatica Teorica 2010/2011 M.Di Ianni Macchina di Turing Universale Vogliamo definire una macchina di Turing U che, presi in input la descrizione di una macchina di Turing ad un nastro T ed un input
DettagliLe macchine di Turing
Le macchine di Turing Alan Turing (1912-1954) 1954) Il problema della decisione i L Entscheidungsproblem [il problema della decisione] è risolto se si conosce una procedura che permette di decidere la
DettagliCorrettezza (prima parte)
Fondamenti di informatica Oggetti e Java (prima parte) Capitolo 16 ottobre 2015 1 Contenuti Introduzione alla correttezza dei programmi specifica di un programma correttezza di un programma verifica di
DettagliAniello Murano Decidibilità delle teorie logiche
Aniello Murano Decidibilità delle teorie logiche 11 Lezione n. Parole chiave: Teorie logiche Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Prefazione Nelle lezioni
DettagliInformatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati
Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Informatica 3 Lezione 10 - Modulo 1 Perchè
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile
Dettagli102 MACCHINE DI TURING
102 MACCHINE DI TURING Corso di Informatica Teorica - modulo 2 Prof. Settimo Termini 1 Introduzione Se, come già abbiamo affermato, nel costruire una Teoria della calcolabilità siamo guidati del desiderio
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto
DettagliEsercizi di Programmazione Lineare - Dualità
Esercizi di Programmazione Lineare - Dualità Esercizio n1 Dato il seguente problema 3 + 3 2 2 + a scriverne il duale; b risolvere il duale (anche geometricamente indicando cosa da esso si può dedurre sul
DettagliFondamenti di Informatica Programma dettagliato del corso e appunti integrativi del libro di testo consigliato Anno Accademico
acoltà di ngegneria Università di irenze Corso di Laurea in ngegneria Meccanica ondamenti di nformatica Programma dettagliato del corso e appunti integrativi del libro di testo consigliato Anno Accademico
DettagliElementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n
Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica
DettagliConcetti di base di informatica
Concetti di base di informatica Informatica@SEFA 2017/2018 - Lezione 1 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 25 Settembre 2017 1 Inscience,
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
Dettagli3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
DettagliInformatica A. Allievi Gestionali A.A Nozioni di Base
Informatica A Allievi Gestionali A.A. 2015-16 Nozioni di Base Nell immaginario collettivo Ingegnere Meccanico 2 Nell immaginario collettivo Ingegnere Fisico/Matematico 3 Nell immaginario collettivo Ing.
DettagliLOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)
LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema
Dettagli13 LIMITI DI FUNZIONI
3 LIMITI DI FUNZIONI Estendiamo la nozione di ite a funzioni reali di variabile reale. Definizione caratterizzazione per successioni) Si ha fx) = L x 0, L R) se e solo se per ogni successione a n x 0 con
DettagliSomma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
DettagliCorso 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
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliCapitolo 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á
DettagliAppunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
Dettagli1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
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
DettagliRappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
DettagliRISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
Dettagli