MACCHINE DI TURING defnizione formale del concetto astratto di algoritmo accettare riconoscimento parziale di tutti i linguaggi di tipo 0

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MACCHINE DI TURING defnizione formale del concetto astratto di algoritmo accettare riconoscimento parziale di tutti i linguaggi di tipo 0"

Transcript

1 MACCHINE DI TURING La macchina di Turing è un automa con testina di scrittura/lettura su un nastro "potenzialmente" illimitato. In ogni istante la macchina si trova in uno stato appartenente ad un insieme fnito di stati e legge un carattere sul nastro. La funzione di transizione in modo deterministico, sovrascrive il carattere, fa spostare la testina in una direzione o nell'altra, fa cambiare lo stato. Le macchine di Turing: forniscono una defnizione formale del concetto astratto di algoritmo (altre defnizioni sono state proposte e tutte quelle ragionevoli sono state dimostrate equivalenti tra di loro.) Anche i linguaggi di programmazione sono formulazioni ragionevoli ma hanno istruzioni troppo complesse e poco adatte a dimostrare la non esistenza di algoritmi per certi problemi. consentono di accettare (o di fare un riconoscimento parziale di) tutti i linguaggi di tipo 0; sono in grado di esprimere ogni procedimento di calcolo ("tesi di Church- Turing"). Hilbert (1900) formula 23 problemi matematici per il XX secolo. Tra di essi: l'aritmetica è consistente? (siamo certi che non sia possibile dimostrare un'asserzione e la sua negazione?) l'aritmetica è completa? (possiamo dimostrare ogni asserzione oppure la sua negazione?) l'aritmetica è decidibile? (esiste un algoritmo che consente di decidere se un'asserzione è un teorema?) Decimo problema di Hilbert: esiste un algoritmo che sa decidere se una equazione polinomiale a coeffcienti interi in più variabili ha una soluzione intera oppure no? Nel 1970 Matiyasevich ha risolto in negativo questo problema. Kurt Gödel (1931) I seguenti 4 risultati sono di Gödel (da M. Machtey, P. Young, An Introduction to the General Theory of Algorithms ): Non dimostrabilità della consistenza: per ogni teoria consistente, almeno forte quanto l aritmetica, la sua consistenza non può essere dimostrata all interno della teoria. Incompletezza: ogni teoria consistente, almeno forte quanto l aritmetica, ammette una sentenza S tale che nè S nè ~S può essere dimostrata nella teoria. Indecidibilità dei teoremi: per ogni teoria consistente, almeno forte quanto l aritmetica, non esiste algoritmo per decidere se una sentenza è un teorema oppure no. Indecidibilità della verità: non esiste algoritmo per decidere se una sentenza dell aritmetica è vera oppure no. Indecidibilità della validità logica (Teorema di Church): non esiste algoritmo per decidere se una sentenza matematica è vera in tutte le interpretazioni (cioè logicamente valida).

