La macchina universale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La macchina universale"

Transcript

1 La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}* è un linguaggio non ricorsivo [e quindi non decidibilie]. L H in altre parole è costituito dalle stringhe che rappresentano una MT seguita dall input da essa accettato ovvero che corrispondono ai valori 1 del vettore caratteristico della MT. Tuttavia è possibile dimostrare il seguente Teorema: il linguaggio L H è ricorsivamente enumerabile [e quindi semidecidibile]. Sapendo perciò che un linguaggio ricorsivo è anche ricorsivamente numerabile si avrà l importante risultato: Corollario: la classe dei linguaggi ricorsivi è contenuta in modo proprio nella classe dei linguaggi ricorsivamente enumerabili ovvero L R & L RE La dimostrazione del teorema si basa su una macchina universale che lavora secondo il seguente schema "M""w" U M si ferma con input w M non si ferma con input w Accettazione Loop In sintesi si deve dimostrare che la macchina universale U simula perfettamente ogni altra Macchina di Turing

2 Ricorsiva enumerabilità di L H La dimostrazione verrà fatta con una macchina a tre nastri. Nel nastro 1 verrà codificato l input mentre il nastro 3 verrà usato per effettuare la simulazione dell esecuzione della macchina M. Una computazione della macchina U viene ad essere definita nel seguente modo: 1. Se la stringa di input non è della forma M w, U si muove indefinitivamente verso destra. 2. Viene ricopiata la stringa w sul nastro 3, la testina viene quindi riposizionata a sinistra al primo carattere, cosicché sul nastro 3 viene ad essere definita la configurazione iniziale di una computazione di M con input w. 3. viene scritto sul nastro 2 lo stato q 0 (il simbolo 1 nella nostra codifica) 4. Passo di simulazione. La transizione di M viene determinata dal simbolo x scandito sul nastro 3 e lo stato q i codificato sul nastro 2. a) Viene scandito il nastro 1 alla ricerca della coppia EN(q i ) EN (x) se tale transizione non esiste U si ferma e accetta l input (configurazione finale). b) Assunto che il nastro 1 contenga la transizione EN(q i ) 0 EN(x) 0 EN(y)0 EN(d) 0 EN(q j ) i) EN(q i ) è rimpiazzato da EN(q j ) sul nastro 2 ii) il simbolo y è scritto sul nastro 3 iii) la testina del nastro 3 è mossa nella direzione specificata da d 5. si ripete il passo di simulazione (punti 4 e 5) La simulazione della macchina U accetta stringhe in L H mentre per stringhe in {0,1}* - L H cicla indefinitivamente. Poiché L H = L(U) L H è ricorsivamente enumerabile essendo ricorsivamente enumerabile L(U).

