Prospettive del DNA Computing

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Prospettive del DNA Computing"

Transcript

1 Università degli Studi di Udine Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Triennale in Informatica Tesi di Laurea Prospettive del DNA Computing Candidato: Tommaso Dreossi Relatore: Agostino Dovier Anno Accademico 2008/2009 Università degli Studi di Udine Via Palladio, 8 Palazzo Florio Udine Italia

2

3 A mia madre Delfina

4

5 Ringraziamenti Desidero ringraziare alcune persone che mi hanno aiutato nella realizzazione di questa tesi. Prima fra tutte, il Professor Agostino Dovier, nonché mio Relatore. Lo ringrazio, in primo luogo, per avermi fatto appassionare all Informatica Teorica e, secondariamente, per il tempo dedicatomi e per gli utili consigli che mi hanno consentito di concludere agilmente questo lavoro. Ringrazio sentitamente mia madre Delfina, senza la quale non sarei stato in grado di sostenere i percorsi di studi che sino ad oggi ho affrontato, e miei fratelli Carlotta e Federico, per essermi quotidianamente vicini. Mi sento in dovere di ringraziare Iris, la persona che più mi ha supportato moralmente e più mi ha compreso nei periodi di difficoltà scolastica, e Matteo, amico nel quale posso sempre trovare conforto. Infine, ringrazio tutte le persone che, con la loro amicizia, hanno allietato i miei studi presso l Università di Udine, in particolare Bortul, Billy Monica, Gianni e Semola.

6

7 Indice 1 Introduzione 1 2 DNA Introduzione La doppia elica Caratteristiche del DNA Operazioni sul DNA Algoritmi Complessità computazionale Macchine di Turing Classi di complessità in tempo La classe N P L approccio di L. M. Adleman al HP Problem I passi computazionali La codifica su DNA L implementazione L approccio di R. Lipton al SAT Problem I passi computazionali La codifica su DNA L implementazione Generalizzazione I risultati Alcune applicazioni DNA-MdT e DNA-ND-MdT Codifica su DNA Transizioni

8 ii Indice Inizializzazione e terminazione Non determinismo Il DNA-Pascal Il linguaggio Alcuni programmi Crittografia La codifica su DNA Circuito DES Attacco molecolare Valutazione del circuito DES Risultati Biocalcolatore Biocalcolatore autonomo e programmabile Automi La struttura Molecola Input Molecola Hardware Molecola Software La computazione Risultati Conclusione 75 Bibliografia 77

9 1 Introduzione In futuro un computer potrà forse pesare non meno di 1.5 tonnellate (USA Popular Mechanics, 1949) Pare che le cose siano andate diversamente da quando, nel 1949, la rivista americana USA Popular Mechanics fece tale previsione. Da allora infatti le valvole termoioniche sono state sostituite da circuiti integrati ad alta densità di componenti, le schede perforate da dispositivi di memoria digitali e, nonostante ciò, la famosa legge di Moore prevede che le prestazioni dei microprocessori continueranno a raddoppiare ogni 12 mesi. Si è a conoscenza però dei limiti fisici che la materia impone, oltre ai quali le attuali tecnologie non sono in grado di andare. Nasce quindi la necessità di aggirare l ostacolo cercando di concepire nuovi paradigmi computazionali. Negli ultimi tempi si è sentito parlare di diversi approcci alla computazione, come ad esempio la Computazione Quantistica, la Computazione Evoluzionisitca, la Computazione Neuronale e fra questa vi è anche la Computazione DNA (o DNA Computing). Si tratta sempre di tecniche che, in una maniera o nell altra, tentano di infrangere le complessità esponenziali di tipo computazionale che gli algoritmi tradizionali si trovano ad affrontare. Nel caso del DNA Computing vengono sfruttate le particolari caratteristiche del DNA per aumentare la velocità di calcolo e ridurre il volume delle informazioni codificate. Va specificata però la differenza fra DNA Computing e Bioinformatica, settore scientifico nato recentemente dalla fusione fra Biologia ed Informatica. Il DNA Computing sfrutta la Biochimica e la Biologia per la risoluzione di problemi informatici che sono attualmente intrattabili. Viceversa, la Bioinformatica è una disciplina scientifica dedicata alla risoluzione di problemi biologici a livello molecolare con metodi informatici [22]. In questa tesi si discuterà principalmente di come l approccio DNA computazionale possa essere utilizzato per risolvere determinate istanze di problemi computazionalmente complessi. In particolare, per comprendere cosa rende il DNA adatto

10 2 1. Introduzione alla risoluzione di problemi informatici, nel Capitolo 2 verranno esposte a grandi linee le sue caratteristiche e le operazioni attualmente effettuabili su di esso. Nel Capitolo 3 verrà data la definizione formale di complessità computazionale e verrà spiegato il perché dell attuale intrattabilità di determinati problemi. Nel medesimo Capitolo si parlerà inoltre della risoluzione tramite DNA Computing di due classici problemi computazionalmente complessi, ovvero l Hamilton Path Problem e il SAT Problem. Nel Capitolo 4 verrà descritto come il DNA Computing può essere applicato in diversi campi, in particolare nella definizione di un linguaggio di programmazione operante su molecole di DNA, nella simulazione di Macchine di Turing e nell attacco ad un sistema di crittografia. Infine, nel Capitolo 5, verrà descritta la realizzazione di un biocalcolatore, ovvero un calcolatore composto da molecole di materiale organico, avvenuta nei laboratorio del Weizmann Institute of Science.

