MACCHINE DI TURING defnizione formale del concetto astratto di algoritmo accettare riconoscimento parziale di tutti i linguaggi di tipo 0
|
|
- Leo Franco
- 7 anni fa
- Visualizzazioni
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 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
DettagliCapitolo 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
DettagliTeoria 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)
DettagliMa 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?
DettagliMACCHINE 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
DettagliMacchine 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,
DettagliLe 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
DettagliAppunti 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)
DettagliLinguaggi 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
DettagliMacchine 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
DettagliLinguaggi 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
DettagliLOGICA 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
DettagliInformatica 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
DettagliLa 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
Dettagli12. 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
DettagliIl 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
DettagliSommario. 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
DettagliAlgoritmi 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
Dettagliacuradi 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
DettagliLaurea 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
DettagliPARTE 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
DettagliAlcune 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
DettagliInsiemi, 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
DettagliInformatica 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
DettagliGrafi 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
DettagliLogica 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
DettagliAlgoritmi 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
DettagliITLCC 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
DettagliLinguaggio 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
DettagliPARTE 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
DettagliVarianti 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
DettagliPumping 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=
DettagliForma 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,
DettagliProprietà 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
DettagliAniello 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
DettagliEsercizio 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
Dettagli04 - 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,
DettagliParole 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
Dettagli1 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
DettagliSviluppi 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
DettagliCostruzione 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:
DettagliAlgoritmi 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
DettagliMacchine 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
DettagliForme 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.
DettagliTipologie 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
DettagliL 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
DettagliUniversità 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
DettagliIl 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
DettagliLinguaggi 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
DettagliUn 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
Dettagli1 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
DettagliParte 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
DettagliInformatica/ 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
DettagliLa 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
DettagliNOTE 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
DettagliMacchine 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
DettagliCondizione 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.
DettagliAUTOMI 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
DettagliFunzioni 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
DettagliPrecorsi 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
DettagliELEMENTI 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
DettagliCorso 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
DettagliCenni 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
Dettagli01 - 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
DettagliOperatori 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
DettagliAniello 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
DettagliMatematica. 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
DettagliProblemi, 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
DettagliGrammatiche. 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
DettagliLe 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
DettagliPresentazioni 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
DettagliAlgebra 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
Dettagli04 - 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,
DettagliIn 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ù
DettagliMODULO 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
DettagliLa 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}*
DettagliLinguaggi 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
DettagliLogica 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
DettagliIL 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
Dettagli1 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
DettagliPiccolo 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
DettagliLe 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
DettagliIL 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 è
DettagliStrutture 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
DettagliTeoria 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,
DettagliEsercizi 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}
DettagliProgrammazione 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:
DettagliFUNZIONI. 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
DettagliLezione 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
DettagliProprieta 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.
DettagliALGEBRE 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
DettagliMatematica. 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
DettagliFunzioni 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
DettagliLa 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
DettagliIntroduzione 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
DettagliMacchine 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
DettagliLuca 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
DettagliALGEBRA 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
DettagliParte 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
DettagliDIFFERENZIAZIONE. 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