2 Alan M. Turing (logico, matematico, ) ha riformulato ( ) i risultati di Gödel sostituendo il linguaggio formale dell aritmetica con il modello delle Macchine di Turing. Dimostra l'indecidibilità dell'aritmetica procedendo così: defnisce il concetto di algoritmo introducendo la macchina che da lui prende il nome mostra che il problema della terminazione di una macchina di Turing è formulabile come un asserzione dell aritmetica (mediante una Gödelizzazione). mostra che la sua macchina non è in grado di risolvere il problema della terminazione di una generica macchina di Turing su un generico input che quindi è indecidibile. Ne segue che l'aritmetica stessa non è decidibile. Da allora, dopo l'introduzione dei calcolatori e di modelli di calcolo più "realistici" basati sul modello di Von Neumann, le macchine di Turing sono utilizzate: per studiare algoritmi di riconoscimento di linguaggi formali come modello elementare per defnire le funzioni calcolabili per defnire concetti di complessità computazionale. Def. Macchina di Turing: Γ b Q q 0 F δ M = < Γ, b, Q, q 0, F, δ > alfabeto di simboli carattere speciale, spazio bianco (blank) insieme fnito di stati stato iniziale insieme di stati fnali funzione di transizione (parziale) δ: (Q-F) (Γ {b}) Q (Γ {b}) {d, s, i} d, s, i indicano spostamento a destra, a sinistra e immobilità della testina Γ b = Γ {b} N.B. Il nastro, pur essendo infnito, ha un numero fnito di caratteri diversi da b. Es. (pag ): macchina che copia una parola di 0/1 a destra del primo blank (esempio di macchina che calcola f(x)=x). Es. macchina che entra in stati diversi su parole in L = { ww R w {a,b} + } o fuori di L. Es. macchina che scrive 0/1 su parole in L equal = {w#w w {a,b}*} o fuori di L equal. Modelli alternativi (su H. o B.) M = <, Γ, Q, q 0, q accept, q reject, δ > (H). Il nastro è semi_infnito con alfabeto di input Σ e alfabeto di lavoro Γ che contiene, oltre a Σ, almeno altri due caratteri, b (blank) e ç (primo carattere del nastro). M non può modifcare ç, nè andare a sinistra di esso. Ha due soli stati fnali. (B). In questo modello ç non c'è ed M non si può mai scrivere b. Molte varianti di macchine di Turing (tutte computazionalmente equivalenti): macchine a uno o più nastri macchine deterministiche e non deterministiche Possono essere usate come riconoscitori per riconoscere linguaggi L Σ *, con Σ Γ, oppure come trasduttori per calcolare funzioni f: Σ * Σ *, con Σ Γ.

3 Confgurazioni, transizioni e computazioni Confgurazione di una macchina: stringa c = xqy appartenente al linguaggio: L Γ. Q. R Γ dove L Γ = Γ Γ b * {ε}, mentre RΓ =Γ b * Γ {ε} iniziale: quando x = ε, q = q 0, y Γ *. fnale: quando q F Step (o passo o mossa o transizione): applicazione della funzione di transizione ad una confgurazione ( ): è relazione binaria tra due confgurazioni: c i c i+1 Computazione: sequenza, eventualmente infnita, di confgurazioni c 0, c 1,..., c i,... tali che: c 0 c 1... c i... La chiusura rifessiva e transitiva di (indicata con * ) è una relazione tra due confgurazioni c e c', che esprime l'esistenza di una computazione che da c porta a c' tramite un numero fnito (eventualmente nullo) di passi. Una computazione infnita non ha confgurazioni fnali. Una computazione fnita c 0, c 1,..., c n e' massimale se non esiste una confgurazione c tale che c n c. Una computazione massimale si conclude o con una confgurazione fnale o con una confgurazione in cui non e' defnita la funzione di transizione. Computazione di accettazione è computazione massimale c 0, c 1,..., c n con c 0 iniziale e c n fnale. Computazione di rifuto è computazione massimale c 0, c 1,..., c n con c 0 iniziale e c n non fnale. Una stringa y Σ * ( Σ Γ) è accettata (rifutata) se la computazione avente c 0 = q 0 y è di accettazione (di rifuto). Convenzioni. Computazione di accettazione: responso affermativo Computazione di rifuto: responso negativo Computazione infnita: nessun responso Tesi di Church-Turing Ogni procedimento algoritmico espresso nell ambito di un qualunque modello di calcolo è realizzabile mediante una macchina di Turing.

4 RICONOSCIMENTO / ACCETTAZIONE DI LINGUAGGI Informalmente: Una macchina di T. M riconosce (decide) un linguaggio L Σ * se per ogni x Σ * M è in grado di stabilire se x L oppure no. Una macchina di T. M accetta un linguaggio L Σ * se per tutte e sole le x L M è in grado di stabilire l'appartenenza, ma se x L M non garantisce di stabilire la sua non appartenenza. Def. M = < Γ, b, Q, q0, F, δ > riconosce (decide) un linguaggio L Σ * (con Σ Γ) se per ogni x Σ * esiste una computazione massimale: q 0 x * αqβ con α L Γ, β R Γ x L q F Non e' detto che una macchina di Turing possa sempre riconoscere un linguaggio. Def. M = < Σ, b, K, q0, F, δ > accetta un linguaggio L Σ * (con Σ Γ) se per tutte e sole le x L esiste una computazione massimale: q 0 x * αqβ con α L Γ, β R Γ,, q F Def. Un linguaggio è detto T-decidibile (decidibile secondo Turing) se esiste una macchina di Turing che lo riconosce. Def. Un linguaggio è detto T-semidecidibile (semidecidibile secondo Turing) se esiste una macchina di Turing che lo accetta. Per la tesi di Turing-Church possiamo parlare di linguaggio decidibile invece di T- decidibile e di linguaggio semidecidibile invece di T-semidecidibile. Es. 1) MT che riconosce L = {ww R w {a,b} + } MT che accetta L = {ww R w {a,b} + } e per le stringhe non in L cicla indefnitamente 2) MT che riconosce L equal = {w#w w {a,b}*} 3) MT che riconosce L middle = {x1y x,y {a,b}* con x = y } Esercizio. 5.5 sul libro: modello con due soli stati fnali q y e q N per caratterizzare l accettazione o il rifuto di una stringa. Esercizio. 5.6 sul libro: modello con un solo stato fnale q F ma con contenuti diversi del nastro (Y, N) al termine di una computazione di accettazione o di rifuto. (Basta marcare gli estremi)

5 CALCOLO DI FUNZIONI Sia f : * * una funzione parziale (defnita su un sottoinsieme D di * ) e sia Σ Γ. Def. Una macchina di Turing calcola la funzione parziale f se per tutte e sole le x nel dominio D di defnizione di f esiste q F tale che: q 0 x * xbqf(x) N.B. Altra defnizione possibile: q 0 x * qf(x) Se f è una funzione a più argomenti la computazione richiesta è: q 0 x 1 b...bx n * x 1 b...bx n bqf(x) Def. Una funzione (parziale) f per la quale esiste una macchina di Turing che la calcola è detta T-calcolabile (calcolabile secondo Turing). Per la tesi di Turing-Church possiamo parlare di funzione calcolabile invece di T- calcolabile. I concetti di calcolabilità (di funzioni) e di decidibilità o semidecidibilità (di linguaggi, di predicati, di problemi decisionali) basati sulle macchine di Turing hanno, per la tesi di Turing-Church, una validità che travalica il modello stesso. La classe delle funzioni intuitivamente calcolabili coincide con la classe delle funzioni T-calcolabili. La classe dei linguaggi intuitivamente decidibili (semidecidibili) coincide con la classe dei linguaggi T-decidibili (T-semidecidibili). Esempi 1) MT che calcola f(x) = x per x {0,1}*. M = < {0,1}, b, Q, q 0, {q 6 }, δ > 2) TM che calcola la funzione f(n) = n+1, con n rappresentato in base 1, 2, 10. 3) TM che calcola la funzione f(n, m) = n+m, con n ed m rappresentati in base 2 e separati dal simbolo b.

