MACCHINE DI TURING E CALCOLABILITA SECONDO TURING

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MACCHINE DI TURING E CALCOLABILITA SECONDO TURING"

Transcript

1 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 secondo Turing Indecidibilita del problema della terminazione

2 2.1 MACCHINE DI TURING La macchina di Turing è un automa con testina di scrittura/lettura su nastro bidirezionale "potenzialmente" illimitato. Ad ogni istante la macchina si trova in uno stato appartenente ad un insieme finito e legge un carattere sul nastro. La funzione di transizione, in modo deterministico, fa scrivere un carattere, fa spostare la testina in una direzione o nell'altra, fa cambiare lo stato.

3 Le macchine di Turing: forniscono una definizione formale del concetto di algoritmo consentono il riconoscimento, almeno "parziale" (semidecidibilità, accettazione), di tutti i linguaggi di tipo 0 sono in grado di simulare ogni linguaggio di programmazione ed ogni altro modello di calcolo ("tesi di Church-Turing").

4 Def. Macchina di Turing: M=<Σ,b,K,q0,F,δ> Σ alfabeto di simboli b carattere speciale, spazio bianco (blank) K insieme finito di stati q 0 stato iniziale F insieme di stati finali δ funzione di transizione (parziale) δ: K (Σ {b}) K (Σ {b}) {d,s,i} d,s,i indicano spostamento a destra, a sinistra e immobilita' della testina Σb = Σ {b}

5 Possiamo definire molte varianti di macchine di Turing (tutte computazionalmente equivalenti) macchine a uno o piu' nastri macchine per calcolare funzioni macchine per riconoscere linguaggi macchine deterministiche e non deterministiche macchine con alfabeto limitato macchine con nastro seminfinito

6 Configurazioni e computazioni NOTA BENE. Il nastro, pur essendo infinito, ha un numero finito di caratteri b Def. Configurazione di una macchina: porzione finita del nastro diversa da b + posizione della testina + stato corrente Rappresentazione di una configurazione: stringa appartenente al linguaggio (Σb)*.K.(Σb)+ Esempio abbbbqiabbbbb

7 La conoscenza di una configurazione e della funzione di transizione consente di determinare la configurazione successiva. Normalmente si fa l'ipotesi che all'inizio della computazione il nastro contenga l'input, il resto del nastro contenga b e la testina sia sul primo carattere dell'input Configurazione iniziale: stringa appartenente al linguaggio {q 0 }.(Σb)+ Configurazione finale: stringa appartenente al linguaggio (Σb)*.F.(Σb)+

8 Def. Relazione di transizione per macchina di Turing ( ): relazione binaria sulle configurazioni c i c i+1 Def. Computazione per macchina di Turing: sequenza eventualmente infinita di configurazioni <c1,c2,...,ci,...> tali che: La notazione c 1 c 2... c i c i+1... c 1 * c 2 indica l'esistenza di una computazione che da c 1 porta a c 2 tramite un numero finito (eventualmente 0) di transizioni.

9 Convenzione. In ogni computazione può esistere al più una configurazione finale; se la macchina raggiunge una configurazione finale il calcolo termina. NOTA BENE. Una computazione infinita non ha configurazioni finali. Def. Una computazione finita c 1 c 2... cn e' massimale se non esiste una configurazione c tale che c n c. Def. Una computazione massimale <c 0, c 1,..., c n > è accettante se c 0 è iniziale e c n è finale. Def. Una computazione massimale <c 0, c 1,..., c n > è rifiutante se c 0 è iniziale e c n non è finale.

10 Convenzioni. Computazione accettante: responso affermativo Computazione rifiutante: responso negativo Computazione non terminante: nessun responso Una macchina di Turing M riconosce un linguaggio L se per ogni x Σ* M è in grado di stabilire se x L o no Una macchina di Turing M accetta un linguaggio L se per tutte e sole le x L M è in grado di stabilire tale appartenenza, ma se x L M non garantisce un comportamento prestabilito.

11 Def. M=<Σ,b,K,q 0,F,δ> riconosce (decide) un linguaggio L se per ogni x Σ* esiste q K tale che q 0 x * αqβ con α (Σb)* e β (Σb)+ e la computazione corrispondente è massimale, se e solo se x L allora q F Def. Un linguaggio riconosciuto da una macchina di Turing è detto decidibile. NOTA BENE. Non è detto che una macchina di Turing possa sempre riconoscere un linguaggio.

12 Def. M=<Σ,b,K,q 0,F,δ> accetta un linguaggio L se per tutte e sole le x L esiste q F tale che q 0 x * αqβ con α (Σb)* e β (Σb)+. Un linguaggio L è accettato da una macchina di Turing M se: L = L(M) = {x x Σ* q0x *αqβ q F} con α (Σb)*, β (Σb)+. Def. Un linguaggio accettato da una macchina di Turing è detto semidecidibile. NOTA BENE. Se un linguaggio è decidibile è anche semidecidibile.

13 Def. Macchina di Turing trasduttrice: ogni configurazione finale è del tipo xbqy, dove x è il contenuto del nastro all'inizio della computazione Def. Una macchina trasduttrice calcola la funzione f se per tutte e sole le x nel dominio di definizione di f esiste q F tale che: q 0 x *xbqf(x) NOTA BENE. Se D è il dominio e D' il codominio della funzione f, x ed f(x) sono rispettivamente rappresentazioni degli elementi di D e D' nell'alfabeto della macchina. Def. Una funzione (parziale) f per la quale esiste una macchina di Turing che la calcola è detta calcolabile secondo Turing (T-calcolabile).

14 Esercizi Realizzare le macchine di Turing che accettano i linguaggi { wcwr w (a+b)+} { wwr w (a+b)+} { wcw w (a+b)+} Realizzare le macchine di Turing che calcolano le funzioni f(x) = xcx, x (a+b)+ f(x) = x+1, dove x ed x+1 sono interi rappresentati in binario f(x, y) = x+y, dove x, y ed x+y sono interi rappresentati in binario

15 2.2 MT MULTINASTRO (MTM) Def. Macchina di Turing a k nastri: Mk=<Σ,b,Z0,K,q 0,F,δ(k)> Σ b Z0 K q 0 F alfabeto carattere speciale, spazio bianco carattere speciale, iniziale insieme finito di stati stato iniziale insieme di stati finali δ(k) funzione di transizione δ : K (Σb)k K (Σb)k {d,s,i}k

16 Configurazioni, transizioni e computazioni Configurazione: q#α1 β1#α2 β2#...#αk βk q e' lo stato; la stringa αi βi indica il contenuto e la posizione della testina sul nastro i. αi e' eventualmente vuota e il primo carattere di βi e' il carattere attualmente osservato configurazione finale: configurazione iniziale: q appartiene a F q0# β1# Z0#...# Z0 l'input sta sul primo nastro e gli altri contengono il carattere Z0 transizioni e computazioni: analoghi alle MT

17 Esempi di macchine a più nastri: - un trasduttore con un nastro di input (sola lettura), un nastro di output (sola scrittura) e uno o più nastri di lavoro (lettura e scrittura) - un riconoscitore con un nastro di input (sola lettura e one way) e uno o più nastri di lavoro (lettura e scrittura, bidirezionali) Esercizio. Realizzare una macchina di Turing a due nastri che riconosce il linguaggio { xcxr x (a+b) + } Nota bene. L automa a pila può essere visto come una macchina di Turing a due nastri, il primo di sola lettura e one way, il secondo utilizzato in modo LIFO, come una pila.

18 Soluzione dell esercizio. MTM per riconoscere xcxr con x {a,b} + usiamo 2 nastri: uno di input monodirezionale a sola lettura e uno di lavoro che usiamo come pila durante la scansione di x, fino a c, x viene copiata sul nastro di lavoro durante la scansione di xr si confrontano i caratteri con quelli sul nastro di lavoro configurazione iniziale della MTM: q 0 # z# Z 0

19 3 stati: q0 per scandire x q 1 q 2 per scandire xr stato finale copiatura iniziale: δ(q 0,a,Z 0 )=<q 0,a,A,d,d> δ(q 0,b,Z 0 )=<q 0,b,B,d,d> copiatura a regime: δ(q 0,a,b)=<q 0,a,A,d,d> δ(q 0,b,b)=<q 0,b,B,d,d> passaggio dalla copiatura alla verifica: δ(q 0,c,b)=<q 1,c,b,d,s>

20 verifica positiva: δ(q 1,a,A)=<q 1,a,A,d,s> δ(q 0,b,B)=<q 1,b,B,d,s> accettazione: δ(q 1,b,b)=<q 2,b,b,i,i> 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

21 computazione con input acb: q 0 # acb # Z0 q 0 #a cb #a b q 1 #ac b # a

22 Equivalenza tra MTM e MT Strumento di lavoro: MT a nastro suddiviso in tracce se il nastro ha h tracce la testina può leggere/scrivere h caratteri contemporaneamente la corrispondenza tra MT a nastro suddiviso in tracce ed una normale MT è immediata osservazione: se sulle tracce sono usati gli alfabeti Σ1,Σ2,...,Σh, una MT corrispondente ha un alfabeto Σ con Σ Σ1 x Σ2 x...x Σh

23 Teorema. Data una MTM M=<Σ,b,K,q 0,F,δ(k)> a k nastri esiste una MT che simula t passi di Mk in O(t 2 ) passi usando un alfabeto di cardinalità O((2 Σ )k) Dim. Costruiamo una MT M'=<Σ',b,K',q 0 ',F',δ'> con nastro suddiviso in 2k tracce che simula M poi costruiamo una MT M" equivalente a 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 " " indichiamo la posizione delle testine sui k nastri di M

24 il nastro di M' all' inizio della computazione si presenta con tutte le tracce dispari "vuote" tranne la prima per simulare la funzione di transizione di M che e' del tipo: δ(k)(qi,σi1,..,σik) = <qj,σj1,..,σjk,zj1,..,zjk> la δ' deve: rintracciare le posizioni dei marcatori, scrivere e spostare i marcatori, cambiare stato quindi per ogni passo di M, M' deve eseguire un numero di passi proporzionale alla distanza (numero di caselle) tra i due marcatori piu' lontani

25 dopo t passi due marcatori possono essersi allontanati di al piu' O(t) caselle se M esegue t passi, M' ne esegue O(t 2 ) M" esegue gli stessi passi di M' per cio' che riguarda la cardinalita' dell'alfabeto di M" abbiamo da codificare con un solo alfabeto stringhe di 2k simboli cosi' composte: k simboli appartengono a {b, } 1 simbolo appartiene a Σ {b} k-1 simboli appartengono a Σ {b,z 0 } Σ" = 2 k ( Σ +1)( Σ +2) k-1 = O((2 Σ ) k )

26 Esempio. MTM per riconoscere xxr con x {a,b} usiamo 3 nastri: uno di input monodirezionale e due di lavoro copiamo la stringa sui due nastri di lavoro poi scandiamo i due nastri in senso contrario ed effettuiamo i confronti configurazione iniziale della MTM: q 0 # w# Z 0 # Z 0 copiatura iniziale: δ(q 0,a,Z 0,Z 0 )=<q 0,a,A,A,d,d,d> δ(q 0,b,Z 0,Z 0 )=<q 0,b,B,B,d,d,d> copiatura a regime: δ(q 0,a,b,b)=<q 0,a,A,A,d,d,d> δ(q 0,b,b,b)=<q 0,b,B,B,d,d,d>

27 termine della copiatura: δ(q 0,b,b,b)=<q 0,b,b,b,i,s,s> riposizionamento della testina: δ(q 0,b,A,A)=<q 0,b,A,A,i,s,i> δ(q 0,b,B,A)=<q 0,b,B,A,i,s,i> δ(q 0,b,A,B)=<q 0,b,A,B,i,s,i> δ(q 0,b,B,B)=<q 0,b,B,B,i,s,i> fine del riposizionamento della testina: δ(q 0,b,b,A)=<q 1,b,b,A,i,d,i> δ(q 0,b,b,B)=<q 1,b,b,B,i,d,i> verifica: δ(q1,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>

28 2.3 MT NONDETERMINISTICHE (MTND) Def. Macchina di Turing non deterministica: M=<Σ,b,K,q 0,F,δN> Σ alfabeto di simboli b carattere speciale, spazio bianco K insieme finito di stati q 0 stato iniziale F insieme di stati finali δn funzione parziale di transizione δn: K Σb P(K Σb {d,s,i})

29 La macchina di Turing non deterministica può eseguire più transizioni. Def. Grado di non determinismo di una macchina M ν(m) = max δn(qi,σj) Una computazione eseguita da una macchina non deterministica può essere rappresentata con un albero di computazioni deterministiche. nodi: configurazioni archi: transizioni NOTA BENE. Il grado di non determinismo coincide con il massimo numero di figli di un nodo dell'albero di computazione

30 Possiamo utilizzare macchine di Turing non deterministiche per accettare linguaggi. Def. Una MTND accetta una stringa se nell'albero di computazione è possibile trovare almeno un ramo che corrisponde ad una computazione deterministica accettante (cioè, almeno una foglia dell'albero corrisponde ad una configurazione finale). Nota bene. Anche in questo caso usiamo il termine accettazione anziché riconoscimento perché c è asimmetria tra l accettazione e il rifiuto di una stringa: in un caso basta che esista un cammino accettante, nell altro caso bisogna che i cammini siano tutti rifiutanti.

