La macchina di Turing (Alan Turing, 1936)*

Documenti analoghi
Tecniche per il sequenziamento degli acidi nucleici

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

Attività 9. La città fangosa Minimal Spanning Trees

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Le Macchine di Turing

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

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

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

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

La reazione a catena della polimerasi (PCR) di Ofelia Leone e Vincenzo Mandarino

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

LA MATERIA Suggerimenti didattici e schede

Corso di Informatica

4 3 4 = 4 x x x 10 0 aaa

Fasi di creazione di un programma

Metodi Stocastici per la Finanza

Gestione della memoria centrale

Esempi di algoritmi. Lezione III

Appunti sulla Macchina di Turing. Macchina di Turing

REAZIONE A CATENA DELLA POLIMERASI. ( PCR =Polymerase Chain Reaction)

Primi esercizi per gli studenti del corso di Statistica ed Elementi di Probabilita

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Soluzione dell esercizio del 2 Febbraio 2004

TSP con eliminazione di sottocicli

1) GESTIONE DELLE POSTAZIONI REMOTE

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Funzioni in C. Violetta Lonati

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

TSP con eliminazione di sottocicli

Tecniche di riconoscimento statistico

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

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

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

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

Architettura di un calcolatore

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Il metabolismo dell RNA. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie

Appunti di Sistemi Elettronici

Informatica - A.A. 2010/11

Le macchine di Turing

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Schedulazione delle attività di un progetto in presenza di multi-calendari e di vincoli sulle risorse

Varianti Macchine di Turing

L archiviazione della posta elettronica può aiutarci a recuperare spazio senza costringerci a cestinare documenti importanti

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Bioinformatica: DNA e Algoritmi

Soluzione dell esercizio del 12 Febbraio 2004

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

Algoritmi e strutture dati. Codici di Huffman

introduzione I MICROCONTROLLORI

Lezione 8. La macchina universale

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

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

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Comparatori. Comparatori di uguaglianza

UD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2

Dispense di Informatica per l ITG Valadier

Laboratorio di Informatica

Introduzione al sistema operativo Il file system: file, directory,...

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

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

Gli input sono detti anche fattori di produzione: terra, capitale, lavoro, materie prime.

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato Finestra attiva o nuovo documento

Dispensa di Informatica I.1

Tipologie di macchine di Turing

RAJA Costruire Palazzi in India Un Gioco di Strategia per 2-5 Giocatori Di Wolfgang Kramer e Michael Kiesling

Prof.ssa Gamba Sabrina. Lezione 7: IL DNA. Duplicazione e sintesi delle proteine

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

Esercizio: numero primo

Sistemi Operativi. 5 Gestione della memoria

Corrispondenze e funzioni

TECNICHE DI SIMULAZIONE

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Dimensione di uno Spazio vettoriale

Introduzione alla programmazione in C

ALGEBRA DELLE PROPOSIZIONI

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

CAPITOLO 7 - SCAMBIO DI MESSAGGI

Introduzione. Informatica B. Daniele Loiacono

Approccio stratificato

Il Software. Il software del PC. Il BIOS

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Linguaggi di programmazione

Guida all utilizzo del CRM

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Capitolo 13: L offerta dell impresa e il surplus del produttore

Esercizi Capitolo 6 - Alberi binari di ricerca

Utilizzo delle formule in Excel

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Transcript:

DNA-computing

La macchina di Turing (Alan Turing, 1936)* Un meccanismo (finite control) si muove tra una coppia di nastri:. legge le istruzioni da un nastro (input tape). scrive il risultato sull altro nastro (output tape) La replicazione del DNA La DNA polimerasi scorre lungo un filamento del DNA. legge ciascuna base sul filamento. scrive il suo complemento sul filamento nuovo Leonard M. Adleman (1994): macchina di Turing DNA? *dieci anni prima della comparsa dei computers!! 1944: electronic discrete variable automatic computer (EDVAC)

La Tesi di Church &Turing (Alonzo Church & Alan Turing) Universalità : la macchina di Turing (= qualsiasi computer) può calcolare qualsiasi cosa sia calcolabile, nell ipotesi che ci sia sufficiente tempo e sufficiente memoria. L algoritmo con cui viene fatto il calcolo deve soddisfare i seguenti requisiti 1. L algoritmo deve consistere di un set finito di istruzioni descritte con un numero finito di simboli 2. L algoritmo produce il risultato in un numero finito di steps 3. L algoritmo può, in teoria, essere operato da un umano con solo carta e penna 4. La sua esecuzione non richiede un intelligenza umana tranne quella necessaria a capire le istruzioni ed eseguirle

DNA Computing La sfida computazionele risolvere gli NP-problems P-problems possono essere risolti in un tempo polinomiale (N k ) NP-problems Non-standard Polynomial problems il tempo per testare una ipotesi (ansatz) è polinomiale, ma il numero di possibili prove è esponenziale (e N ) se disponessi di un computer parallelo con un numero esponenzialmente grande di nodi il tempo di calcolo sarebbe polinomiale Ovviamente P-problems NP-problems* il problema di decidere se l inclusione è stretta è uno dei problemi più importanti della matematica

Esempi di problemi NP (completi) Il problema del commesso viaggiatore (Hamilton path problem) Colorare un grafo connesso con 3 colori, senza vertici adiacenti dello stesso colore Problemi di consistenza (SAT-problems = SATisfability-problems) Minimizzazione di una hamiltoniana di spin completo problemi di cui in un tempo polinomiale posso testare un ansatz, ma che non possano essere risolti in un tempo polinomiale (ne esistono?) Se sì, trovando un algoritmo (efficiente) per risolvere un problema NP completo questo potrà essere utilizzato per risolvere ogni altro problema NP

DNA computer permette di risolvere problemi NP in un tempo polinomiale strumenti molecolari naturali & artificiali appaiamento alla Watson-Crick DNA-polimerasi (+ primer) DNA-ligasi endonucleasi di restrizione sintesi (artificiale) di DNA elettroforesi su gel

Hamilton Path Problem Connessioni orientate Vertici Grafo Esempio di algoritmo (non efficiente) Dato un grafo con n vertici 1. generare un insieme di cammini casuali 2. per ciascun cammino a. verificare che cominci dal vertice di partenza e finisca nel vertice di arrivo; altrimenti rimuoverlo b. verificare che il cammino passi esattamente per n vertici; altrimenti rimuoverlo c. per ogni vertice verificare che il cammino passi per quel vertice; altrimenti rimuoverlo 3. Se l insieme non è vuoto: c è un cammino di Hamilton. Se l insieme è vuoto: no

Hamilton path: Roma-Parigi-Madrid-Berlino Madrid VOLO Berlino Roma Parigi CITTA SEQ. DNA COMPL ROMA ACTT GCAG TGAA CGTC PARIGI TCGG ACTG AGCC TGAC MADRID GGCT ATGT CCGA TACA BERLINO CCGA GCAA GGCT CGTT SEQUENZA # VOLO 4 vertici (= città) 6 connessioni (= voli) Roma = vertice di partenza Berlino = vertice di arrivo ROMA-PARIGI ROMA-BERLINO PARIGI-MADRID PARIGI-BERLINO PARIGI-ROMA MADRID-BERLINO GCAGTCGG GCAGCCGA ACTGGGCT ACTGCCGA ACTGACTT ATGTCCGA

Come si procede in pratica: 1. Sintesi* delle sequenze complementari ai nomi delle città e delle sequenze con i numeri dei voli (i nomi delle città non sono necessari) 2. Nella stessa provetta: un pizzico (circa 10 14 molecole) di ognuna delle diverse sequenze, acqua, ligasi, sali, etc. In circa 1 sec si ha in mano il risultato * Occorrono pochi giorni per ricevere una provetta con circa 10 18 molecole di DNA tutte (o in gran parte) aventi la sequenza richiesta. Una sequenza di 20 basi costa circa 25$. Si possono facilmente ottenere sequenze lunghe anche 100 basi.

Algoritmo: passo 1 Cosa succede nella provetta a. il volo Roma-Parigi (GCAGTCGG) ed il complemento del nome Parigi (AGCC TGAC) si incontrano per caso. b. la fine della 1 a e l inizio della 2 a sono complementari e si appaiano c. questo complesso incontra il volo Parigi-Madrid (ACTGGGCT) d. la 1 a parte di questo è complementare all ultima del complesso e si appaia e. e così via GCAGTCGG AGCCTGAC GCAGTCGGACTGGGCT AGCCTGAC... La provetta conterrà sequenze relative a cammini casuali.

Numero elevatissimo di cammini (sequenze) se esiste, almeno uno sarà quello di Hamilton tutti i cammini sono stati generati contemporaneamente (elevato parallelismo) ci sono (anche) circa 10 11 molecole che traducono cammini che non sono quello di Hamilton devono essere eliminati

Algoritmo: passo 2a Eliminare le molecole che non cominciano con la città di partenza e non finiscono con la città di arrivo. Polymerase Chain Reaction (PCR) per produrre molte copie delle sequenze. complemento del nome della città di partenza (TGAA) [Roma]. cognome della città di arrivo (GCAA) [primers*][berlino] 5 ACTT 3 3 TGAA 5 PCR si producono molte copie solo dei complementi di tutte quelle molecole la cui sequenza comincia con il nome della città di partenza * segnalano alla DNA polimerasi dove cominciare la replicazione alla Watson e Crick

Si producono molte copie solo dei complementi (prodotti nel precedente passo e che quindi cominciano tutti con il complemento del nome della città di partenza) di tutte quelle molecole la cui sequenza comincia con il complemento del cognome della città di arrivo 5 CGTT TGAA 3 3 GCAA ACTT 5 Roma: ACTT GCAG TGAA CGTC Berlino: CCGA GCAA GGCT CGTT le molecole moltiplicate da PCR sono quindi quelle che cominciano con il nome della città di partenza e finiscono con il cognome della città di arrivo

Algoritmo: passo 2b Con l elettroforesi seleziono solo quelle molecole che hanno la lunghezza (numero di vertici) giusta. Nell esempio: 24 basi Algoritmo: passo 2c i. Si attacca al complemento del nome di una delle città intermedie una microscopica pallina di ferro ii. Si mette in soluzione e si promuove l appaiamento iii. Si usa un magnete per attrarre solo le molecole attaccate alla pallina e le altre vengono lavate via iv. Si stacca la pallina di ferro v. Si ripete la stessa operazione a partire da (i) per le altre città intermedie Algoritmo: passo 3 PCR seguito da elettroforesi e sequenziamento Nota: se la provetta è vuota: non ci sono cammini di Hamilton

Passo 2c

Vantaggi dei computers a DNA Capacità di Memoria: Parallelismo: 1gr DNA (1cc) = 10 9 CD 10 14 numeri di volo connessi in 1 sec Efficienza energetica: DNA: 1 joule/10 19 operazioni di legame supercomputers: 1 joule/10 9 operazioni...però, per conoscere il risultato, ottenuto in 1 sec, ci è voluta circa 1 settimana!...e soprattutto, il numero di catene di DNA che devono essere prodotte a caso cresce esponenzialmente con il numero di variabili (nodi) i problemi NP non hanno veramente trovato una soluzione!

Perchè il computer a DNA non ha rimpiazzato quello al silicio? DNA = macchina di Turing? Abbastanza più complicato Vantaggi del DNA: parallelismo massivo, numero esponenzialmente grande di processori (più DNA nel becker!!). Vantaggi del silicio: versatilità, disponibilità, durata, facilità d interfacciamento 50-60 anni di sviluppo di algoritmi e tecnologie per il silicio non facilmente trasferibili al computer a DNA