6 MT multitraccia Il nastro è suddiviso in tracce. Su un nastro di h tracce la testina può leggere/scrivere h caratteri contemporaneamente. La corrispondenza tra una macchina con nastro suddiviso in tracce ed una normale MT è immediata; basta osservare che se sulle tracce sono usati gli alfabeti Γ1, Γ2,..., Γh, una MT corrispondente ha un alfabeto Γ con Γ = Γ1 x Γ2x...x Γh. Def. Macchina di Turing a k nastri: Z0 δk MT MULTINASTRO (MTM) M = < Γ, b, Z 0, Q, q0, F, δ k > carattere speciale, iniziale funzione di transizione (parziale) δk : (Q-F) (Γb)k Q (Γ b)k {d, s, i}k Confgurazione: q#α1 β1#α2 β2#...#αk βk Confgurazione iniziale: q 0 # x # Z 0 #...# Z 0 cioè l'input x sta sul primo nastro; gli altri contengono il solo carattere Z 0 Su MT multinastro con nastro di input monodirezionale a sola lettura il simbolo Z 0 si usa solo sui nastri di lavoro. Es. 1. MTM per riconoscere xcxr con x {a, b} *. 2 nastri: uno di input monodirezionale a sola lettura e uno di lavoro; durante la scansione di x, fno a c, x viene copiata sul nastro di lavoro (sostituendo a con A e b con B); durante la scansione di xr si confrontano i caratteri con quelli sul nastro di lavoro (la testina si muove a destra sul primo nastro, a sinistra sul secondo). confgurazione iniziale della MTM: q # xcx 0 R # Z 0 3 stati: q 0 per scandire x, q 1 per scandire xr, q 2 fnale copiatura:, a, Z 0 ) = < q 0, a, A, d, d> δ(q, b, Z 0 0) = < q 0, b, B, d, d> δq, a, b) = < 0 q 0, a, A, d, d> δ(q, b, b) = < 0 q 0, b, B, d, d> passaggio dalla copiatura alla verifca:, c, b) = < q 1, c, b, d, s > verifca positiva: δ(q 1, a, A) = < q 1, a, A, d, s> δ(q 1, b, B) = < q 1, b, B, d, s> accettazione: δ(q 1, b, b) = < q 2, b, b, i, i> N.B. Scrivere anche il digramma di transizione.