31 Equivalenza tra MT e MTND Le MTND sono più "efficienti" ma hanno lo stesso potere computazionale delle MT. Teorema. Data una macchina non deterministica M con grado di nondeterminismo d esiste una MT M' equivalente che simula k passi di M in O(kdk) passi Dim. L'albero di computazione di M viene visitato in ampiezza da M' (perché non in profondità?) M' ha 3 nastri nastro 1: contiene l'input

32 nastro 2: viene usato per generare, in ordine lessicografico, tutte le sequenze finite composte da cifre comprese tra 1 e d nastro 3: nastro di lavoro per ogni sequenza generata sul nastro 2, M' copia l'input sul nastro 3 le transizioni di ogni insieme δn(q,σ) sono numerate da 1 a d ogni sequenza di lunghezza s sul nastro 2 è in corrispondenza con una computazione di M di s passi gli s numeri di ogni sequenza (compresi tra 1 e d) sono usati per scegliere ad ogni passo una transizione tra le d possibili

33 es. se s=4 e d=2 e la sequenza è 2122 M' sceglie per la prima mossa la seconda transizione disponibile, per la seconda mossa la prima, ecc... Se su qualche foglia dell'albero di computazione di M c'è uno stato finale, allora M' lo raggiunge in tempo finito altrimenti M' non raggiunge mai uno stato finale. Se M termina in k passi M' ha bisogno di k O( Σ jd j ) = O(kdk) passi j=0

34 NOTA BENE. Una macchina non deterministica può "risolvere" un problema (ad esempio, accettare un linguaggio) in tempo polinomiale rispetto alla lunghezza della stringa mentre la simulazione effettuata da una macchina deterministica richiede tempo esponenziale. Problema aperto. Esiste una simulazione più efficiente? E' possibile simulare una macchina di Turing non deterministica con una deterministica in tempo polinomiale? Per dimostare che k O (Σ jd j ) = O (kdk) passi j=0 si può procedere come segue.

35 Osserviamo innanzitutto che k Σ d j = (d k+1-1)/(d-1) j=0 Derivando si ottiene: k Σ jd j-1 = (kd k+1 -(k+1)d k +1)/(d-1) 2 j=1 e quindi k Σ jd j = O (kd k ) j=1

36 2.4 LINGUAGGI DI TIPO 0 E MT Teorema. Un linguaggio L è semidecidibile se e solo se è un linguaggio di Tipo 0 Dim. i) Tipo 0 -> MT Innanzitutto mostriamo come, dato un linguaggio L, generato da una grammatica G di tipo 0, possiamo definire una MT che lo accetta. In realtà, per semplificare la dimostrazione utilizzeremo una MTND M con 2 nastri ma sappiamo che esiste comunque una MT M' ad un solo nastro che può simulare M.

37 La macchina M opera nel seguente modo: partendo dall'assioma S la macchina applica via via, in modo non deterministico, tutte le produzioni applicabili. Dopo aver applicato una produzione, oltre a proseguire nell'applicazione delle produzioni, in modo non deterministico essa effettua una verifica per controllare se la forma di frase ottenuta è costituita da soli terminali e se essa coincide con la stringa da generare x. In tal caso M termina in uno stato finale. I 2 nastri vengono utilizzati nel seguente modo: N1 contiene la stringa x che deve essere accettata, N2 contiene le forme di frase che via via vengono derivate e che devono essere confrontate con la stringa x.

38 ii) MT -> Tipo 0 Supponiamo ora di avere una macchina di Turing M che accetta un linguaggio L. Mostriamo come si può costruire una grammatica G di Tipo 0. Se la macchina accetta L vuol dire che, per tutte e sole le x L, essa realizza la computazione q0x * aqfb con un opportuno qf F (per semplicità supporremo che esista un unico stato finale qf F). In corrispondenza della macchina M la grammatica G è così definita. Il suo alfabeto non terminale è costituito da alcuni simboli ausiliari, da simboli corrispondenti agli stati di M e da simboli che rappresentano il contenuto di due piste: quella superiore contiene caratteri σi di Σ {b}, quella inferiore caratteri σj di Σ {b}. Tali simboli sono dunque del tipo: σi σj

39 La grammatica opera nel seguente modo: 1. introduce lo stato iniziale q0 2. genera una qualsivoglia stringa x di Σ sulle due piste 3. genera un numero arbitrario di b a destra e a sinistra di x sulle due piste 4. simula M sulla pista inferiore 5. se la pista inferiore è una configurazione finale e, solo in tal caso, trasforma la forma di frase ottenuta finora nella stringa x che è tuttora presente sulla pista superiore. Vediamo la forma delle varie produzioni. S A1 q0 A2 σi A2 σ i A2 Α3 b A1 Α1 b b A3 b A3

40 A questo punto abbiamo forme di frase del tipo: b b ai1 ain b b b Α1 b... b q0 ai1... ain b b. b A3 Per effettuare la simulazione della macchina avremo, per ogni regola di transizione, una serie di produzioni che realizzano, sulla pista inferiore, le stesse trasformazioni. Ad esempio, in corrispondenza della regola di transizione d(qk,σi) = (qh,σl,d) avremo le regole di produzione σj σj qk σi σl qh per ogni σj in Σ {b} che si trovi sulla pista superiore.

41 Infine per il passo 5 abbiamo: qf A4 A5 per ogni stato finale qf σj σi Α4 A4 σj per ogni σj in Σ e σi in Σ {b}. b σi Α4 A4 per ogni σi in Σ {b}. e analogamente per A5. Infine A1 A4 ε A5 A3 ε

42 2.5 LINGUAGGI DI TIPO 1 E AUTOMI LIMITATI Teorema. I linguaggi di Tipo 1 sono decidibili. Dim. Dato che le forme di frase non possono diminuire di lunghezza basta generare tutte le forme di frase in ordine di lunghezza crescente e confrontare quelle di soli terminali con la stringa da riconoscere. Teorema. Tutti e soli i linguaggi di Tipo 1 sono riconoscibili con macchine di Turing nondeterministiche che fanno uso di nastro limitato linearmente nella lunghezza delle stringhe in ingresso (Linear Bounded Automata, LBA) Dim. Lasciata come esercizio.

43 2.6 CALCOLABILITA' SECONDO TURING (T-CALCOLABILITA') Come abbiamo già visto le macchine di Turing ci consentono di definire linguaggi decidibili o semidecidibili funzioni (totali o parziali) calcolabili Cosa ha condotto Turing a definire le sue macchine?

44 1900: Al Secondo Congresso Internazionale di Matematica Hilbert formula 23 problemi matematici per il XX secolo (Problemi futuri della Matematica). Il secondo problema riguarda la consistenza (cioè la non contraddittorietà) degli assiomi della teoria logica dell aritmetica dei numeri naturali basata sugli assiomi introdotti da Peano nel 1889.

45 1928: Hilbert riformula i problemi aperti riguardanti l Aritmetica: - L Aritmetica è completa? Cioè è possibile dimostrare ogni asserzione vera? - L Aritmetica è consistente? Cioè siamo certi che non sia possibile dimostrare un asserzione e anche la sua negazione? Se ciò fosse vero ogni asserzione sarebbe dimostrabile, quindi per dimostrare la consistenza è sufficiente dimostrare che esistono asserzioni dell aritmetica non dimostrabili. - L Aritmetica è decidibile? Cioè esiste un algoritmo che consente di decidere se un asserzione è un teorema?