11 2 DNA Prima di poter imbattersi nella trattazione del DNA Computing e del funzionamento degli algoritmi che tale paradigma computazionale offre, è necessario capire cosa sia effettivamente il DNA, ovvero quale sia la sua funzione, dove si trova, da cosa è composto e quali sono le caratteristiche che lo rendono così adatto alla risoluzione di problemi informatici. 2.1 Introduzione Un organismo vivente è un sistema molto complesso di tipo evolutivo che è in grado di svilupparsi, determinarsi e mantenersi in maniera autonoma grazie ad un progetto contenuto in esso. Il termine organismo vivente complesso viene applicato a un qualsiasi organismo vivente composto da una o più cellule. La cellula (dal latino, piccola stanza [8]) è l unità costitutiva fondamentale di tutti gli organismi viventi e può essere considerata come la più piccola struttura ad essere classificabile come vivente. Gli organismi unicellulari, come i protozoi o i batteri acidoplastici, sono costituiti da una singola cellula, mentre gli organismi pluricellulari possono consistere in una miriade di cellule, nel caso dell uomo sono circa 100 mila miliardi [23]. A qualsiasi organismo appartengano, le cellule presentano delle caratteristiche comuni, fra cui la riproduzione attraverso la divisione cellulare (mitosi 1 e meiosi 2 ) e l utilizzo di enzimi ed altre proteine prodotte a partire dai geni presenti sul DNA. Il DNA, o Acido Desossiribonucleico, è il vettore chimico dell informazione genetica. Si tratta di un composto chimico presente in tutte le cellule di tutti gli organismi viventi e svolge, in un certo senso, il ruolo fondamentale di controllo dell attività cellulare. Nella storia della genetica come scienza, il DNA ha assunto un 1 mitosi: divisione del nucleo genitore in due nuclei figli. 2 meiosi: divisione del nucleo in due cellule sessuali.

12 4 2. DNA ruolo di primo piano solo in un epoca relativamente recente [20]: inizialmente l attenzione venne focalizzata sull ereditarietà, ovvero sul modo in cui un determinato carattere (il colore degli occhi, la lunghezza della coda, il colore di un fiore) viene trasmesso dai genitori alla progenie; in seguito, con lo sviluppo scientifico della genetica, un attenzione sempre crescente venne rivolta alla funzione del gene (sequenze di acidi nucleici o sottosequenze del DNA). In questo modo venne proposto con prove evidenti che la funzione principale del DNA consiste nello specificare la formazione delle proteine, i costituenti fondamentali di tutte le cellule animali e vegetali. Il DNA fu inizialmente isolato dal biochimico svizzero Friedrich Miescher che, nel 1869, individuò una sostanza microscopica contenuta nel pus di bende chirurgiche utilizzate [5]. Successivamente, nel 1919, Phoebus Levene individuò la struttura del nucleotide, composta da base azotata, zucchero e fosfato [11]. Nel 1953, grazie anche all avvento tecnologico delle immagini fornite dalla diffrazione a raggi X, James Watson e Francis Crick presentarono sulla rivista Nature [21] quello che oggi è accertato come il primo modello accurato della struttura del DNA, quello a doppia elica. 2.2 La doppia elica Secondo il modello di Watson-Crick la molecola del DNA è costituita da due filamenti polinucleici avvolti ad elica attorno ad un asse centrale. Ogni filamento è formato da uno scheletro di molecola di zucchero e gruppi di fosfato alternati, dal quale sporgono lateralmente le basi azotate legate allo zucchero. Più precisamente, la struttura portante dello scheletro è composta da una concatenazione di zuccheri (deossiribosio) tenuti assieme da legami fosfodiesterici (legami P), che legano il carbonio 5 dello zucchero precedente, al carbonio 3 dello zucchero successivo. Sull anello pentagonale dello zucchero, vi sono legate le basi azotate che si fronteggiano all interno della doppia elica (Fig. 2.1; pag. 5). Vi sono due tipi di basi azotate: le purine e le pirimidine. Le purine più comuni del DNA sono l adenina (A) e la guanina (G), le pirimidine più comuni la citosina (C) e la timina (T). Queste basi azotate vengono comunemente indicate col nome di basi. Esse si appaiano secondo un particolare legame che segue la proprietà della complementarità: l adenina lega solamente con la timina e viceversa, e la citosina lega solo con la guanina e viveversa. Tale proprietà è conosciuta anche come Watson- Crick complemetarity e viene anche indicata tramite la notazione: Ā = T, T = A, C = G, Ḡ = C.

13 2.2. La doppia elica 5 Figura 2.1: Struttura ad elica del DNA Poiché all interno della singola catena polimerica i legami fosfodiesterici legano il carbonio 5 dello zucchero precedente al carbonio 3 di quello successivo, la lettura della sequenza di basi ha un verso, che viene indicato con la notazione 5 3. È per questa ragione che la sequenza complementare viene definita antiparallela o inversa, in quanto essa corrisponde ad una lettura nel senso opposto, ovvero 3 5. Supponendo per esempio di possedere la sequenza 5 AAGCGTAG 3, la sua sequenza complementare sarà 3 TTCGCATC 5 e, legandosi fra di esse, daranno vita alla doppia sequenza 5 -AAGCGTAG-3 3 -TTCGCATC-5. Una molecola di DNA contiene molti geni, ciascuno dei quali corrisponde ad una determinata serie di centinaia o migliaia di nucleotidi disposti lungo i filamenti polinucleotidici. La precisa sequenza dei nucleotidi rappresenta l informazione che stabilisce la struttura primaria di una proteina, il costituente fondamentale di tutte le cellule animali e vegetali.

