Modelli simulativi per le Scienze Cognitive

Slides:



Advertisements
Presentazioni simili
…da von Neumann al computer quantistico
Advertisements

Sistemi dinamici discreti e computabilità intrinseca
Macchine di Turing e ricorsività generale
La lettura si effettua sempre da sinistra verso destra.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Definizione e tipi di implementazione
Problema e algoritmo Prof. Baldassare Galia 2002.
Matematica I: Calcolo differenziale, Algebra lineare, Probabilità e statistica Giovanni Naldi, Lorenzo Pareschi, Giacomo Aletti Copyright © The.
Algoritmi e Programmazione
Deduzione naturale + Logica & Calcolabilità
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
LE INTUIZIONI MATEMATICHE
MACCHINE DI TURING Le macchine di Turing sono dispositivi astratti per la manipolazione di simboli, ideati nel 1936 dal matematico e logico britannico.
Analisi e Sintesi di circuiti sequenziali
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Introduzione agli Automi Cellulari
EQUAZIONI DI PRIMO GRADO
Algoritmi e Strutture Dati (Mod. A)
Funzioni, Rappresentazioni e Coscienza
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
Il Linguaggio Macchina
MACCHINE DI TURING e ALGORITMI
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
L’AUTOMA ESECUTORE Un automa capace di ricevere dall’esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio.
Dall’algoritmo al programma.
…da von Neumann al computer quantistico
Algoritmi e Programmazione strutturata
L' ARCHITETTURA DI VON NEUMANN
INFORMATICA Universita' degli Studi di Brescia
L’inventore del calcolatore odierno
PROGRAMMAZIONE: linguaggi
Antonio Cisternino La Macchina di Turing.
CHI ERA ALAN TURING? Turing fece parte del team di matematici che, a partire dalla base di Bletchley Park, decodificarono i messaggi scritti dalle macchine.
Esecuzione dei programmi Prolog Liste ed operatori aritmetici
Lo sviluppo del software e i linguaggi di programmazione
Elementi di Informatica di base Dott.ssa Elisa Tiezzi
LA MACCHINA DI TURING Nel 1936 il matematico inglese A. M. Turing propose una definizione del concetto di algoritmo tramite un modello matematico di macchina.
Problemi facili, problemi difficili
ECDL Patente europea del computer
Programma di Informatica Classi Prime
IO E LA MATEMATICA PROCEDURALE
Modelli computazionali e macchine astratte
Introduzione: informatica 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Sistemi e Tecnologie Informatiche Verifica di correttezza di un programma.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Informatica 3 V anno.
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Vincenza Ferrara - Dicembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
Automi temporizzati.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
Indecidibilità Limiti della calcolabilità Pigreco-day 14 marzo 2014 Matematica e Incertezza Prof. Antonio Iarlori Mathesis Lanciano-Ortona.
Analisi matematica Introduzione ai limiti
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Le Macchine di Turing.
Transcript della presentazione:

Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)

Macchine di Turing Modulo 4

la classe di tutti gli algoritmi? Scopo del modulo 4 Tenteremo di rispondere alla seguente domanda: Si può caratterizzare in maniera rigorosa la classe di tutti gli algoritmi? A questa domanda presenteremo la risposta del logico-matematico inglese Alan Turing (1912-1954).

Intuizioni Turing tentò di fornire una caratterizzazione rigorosa del concetto intuitivo di algoritmo analizzando l’attività di un essere umano che sta eseguendo un calcolo di tipo algoritmico La sua caratterizzazione è in termini di un tipo particolare di macchina astratta, chiamata Macchina di Turing (MT). Astratta significa che è interamente descritta nei termini delle relazioni funzionali tra input e output, indipendentemente dalla loro realizzazione fisica (cioè, dall’hardware utilizzato).

Elementi di base di una MT Nastro di una MT: risolvere un calcolo richiede di scrivere un certo numero di simboli su un supporto fisico (per esempio, un foglio di carta). Il nastro della MT è un’astrazione di qualsiasi supporto fisico: è mono-dimensionale (senza perdita di generalità); è virtualmente infinito in entrambe le direzioni (ma solo una parte finita è utilizzabile in ogni fase del calcolo); è diviso in celle che possono ospitare solo un simbolo alla volta.