46 Il ruolo dei paradossi. 1. Epimenide di Creta (VI sec. a. C.): Tutti i cretesi sono bugiardi. (questa affermazione non può essere vera ma può essere falsa; non è un vero paradosso) 2. Eubulide di Mileto (IV sec. a. C.): Questa frase è falsa oppure Io sto mentendo (queste affermazioni non possono essere né vere né false) 3. Buridano (XIV sec.): Socrate dice: Platone dice il falso Platone dice: Socrate dice il vero (le due affermazioni congiunte sono un paradosso)

47 Nel XX sec. vengono formulati paradossi relativi alla teoria degli insiemi: 4. Russell: L insieme di tutti gli insiemi che non appartengono a se stessi, appartiene o no a se stesso? 5. Russell: In un villaggio il barbiere rade tutti e soli coloro che non si radono da soli; chi rade il barbiere? 6. Gonseth: In una biblioteca può esistere un catalogo di tutti i cataloghi bibliografici che non contengono se stessi?

48 1931: Gödel dimostra che l aritmetica non può essere al tempo stesso completa e consistente. Idea: - Rappresentare la logica (assiomi, regole d inferenza, dimostrazioni e teoremi) all interno dell aritmetica mediante un procedimento di aritmetizzazione (o Gödelizzazione, cioè codificazione dell apparato della logica mediante numeri interi). - Ricorrere allo stesso tipo di assurdità che si presentano nei classici paradossi sfruttando l autoreferenzialità e cioè creando un asserzione w che afferma: w non è dimostrabile. Se w fosse falsa sarebbe dimostrabile e quindi necessariamente vera; quindi (se il calcolo non è contraddittorio) w non può essere falsa e deve essere vera. Ma se è vera non è dimostrabile. Quindi w è un esempio di asserzione vera ma non dimostrabile. Conseguenze: l aritmetica non è completa o non è consistente (ma la consistenza non è dimostrabile all interno della teoria stessa).

49 1935: Turing dimostra l indecidibilità dell aritmetica (On computable numbers, with an application to the Entschaidungsproblem, J. of Symbolic Logic, 1936). - Definisce il concetto di algoritmo introducendo le macchine di Turing. - Mostra che il problema della terminazione di una macchina di Turing è formulabile come un asserzione dell aritmetica (ancora mediante una Gödelizzazione). - Mostra che il problema della terminazione non è risolubile con le macchine di Turing e quindi è indecidibile. Tale risultato implica che l aritmetica stessa non è decidibile.

50 NOTA BENE. Contemporaneamente a Turing anche Alonzo Church ha introdotto un concetto di calcolabilita' (λ-definibilita') basato su un sistema algoritmico (λ-calcolo). Tale sistema è stato dimostrato equivalente, dallo stesso Turing. Ciò ha permesso di formulare la Tesi di Church-Turing: "Ogni funzione calcolabile con qualunque approccio formale è T-computabile" Tutti i formalismi definiti successivamente hanno confermato la Tesi di Church-Turing. Kleene (1936): funzioni ricorsive. Post (1943): sistemi di riscrittura. Markov (1949): algoritmi di Markov. Shepherdson e Sturgis (1963): macchine a registri.

51 Macchina di Turing universale NOTA BENE. E' possibile descrivere una macchina di Turing con una stringa di caratteri e fornire tale descrizione come input ad un'altra macchina di Turing. Esistono vari modi di descrivere una macchina di Turing con una stringa: possiamo fornire la sequenza delle quintuple che costituiscono la funzione di transizione ##d1##d2##... ##dn in cui è presente la quintupla qi#σj#qh#σk#tl se e solo se esiste la regola di transizione δ(qi,σj)=(qh,σk, tl);

52 possiamo sfruttare il fatto che ogni macchina di Turing può essere realizzata come composizione di alcune macchine elementari e fornire la descrizione di una macchina come sequenza di tali macchine.

53 Sia DM la descrizione della macchina M. Teorema. Esiste una macchina di Turing U, con stato iniziale q0 U, (detta macchina di Turing universale) che, data una qualunque descrizione DM, realizza la computazione q0 U DM#x * αqf U β, con qf U stato finale, se e solo se la macchina M, con stato iniziale q0, realizza la computazione q0x * αqfβ, con qf stato finale. Dim. La macchina non fa che eseguire una per una le trasformazioni richieste dalle quintuple della macchina M contenute in DM. Al termine cancella dal nastro la descrizione DM. NOTA BENE. Possiamo interpretare la MT universale come un calcolatore e DM e x come un programma e i suoi dati un interprete di un linguaggio di programmazione.

54 2.7 IL PROBLEMA DELLA TERMINAZIONE (HALTING PROBLEM) Dimostriamo ora l'esistenza di una funzione che non e' calcolabile con una MT. In quanto segue assumiamo che le macchine di Turing siano macchine ad un nastro, deterministiche con alfabeto Σ={0,1}. Data una MT M=<Σ,b,K,q0,F,δ> sia D M la codifica di M in Σ. Per x Σ* definiamo il predicato della terminazione h(d M,x) =1 se M con input x termina =0 se M con input x non termina Teorema. Il predicato della terminazione delle macchine di Turing non è T-calcolabile.

55 NOTA BENE. Invece è T-calcolabile il predicato: h(d M,x) =1 se M con input x termina = indefinito, altrimenti Dim. Supponiamo che il predicato sia calcolabile, esista cioè una macchina di Turing H che calcola h. Costruiamo la macchina H' che calcola il predicato h'(dm) =1 se M con input DM termina =0 se M con input DM non termina H' non è altro che la composizione di due macchine: la prima con input DM fornisce DMbDM, la seconda è la macchina H che prende in input DMbDM e calcola il predicato della terminazione.

56 In altre parole H' è la macchina che verifica se una MT termina quando le viene fornito in input il proprio codice. Possiamo ora costruire una nuova macchina H" che prende in input DM e calcola la funzione: h"(dm) =0 se h'(dm) = 0 =indefinito altrimenti H", cioè, termina con 0 se H' si è fermata con 0 e si mette a ciclare, se H' si è fermata con 1. Cosa accade ora se calcoliamo h"(dh"): h"(dh") =indefinita se h"(dh") è definita =0 se h"(dh") è indefinita In ogni caso abbiamo una contraddizione. Quindi non può esistere la macchina H.

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

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

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

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

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 7: Teoria generale della calcolabilitá Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione

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

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

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

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

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

1 Giochi a due, con informazione perfetta e somma zero

1 Giochi a due, con informazione perfetta e somma zero 1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una

Dettagli

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma Calcolabilità problemi facili trovare la media di due numeri stampare le linee di un file che contengono una parola problemi difficili trovare il circuito minimo data una tabella determinare la migliore

Dettagli

Algoritmi e Complessità

Algoritmi e Complessità Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it Lezione 2 Teoria

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6 Alberto Carraro 30 novembre DAIS, Universitá Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Funzioni Turing-calcolabili Finora abbiamo

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

Dimensione di uno Spazio vettoriale

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

Dettagli

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

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

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

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

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

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

Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011 Fondamenti di Informatica Computabilità e Macchine di Turing Prof. Franco Zambonelli Gennaio 2011 Letture Consigliate: Roger Penrose, La Mente Nuova dell Imperatore, Sansoni Editrice. Martin Davis, Il

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 AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

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

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Il principio di induzione e i numeri naturali.

Il principio di induzione e i numeri naturali. Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

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

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

x u v(p(x, fx) q(u, v)), e poi

x u v(p(x, fx) q(u, v)), e poi 0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di

Dettagli

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere; Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

Lezione 9: Cambio di base

Lezione 9: Cambio di base Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire

Dettagli

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

Dettagli

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

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

Dettagli

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

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

L interesse nella macchina di Turing

L interesse nella macchina di Turing Aniello Murano Macchina di Turing universale e problema della fermata 6 Lezione n. Parole chiave: Universal Turing machine Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello V. M. Abrusci 12 ottobre 2015 0.1 Problemi logici basilari sulle classi Le classi sono uno dei temi della logica. Esponiamo in questa

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Macchine di Turing (MT)

Macchine di Turing (MT) Informatica Teorica Macchine di Turing (MT) 1 Macchine di Turing lamacchina di Turing è un automa con una testina di scrittura/lettura su nastro illimitato bidirezionale ad ogni istante la macchina si

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi

Dettagli

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

Matematica generale CTF

Matematica generale CTF Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione

Dettagli

3 GRAFICI DI FUNZIONI

3 GRAFICI DI FUNZIONI 3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom

Dettagli

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Dettagli

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Rappresentazione dei numeri in un calcolatore

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

Dettagli

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

Dettagli

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

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Applicazioni lineari

Applicazioni lineari Applicazioni lineari Esempi di applicazioni lineari Definizione. Se V e W sono spazi vettoriali, una applicazione lineare è una funzione f: V W tale che, per ogni v, w V e per ogni a, b R si abbia f(av

Dettagli

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI Abbiamo studiato successioni e serie numeriche, ora vogliamo studiare successioni e serie di funzioni. Dato un insieme A R, chiamiamo successione di funzioni

Dettagli

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI FUNZIONI ELEMENTARI - ESERCIZI SVOLTI 1) Determinare il dominio delle seguenti funzioni di variabile reale: (a) f(x) = x 4 (c) f(x) = 4 x x + (b) f(x) = log( x + x) (d) f(x) = 1 4 x 5 x + 6 ) Data la funzione

Dettagli

Parte 2. Determinante e matrice inversa

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

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in

Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in Solitamente si fa riferimento ad intorni simmetrici =, + + Definizione: dato

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

A i è un aperto in E. i=1

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

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Matematica 1 - Corso di Laurea in Ingegneria Meccanica Matematica 1 - Corso di Laurea in Ingegneria Meccanica Esercitazione su massimi e minimi vincolati 9 dicembre 005 Esercizio 1. Considerare l insieme C = {(x,y) R : (x + y ) = x } e dire se è una curva

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che: Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi

Dettagli

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e Polli e conigli Livello scolare: primo biennio Abilità Interessate Calcolo di base - sistemi Risolvere per via grafica e algebrica problemi che si formalizzano con equazioni. Analizzare semplici testi

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli

Consideriamo due polinomi

Consideriamo due polinomi Capitolo 3 Il luogo delle radici Consideriamo due polinomi N(z) = (z z 1 )(z z 2 )... (z z m ) D(z) = (z p 1 )(z p 2 )... (z p n ) della variabile complessa z con m < n. Nelle problematiche connesse al

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si formalizzi in logica dei predicati del primo ordine la seguente

Dettagli

F (x) = f(x) per ogni x I. Per esempio:

F (x) = f(x) per ogni x I. Per esempio: Funzioni Primitive (Integrali Indefiniti) (l.v.) Pur essendo un argomento che fa parte del Calcolo Differenziale, molti autori inseriscono funzioni primitive nel capitolo sul Calcolo Integrale, in quanto

Dettagli

Nozione di algoritmo. Gabriella Trucco

Nozione di algoritmo. Gabriella Trucco Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere

Dettagli

Funzione reale di variabile reale

Funzione reale di variabile reale Funzione reale di variabile reale Siano A e B due sottoinsiemi non vuoti di. Si chiama funzione reale di variabile reale, di A in B, una qualsiasi legge che faccia corrispondere, a ogni elemento A x A

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

1.2 Funzioni, dominio, codominio, invertibilità elementare, alcune identità trigonometriche

1.2 Funzioni, dominio, codominio, invertibilità elementare, alcune identità trigonometriche . Funzioni, dominio, codominio, invertibilità elementare, alcune identità trigonometriche Per le definizioni e teoremi si fa riferimento ad uno qualsiasi dei libri M.Bertsch - R.Dal Passo Lezioni di Analisi

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme: Lezione 1 Gli Insiemi La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme: degli iscritti ad un corso di laurea delle stelle in cielo dei punti di un piano

Dettagli

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

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

Dettagli

Appunti ed esercizi di combinatoria. Alberto Carraro

Appunti ed esercizi di combinatoria. Alberto Carraro Appunti ed esercizi di combinatoria Alberto Carraro December 2, 2009 01 Le formule principali per contare Disposizioni Sia A un insieme di n 1 elementi distinti Le sequenze di 1 k n elementi scelti senza

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine Università di Bergamo Anno accademico 2006 2007 Ingegneria Informatica Foglio Algebra e Logica Matematica Calcolo delle proposizioni Logica del primo ordine Esercizio.. Costruire le tavole di verità per

Dettagli

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t) CONTINUITÀ E DERIVABILITÀ Esercizi proposti 1. Determinare lim M(sin) (M(t) denota la mantissa di t) kπ/ al variare di k in Z. Ove tale limite non esista, discutere l esistenza dei limiti laterali. Identificare

Dettagli