3 Indecidibilità del Linguaggio di diagonalizzazione Ld = { wi! "* wi! L(Mi} Teorema il linguaggio Ld è non ricorsivamente enumerabile Ld = tutte le stringhe wi tali che wi non è in L(Mi) M Mi Mj w Supponiamo wj ws Ld = L(M) per una macchina M, allora deve esistere una Macchina di Turing nella enumerazione ovvero un indice i che individua la macchina M i che riconosce w i! L d se wi! Ld allora Mi accetta wi pertanto per definizione di Ld wi non è in Ld poiché Ld contiene solo stringhe wj tale che Mj non accetta wj - se wi! Ld allora Mi non accetta wi pertanto per definizione di Ld wi è in Ld Evidentemente si ha contraddizione poiché wi non può essere o non essere in Ld

4 Riducibilita Un problema decisionale P si dice Turing riducibile a un problema P se c è una macchina di Turing che presa qualsiasi istanza p! P come input produce un associata istanza p! P in cui la soluzione di p può essere ricavata dalla soluzione di p. Input Risultato p i! P Riduzione di P a P' p' i! P' Algoritmo per P' Yes/not Teorema - Se un problema decisionale P è indecidibile, e P è riducibile a P, allora è indecidibile! anche il problema P - Se un problema decisionale P è non ricorsivamente enumerabile, e P è riducibile a P,! allora il problema P non è ricorsivamente enumerabile.

5 Teorema di Rice TEOREMA (Rice) :Ogni proprietà non banale dei linguaggi ricorsivamente enumerabili è!! indecidibile In altre parole è impossibile riconoscere per mezzo di una MT le stringhe binarie che rappresentano codici di una MT il cui linguaggio soddisfa la proprietà. [Una proprietà individua un sottoinsieme dei linguaggi Ricorsivamente enumerabili] Esempio: essere un linguaggio Contex-free. La proprietà essere liberi dal contesto individua tutti i linguaggi liberi dal contesto all interno della classe dei linguaggi ricorsivamente enumerabili. Pertanto il teorema di Rice afferma che non esiste una MT capace di decidere se una MT accetti un linguaggio Contex-free. Def. Una proprietà si dice banale se appartiene a tutti i linguaggi ricorsivamente enumerabili oppure a nessuno. Altrimenti si dice non banale. Se P è una proprietà dei linguaggi ricorsivamente enumerabili il linguaggio LP è l insieme dei codici di macchine di Turing Mi tali che L(Mi) è un linguaggio in P, ovvero LP = {Mi : L(Mi )! P} per cui quando parliamo di decidibilità di una proprietà P si intende la decidibilità del linguaggio LP. [In altre parole si pone attenzione al riconoscimento delle MT che accettano quei linguaggi.] Il Teorema di Rice dice in sostanza che non è decidibile poter individuare un sottoinsieme proprio dei linguaggi ricorsivamente enumerabili.

6 Teorema di Rice Sia P una proprietà non banale, allora deve esistere un linguaggio L!RE che abbia la proprietà P. Sia ML la macchina che accetta L. La dimostrazione verrà fatta riducendo il linguaggio LH, linguaggio della macchina universale, al linguaggio Lp. x w M Accetta start ML Accetta Accetta M L input della riduzione è la coppia (M,w), l output è la macchina M tale che L(M ) = # se M non accetta w, L(M ) = L se M accetta w. - M simula M su w comportandosi perciò come la macchina Universale. Si osservi che w non è l input alla macchina M. - Se M non accetta w allora M non fa niente e quindi M non accetta nessuna stringa in input e quindi L(M )= #. Poiché assumiamo che # $ P ciò significa che il codice di M non è in LP - Se M accetta w allora M comincia a simulare ML sul proprio input x per cui siccome L!P il codice di M è in LP Dato che l algoritmo di riduzione trasforma l istanza (M,w) in una macchina M che è in LP se e solo se (M,w) è in LH, dalla indecidibilità di LH segue l indecidibilità di LP

7 Alcune Conseguenze del Teorema di Rice Nell ambito della programmazione. E indecidibile -La decidibilità di ogni problema P (halting Problem) - Dire se un dato programma C va in ciclo infinito su un certo ingresso o termini la sua esecuzine [quindi l impossibilità di definire un perfetto sistema di debugging] - Dire se due programmi C producano lo stesso risultato in corrispondenza degli stessi dati di ingresso. [quindi l impossibilità di definire un programma che controlli la correttezza dei programmi, pertanto siamo costretti ad usare le tecniche di testing per la verifica degli errori in un programma] Nell ambito dei linguaggi E indecidibile - Data una grammatica context-free dire se L(G) = V T * - Date due grammatiche context-free G 1 e G 2 dire se L(G 1 ) = L(G 2 ) - Dati due automi Pushdown dire se accettano precisamente lo stesso linguaggio. - Il linguaggio accettato da una MT contiene la stringa aabb? - Il linguaggio accettato da una MT contiene tutti i numeri pari?

8 Perché ci sono tanti problemi indecidibili? Abbiamo fatto l assunto che risolvere un problema significhi verificare l appartenenza di una stringa ad un linguaggio. L insieme dei linguaggi non è enumerabile (Teorema di Cantor) L insieme dei programmi è enumerabile (data l enumerabilità delle Macchine di Turing) Se ne deduce che ci sono infinitamente meno programmi che problemi. Il motivo per cui sembra che la maggior parte dei problemi sia decidibile è perché focalizziamo l attenzione su problemi semplici e strutturati.

9 Complessità computazionale di una MT Data una Macchina di Turing deterministica M si definisce complessità in tempo di M la funzione t M : N % N tale che t M (n) è il massimo numero di transizioni processate da una computazione di M su una stringa di dimensione n. Data una Macchina di Turing non deterministica si definisce la complessità di una computazione t M (n) come il massimo numero di transizioni effettuate per ogni possibile scelta di transizioni su una stringa di ingresso di lunghezza n.

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili roblemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa quello che ci aspettiamo. E facile

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 7: Teoria generale della calcolabilitá Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione

Dettagli

Macchine di Turing. a n B B. Controllo Finito

Macchine di Turing. a n B B. Controllo Finito Macchine di Turing Il modello standard di macchina di Turing era un controllo finito, un nastro di input, diviso in celle, e una testina che prende in considerazione una cella del nastro alla volta. Il

Dettagli

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

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Alberto Carraro 30 novembre DAIS, Universitá Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Funzioni Turing-calcolabili Finora abbiamo

Dettagli

Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1]

Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Macchine di Turing modello di calcolo introdotto dall ingegner Alan Turing nel 1936, per simulare il processo di calcolo umano

Dettagli

Varianti Macchine di Turing

Varianti Macchine di Turing Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

Teoria della computazione Quali problemi sappiamo risolvere. A prima vista la domanda può sembrare troppo

Teoria della computazione Quali problemi sappiamo risolvere. A prima vista la domanda può sembrare troppo 1 Teoria della computazione Quali problemi sappiamo risolvere Con quali macchine In assoluto A prima vista la domanda può sembrare troppo generale: Che cosa intendiamo per problema? Un calcolo matematico;

Dettagli

Esercizio su MT. Svolgimento

Esercizio su MT. Svolgimento Esercizio su MT Definire una macchina di Turing deterministica M a nastro singolo e i concetti di configurazione e di transizione. Sintetizzare una macchina di Turing trasduttore che trasformi un numero

Dettagli

Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011

Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011 Fondamenti di Informatica Computabilità e Macchine di Turing Prof. Franco Zambonelli Gennaio 2011 Letture Consigliate: Roger Penrose, La Mente Nuova dell Imperatore, Sansoni Editrice. Martin Davis, Il

Dettagli

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Linguaggio 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

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

L interesse nella macchina di Turing

L interesse nella macchina di Turing Aniello Murano Macchina di Turing universale e problema della fermata 6 Lezione n. Parole chiave: Universal Turing machine Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009

Dettagli

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere; Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione

Dettagli

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

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

Dettagli

Questo è il secondo articolo della serie dedicata DENTRO LA SCATOLA. Formule, numeri e paradossi. Rubrica a cura di Fabio A. Schreiber 1.

Questo è il secondo articolo della serie dedicata DENTRO LA SCATOLA. Formule, numeri e paradossi. Rubrica a cura di Fabio A. Schreiber 1. DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello V. M. Abrusci 12 ottobre 2015 0.1 Problemi logici basilari sulle classi Le classi sono uno dei temi della logica. Esponiamo in questa

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

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

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 5 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 5 Alberto Carraro 23 novembre 2011 DAIS, Universitá Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Macchine di Turing Le Macchine d

Dettagli

Prob(CCCCCCCCCC) = 1 2 10

Prob(CCCCCCCCCC) = 1 2 10 12. Contenuto di Informazione Algoritmico (AIC) - 17/05/12 Vogliamo adesso introdurre una nozione di contenuto di informazione di una stringa infinita, prodotta da una sorgente di informazione, che non

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

Le macchine di Turing

Le 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

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

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Università degli Studi di Napoli Federico II Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Anno Accademico 2009/2010 Appunti di Calcolabilità e Complessità Lezione 9: Introduzione alle logiche

Dettagli

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

Dettagli

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

Sommario. Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi Sommario Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi 1 Tipi di problemi Nelle teorie della calcolabilità e della complessità si considerano problemi di decisione,

Dettagli

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Ma 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?

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

x u v(p(x, fx) q(u, v)), e poi

x u v(p(x, fx) q(u, v)), e poi 0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di

Dettagli

ESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme

ESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme ESERCIZI SVOLTI 1) Dimostrare che l insieme Allora notiamo che π non è vuoto perché la funzione ovunque divergente appartiene all insieme avendo per dominio l insieme. Inoltre π non coincide con l insieme

Dettagli

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,...

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,... Automi Con il termine automa 1 s intende un qualunque dispositivo o un suo modello, un qualunque oggetto, che esegue da se stesso un particolare compito, sulla base degli stimoli od ordini ricevuti detti

Dettagli

Progetto e analisi di algoritmi

Progetto e analisi di algoritmi Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma Calcolabilità problemi facili trovare la media di due numeri stampare le linee di un file che contengono una parola problemi difficili trovare il circuito minimo data una tabella determinare la migliore

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 Lezione 2 Teoria

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Aniello Murano Macchine di Turing

Aniello Murano Macchine di Turing Aniello Murano Macchine di Turing 3 Lezione n. Parole chiave: Turing machine Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 20082009 Potere computazionale di MdT Tra le macchine

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

MACCHINE DI TURING E CALCOLABILITA SECONDO TURING

MACCHINE DI TURING E CALCOLABILITA SECONDO TURING PARTE II MACCHINE DI TURING E CALCOLABILITA SECONDO TURING Macchine di Turing ad un nastro e multinastro Macchine di Turing non deterministiche Macchine di Turing e linguaggi di tipo 0 e di tipo 1 Calcolabilita

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

Dettagli

Macchine a responsabilità limitata

Macchine a responsabilità limitata Macchine a responsabilità limitata Breve Introduzione alla Teoria della Calcolabilità: Tesi di Turing-Church e Problemi (in-)decidibili Roberto Maieli Università degli Studi Roma Tre maieli@uniroma3.it

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it a.a. 2007-2008 http://digilander.libero.it/rosario.cerbone Sintesi di Reti Sequenziali Sincrone

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Elementi generali Un parser generico di tipo procede operando una sequenza di riduzioni a

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori Informazione e computer Si può rappresentare l informazione attraverso varie forme: Numeri Testi Suoni Immagini 0001010010100101010 Computer Cerchiamo di capire come tutte queste informazioni possano essere

Dettagli

5. La teoria astratta della misura.

5. La teoria astratta della misura. 5. La teoria astratta della misura. 5.1. σ-algebre. 5.1.1. σ-algebre e loro proprietà. Sia Ω un insieme non vuoto. Indichiamo con P(Ω la famiglia di tutti i sottoinsiemi di Ω. Inoltre, per ogni insieme

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che: Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi

Dettagli

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

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore

Dettagli

Note su quicksort per ASD 2010-11 (DRAFT)

Note su quicksort per ASD 2010-11 (DRAFT) Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

Alcune nozioni preliminari di teoria elementare di insiemi e funzioni

Alcune nozioni preliminari di teoria elementare di insiemi e funzioni Alcune nozioni preliminari di teoria elementare di insiemi e funzioni Alberto Pinto Corso di Matematica - NUCT 1 Insiemi 1.1 Generalità Diamo la definizione di insieme secondo Georg Cantor, matematico

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

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

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = , dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

Linguaggi Grammatiche e Automi

Linguaggi Grammatiche e Automi Linguaggi Grammatiche e Automi Vincenzo Manca Dipartimento di Informatica Università di Verona Indice 1 Sistemi Monoidali 1 2 Stringhe e Linguaggi 5 3 Gerarchia di Chomsky 9 4 Regolarità, Contestualità,

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente

Dettagli

Quaderni di Informatica. Macchine e Linguaggi. Luigino Calvi

Quaderni di Informatica. Macchine e Linguaggi. Luigino Calvi Quaderni di Informatica Macchine e Linguaggi Luigino Calvi I.I.S. Negrelli-Forcellini - Feltre 2014 ii Capitolo 1 Macchine di Turing Potrebbe essere deludente apprendere che, fondamentalmente, computer

Dettagli

AUTOMI A STATI FINITI. G. Ciaschetti

AUTOMI A STATI FINITI. G. Ciaschetti AUTOMI A STATI FINITI G. Ciaschetti CONTENUTI Definizione di sistema Classificazione dei sistemi Definizione di modello Algebra degli schemi a blocchi Sistemi sequenziali Automi a stati finiti Macchina

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

CODIFICA DELL INFORMAZIONE E CODICI BINARI

CODIFICA DELL INFORMAZIONE E CODICI BINARI Codifica dell informazione 1 CODIFICA DELL INFORMAZIONE E CODICI BINARI Andrea Bobbio Anno Accademico 2001-2002 Codifica dell informazione 2 La codifica dell informazione I sistemi di elaborazione operano

Dettagli

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Componenti di un sistema KNOWLEDGE-BASED

Componenti di un sistema KNOWLEDGE-BASED Componenti di un sistema KNOWLEDGE-BASED DYNAMIC DATABASE PROBLEM FORMALIZATION CONTROL STRATEGY IL DATABASE DESCRIVE LA SITUAZIONE CORRENTE NELLA DETERMINAZIONE DELLA SOLUZIONE AL PROBLEMA. LA FORMALIZZAZIONE

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

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

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Alternanza, parallelismo e complessità

Alternanza, parallelismo e complessità Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Matematica Tesi di Laurea Triennale Alternanza, parallelismo e complessità Candidato Pietro Battiston Relatore Prof. Alessandro

Dettagli

Il primo teorema di incompletezza di Gödel

Il primo teorema di incompletezza di Gödel Il primo teorema di incompletezza di Gödel Stefano Nasini Dept. of Statistics and Operations Research Universitat Politécnica de Catalunya 1. Introduzione Questo documento vuole essere una spiegazione

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

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

Random number generators

Random number generators Statistica computazionale Random number generators www.cash-cow.it Distribuito sotto licenza Creative Common, Share Alike Attribution 2 Indice I. Introduzione II. Processi fisici per la creazione di numeri

Dettagli

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

0 ) = lim. derivata destra di f in x 0. Analogamente, diremo che la funzione f è derivabile da sinistra in x 0 se esiste finito il limite

0 ) = lim. derivata destra di f in x 0. Analogamente, diremo che la funzione f è derivabile da sinistra in x 0 se esiste finito il limite Questo breve file è dedicato alle questioni di derivabilità di funzioni reali di variabile reale. Particolare attenzione viene posta alla classificazione dei punti di non derivabilità delle funzioni definite

Dettagli

Indecidibilità, indefinibilità e incompletezza. 1

Indecidibilità, indefinibilità e incompletezza. 1 Indecidibilità, indefinibilità e incompletezza. 1 Possiamo ora trattare unitariamente alcuni dei principali risultati negativi della logica: il teorema di Church sull'indecidibilità della logica, il teorema

Dettagli

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006 Esercizio 1 - Heapsort Si consideri la seguente struttura dati, chiamata heap. Essa è un albero binario semi-completo (ossia un

Dettagli

Analizzatore lessicale o scanner

Analizzatore lessicale o scanner Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Fondamenti di Informatica. Algoritmi per giochi. Il gioco dell undici. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a.

Fondamenti di Informatica. Algoritmi per giochi. Il gioco dell undici. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a. Fondamenti di Informatica Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a. 2005-200 lgoritmi per giochi Trovare un algoritmo che fornisca un unico metodo per risolvere ogni particolare problema

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. 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)

Dettagli

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 Risoluzione Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 1 Risoluzione Introdurremo ora un metodo per capire se un insieme di formule è soddisfacibile o meno. Lo vedremo prima per insiemi

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Sommario. 1 Codifica binaria delle informazioni. 2 Codifica binaria di informazioni di tipo numerico e aritmetica binaria

Sommario. 1 Codifica binaria delle informazioni. 2 Codifica binaria di informazioni di tipo numerico e aritmetica binaria Sommario Codifica delle informazioni 1 Codifica delle informazioni M. Favalli 2 Codifica di informazioni di tipo numerico e aritmetica Engineering Department in Ferrara 3 M. Favalli (ENDIF) Codici Reti

Dettagli

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND. IPSI G. Plana Via Parenzo 46, Torino efinizione di Mintermine onsiderata una qualunque riga della tabella di verità in cui la funzione booleana di uscita Q vale, si definisce mintermine il prodotto logico

Dettagli

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS INTRODUZIONE Per conoscere la struttura di un grafo connesso è importante individuare nel grafo la distribuzione di certi punti detti cutpoints (punti

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

Dettagli

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin Calcolatori Elettronici A a.a. 2008/2009 RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin 1 Esercizio 1: implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente

Dettagli