7 Esempio di computazione con input bacab: q 0 # bacab# Z 0 q 0 #b acab#b b q 0 #ba cab#ba b q 1 #bac ab#b A q 1 #baca b# BA q 1 #bacab b# bba q 2 #bacab b# bba Es. 2. MTM per riconoscere xxr con x {a,b}. 3 nastri: uno di input monodirezionale e due di lavoro: si copia tutta la stringa sui due nastri di lavoro (sostituendo a con A e b con B); poi si posiziona la testina del secondo (terzo) nastro sul primo (ultimo) carattere e si scandiscono i due nastri in senso contrario effettuando i confronti. confgurazione iniziale della MTM: q 0 # w# Z 0 # Z 0 copiatura :, a, Z 0, Z 0 ) = < q 0, a, A, A, d, d, d >, b, Z 0, Z 0 ) = < q 0, b, B, B, d, d, d >, a, b, b) = < q 0, a, A, A, d, d, d >, b, b, b) = < q 0, b, B, B, d, d, d > termine della copiatura:, b, b, b) = < q 0, b, b, b, i, s, s> riposizionamento della seconda testina:, b, A, A) = < q 0, b, A, A, i, s, i >, b, B, A) = < q 0, b, B, A, i, s, i >, b, A, B) = < q 0, b, A, B, i, s, i >, b, B, B) = < q 0, b, B, B, i, s, I > fne del riposizionamento della testina:, b, b, A) = < q 1, b, b, A, i, d, i >, b, b, B) = < q 1, b, b, B, i, d, i > verifca: δ(q 1, b, A, A) = < q 1, b, A, A, i, d, s > δ(q 1, b, B, B) = < q 1, b, B, B, i, d, s > δ(q 1, b, b, b) = < q 2, b, b, b, i, i, i > Lemma. - Se un linguaggio è decidibile è anche semidecidibile. - Se un linguaggio è decidibile anche il suo complemento è decidibile. - Se un linguaggio L è semidecidibile ed anche L c è semidecidibile allora L ed L c sono decidibili. (Per ogni stato q i di M e q j di M c la macchina M' che decide L ha 2 nastri e stati q ij1 e q ij2 nei quali rispettivamente simula M sul primo nastro nello stato q i ed M c sul secondo nastro nello stato q j ).

8 Equivalenza tra MTM e MT Teorema. Data una MTM M = < Γ, b, Q, q0, F, δ k > a k nastri esiste una MT M' che simula t passi di M in O(t 2 ) passi, usando un alfabeto di cardinalità O( (2 Γ ) k ). Dim. Costruiamo una MT M' = < Γ', b, Q', q 0 ', F', δ' > con nastro suddiviso in 2k tracce che simula M. Le k tracce di posto pari di M' rappresentano i k nastri di M; sulle k tracce di posto dispari di M' con il carattere marcatore indichiamo la posizione delle testine di M sui suoi k nastri. Per simulare la funzione di transizione di M che è del tipo: δ k (qi, σ i1,..,σ ik ) = < qj, σ j1,.., σ jk, z j1,..,z jk > l a δ' deve rintracciare le posizioni dei marcatori, scrivere e spostare i marcatori poi cambiare stato. Per rintracciare le posizioni dei marcatori, M' ricorda nei suoi stati le posizioni relative (s, d, i) delle k testine di M rispetto alla sua. Quindi per ogni passo di M, M' scorre la porzione del suo nastro dal marcatore più a sinistra fno a quello più a destra e poi ritorna. Durante questa doppia passata M' aggiorna i contenuti del suo nastro e simula un passo di M: nell'andata rileva i simboli dei nastri, nel ritorno simula i cambiamenti. Il numero di passi che esegue per ogni passo di M è proporzionale alla distanza (numero di caselle) tra i due marcatori più lontani. Dopo t passi due marcatori possono essersi allontanati di al più di 2t caselle; se M esegue t passi, M' ne esegue O(t 2 ). Per ciò che riguarda la cardinalità di Γ b ' abbiamo da codifcare stringhe di 2k simboli così composte: 1 simbolo appartiene a Γ {b}; k-1 simboli appartengono a Γ {b, Z 0 }; k simboli appartengono a {b, }; quindi: Γ b ' = ( Γ +1)( Γ +2)k-1 2k = O(2k ( Γ +2)k) MT NONDETERMINISTICHE (MTND) Def. Macchina di Turing non deterministica: M = < Γ, b, Q, q0, F, δ N > δ N funzione parziale di transizione: (Q-F) Γb P(Q Γb {d, s, i}) Def. Grado di non determinismo di una macchina M ν(m) = max δ N (q i, σ j ) Una computazione di una macchina non deterministica può essere rappresentata con un albero di computazioni deterministiche dove i nodi rappresentano le confgurazioni, gli archi le transizioni. Il grado di non determinismo coincide con il massimo numero di fgli di un nodo di tale albero. Def. Una MTND accetta una stringa x se esiste una computazione di accettazione a partire dalla confg. c 0 = q 0 x. Def. Una MTND rifuta una stringa x se tutte le computazioni, a partire dalla confg. c 0 = q 0 x sono di rifuto. Oss. Una MTND può non dare un responso a partire dalla confg. c 0 = q 0 x. Esempio. (Pag 216) MTDN che accetta stringhe su Γ={a, b} del tipo xyyz, con y 2.

9 Equivalenza tra MTND e MT Th. Data una MTND M con h nastri e grado di nondeterminismo d esiste una MT M' con h+2 nastri equivalente. Se M accetta una stringa x in t passi, M' la accetta in O(t d t ) passi. Dim. Sia h = 1. M' visita l'albero di computazione di M in ampiezza (perchè non in profondità?). Per far questo si numerano da 1 a d gli elementi dell'insieme δ N (q, σ), per ogni coppia q, σ. Così ogni computazione di M di s passi è in corrispondenza biunivoca con una sequenza di s cifre comprese tra 1 e d. M' ha 3 nastri: nastro 1: per contenere l'input nastro 2: nastro 3: per generare, in ordine lessicografco, sequenze di interi tra 1 e d per simulare la computazione di M indicata dalla sequenza di interi presente sul nastro 2 Comportamento di M' : M' genera sul nastro 2, in ordine lessicografco, sequenze di interi tra 1 e d, di lunghezza via via crescente, a partire dalla lunghezza s = 0, poi lunghezza s=1, ecc.; per ogni sequenza generata: - M' copia l'input dal nastro 1 sul nastro 3; - usa gli s numeri della sequenza per scegliere, ad ogni passo, la transizione di M da simulare tra le d possibili; per ogni numero della sequenza: - se corrisponde ad una transizione possibile la simula (e se M raggiunge una confgurazione fnale anche M' accetta), altrimenti l esame della sequenza termina con esito negativo; Se su qualche foglia dell'albero di computazione di M c'e' uno stato fnale, allora M' lo raggiunge in tempo fnito altrimenti M' non raggiunge mai uno stato fnale. Dimostriamo che se M termina in t passi M' necessita di un numero di passi: t O(Σ s d s ) = O(t d t ) s=0 L uguaglianza si dimostra come segue. Dal fatto che: t Σ d s = (d t+1-1)/(d-1) s=0 derivando entrambi i membri dell uguaglianza rispetto a d si ottiene: t Σ s d s-1 = (td t+1 -(t+1)d t +1)/(d-1) 2 (td t+1 +1)/(d-1) 2 4 (td t+1 +1)/d 2 = O(t d t-1 )) s=1 poichè 4(d-1) 2 d 2 per d 2. Infne dal fatto che : t t Σ s d s = d Σ s ds -1 s=0 s=1 segue che t Σ s d s = O (t d t ). s=0 NOTA BENE. Le MTND non sono più potenti delle MT. Una macchina non det. può "risolvere" un problema in tempo polinomiale rispetto alla lunghezza dell'input, mentre la simulazione effettuata da una macchina det. può richiedere tempo esponenziale. Problema aperto. Esiste una simulazione più effciente? E' possibile simulare una macchina di Turing non deterministica con una deterministica in tempo polinomiale?

10 MT IN FORMA RIDOTTA Teorema. Per ogni MT M esiste una MT M' con nastro semi-infnito equivalente. Dim. M' utilizza un nastro a 3 tracce. Il nastro infnito viene piegato in due sulla 1 e 3 traccia. Sulla 2 traccia un simbolo o indica se la testina della macchina M si trova sulla parte semi-infnita sinistra o sulla parte semi-infnita destra. Un simbolo speciale segnala l inizio del nastro. (sul libro c è la simulazione dettagliata) Teorema. Per ogni MT M = < Γ, b, Q, q 0, F, δ > esiste una MT equivalente M '= < Γ', b, Q', q 0 ', F', δ' > con Γ'b = 2. Dim. I caratteri di Γb vengono codifcati con i 2 caratteri di Γ'b. (vedere es. sul libro) LINGUAGGIO DI TIPO 0 <=> ACCETTATO DA MT Teorema. Un linguaggio L è di Tipo 0 se e solo se è accettato da una MT. Dim. i) Tipo 0 -> accettato da MT (già vista una dimostrazione basata su tesi di Church) Mostriamo come, dato un linguaggio L, generato da una grammatica G di tipo 0, possiamo defnire una MT che lo accetta. Per semplifcare utilizziamo una MTND M con 3 nastri ma sappiamo che esiste una MT M' ad un solo nastro che può simulare M. I 3 nastri vengono utilizzati nel seguente modo: - N1 contiene la stringa x che deve essere esaminata, - N2 contiene le forme di frase che via via vengono derivate da S e che devono essere confrontate con la stringa x. - N3 è di lavoro Inizialmente su N2 c è la forma di frase S. Poi, ad ogni passo, in modo non deterministico, M applica alla forma di frase φ presente su N2 una possibile produzione e rimpiazza, aiutandosi con il terzo nastro, la forma di frase φ con una nuova forma di frase φ'. Poi verifca, naturalmente solo dopo aver applicato una produzione che ha nel lato destro solo simboli terminali, se φ' coincide con x ed in caso positivo M accetta x. ii) accettato da MT -> Tipo 0 Sia M una MT con alfabeto di nastro Γb, che accetta un linguaggio L * Γ *. Mostriamo come si può costruire una grammatica G di Tipo 0 che genera L. Se M accetta L vuol dire che, per tutte e sole le x L, essa realizza una computazione q0x * aqb, con q F (per semplicità supponiamo che esista un solo qf F). In corrispondenza della macchina M defniamo la grammatica G così. Il suo alfabeto non terminale è costituito dai simboli ausiliari A 1, A 2, A 3, A 4, A 5, da simboli corrispondenti agli stati di M e da simboli che rappresentano il contenuto di due piste [.] : una superiore che contiene caratteri di Σ {b}, una inferiore che contiene caratteri di Γ {b}. La grammatica opera nel seguente modo: 1. introduce lo stato iniziale 2. genera una parola di Σ * sulle due piste 3. genera un numero arbitrario di b a destra e a sinistra di x sulle piste 4. simula M sulla pista inferiore 5. verifca che la pista inferiore sia una confgurazione fnale e, solo in tal caso, 6. trasforma la forma di frase ottenuta in una stringa di Σ *. Il resto a pag del libro.

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

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