14 6 2. DNA 2.3 Caratteristiche del DNA P. Wilhelm e K. Rothemund, nel loro articolo A DNA and restriction enzyme implementation of Turing Machines [30], osservarono che il DNA, per un informatico, appare come il nastro di una Macchina di Turing (per la definizione formale di Macchina di Turing si veda la sezione 3.1.1). Tale caratteristica induce quindi a pensare di poterlo utilizzare come uno strumento di computazione. Osservarono inoltre che il DNA presenta numerose caratteristiche per un informatico. Il DNA è materiale genetico: Il DNA è il dispositivo di memorizzazione dei geni. Si è a conoscenza del fatto che i geni sono in grado di automodificarsi adottando delle tecniche di ricombinamento (per esempio il Crossingover 3 ). Queste tecniche seguono delle regole che potrebbero essere utilizzate per identificare delle computazioni o generare linguaggi. Il DNA è piccolo e facile da copiare: In ogni coppia di basi A T vi sono 67 atomi di materia mentre, in una coppia del tipo C G, ve ne sono 66. Il DNA può essere rappresentato come una sequenza di quattro simboli, ognuno dei quali fornisce la capacità di 1 bit ogni 33 atomi. Per esempio, la sequenza di basi CGCG è composta da una totalità di 132 atomi di materia, 33 per ogni base azotata. Associando il simbolo 1 alla base C e il simbolo 0 alla base G ecco che la sequenza CGCG corrisponde alla rappresentazione binaria Si può notare dunque che ad ogni 33 atomi di materia, ovvero ad ogni base azotata, corrisponde 1 bit d informazione. In media il peso molecolare di una coppia di basi si aggira attorno ai 660 Daltons 4. Ciò significa che in 0.33 Kg di DNA può essere codificata 1 mole bits 5. Inoltre, è possibile replicare una sequenza molto velocemente grazie a specifiche reazioni chimiche, ottenendo oltre un milione di sequenze copiate in un ora (si veda la sezione 2.4). I legami fra basi sono reversibili: Poiché le basi seguono una particolare legge di complementarità (si veda la sezione 2.2), qualsiasi computazione codificata nell accoppiamento di tali basi può considerarsi reversibile. Ciò può risultare utile nell operazione d inversione di un generico algoritmo. 3 Crossing-over: scambio di materiale genetico fra cromosomi [10]. 4 Un Dalton corrisponde alla dodicesima parte di un atomo di Carbonio-12, ovvero Kg. 5 Un mole corrisponde a

15 2.4. Operazioni sul DNA Operazioni sul DNA Per poter realizzare una procedura algoritmica sul DNA è necessario poter operare su di esso. Con il termine ingegneria genetica, o più propriamente tecnologie del DNA ricombinante, si fa riferimento ad un insieme molto eterogeneo di tecniche che permettono di isolare geni, clonarli, introdurli ed esprimerli in un ospite eterologo 6 [2]. Nonostante siano molte le operazioni effettuabili sul DNA, di seguito verranno introdotte solamente quelle necessarie all implementazione di un algoritmo. Tali operazioni sono tratte dall articolo A survey on DNA computing di Nadia Pisanti (per maggiori dettagli si veda [15]). Fusione 7 e separazione 8 : Grazie all Idrogeno è possibile appaiare due sequenze antiparallele e complemetari di basi. Viceversa è anche possibile separarle, ottenendo così due sequenze distinte provenienti da un singolo accoppiamento. Sintesi: In laboratorio è possibile sintetizzare, ovvero creare, un filamento di DNA desiderato. Ciò è possibile però solamente per filamenti di una certa lunghezza. Più precisamente, ogni passaggio di sintesi, ovvero ogni aggiunta di una base alla sequenza posseduta, possiede un efficienza del 90% circa. Questo significa che oltre una certa lunghezza, le sequenze ottenute possono considerarsi pressoché casuali. Solitamente si sintetizzano sequenze lunghe fino a 100 basi. Estrazione: Dato un campione di DNA T e un filamento f, è possibile estrarre tutti i filamenti in T che possiedono come sottosequenza f, e separali da quelli che non la contengono. Unione: Dati dei campioni T 1,..., T n è possibile creare una nuova sequenza T definita dall unione dei campioni T 1,..., T n. Amplificazione 9 : Consiste nella duplicazione, o meglio replicazione, di una determinata sequenza di DNA. Ligasi: Tale procedura prende il nome dall enzima Ligasi, e causa la concatenazione di due sequenze in un unico filamento. 6 Eterologo: differente dall ospite originale. 7 Tradotto dall inglese melting. 8 Tradotto dall inglese annealing. 9 Tradotto dall inglese amplify.

16 8 2. DNA Individuazione 10 : Dato un campione qualsiasi, è possibile stabilire in laboratorio se contiene almeno una sequenza di DNA. Lunghezza: La lunghezza di una sequenza viene determinata grazia al metodo dell elettroforesi: tramite un particolare tipo di gel ed all applicazione di un campo elettrico su di esso, è possibile individuare ed isolare tutte quelle sequenze che possiedono la dimensione prestabilita. Va ricordata inoltre la Polymerase Chain Reaction (in breve PCR): si tratta di una tecnica di biologia molecolare che consente l amplificazione di frammenti di sequenze di DNA delle quali si conoscono le sottosequenze iniziali e terminali. L amplificazione tramite PCR consente di ottenere in laboratorio molto rapidamente le quantità di materiale genetico necessarie per applicazioni successive, quali l individuazione o l estrazione di sottosequenze. Ora che sono state analizzate a grandi linee le caratteristiche principali del DNA e le operazione eseguibili su di esso, si può cominciare a pensare a come sfruttare tali elementi per la realizzazione di algoritmi dediti alla risoluzione di problemi informatici. 10 Tradotto dall inglese detect.

17 3 Algoritmi La domanda nasce spontanea: è realmente necessario l utilizzo del DNA per la risoluzione problemi informatici? Certamente per effettuare la somma di due numeri non risulterà conveniente attivare un laboratorio di biologi, bioinformatici e chimici. In altre tipologie di problema però, il DNA Computing può essere un buona, se non l unica, alternativa. Non tutti i problemi sono uguali. Si supponga per esempio di trovarsi all interno di una città con n edifici. Tali edifici saranno collegati fra di loro da strade che avranno lunghezze differenti. S immagini un turista desideroso di visitare tutti gli edifici della città che vi chiede se esiste una strada che consenta di visitare tutti gli edifici, partendo dall edificio e i, arrivando all edificio e f, passando per tutti gli edifici una volta sola. Si potrà dirgli di comprare una mappa della città, oppure, da persone ospitali, si potrà fornirgli una risposta corretta. Per potergli rispondere però, nel caso sfortunato, sarà necessario calcolare tutti i possibili percorsi che passano attraverso gli edifici della città una volta sola. Se la città è molto grande, vi sarà un numero enorme di combinazioni di percorsi possibili. Sembrerebbe che questo problema sia più complesso della somma di due numeri. Si tratta infatti di un problema matematico computazionalmente complesso che prende il nome di problema del cammino Hamiltoniano. Tale problema fu scelto da Leonard M. Adleman nel suo articolo intitolato Molecular computation of solutions to combinatorial problems [1] nel quale trattò per la prima volta l approccio DNA computazionale. Prima di descrivere la tecnica di Adleman, verranno esposti i criteri tramite i quali un problema viene locato in una determinata classe di colmpessità, ovvero quanto un problema risulta complesso.

18 10 3. Algoritmi 3.1 Complessità computazionale Macchine di Turing A priori bisognerebbe domandarsi se esiste effettivamente un algoritmo che fornisce una soluzione ai problemi posti, e in seguito stabilire su quale macchina farlo eseguire. In effetti, il tempo che ci impiegava un calcolatore a schede perforate per eseguire la somma di due numeri è sicuramente superiore al tempo impiegato da una calcolatrice tascabile attuale. Eppure la complessità del problema è rimasta la stessa. Bisogna quindi rappresentare in modo formale una macchina in grado di eseguire algoritmi costituiti da passi elementari e discreti di calcolo. Alan Turing negli anni 30 ideò una macchina con le caratteristiche precedentemente descritte, e la espose nel suo celebre articolo On computable numbers with an application to the entscheidungsproblem (per maggiori dettagli si veda [19]). La sua intuizione fu quella ideare di una macchina in grado di scrivere simboli su di un nastro infinito. Il nastro viene organizzato in celle che rappresentano la quantità di memoria unitaria. La macchina, utilizzando un alfabeto di simboli finito, è in grado di rappresentare un infinità di dati. Il corpo pensante della macchina, detto controllo, è realizzato tramite un automa a stati finiti deterministico (DFA). Tutto questo prende il nome di Macchina di Turing, in breve MdT. Uno dei simboli di cui fruisce la MdT è $ che può essere visto come l assenza di simboli in una determinata cella. Il controllo della MdT ha accesso al nastro attraverso una testina di lettura e scrittura che permettere di leggere o scrivere in una cella un solo simbolo alla volta. La MdT è quindi costituita da due parti principali: il programma secondo cui verrà eseguito il calcolo e gli organi meccanici per lo scorrimento del nastro e il comando della testina. Ad ogni passo di calcolo, il simbolo presente nella cella puntata dalla testina rappresenta l input alla macchina. La macchina può quindi decidere di modificare il simbolo e, in esguito, di spostare il nastro di una posizione a destra o sinistra della cella esaminata. Così facendo si avrà in input un simbolo diverso e si potrà compiere un altro passo computazionale. Inoltre la testina può modificare il suo stato scegliendo da un insieme finito di stati. Il comportamento di una MdT viene descritto mediante una tabella detta matrice funzionale, nella quale le righe rappresentano gli stati del controllo e le colonne i simboli in ingresso. In una cella della matrice funzionale viene descritta l azione che la macchina deve eseguire nello stato corrispondente in riga e leggendo dal nastro il simbolo corrispondente in colonna.

19 3.1. Complessità computazionale $ $ 0 0 $ 0 $ 0 $... q 0 Figura 3.1: Esempio di Macchina di Turing Le azioni vengono descritte tramite una terna del tipo (q r, s k, M) dove q r indica lo stato in cui la macchina dovrà portarsi, s k sarà il simbolo che dovrà scrivere, ed M indicherà la direzione in cui il nastro dovrà essere spostato (verso destra il simbolo sarà R, verso sinistra L). Se la cella corrispondente ad una determinata combinazione stato-simbolo è vuota, la macchina si ferma. Viene definita quindi una computazione una sequenza di passi compiuti dalla MdT (Fig. 3.1; pag. 11). La MdT può essere definita in maniera più formale come segue. Definizione 3.1 Una Macchina di Turing consiste di: 1. Un alfabeto finito Σ = {s 0,..., s n } composto da almeno due simboli distinti s 0 = $ (blank) e s 1 = 0 (tally). 2. Un insieme finito non vuoto di stati Q = {q 0,..., q m } tra i quali vi è lo stato iniziale q Un insieme finito non vuoto di quintuple (istruzioni) P = {I 1,..., I p } ognuna delle quali di uno dei seguenti due tipi: q s q s R q s q s L tale che non esistono due istruzioni che iniziano con la stessa coppia q,s. P può essere quindi immaginato come la descrizione di una funzione parziale così definita: δ : Q Σ Q Σ {R, L}. Tale funzione δ è detta funzione di transizione. Ad ogni MdT può essere associata una funzione che diremo calcolata dalla MdT. Più formalmente, Definizione 3.2 Una funzione f : N n N è Turing-calcolabile se esiste una MdT che partendo da una determinata configurazione iniziale... $ $ $ $ x 1... x n $ $ $... q 0

20 12 3. Algoritmi termina nella configurazione... $ $ $ $ f(x 1,..., x n ) $ $ $... q 0 È dimostrato che la classe delle funzioni parziali ricorsive corrisponde precisamente alla classe delle funzioni Turing-calcolabili [7, Cap. 12.4]. Il modello di Macchina di Turing sopra descritto è solamente uno dei formalismi per la definizione di effettiva calcolabilità. Infatti, negli stessi anni in cui veniva concepita la Macchina di Turing, vennero introdotti diversi formalismi, fra cui le funzioni ricorsive, il λ-calcolo, etc. Venne inoltre dimostrata l equivalenza fra i vari modelli, ovvero il fatto che i diversi sistemi permettevano di calcolare esattamente la stessa classe di funzioni. Questa equivalenza fra i vari formalismi portò Alonzo Chuch e Alan Turing nel 36 a formulare la seguente Tesi: Tesi di Church-Turing 1 La classe delle funzioni intuitivamente calcolabili coincide con la classe delle funzioni Turing-calcolabili. Accettando la Tesi di Chuch-Turing, si osserva immediatamente che la classe delle funzioni calcolabili da una Macchina di Turing, equivalente alla classe delle funzioni λ-definibili, corrisponde alla classe delle funzioni calcolabili effettivamente da un algoritmo. Tutto ciò assume un ruolo di notevole importanza nel campo dell Informatica Teorica. Infatti, la Tesi di Chuch-Turing implica che tutto ciò che non è calcolabile dalla Macchina di Turing non può essere calcolato da qualche altro formalismo. Non importa se viene utilizzato un linguaggio di programmazione moderno di tipo imperativo o funzionale, esso risulterà sempre e comunque Turing equivalente. L unica pecca che presenta la Tesi di Chuch-Turing risiede nel fatto che non può essere formalmente dimostrata a causa della definizione di funzione intuitivamente calcolabile. Bisogna specificare però che è stato verificato essere valida per tutti i formalismi di calcolo e i linguaggi di programmazione noti. Ad oggi, non è stata né dimostrata, né confutata formalmente, ma nonostante ciò viene considerata universalmente accettabile 1. 1 Bisogna specificare che il logico Kurt Gödel, nel 31, grazie ai suoi due Teoremi di incompletezza, dimostrò che esistono proposizioni che non possono essere né dimostrate, né confutate sulla base degli assiomi di partenza.

21 3.1. Complessità computazionale 13 Prima di poter definire le classi di complessità, viene introdotto per semplicità un estensione del modello computazionale della Macchina di Turing, costituito da più nastri 2. Seguendo il testo [14], viene di seguito definita la k-mdt. Definizione 3.3 Una k-mdt è una Macchina di Turing M = Q, Σ, q 0, P con k-nastri. Più precisamente: 1. Q è l insieme finito degli stati e q 0 Q è lo stato iniziale. 2. Σ è l alfabeto dei simboli presenti sui nastri. Assumiamo che i simboli (first) e $ appartengano a Σ. 3. L insieme delle istruzioni P rappresenta la funzione di transizione δ che assumiamo essere totale δ : Q Σ k (Q {h, yes, no}) (Σ {L, R, F }) k 4. h, yes, no sono degli stati finali non presenti in Q, rispettivamente di terminazione, accettazione, refutazione. 5. I movimenti possibili del nastro sono: L (sinistra), R (destra), F (fermo). 6. Il simbolo indica l inizio di un nastro. non può essere cancellato e quando viene letto su un nastro, la testina, relativamente a quel nastro, si sposta a destra. 7. La configurazione iniziale è del tipo: (q 0, ε,, x, ε,, ε,..., ε,, ε) } {{ } } {{ } } {{ } nastro1 nastro2 nastrok ove per ogni nastro 1,...,k i tre parametri sono: la stringa significativa a sinistra della tesina, il simbolo letto e la stringa letta a destra della testina (la variabile x sul nastro 1 rappresenta l input). Ricapitolando, le novità introdotte dalla k-mdt sono: la possibilità di operare su k nastri contemporaneamente; la semi-infinitezza dei nastri dovuta all introduzione del simbolo ; la possibilità di movimento nullo (F ). 2 È possibile definire le classi di complessità anche grazie alla Macchina di Turing standard.

22 14 3. Algoritmi Si dice che una k-mdt calcola una funzione se ogni qual volta termina, raggiunge lo stato finale h. In questo caso l output è il contenuto del k-esimo nastro. Verrà ora fornito il primo metodo formale di tempo impiegato da un algoritmo per risolvere un problema. Definizione 3.4 Data una k-mdt M e un input x, il tempo richiesto da M per x è il numero di passi computazionali necessari a M con input x per terminare. Sia f : N N una funzione totale. Si dice che una k-mdt M opera in tempo f(n) se per ogni input x il tempo richiesto da M per x, è minore o uguale a f( x ), dove x denota la lunghezza della stringa x. Il tempo di computazione, in quanto risorsa non riutilizzabile, è senza dubbio il parametro più importante da prendere in considerazione nella fase di sviluppo di un algoritmo. Lo spazio di cui una computazione necessita, ovvero nel nostro caso il numero di celle del nastro della MdT che l algoritmo impiega, per quanto sia una risorsa riutilizzabile, è anch esso un valido parametro per la stima della complessità di un algoritmo. Per questa ragione di seguito verrà fornita anche la definizione di spazio utilizzato da un algoritmo per risolvere un problema. Definizione 3.5 Data una k-mdt M e un input x, se la computazione di M inizia da una configurazione del tipo e termina in una configurazione del tipo (q 0, ε,, x, ε,, ε,..., ε,, ε ) } {{ } } {{ } } {{ } nastro 1 nastro 2 nastro k (q, u 1, s 1, v } {{ } 1, u 2, s 2, v 2,..., u } {{ } k, s k, v k ) } {{ } nastro 1 nastro 2 nastro k con q {h, yes, no} allora diremo che lo spazio richiesto da M per x è k 1 i=2 u i + v i + 1. M opera in spazio f(n) se per ogni input x lo spazio richiesto da M per x è minore o uguale a f( x ). Ora che sono state fornite le definizioni di effettiva calcolabilità e di tempo richiesto da una k-mdt per calcolare una funzione, è possibile raggruppare le funzioni in classi di complessità temporali.

23 3.1. Complessità computazionale Classi di complessità in tempo Definizione 3.6 (Classi in tempo) Un linguaggio 3 L Σ 4 è deciso da una k-mdt M se per ogni x Σ vale che: Se x L allora M con input x termina nello stato yes. Se x L allora M con input x termina nello stato no. Se L Σ è deciso da una k-mdt M e M opera in tempo f(n), allora L T IME(f(n)). T IM E(f(n)) è così definita una classe di complessità di tempo. Essa rappresenta l insieme dei linguaggi che possono essere decisi in tempo limitato da una funzione nota a priori. Vengono così definite due classi di complessità molto importanti nell ambito dell informatica teorica, che sono rispettivamente P def = k 0 T IME(nk ) EX PT IME def = k 0 T IME(2nk ) In realtà le classi computazionali che riguardano in particolar modo il DNA Computing necessitano dell introduzione di un nuovo modello computazionale, ovvero la Macchina di Turing non-deterministica. Definizione 3.7 Una MdT M = Q, Σ, q 0, P (a un nastro) è non-deterministica, in breve ND-MdT, se P è una relazione del tipo: P (Q Σ) ((Q {h, yes, no}) Σ {L, R, F }) La differenza fra la ND-MdT e i modelli di Macchine di Turing descritte in precedenza (si vedano le definizioni 3.1 e 3.3) consta nel fatto che per una data configurazione (q 0, ε,, x) si ha una famiglia di possibili computazioni non deterministiche. In un certo senso, a partire da una configurazione iniziale, tutte le possibili computazioni vengono smistate in grafo ad albero, nel quale ogni cammino dalla radice ad una delle foglie corrisponde ad una possibile computazione (Fig. 3.2; pag. 16). 3 Linguaggio: insieme di stringhe di simboli di un alfabeto Σ. 4 Dato un alfabeto Σ, la notazione Σ corrisponde all insieme Σ = {a 1,..., a n : n 0, a i Σ}.

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

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. Albero semantico Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. A differenza dell albero sintattico (che analizza la formula da un punto di vista puramente

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

unità C3. Le cellule crescono e si riproducono

unità C3. Le cellule crescono e si riproducono unità 3. Le cellule crescono e si riproducono Durante l interfase la cellula aumenta di dimensioni sintetizza nuove proteine e nuovi organuli duplica il DN al termine di questi processi la cellula compie

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

La trascrizione nei procarioti. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie

La trascrizione nei procarioti. Prof. Savino; dispense di Biologia Molecolare, Corso di Laurea in Biotecnologie La trascrizione nei procarioti Concetti base Nucleoside base purinica o pirimidinica legata alla posizione 1 dell anello pentoso Nucleotide base azotata-pentoso-fosfato Concetti base La trascrizione comporta

Dettagli

SUPERAVVOLGIMENTO DEL DNA (ORGANIZZAZIONE TERZIARIA DEL DNA)

SUPERAVVOLGIMENTO DEL DNA (ORGANIZZAZIONE TERZIARIA DEL DNA) SUPERAVVOLGIMENTO DEL DNA (ORGANIZZAZIONE TERZIARIA DEL DNA) ORGANIZZAZIONE TERZIARIA DEL DNA Il DNA cellulare contiene porzioni geniche e intergeniche, entrambe necessarie per le funzioni vitali della

Dettagli

La struttura dell RNA Struttura dell RNA mediante analisi comparativa Predizione della struttura secondaria: L algoritmo di Nussinov Predizione della

La struttura dell RNA Struttura dell RNA mediante analisi comparativa Predizione della struttura secondaria: L algoritmo di Nussinov Predizione della La struttura dell RNA Struttura dell RNA mediante analisi comparativa Predizione della struttura secondaria: L algoritmo di Nussinov Predizione della struttura secondaria: Minimizzazione dell energia Un

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Diversità tra i viventi

Diversità tra i viventi Diversità tra i viventi PROPRIETÀ della VITA La CELLULA CLASSIFICAZIONE dei VIVENTI Presentazione sintetica Alunni OIRM Torino Tutti i viventi possiedono delle caratteristiche comuni Ciascun vivente nasce,

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

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

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione

Alberi binari. Ilaria Castelli castelli@dii.unisi.it A.A. 2009/2010. Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione Alberi binari Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Alberi binari, A.A. 2009/2010 1/20 Alberi binari

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

Il giardino nella macchina

Il giardino nella macchina Idee per una rilettura Il giardino nella macchina La nuova scienza della vita artificiale Claus Emmeche Bollati Boringhieri, 1996 È possibile la vita artificiale? In che modo gli strumenti offerti dalla

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Erwin Schrödinger Che cos è la vita? La cellula vivente dal punto di vista fisico tr. it. a cura di M. Ageno, Adelphi, Milano 2008, pp.

Erwin Schrödinger Che cos è la vita? La cellula vivente dal punto di vista fisico tr. it. a cura di M. Ageno, Adelphi, Milano 2008, pp. RECENSIONI&REPORTS recensione Erwin Schrödinger Che cos è la vita? La cellula vivente dal punto di vista fisico tr. it. a cura di M. Ageno, Adelphi, Milano 2008, pp. 154, 12 «Il vasto e importante e molto

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano 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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Cristian Secchi Pag. 1

Cristian Secchi Pag. 1 CONTROLLI DIGITALI Laurea Magistrale in Ingegneria Meccatronica SISTEMI A TEMPO DISCRETO Ing. Tel. 0522 522235 e-mail: cristian.secchi@unimore.it http://www.dismi.unimo.it/members/csecchi Richiami di Controlli

Dettagli

Dispense del Corso di Algoritmi e Strutture Dati

Dispense del Corso di Algoritmi e Strutture Dati Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo Edoardo Bontà Università degli Studi di Urbino Carlo Bo Facoltà di Scienze e Tecnologie Corso di Laurea in Informatica Applicata Versione

Dettagli

Cosa succede in un laboratorio di genetica?

Cosa succede in un laboratorio di genetica? 12 laboratori potrebbero utilizzare campioni anonimi di DNA per lo sviluppo di nuovi test, o condividerli con altri in quanto parte dei programmi di Controllo di Qualità, a meno che si chieda specificatamente

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Si basano sul seguente Teorema: S = A sse S { A} è insoddisfacibile.

Si basano sul seguente Teorema: S = A sse S { A} è insoddisfacibile. Deduzione automatica La maggior parte dei metodi di deduzione automatica sono metodi di refutazione: anziché dimostrare direttamente che S A, si dimostra che S { A} è un insieme insoddisfacibile (cioè

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

Geometria nel piano complesso

Geometria nel piano complesso Geometria nel piano complesso Giorgio Ottaviani Contents Un introduzione formale del piano complesso 2 Il teorema di Napoleone 5 L inversione circolare 6 4 Le trasformazioni di Möbius 7 5 Il birapporto

Dettagli

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

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

Dettagli

DI REGOLAZIONE A DUE COMPONENTI

DI REGOLAZIONE A DUE COMPONENTI LEZIONE 16 Sistemi di regolazione SISTEMI DI REGOLAZIONE A DUE COMPONENTI In che modo un batterio sente e risponde a specifici segnali provenienti dall ambiente? Per esempio, nel caso dell operone lac

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI statistica, Università Cattaneo-Liuc, AA 006-007, lezione del 08.05.07 IDICE (lezione 08.05.07 PROBABILITA, VALORE ATTESO E VARIAZA DELLE QUATITÁ ALEATORIE E LORO RELAZIOE CO I DATI OSSERVATI 3.1 Valore

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

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

Permutazione degli elementi di una lista

Permutazione degli elementi di una lista Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione

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

Esistenza di funzioni continue non differenziabili in alcun punto

Esistenza di funzioni continue non differenziabili in alcun punto UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN MATEMATICA Esistenza di funzioni continue non differenziabili in alcun punto Relatore Prof. Andrea

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

IL GIOCO DEL 15. OVVERO: 1000$ PER SPOSTARE DUE BLOCCHETTI

IL GIOCO DEL 15. OVVERO: 1000$ PER SPOSTARE DUE BLOCCHETTI IL GIOCO DEL. OVVERO: 000$ PER SPOSTARE DUE BLOCCHETTI EMANUELE DELUCCHI, GIOVANNI GAIFFI, LUDOVICO PERNAZZA Molti fra i lettori si saranno divertiti a giocare al gioco del, uno dei più celebri fra i giochi

Dettagli

ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA a.s. 2014/2015

ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA a.s. 2014/2015 NUMERI. SPAZIO E FIGURE. RELAZIONI, FUNZIONI, MISURE, DATI E PREVISIONI Le sociali e ISTITUTO COMPRENSIVO N 1 LANCIANO - SCUOLA SECONDARIA DI PRIMO GRADO CURRICOLO VERTICALE - Classe Prima MATEMATICA procedure

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta

Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta Le leggi di Mendel esposte in modo ragionato e critico di Luciano Porta Le tre leggi di Mendel, che descrivono la trasmissione dei caratteri ereditari da una generazione all altra, segnano l inizio della

Dettagli

1 LA CORRENTE ELETTRICA CONTINUA

1 LA CORRENTE ELETTRICA CONTINUA 1 LA CORRENTE ELETTRICA CONTINUA Un conduttore ideale all equilibrio elettrostatico ha un campo elettrico nullo al suo interno. Cosa succede se viene generato un campo elettrico diverso da zero al suo

Dettagli

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

Dettagli

CS. Cinematica dei sistemi

CS. Cinematica dei sistemi CS. Cinematica dei sistemi Dopo aver esaminato la cinematica del punto e del corpo rigido, che sono gli schemi più semplificati con cui si possa rappresentare un corpo, ci occupiamo ora dei sistemi vincolati.

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

Gli uni e gli altri. Strategie in contesti di massa

Gli uni e gli altri. Strategie in contesti di massa Gli uni e gli altri. Strategie in contesti di massa Alessio Porretta Universita di Roma Tor Vergata Gli elementi tipici di un gioco: -un numero di agenti (o giocatori): 1,..., N -Un insieme di strategie

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Matematica B - a.a 2006/07 p. 1

Matematica B - a.a 2006/07 p. 1 Matematica B - a.a 2006/07 p. 1 Definizione 1. Un sistema lineare di m equazioni in n incognite, in forma normale, è del tipo a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2 (1) = a m1 x 1 + +

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

esame di stato 2013 seconda prova scritta per il liceo scientifico di ordinamento

esame di stato 2013 seconda prova scritta per il liceo scientifico di ordinamento Archimede esame di stato seconda prova scritta per il liceo scientifico di ordinamento ARTICOLO Il candidato risolva uno dei due problemi e risponda a 5 quesiti del questionario. PROBLEMA La funzione f

Dettagli

Poniamo il carbonio al centro, tre idrogeni sono legati al carbonio direttamente e uno attraverso l ossigeno

Poniamo il carbonio al centro, tre idrogeni sono legati al carbonio direttamente e uno attraverso l ossigeno Strutture di Lewis E un metodo semplice per ottenere le formule di struttura di composti covalenti nota la formula molecolare, la configurazione elettronica del livello di valenza degli atomi e la connettività

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

Dettagli

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni. MATEMATICA. Sistemi lineari in due equazioni due incognite. Date due equazioni lineari nelle due incognite x, y come ad esempio { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un

Dettagli

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito. INTEGRALI DEFINITI Sia nel campo scientifico che in quello tecnico si presentano spesso situazioni per affrontare le quali è necessario ricorrere al calcolo dell integrale definito. Vi sono infatti svariati

Dettagli

Da dove prendono energia le cellule animali?

Da dove prendono energia le cellule animali? Da dove prendono energia le cellule animali? La cellula trae energia dai legami chimici contenuti nelle molecole nutritive Probabilmente le più importanti sono gli zuccheri, che le piante sintetizzano

Dettagli

I modelli atomici da Dalton a Bohr

I modelli atomici da Dalton a Bohr 1 Espansione 2.1 I modelli atomici da Dalton a Bohr Modello atomico di Dalton: l atomo è una particella indivisibile. Modello atomico di Dalton Nel 1808 John Dalton (Eaglesfield, 1766 Manchester, 1844)

Dettagli

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti 4. Insiemi numerici 4.1 Insiemi numerici Insieme dei numeri naturali = {0,1,,3,,} Insieme dei numeri interi relativi = {..., 3,, 1,0, + 1, +, + 3, } Insieme dei numeri razionali n 1 1 1 1 = : n, m \{0}

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

METODO DELLE FORZE 1. METODO DELLE FORZE PER LA SOLUZIONE DI STRUTTURE IPERSTATICHE. 1.1 Introduzione

METODO DELLE FORZE 1. METODO DELLE FORZE PER LA SOLUZIONE DI STRUTTURE IPERSTATICHE. 1.1 Introduzione METODO DELLE FORZE CORSO DI PROGETTZIONE STRUTTURLE a.a. 010/011 Prof. G. Salerno ppunti elaborati da rch. C. Provenzano 1. METODO DELLE FORZE PER L SOLUZIONE DI STRUTTURE IPERSTTICHE 1.1 Introduzione

Dettagli

AUTOLIVELLI (orizzontalità ottenuta in maniera automatica); LIVELLI DIGITALI (orizzontalità e lettura alla stadia ottenute in maniera automatica).

AUTOLIVELLI (orizzontalità ottenuta in maniera automatica); LIVELLI DIGITALI (orizzontalità e lettura alla stadia ottenute in maniera automatica). 3.4. I LIVELLI I livelli sono strumenti a cannocchiale orizzontale, con i quali si realizza una linea di mira orizzontale. Vengono utilizzati per misurare dislivelli con la tecnica di livellazione geometrica

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2004

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2004 ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 004 Il candidato risolva uno dei due problemi e 5 dei 10 quesiti in cui si articola il questionario. PROBLEMA 1 Sia f la funzione definita da: f

Dettagli

PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014)

PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014) PROGRAMMA DI FISICA ( CLASSE I SEZ. E) ( anno scol. 2013/2014) Le grandezze fisiche. Metodo sperimentale di Galilei. Concetto di grandezza fisica e della sua misura. Il Sistema internazionale di Unità

Dettagli

Cenni sul calcolo combinatorio

Cenni sul calcolo combinatorio Cenni sul calcolo combinatorio Disposizioni semplici Le disposizioni semplici di n elementi distinti di classe k con kn sono tutti i gruppi di k elementi scelti fra gli n, che differiscono per almeno un

Dettagli

ESAME DI STATO 2010 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO

ESAME DI STATO 2010 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO Archimede ESAME DI STATO SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO ARTICOLO Il candidato risolva uno dei due problemi e risponda a 5 quesiti del questionario. Sia ABCD un quadrato di

Dettagli

Circuiti in Corrente Continua (direct current=dc) RIASSUNTO: La carica elettrica La corrente elettrica Il Potenziale Elettrico La legge di Ohm Il

Circuiti in Corrente Continua (direct current=dc) RIASSUNTO: La carica elettrica La corrente elettrica Il Potenziale Elettrico La legge di Ohm Il Circuiti in Corrente Continua direct currentdc ASSUNTO: La carica elettrica La corrente elettrica l Potenziale Elettrico La legge di Ohm l resistore codice dei colori esistenze in serie ed in parallelo

Dettagli

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

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

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Introduzione ai Microarray

Introduzione ai Microarray Introduzione ai Microarray Anastasios Koutsos Alexandra Manaia Julia Willingale-Theune Versione 2.3 Versione italiana ELLS European Learning Laboratory for the Life Sciences Anastasios Koutsos, Alexandra

Dettagli

Problema n. 1: CURVA NORD

Problema n. 1: CURVA NORD Problema n. 1: CURVA NORD Sei il responsabile della gestione del settore Curva Nord dell impianto sportivo della tua città e devi organizzare tutti i servizi relativi all ingresso e all uscita degli spettatori,

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

Linguaggi del I ordine - semantica. Per dare significato ad una formula del I ordine bisogna specificare

Linguaggi del I ordine - semantica. Per dare significato ad una formula del I ordine bisogna specificare Linguaggi del I ordine - semantica Per dare significato ad una formula del I ordine bisogna specificare Un dominio Un interpretazione Un assegnamento 1 Linguaggi del I ordine - semantica (ctnd.1) Un modello

Dettagli

3. TEORIA DELL INFORMAZIONE

3. TEORIA DELL INFORMAZIONE 3. TEORIA DELL INFORMAZIONE INTRODUZIONE MISURA DI INFORMAZIONE SORGENTE DISCRETA SENZA MEMORIA ENTROPIA DI UNA SORGENTE NUMERICA CODIFICA DI SORGENTE 1 TEOREMA DI SHANNON CODICI UNIVOCAMENTE DECIFRABILI

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

esame di stato 2014 seconda prova scritta per i licei scientifici di ordinamento

esame di stato 2014 seconda prova scritta per i licei scientifici di ordinamento ARTICOLO Archimede 4 4 esame di stato 4 seconda prova scritta per i licei scientifici di ordinamento Il candidato risolva uno dei due problemi e risponda a 5 quesiti del questionario. PROBLEMA Nella figura

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi

al via 1 Percorsi guidati per le vacanze di matematica e scienze UNITÀ CAMPIONE Edizioni del Quadrifoglio Evelina De Gregori Alessandra Rotondi Evelina De Gregori Alessandra Rotondi al via 1 Percorsi guidati per le vacanze di matematica e scienze per la Scuola secondaria di primo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio Test d'ingresso NUMERI

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Moto sul piano inclinato (senza attrito)

Moto sul piano inclinato (senza attrito) Moto sul piano inclinato (senza attrito) Per studiare il moto di un oggetto (assimilabile a punto materiale) lungo un piano inclinato bisogna innanzitutto analizzare le forze che agiscono sull oggetto

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli