MODULO 07 LA MACCHINA DI TURING

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MODULO 07 LA MACCHINA DI TURING"

Transcript

1 MODULO 07 LA MACCHINA DI TURING Nel 1936 Alan Turing presenta una definizione di computabilità basata sull osservazione del comportamento di un agente umano che sta eseguendo un calcolo (algoritmo) con carta e penna, nota come macchina di Turing (MdT). Turing nota che: 1. Per effettuare una computazione è necessario che esista un input e, dopo una quantità finita di calcoli scritti, viene prodotto un output; 2. Anche se di norma la lettura e la scrittura su un foglio di carta si effettuano in linee orizzontali o verticali, è possibile semplificare la situazione e immaginare che la macchina legga o scriva su un nastro lineare; 3. Visto che a priori non poniamo limite alla quantità di carta necessaria per scrivere i calcoli, anche il nastro è potenzialmente infinito in entrambe le direzioni e inoltre, dal momento che scriviamo i simboli uno alla volta, lo consideriamo suddiviso in celle ciascuna contenente un singolo simbolo; 4. Anche se è teoricamente necessario poter disporre di simboli distinti da associare a infinite entità (ad esempio un simbolo per ogni numero), in genere usiamo simboli complessi (come le parole) costruiti a partire da un insieme finito di simboli atomici (come le lettere). La macchina, dunque, è in grado di leggere e stampare simboli che appartengono a un alfabeto finito; 5. La macchina è dotata di due direzioni di movimento (che corrispondono all azione di spostare l attenzione da una parte all altra del foglio) lungo il nastro, di una cella per volta: questa ipotesi è necessaria, sia perché la macchina deve scrivere simboli in celle differenti, sia perché, in questo modo, resta traccia della storia del lavoro già svolto sino a un dato istante. Le due direzioni di spostamento consentono alla macchina di tornare, all indietro, su una cella che già contiene un simbolo e di cancellarlo scrivendovi internamente un nuovo simbolo; 6. Ciascun passo dell algoritmo determina l azione successiva da compiere (basta pensare all algoritmo per effettuare una addizione ), che a sua volta dipende dal simbolo analizzato in un certo istante e dallo stato (della mente) dell agente. Ma lo stato della mente coincide col lavoro già fatto sino a un dato istante: in realtà non è del tutto vero che un agente umano ricorda tutto il lavoro già fatto nel portare avanti un algoritmo; ricorda al più pochi passi precedenti e sa che ogni passo è stato determinato dall algoritmo stesso. Insomma, lo stato della mente dipende dall algoritmo e dalle operazioni già fatte (probabilmente solo dall ultima operazione ).Siccome il numero di stati diversi di un agente umano è finito anche quello della macchina è finito. 1

2 7. La macchina lavora automaticamente obbedendo a precise istruzioni, in numero finito, che la informano su che cosa debba fare quando, trovandosi in uno specifico stato, analizza (legge) un simbolo del nastro. I simboli provengono dall esterno e sono scritti sul nastro al quale la macchina è collegata mediante un dispositivo (testina) di lettura/scrittura. A questo punto possiamo illustrare il modello fisico della macchina q i Finestra stato corrente Programma s 0 s 1 s 2 s j s k s 0 s 0 s 0 nel quale vediamo Il nastro, suddiviso in caselle, infinito a destra e a sinistra. Ogni cella contiene un simbolo appartenente a un insieme finito S = {s 0, s 1,,s n }. Uno di questi, s 0, è usato per indicare che la cella è priva di simbolo (blank) : lo chiameremo bianco. Si suppone che il nastro sia tutto bianco tranne che per una parte di lunghezza finita; Un organo di controllo a stati finiti che contiene il programma per la macchina; Una testina di lettura/scrittura che permette al controllo di leggere o scrivere un simbolo per volta; In ciascun istante, il simbolo che si trova nella casella corrente esaminata costituisce lo stimolo di ingresso per il controllo. La macchina reagisce allo stimolo scrivendo nella casella un nuovo simbolo (che può anche coincidere col precedente), portandosi in nuovo stato e spostandosi sul nastro di una casella a destra o a sinistra. In questo modo lo stimolo per il passo (o ciclo operativo) successivo verrà da una casella differente e potrà essere letto un simbolo scritto in precedenza. Questo significa che la macchina, oltre alla memoria interna che contiene il programma, possiede una memoria esterna non indirizzabile. 2

3 Il comportamento della MdT si può descrivere con una tabella detta matrice funzionale, s j q i s k q r x t con tante righe quanti sono gli stati q 0, q 1,...,q m e tante colonne quanti sono i simboli dell alfabeto. Una qualunque cella della matrice descrive l azione della macchina corrispondente allo stato q i indicato sulla riga e al simbolo s j della colonna corrispondente. L azione, specificata da una terna come s k q r x t, consiste nelle tre seguenti operazioni: 1. scrivere sulla cella del nastro il simbolo s k ; 2. transire nello stato q r ; 3. spostarsi sul nastro di una casella verso destra o verso sinistra a seconda che x t = D o x t = S. In particolare s k può essere uguale a s j e q r uguale a q i : significa che la macchina può lasciare inalterato il simbolo sul nastro e/o restare nello stesso stato. Una generica casella della matrice di transizione, corrispondente a una coppia q i s j, può essere bianca: significa che in quella condizione, cioè quando nello stato q i viene letto il simbolo s j, la macchina non intraprende alcuna azione ma si ferma arrestando il calcolo. Per specificare che cosa sia una computazione di una MdT, dobbiamo introdurre la nozione di descrizione istantanea iniziale, che precisa la situazione iniziale, di partenza, della macchina. Una descrizione istantanea iniziale si specifica fornendo: 1. un ingresso finito, cioè un nastro con un numero finito di simboli diversi dal bianco; 2. la posizione della testina di lettura/scrittura rispetto al nastro; 3. lo stato iniziale del controllo. Dopo ciascun passo, la configurazione del nastro, la posizione della testina e lo stato del controllo saranno cambiati e, presi insieme, costituiscono la descrizione istantanea (DI) della macchina. La descrizione istantanea finale è la descrizione istantanea per quale non esiste, nella matrice funzionale, una configurazione successiva: nella matrice funzionale, la casella corrispondente allo stato e al simbolo sotto la testina è vuota. 3

4 Per computazione di una MdT si intende una sequenza finita di descrizioni istantanee, di cui la prima iniziale e l ultima finale, e ognuna ottenuta dalla precedente in un passo. Descrizione matematica Siano S = {s 0, s 1,...,s n } un alfabeto finito di simboli, con s 0 simbolo distinto per indicare il bianco, Q = {q 0, q 1,...,q m } un insieme finito di stati e M = {L, R} quello dei simboli per rappresentare gli spostamenti (Left, Rigth). In ogni istante, la configurazione della macchina ovvero la stringa di simboli sul nastro, la posizione della testina e lo stato, può essererappresentata come una sequenza infinita di simboli:... s 0, s 0, σ 1, σ 2,..., σ j, q i, s j, σ j + 1,..., s 0, s 0,... (1) di cui solo un numero finito è diverso da s 0 ; il simbolo q i indica lo stato della macchina e s j, alla sua destra, il simbolo in lettura (implicitamente la testina è su questo simbolo). La sequenza (1) corrisponde pertanto a questa situazione: q i... s 0 s 0 σ 1 σ 2... σ j s j σ j + 1. s 0 s 0... Se S * è l insieme di tutte le sequenze finite di simboli che appartengono a S, sequenze come quella indicata in (1) si possono denotare sinteticamente con α q s β, dove α, β S *, q Q e s S; s è il simbolo in lettura. Una stringa come α q s β fornisce una DI della macchina. Il funzionamento della MdT è descritto con un insieme di quintuple che specificano il passaggio da una DI alla successiva determinato da una passo della computazione. Ciascuna quintupla si presenta come q i s j s k q r x t (2) con q i, q r Q; s j, s k S e x t M, e si interpreta dicendo che se la macchina è nello stato q i e legge il simbolo s j, allora scrive s k sul nastro, passa nello stato q r e si sposta di una casella a destra o a sinistra come indicato da x t : notare che k, r e t dipendono da i e j: questa dipendenza si esprime scrivendo le quintuple anche come q i s j s ij q ij x ij. Non possono esistere due quintuple con in primi due simboli uguali perché la macchina opera in modo deterministico. 4

5 Se in corrispondenza di una coppia q i s j non esiste alcuna quintupla con i primi due simboli uguali a quelli della coppia, la macchina arresta la computazione e la configurazione della sequenza (1) assume il significato di DI finale. Definizione: Macchina di Turing Una Macchina di Turing Z è una terna (Q, S, P) nella quale: Q = {q 0, q 1,...,q m } è un insieme finito di stati; S = {s 0, s 1,...,s n } è un insieme finito di simboli con s 0 detto bianco; P è un sottoinsieme di Q x S x S X S X {L, R}, l insieme delle quintuple di Z, privo di due quintuple con le prime due componenti uguali. Ora vediamo come si possa descrivere un passo di computazione attraverso una relazione che lega due descrizioni istantanee. Se indichiamo con z tale relazione, allora z IDI x IDI dove IDI indica l insieme delle descrizioni istantanee e IDI = S Q S S* ( indica concatenazione) o più semplicemente IDI = { α q i s j β }. La relazione z è definita nel modo che segue: a) α q i s j β z α q ij s L s ij β se q i s j s ij q ij L P (s L è il simbolo alla sinistra di s j prima del passo di calcolo, mentre s ij è quello scritto al posto di s j durante il passo) b) α q i s j β z α s ij q ij s R β se q i s j s ij q ij R P (s R indica il simbolo alla destra di s j prima del passo di calcolo, mentre s ij è quello scritto al posto di s j durante il passo). Definizione: Computazione Una computazione di una MdT Z è una sequenza finita d 0, d 1,, d i, d i + 1,, d n di descrizioni istantanee con (d i, d i + 1 ) z, i = 0,, n-1. Una computazione è terminale se esiste un intero n, tale che d n è terminale e d n =α n q in s jn β n ; in corrispondenza a d n la macchina si ferma e il valore finale della computazione è y = f z (x) = α n s jn β n. 5

6 Se facciamo partire Z da una configurazione iniziale d 0, allora o Z si fermerà, nel qual caso d 0 definisce univocamente la computazione della quale è primo elemento, o Z non si fermerà mai, nel qual caso Z non ha alcuna computazione della quale d 0 è primo elemento. La macchina di Turing soddisfa le condizioni richieste da una ragionevole definizione di algoritmo. Infatti: a) L insieme delle quintuple, o la matrice funzionale, della macchina costituisce un insieme finito di istruzioni; b) La MdT è l agente di calcolo che esegue le istruzioni citate in a); c) La macchina può utilizzare il nastro per memorizzare i risultati intermedi; d) La macchina opera in modo discreto; e) Opera in modo deterministico; f) Non esiste alcuna limitazione sulla lunghezza delle stringhe di ingresso in quanto il nastro è illimitato; g) Il nastro costituisce una memoria di capacità illimitata; h) Le operazioni che la macchina può eseguire sono semplici, di complessità limitata; i) Non esiste limite al numero di operazioni che vengono eseguite durante una computazione in quanto non esiste limite al numero di volte che una quintupla può essere usata; l) Esistono descrizioni istantanee iniziali che provocano computazioni che non si arrestano mai (calcolo di funzioni parziali). Esempi di MdT a) Calcolo del successivo di un numero Si tratta di definire la MdT che legge un numero in base 10 e calcola il suo successivo. Le operazioni da fare si possono schematizzare come segue: esaminare l ultima cifra del numero, se e` minore di 9 sommarle 1 e stop; altrimenti (cifra = 9) sostituirla con 0 e passare all analisi della cifra adiacente a sinistra. L alfabeto è S = {b, 0, 1,..., 9} (b denota blank); la DI iniziale è data dal numero che si vuole incrementare scritto sul nastro, dalla testina posizionata sull ultima cifra a destra e dal controllo nello stato iniziale q 0 :... b b b b... q 0 6

7 Una matrice funzionale potrebbe essere q b 1q 1 D 2q 1 D 3q 1 D q 1 D 9q 1 D 0q 1 S 1q 1 D q 1 con due stati q 0 e q 1 necessari per distinguere due situazioni i) 1 deve ancora essere sommato (q 0 ) ii) 1 è già stato sommato (q 1 ). Se in q 0 viene letta un cifra minore di 9, questa viene incrementata di 1 e il nuovo stato diventa q 1 ; altrimenti, se in q 0 viene letto un 9, lo si pone a 0 e si passa a incrementare di 1 la cifra di sinistra restando in stato q 0. Nello stato q 0 può essere letto il simbolo bianco e ciò accade quando si deve calcolare il successore di un numero con tutte le cifre uguali a 9: in questo caso, dopo che tutti i 9 sono stati messi a 0 sarà letto un bianco, il primo alla sinistra del 9 più significativo, nello stato q 0 ; a quel punto la macchina scriverà 1 e passerà in q 1 arrestandosi. Dalla matrice funzionale ricaviamo facilmente l insieme delle quintuple Eercizio P1 q q 1 D P2 q q 1 D P5 q q 1 D P9 q q 1 D P10 q q 0 S P11 q 0 b 1 q 1 D A partire dalla descrizione istantanea iniziale che segue: 142q 0 8 proseguire nella computazione sino all arresto della macchina. 7

8 Funzione calcolata da una MdT A ogni MdT Z puo` essere associata la funzione calcolata da Z, una volta che si siano fissate delle convenzioni per la codifica dei dati iniziali e del risultato finale. Ad esempio se si vuole calcolare una funzione f: N n --> N una codifica degli argomenti potrebbe essere: 0 --> > n --> 1 n+1 e il nastro potrebbe presentarsi come:...b b β 1 0 β β n 0 b b... dove β i rappresenta la codifica binaria dell argomento i-esimo. In queste ipotesi diremo che una funzione f: N n --> N e` Turing-calcolabile, se esiste una macchina di Turing, M f, di alfabeto {0, 1, b}, tale che ricevendo in ingresso una n-upla α in N n, produce in uscita f(α) : M f : 1 n n nn m + 1 f(n1, n2,..., nn) = m. Ecco il programma per una MdT che calcola la somma di due naturali rappresentati secondo la codifica indicata: 1. (q 0, 1, 1, q 0,R) 2. (q 0, 0, 1, q 1,R) 3. (q 1, 1, 1, q 1,R) 4. (q 1, 0, 0, q 2,L) 5. (q 2, 1, 0, q 3,L) 6. (q 3, 1, 0, q 4,L). Questa macchina calcola la funzione f(m, n) = m+n ; la parte di nastro diversa dal bianco (b) contiene una sequenza di m+1 1 seguita da 0 seguita da una sequenza di n

9 La macchina esegue nell ordine m+1 volte la prima istruzione scorrendo la prima di 1 e restando nello stato iniziale; 1 volta la seconda istruzione con la quale scrive 1 al posto dello 0 che separa le due sequenze; la sequenza iniziale viene modificata in una che contiene m+n+3 simboli 1 e lo stato diventa q 1 ; n+1 volte la terza istruzione scorrendo in tal modo la seconda sequenza di 1 presente sul nastro; 1 volta la quarta istruzione con la quale passa nello stato q 2 e posiziona la testina di lettura sull ultimo 1 presente sul nastro; 1 volta la quinta istruzione, con la quale cancella l ultimo 1 sulla destra sostituendolo con 0 e transisce nello stato q 3 ; una volta la sesta con la quale cancella l ultimo 1 corrente sulla destra, lo sostituisce con 0 e passa nello stato q 4. Non essendoci istruzioni applicabili in corrispondenza dello stato q 4, la computazione termina e la sequenza di m+n+1 1 presente sul nastro rappresenta l output della macchina: questa sequenza rappresenta in numero m+n secondo la codifica adoperata. Esercizio Data una sequenza di 0 e di1 scritta sul nastro, progettare una MdT che senza distruggere la sequenza conti il numero di occorrenze di 1 presenti e lo scriva in decimale alla sua sinistra. In letteratura, le MdT vengono presentate talvolta con qualche variante rispetto a queste note. Si dimostra anche che modifiche nella struttura di una MdT : variazione del numero degli stati, del numero dei simboli dell alfabeto, aumento del numero delle testine, del numero dei nastri o uso di nastri multidimensionali, non modificano l insieme delle funzioni Turing-calcolabili. La tesi di Church La nozione di calcolabilità effettiva sugli interi positivi si basa sul concetto di macchina di calcolo e si collega alla possibilità di realizzare un sistema fisico che rappresenti adeguatamente i dati e il cui funzionamento sia una simulazione fisica dei passi di calcolo. Una questione fondamentale riguarda la possibilità di determinare una macchina (una classe di macchine) in grado di calcolare qualsiasi funzione calcolabile nel senso indicato; ovvero una classe di macchine computazionalmente universali. La proposta di Turing assume un rilievo enorme poiché si è rivelata come risposta costruttiva alla questione precedente. Dopo poco tempo dalla pubblicazione dell articolo di Turing nel 1936, Alonzo Church propose di considerare le macchine di Turing come una classe di macchine computazionalmente universali formulando una proposta nota, oggi, come tesi 9

10 Tesi di Church Le macchine di Turing sono una classe di automi computazionalmente Universali. L enunciato di Church non è dimostrato. Potrebbe essere scoperta una macchina che calcola una funzione non Turingcomputabile. L impossibilità di un tale evento non può essere dimostrata matematicamente per il fatto che nessuna teoria matematica può dimostrare la non-esistenza di un oggetto che non è matematicamente definito. Nuove leggi fisiche e nuovi fenomeni, oggi ignoti, potrebbero in futuro ampliare la nozione di calcolo cosi come è, oggi, concepito. La tesi viene sorretta solo da argomenti informali e non può essere dedotta all interno di una teoria formale. A tutt oggi non si conoscono smentite alla tesi di Church. Inoltre tutti i modelli calcolo che sono stati via via proposti : Funzioni Ricorsive, Macchine a Registri, Funzioni Lambda-definibili,., si sono dimostrati equivalenti, quanto a potenza di calcolo, alle macchine di Turing. 10

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine

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

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di

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

Macchine di Turing: somma di due numeri

Macchine di Turing: somma di due numeri Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore

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

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

Turing, i nastri e le macchine

Turing, i nastri e le macchine Turing, i nastri e le macchine Giochiamo con i nastri Avete a disposizione un nastro diviso in sezioni rettangolari, che chiameremo caselle, ognuna delle quali può essere vuota oppure contenere la lettera

Dettagli

ITLCC 2006/10/6 19:09 page 7 #3

ITLCC 2006/10/6 19:09 page 7 #3 ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

UNA GERARCHIA DI MACCHINE

UNA GERARCHIA DI MACCHINE ELEMENTI DI PROGRAMMAZIONE a.a. 2015/16 UNA GERARCHIA DI MACCHINE UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di

Dettagli

Fondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.

Fondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. Fondamenti di Informatica Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2011-2012 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque operatore

Dettagli

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla

Dettagli

Precorsi di matematica

Precorsi di matematica Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin) LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE (Prof. Daniele Baldissin) L'uomo usa normalmente il sistema di numerazione decimale, probabilmente perché ha dieci dita. Il sistema decimale è collegato direttamente

Dettagli

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014

Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso

Dettagli

1 Multipli e sottomultipli. Divisibilità

1 Multipli e sottomultipli. Divisibilità Multipli e sottomultipli. Divisibilità LA TEORIA Se la divisione fra due numeri naturali è propria (cioè il resto è uguale a 0) i due numeri si dicono divisibili. Per esempio, nella divisione 8 : diciamo

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

L AUTOMA ESECUTORE L AUTOMA ESECUTORE

L AUTOMA ESECUTORE L AUTOMA ESECUTORE L AUTOMA ESECUTORE Metodo Risolutivo (algoritmo) Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto DATI Esecutore RISULTATI cioè capace di interpretare un linguaggio (linguaggio

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Limiti di successioni

Limiti di successioni Capitolo 5 Limiti di successioni 5.1 Successioni Quando l insieme di definizione di una funzione coincide con l insieme N costituito dagli infiniti numeri naturali 1, 2, 3,... talvolta si considera anche

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Il codice di Sarngadeva

Il codice di Sarngadeva Matematica - Musica Il codice di Sarngadeva È oggi riconosciuto da molti (vedi, ad esempio, Knuth [3]) come diverse nozioni combinatorie di base (quali il sistema binario, il triangolo di Tartaglia-Pascal,

Dettagli

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

Dettagli

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

Calcolo numerico e programmazione Rappresentazione dei numeri

Calcolo numerico e programmazione Rappresentazione dei numeri Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

L AUTOMA ESECUTORE L AUTOMA ESECUTORE

L AUTOMA ESECUTORE L AUTOMA ESECUTORE L AUTOMA ESECUTORE DATI Esecutore Metodo Risolutivo (algoritmo) RISULTATI Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio

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

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

Dettagli

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754 Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Il Modello di von Neumann (2) Prevede 3 entità logiche: Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura

Dettagli

Informatica Generale Homework di Recupero 2016

Informatica Generale Homework di Recupero 2016 Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola

Dettagli

La tesi di Church-Turing

La tesi di Church-Turing ITLCC 2006/11/12 21:06 page 79 #3 Capitolo 5 La tesi di Church-Turing SOMMARIO Sebbene il concetto di algoritmo abbia avuto una lunga storia nel campo della matematica, il concetto formale di algoritmo

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

7. INSIEMI APERTI, INSIEMI CHIUSI, INSIEMI NE APERTI NE CHIUSI

7. INSIEMI APERTI, INSIEMI CHIUSI, INSIEMI NE APERTI NE CHIUSI 7. INSIEMI APERTI, INSIEMI CHIUSI, INSIEMI NE APERTI NE CHIUSI Sia E un insieme numerico, sia cioè. Esempi Si dice che E è un insieme APERTO se tutti i suoi punti sono interni. Ogni intervallo aperto (dove

Dettagli

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R. 1 Introduzione alle matrici quadrate 2 2 a coefficienti in R Per introdurre il concetto di matrice, a 2 righe e 2 colonne, iniziamo col considerare griglie o tabelle di numeri Gli elementi della griglia,

Dettagli

Sistemi di numerazione

Sistemi di numerazione Sistemi di numerazione Introduzione Un sistema di numerazione è un sistema utilizzato per esprimere i numeri e possibilmente alcune operazioni che si possono effettuare su di essi. Storicamente i sistemi

Dettagli

2. I numeri reali e le funzioni di variabile reale

2. I numeri reali e le funzioni di variabile reale . I numeri reali e le funzioni di variabile reale Introduzione Il metodo comunemente usato in Matematica consiste nel precisare senza ambiguità i presupposti, da non cambiare durante l elaborazione dei

Dettagli

102 MACCHINE DI TURING

102 MACCHINE DI TURING 102 MACCHINE DI TURING Corso di Informatica Teorica - modulo 2 Prof. Settimo Termini 1 Introduzione Se, come già abbiamo affermato, nel costruire una Teoria della calcolabilità siamo guidati del desiderio

Dettagli

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

Aritmetica dei Calcolatori Elettronici

Aritmetica dei Calcolatori Elettronici Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo

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

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011 Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma

Dettagli

Sistemi di numerazione

Sistemi di numerazione Sistemi di numerazione Sistema di numerazione decimale Sapete già che il problema fondamentale della numerazione consiste nel rappresentare con un limitato numero di segni particolari, detti cifre, tutti

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

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

01 - Elementi di Teoria degli Insiemi

01 - Elementi di Teoria degli Insiemi Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 01 - Elementi di Teoria degli Insiemi Anno Accademico 2015/2016

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI

M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI Assumiamo come primitivo il concetto di insieme e quello di appartenenza di un elemento a un insieme. La notazione x A indica

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Forma Normale di Chomsky

Forma Normale di Chomsky 2. Eliminazione delle produzioni unitarie Forma Normale di Chomsky Una produzione si dice unitaria se è della forma A! B. Le produzioni unitarie in pratica consistono in una ridenominazione di variabili,

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi e derivate delle funzioni elementari Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim

Dettagli

Parte Seconda. Prova di selezione culturale

Parte Seconda. Prova di selezione culturale Parte Seconda Prova di selezione culturale TEORIA DEGLI INSIEMI MATEMATICA ARITMETICA Insieme = gruppo di elementi di cui si può stabilire inequivocabilmente almeno una caratteristica in comune. Esempi:

Dettagli

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Dettagli

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

LEZIONE 4. { x + y + z = 1 x y + 2z = 3 LEZIONE 4 4.. Operazioni elementari di riga. Abbiamo visto, nella precedente lezione, quanto sia semplice risolvere sistemi di equazioni lineari aventi matrice incompleta fortemente ridotta per righe.

Dettagli

Somma di due o più numeri naturali

Somma di due o più numeri naturali Somma di due o più numeri naturali Somma di due o più numeri naturali Abbiamo visto in precedenza che ad ogni insieme finito A corrisponde un ben preciso numero naturale che possiamo indicare col seguente

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

Dettagli

Concetti fondamentali

Concetti fondamentali Concetti fondamentali elemento insieme sequenza tutto si riconduce a questi insieme: esempi {,3,5,7,9} insieme dei numeri dispari positivi minori di dieci {Antonio, Beatrice, Carlo, Daria} insieme dei

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

Complementi di Analisi Matematica Ia. Carlo Bardaro

Complementi di Analisi Matematica Ia. Carlo Bardaro Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo

Dettagli

Calcolatori: Sistemi di Numerazione

Calcolatori: Sistemi di Numerazione Calcolatori: Sistemi di Numerazione Sistemi di Numerazione: introduzione In un Calcolatore, i Dati e le Istruzioni di un Programma sono codificate in forma inaria, ossia in una sequenza finita di e. Un

Dettagli

Note per la Lezione 4 Ugo Vaccaro

Note per la Lezione 4 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che

Dettagli

Piccolo teorema di Fermat

Piccolo teorema di Fermat Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod p). Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod

Dettagli

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Dettagli

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

Matematica 1 per Ottici e Orafi. I Numeri Reali

Matematica 1 per Ottici e Orafi. I Numeri Reali Matematica 1 per Ottici e Orafi I Numeri Reali Indichiamo con N l insieme dei numeri naturali 1, 2, 3,.... Su N sono definite due operazioni : e + che soddisfano le seguenti proprietá formali : a, b, c

Dettagli

8. Completamento di uno spazio di misura.

8. Completamento di uno spazio di misura. 8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme

Dettagli

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente

Dettagli

Calcolo e Quanti Una Brevissima Introduzione alla Computazione Quantistica

Calcolo e Quanti Una Brevissima Introduzione alla Computazione Quantistica Calcolo e Quanti Una Brevissima Introduzione alla Computazione Quantistica Ugo Dal Lago Collegio Superiore, Dicembre 202 Parte I Sistemi Classici e Probabilistici Preliminari Insiemi: A, B, C,...; Prodotto

Dettagli

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Sistemi di numerazione

Sistemi di numerazione Istituto Tecnico Lombardo Radice Sistemi di numerazione Appunti di Informatica - Roberto De Virgilio 1 1 Regole di un sistema di numerazione I sistemi di numerazioni sono linguaggi, quindi sono un insieme

Dettagli

Cosa si intende con stato

Cosa si intende con stato Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando

Dettagli

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Il Principio di induzione matematica è una tecnica di dimostrazione che permette la dimostrazione simultanea di infinite affermazioni.

Dettagli

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach Forme Normali A partire da una grammatica Context-free G è sempre possibile costruire una grammatica equivalente G ovvero L(G) = L(G ) che abbiano le produzioni in forme particolari, dette forme normali.

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

Le parole dell informatica: algoritmo e decidibilità

Le parole dell informatica: algoritmo e decidibilità Le parole dell informatica: algoritmo e decidibilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico dell Informatica

Dettagli

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi. NUMERI RAZIONALI Q Nell insieme dei numeri naturali e nell insieme dei numeri interi relativi non è sempre possibile effettuare l operazione di divisione. Infatti, eseguendo la divisione 7 2 si ottiene

Dettagli

CONVERSIONE DA DECIMALE A BINARIO

CONVERSIONE DA DECIMALE A BINARIO CONVERSIONE DA DECIMALE A BINARIO Il procedimento per convertire in forma binaria un certo numero decimale n consiste nello scrivere, andando da destra verso sinistra, le cifre oppure seguendo delle determinate

Dettagli