Teoria della Complessità Computazionale. Accettazione/riconoscimento di linguaggi in tempo/spazio

Teoria della Complessità Computazionale. Accettazione/riconoscimento di linguaggi in tempo/spazio Teoria della Complessità Computazionale. Obiettivo: classifcare i problemi (risolubili con algoritmi) in base alle risorse di calcolo che richiedono per essere risolti. Risorse: tempo e spazio (memoria)

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 E CALCOLABILITA SECONDO TURING

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

Dettagli

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

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

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

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

Macchine a registri RAM (Random Access Machines)

Macchine a registri RAM (Random Access Machines) Macchine a registri RAM (Random Access Machines) Introdotte da Shepherdson e Sturgis nel 1963 per sviluppare la teoria della calcolabilità con un modello astratto di un reale calcolatore (macchina di von

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

Informatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004

Informatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004 Informatica Teorica Sezione Cremona + Como Appello del 20 Luglio 2004 Coloro che recuperano la I prova risolvano gli esercizi e 2 tra quelli indicati qui sotto entro un ora. Coloro che recuperano la II

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

12. MACCHINE DI TURING E CALCOLABILITA

12. MACCHINE DI TURING E CALCOLABILITA 12. MACCHINE DI TURING E CALCOLABILITA 12.1 Funzioni calcolabili secondo Turing 12.2 Insiemi e linguaggi decidibili e semidecidibili 12.3 Macchine di Turing multinastro e nondeterministiche 12.4 Macchina

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

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 macchine di Turing a nastro singolo macchine di Turing multinastro macchine di Turing trasduttrici

Dettagli

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

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

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica

Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica Raccolti e curati da Luca Spada Indice 1 Temi 1 1.1 Logica Matematica.......................... 1 1.2

Dettagli

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia Insiemi, Numeri, Terminologia Prof. Simone Sbaraglia Corso Rapido di Logica Matematica La logica formale definisce le regole cui deve obbedire qualsiasi teoria deduttiva. Una proposizione e` una affermazione

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

Grafi e gruppo fondamentale di un grafo

Grafi e gruppo fondamentale di un grafo Grafi e gruppo fondamentale di un grafo Note per il corso di Geometria IV (relative alla parte dei 6 crediti) Milano, 2010-2011, M.Dedò Come trovare un grafo omotopicamente equivalente all'oggetto 3d raffigurato

Dettagli

Logica proposizionale

Logica proposizionale Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite

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

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

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

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Varianti Macchine di Turing

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

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

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

Proprietà dei linguaggi regolari

Proprietà dei linguaggi regolari Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti

Dettagli

Aniello Murano Decidibilità delle teorie logiche

Aniello Murano Decidibilità delle teorie logiche Aniello Murano Decidibilità delle teorie logiche 11 Lezione n. Parole chiave: Teorie logiche Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Prefazione Nelle lezioni

Dettagli

Esercizio su MT. Svolgimento

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

Dettagli

04 - Logica delle dimostrazioni

04 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,

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

1 IL LINGUAGGIO MATEMATICO

1 IL LINGUAGGIO MATEMATICO 1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti

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

Costruzione di espressioni regolari 4

Costruzione di espressioni regolari 4 ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il

Dettagli

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

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

Dettagli

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

Tipologie di macchine di Turing

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

Dettagli

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

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni Università degli Studi di Udine Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni 1 Automi e Linguaggi 1. Sia dato p N, p > 0 dimostri che il linguaggio è regolare. L p = { a 0 a 1... a

Dettagli

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il metodo dei Piani di Taglio (Cutting Planes Method) Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file

Dettagli

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di

Un monomio è in forma normale se è il prodotto di un solo fattore numerico e di fattori letterali con basi diverse. Tutto quanto sarà detto di DEFINIZIONE Espressione algebrica costituita dal prodotto tra una parte numerica (coefficiente) e una o più variabili e/o costanti (parte letterale). Variabili e costanti possono comparire elevate a potenza

Dettagli

1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine

1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine 1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine In questo tipo di giochi l arena è costituita da due grafi orientati G = (V, E), G = (V, E ). Lo scopo del I giocatore è di mostrare, in un numero

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto

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

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE ROBERTO GIAMBÒ 1. DEFINIZIONI E PRIME PROPRIETÀ In queste note saranno presentate alcune proprietà principali delle funzioni convesse di una variabile

Dettagli

Macchine di Turing e Complessità

Macchine di Turing e Complessità Macchine di Turing e Complessità Lucidi di Pierluigi Crescenzi,Università di Firenze, adattati ed estesi da A.Marchetti Spaccamela A.A. 2012-2013 Pilu Crescenzi () IT A.A. 2012-2013 1 / 150 Obiettivi e

Dettagli

Condizione di allineamento di tre punti

Condizione di allineamento di tre punti LA RETTA L equazione lineare in x e y L equazione: 0 con,,, e non contemporaneamente nulli, si dice equazione lineare nelle due variabili e. Ogni coppia ; tale che: 0 si dice soluzione dell equazione.

Dettagli

AUTOMI A PILA. M.P. Schutzenberger

AUTOMI A PILA. M.P. Schutzenberger UTOMI PIL Introdotti da. G. Oettinger in utomatic Syntactic nalysis and the pushdown store Proc. Symp. pplied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata Information

Dettagli

Funzioni implicite - Esercizi svolti

Funzioni implicite - Esercizi svolti Funzioni implicite - Esercizi svolti Esercizio. È data la funzione di due variabili F (x, y) = y(e y + x) log x. Verificare che esiste un intorno I in R del punto di ascissa x 0 = sul quale è definita

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

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

Corso di Analisi Numerica

Corso di Analisi Numerica Corso di Laurea in Ingegneria Informatica Corso di 3 - PROBLEMI DI INTERPOLAZIONE Lucio Demeio Dipartimento di Scienze Matematiche 1 Interpolazione: Polinomio di Lagrange 2 3 Introduzione Problemi di interpolazione

Dettagli

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice

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

Operatori di relazione

Operatori di relazione Condizioni Negli algoritmi compaiono passi decisionali che contengono una proposizione (o predicato) dal cui valore di verità dipende la sequenza dinamica Chiamiamo condizioni tali proposizioni Nei casi

Dettagli

Aniello Murano Automi e Pushdown

Aniello Murano Automi e Pushdown Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali

Dettagli

Matematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1

Matematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1 Corso integrato di Matematica per le scienze naturali ed applicate Materiale integrativo Paolo Baiti 1 Lorenzo Freddi 1 1 Dipartimento di Matematica e Informatica, Università di Udine, via delle Scienze

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio

Dettagli

Le grammatiche formali

Le grammatiche formali Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente

Dettagli

Presentazioni di gruppi: generatori e relazioni

Presentazioni di gruppi: generatori e relazioni Presentazioni di gruppi: generatori e relazioni Note per il corso di Geometria 4 (relative alla parte dei 6 crediti) Milano, 2011-2012, M.Dedò N.B. Quanto segue si appoggia fortemente al testo [M] consigliato

Dettagli

Algebra di Boole X Y Z V. Algebra di Boole

Algebra di Boole X Y Z V. Algebra di Boole L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che

Dettagli

04 - Numeri Complessi

04 - Numeri Complessi Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,

Dettagli

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno. Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più

Dettagli

MODULO 07 LA MACCHINA DI TURING

MODULO 07 LA MACCHINA DI TURING 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

Dettagli

La macchina universale

La macchina universale La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*

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

Logica e Informatica: cosa i calcolatori possono e non possono fare. Simone Martini

Logica e Informatica: cosa i calcolatori possono e non possono fare. Simone Martini Logica e Informatica: cosa i calcolatori possono e non possono fare Simone Martini Dipartimento di Scienze dell Informazione Alma Mater Studiorum Università di Bologna 1 io Simone Martini Professore di

Dettagli

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero Il teorema degli zeri è fondamentale per determinare se una funzione continua in un intervallo chiuso [ a ; b ] si annulla in almeno un punto interno

Dettagli

1 Ampliamento del piano e coordinate omogenee

1 Ampliamento del piano e coordinate omogenee 1 Ampliamento del piano e coordinate omogenee Vogliamo dare una idea, senza molte pretese, dei concetti che stanno alla base di alcuni calcoli svolti nella classificazione delle coniche. Supponiamo di

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

Le macchine di Turing

Le macchine di Turing Le macchine di Turing Alan Turing (1912-1954) 1954) Il problema della decisione i L Entscheidungsproblem [il problema della decisione] è risolto se si conosce una procedura che permette di decidere la

Dettagli

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE.

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. PH. ELLIA Indice Introduzione 1 1. Divisori di un numero. 1 2. Il Teorema Fondamentale dell Aritmetica. 2 3. L insieme dei numeri primi è

Dettagli

Strutture algebriche. Leggi di composizione. Leggi di composizione. Gruppi Insiemi di numeri Polinomi

Strutture algebriche. Leggi di composizione. Leggi di composizione. Gruppi Insiemi di numeri Polinomi Introduzione S S S S Le strutture algebriche sono date da insiemi con leggi di composizione binarie (operazioni) ed assiomi (proprietà) Una legge di composizione binaria è una funzione : I J K, una legge

Dettagli

Teoria dei modelli. Alessandro Berarducci. 3 Marzo Dipartimento di Matematica Pisa

Teoria dei modelli. Alessandro Berarducci. 3 Marzo Dipartimento di Matematica Pisa Teoria dei modelli Alessandro Berarducci Dipartimento di Matematica Pisa 3 Marzo 2014 Teoria dei campi algebricamente chiusi Denizione 1 La teoria del primo ordine dei campi algebricamente chiusi, ACF,

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

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Problema di PLI in forma standard: max cx Ax = b x 0, x I n I insieme degli interi. Regione ammissibile:

Dettagli

FUNZIONI. y Y. Def. L insieme Y è detto codominio di f. Es. Siano X = R, Y = R e f : x y = 1 x associo il suo inverso). (ad un numero reale

FUNZIONI. y Y. Def. L insieme Y è detto codominio di f. Es. Siano X = R, Y = R e f : x y = 1 x associo il suo inverso). (ad un numero reale FUNZIONI Siano X e Y due insiemi. Def. Una funzione f definita in X a valori in Y è una corrispondenza (una legge) che associa ad ogni elemento X al piú un elemento in Y. X Y Def. L insieme Y è detto codominio

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

Proprieta dei Linguaggi regolari

Proprieta dei Linguaggi regolari Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.

Dettagli

ALGEBRE DI BOOLE. (d) x, y X x y oppure y x.

ALGEBRE DI BOOLE. (d) x, y X x y oppure y x. ALGEBRE DI BOOLE Un insieme parzialmente ordinato è una coppia ordinata (X, ) dove X è un insieme non vuoto e " " è una relazione binaria definita su X tale che (a) x X x x (riflessività) (b) x, y, X se

Dettagli

Matematica. Funzioni. Autore: prof. Pappalardo Vincenzo docente di Matematica e Fisica

Matematica. Funzioni. Autore: prof. Pappalardo Vincenzo docente di Matematica e Fisica Matematica Funzioni Autore: prof. Pappalardo Vincenzo docente di Matematica e Fisica Le Funzioni e loro caratteristiche Introduzione L analisi di diversi fenomeni della natura o la risoluzione di problemi

Dettagli

Funzioni calcolabili e linguaggi decidibili

Funzioni calcolabili e linguaggi decidibili Informatica Teorica 2012/2013 M.Di Ianni Funzioni calcolabili e linguaggi decidibili Abbiamo definito i concetti di accettabilità e decidibiltà di un linguaggio, che sono correlati al modello di macchina

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

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

Dettagli

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza NP-Completezza e la complessità strutturale degli algoritmi Simone Frassanito Dipartimento di Elettronica per l Automazione Università degli Studi di Brescia Cosa non è l NP-Completezza Si potrebbe pensare

Dettagli

Macchine di Turing. a n B B. Controllo Finito

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

Dettagli

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente

Dettagli

ALGEBRA I: SOLUZIONI QUINTA ESERCITAZIONE 9 maggio 2011

ALGEBRA I: SOLUZIONI QUINTA ESERCITAZIONE 9 maggio 2011 ALGEBRA I: SOLUZIONI QUINTA ESERCITAZIONE 9 maggio 2011 Esercizio 1. Usando l algoritmo euclideo delle divisioni successive, calcolare massimo comune divisore e identità di Bézout per le seguenti coppie

Dettagli

Parte III. Incontro del 26 gennaio 2012

Parte III. Incontro del 26 gennaio 2012 Parte III Incontro del 6 gennaio 01 17 Alcuni esercizi Esercizio (Giochi di Archimede 011). Un canguro e una rana si trovano inizialmente sullo stesso vertice di un poligono regolare di 41 lati, e cominciano

Dettagli

DIFFERENZIAZIONE. Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim

DIFFERENZIAZIONE. Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim DIFFERENZIAZIONE 1 Regola della catena Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim = f (x 0 ). x x 0 x x 0 Questa

Dettagli