Elementi di base - II Alfabeto di una MT: quanto ai simboli, essi costituiscono un alfabeto finito =s1, s2, …, sn da cui è possibile ottenere un numero infinito di simboli combinando i simboli di . Una cella del nastro può contenere uno di questi simboli o, in alternativa, restare vuota (indichiamo con s0 la cella vuota).

Elementi di base - III Testina di lettura/scrittura: partendo dall’osservazione che un essere umano può osservare solo un numero finito di simboli senza spostare lo sguardo, così la MT assume che si possa osservare al più un solo simbolo alla volta. Questo è fatto da una testina che, in ogni momento del calcolo, è collocata su una singola cella del nastro (che chiamiamo ). Per poter osservare altre celle, la testina deve spostarsi a destra o a sinistra, una cella alla volta. Si assume che la testina sia in grado non solo di leggere, ma anche di scrivere nuovi simboli o cancellare quelli presenti in una cella.

Elementi di base - IV Stati interni di una MT: in ogni momento di un calcolo, un essere umano si trova in uno stato mentale che dipende (almeno) da quanto fatto in precedenza. Così una MT può assumere uno stato interno q0, q1, …, qn (uno e solo uno alla volta), anche se il numero dei possibili stati interni è finito.

Elementi di base - V Configurazioni di una MT: a ogni passo di un calcolo, definiamo configurazione di una MT la coppia ordinata costituita dallo stato interno che essa presenta in quel momento e dal simbolo osservato dalla testina. nastro sj nastro  qi

Operazioni atomiche di una MT Le operazioni atomiche che una MT può eseguire sono: Sostituzione del simbolo osservato con un altro simbolo (eventualmente s0, nel qual caso si parla di cancellazione) Spostamento della testina su una delle celle immediatamente attigue del nastro Cambiamento dello stato interno della macchina

Pertanto ogni operazione può essere descritta mediante una terna ordinata si M qj dove: si è il simbolo che la macchina deve scrivere sulla cella corrente M è il movimento che la testina deve compiere (uno tra S – sinistra, D – destra, o C – centro) qj è lo stato che la macchina deve assumere al termine dell’operazione.

Istruzioni di una MT Un calcolo è una sequenza di istruzioni da eseguire. In un calcolo algoritmico, ogni passo deve essere completamente determinato solo dalla situazione precedente: per un essere umano: memoria delle operazioni eseguite e simboli che può osservare; per una MT: dalla sua configurazione corrente (simbolo osservato + stato interno)

<configurazione>  <operazione> Pertanto le istruzioni una MT avranno in generale la seguente forma: <configurazione>  <operazione> Un esempio di istruzione sarà: qi,sj  sk D qp Che significa: qualora la macchina si trovi nello stato qi e osservi il simbolo sj, allora il simbolo sk deve essere scritto al posto di sj, la testina deve spostarsi sulla cella immediatamente a destra di quella corrente e la macchina deve assumere lo stato qp

Tavola di una MT L’insieme di istruzioni di cui una MT dispone per eseguire un certo calcolo si chiama tavola di quella MT. E’ un insieme finito di istruzioni (quintuple) che soddisfa la seguente condizione: a partire da una singola configurazione, non devono essere applicabili istruzioni diverse.

Configurazioni finali Perché il calcolo termini, è necessario che ad alcune configurazioni non corrisponda alcuna istruzione. Tali configurazioni si chiamano configurazioni finali. Indichiamo con q0 lo stato interno di una macchina che corrisponde a tutte e sole le configurazioni finali.

Input, output e posizione standard I dati (input) vengono forniti come una serie di simboli sul nastro di una MT. Il risultato (output) è tutto quello che è scritto sul nastro quando la macchina raggiunge la configurazione finale q0 Per convenzione, si assume che all’inizio del calcolo la testina della macchina si trovi sul primo simbolo a sinistra dell’input e che lo stato iniziale sia sempre q1

Esempio 1

Esempio 2: