F(<M>, <w>) = 1, se quando M opera su w esistono due configurazioni di M. 0 altrimenti. Parte b

Documenti analoghi
alla categoria di automi a minor potenza riconoscitiva possibile. }, dove k è un parametro.

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

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell'informatica

Lezione 7 Alberi binari: visite e alberi di ricerca

Algoritmi e Principi dell Informatica

Lezione 9 Alberi binari: visite ed esercizi

Algoritmi e Principi dell Informatica

d. Cancellazione del valore 5 e. Inserimento del valore 1

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

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

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

Alberi rosso neri. API a.a. 2013/2014 Gennaio 23, 2014 Flavio Mutti, PhD

Concetti di base sugli automi e sui linguaggi formali

Espressioni aritmetiche

Laboratorio 26 Aprile 2012

Alberi e alberi binari I Un albero è un caso particolare di grafo

Sommario Tesi di Church, di Turing, e di Church Turing G delizzazione. Limiti della Calcolabilità

Dizionari. Realizzazione con alberi binari di ricerca. Alberi rosso-neri. Ugo de' Liguoro - Algoritmi e Seprimentazioni 03/04 Lez.

Alberi. CORDA Informatica. A. Ferrari. Testi da. Marco Bernardo Edoardo Bontà. Dispense del Corso di. Algoritmi e Strutture Dati

Alberi e alberi binari I Un albero è un caso particolare di grafo

Linguaggi e Traduttori: Analisi lessicale

Alberi binari e alberi binari di ricerca

Automi a stati finiti

Fondamenti dell Informatica. Esercizi di preparazione al secondo compitino

Alberi binari e alberi binari di ricerca

Lezione 9 Alberi binari di ricerca

Problemi decidibili, semidecidibili, indecidibili

Esercizio. 2 i=i*2) j=j*2)

Note per la Lezione 4 Ugo Vaccaro

Sommario. martedì 23 ottobre 2012

Informatica A. Istruzioni

Lezione 12 Tabelle Hash

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Esercizi Capitolo 6 - Alberi binari di ricerca

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014

La MT come riconoscitore

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino. Prestazioni dei BST

Alberi ed Alberi Binari di Ricerca

Alberi binari e alberi binari di ricerca

In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 9/9/2015

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Alberi binari. Alberi binari di ricerca

Dipartimento di Elettronica, Informazione e Bioingegneria API 2013/4

Fondamenti di Programmazione - Prof.ssa Gargano Anno Acc Esercitazioni 2009

L albero e un tipo astratto di dati usato per rappresentare relazioni gerarchiche.

Sommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili.

Esercizi su alberi binari

Alberi Binari di Ricerca e Alberi Rosso-Neri

Linguaggi Regolari e Linguaggi Liberi

INFORMATICA 3 Prof.ssa Sara Comai

Esercizi proposti Risolvere i problemi seguenti su espressioni rappresentate come alberi binari, mediante la dichiarazione di tipo

Dizionari. Dizionari con gli alberi. Alberi binari di ricerca. Realizzazione con alberi binari di ricerca. Alberi rosso-neri.

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Dispensa di Informatica Teorica (Elementi) - Teorema di Cook

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 30/6/2016

Algoritmi e Strutture Dati

Algoritmi e Complessità

ALGORITMI CORSO DI STUDIO IN INFORMATICA (laurea triennale) UNIVERSITÀ DEGLI STUDI DI CATANIA ANNO ACCADEMICO 2014/15

Teoria della Calcolabilità!

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

In questa lezione Alberi binari di ricerca

Fondamenti d Informatica: Simulazione d esame. Barbara Re, Phd

DECIDIBILITÀ E INDECIDIBILITÀ

Algoritmi e Strutture Dati

Principio di composizione delle MT

Algoritmi e Strutture Dati

Fondamenti teorici e programmazione

Teoria della Calcolabilità!

Esercizi di Algoritmi e Strutture Dati

GLI ALBERI BINARI DI RICERCA. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

Fondamenti dell Informatica

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Informatica Generale Homework di Recupero 2016

Algoritmi 25 Febbraio Rispondere alle domande usando lo spazio designato. NON USARE ALTRI FOGLI.

Esempi. Albero di interi. Struttura che non è un albero!

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi,

Alberi rosso-neri. Oltre ad essere alberi binari di ricerca, gli alberi rosso-neri soddisfano le seguenti proprietà:

Fondamenti di Informatica

Il numero dei nodi al livello i è 1, per 0 i altezza L altezza h di un albero completamente sbilanciato con n nodi è h = n-1

Strutture dati Alberi binari

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Soluzioni della settima esercitazione di Algoritmi 1

PROGRAMMAZIONE II canale A-D luglio 2008 TRACCIA DI SOLUZIONE

Algoritmi e strutture dati 1 luglio 2004 Canali A L e M Z Cognome Nome Matricola

Transcript:

Algoritmi e Prin Appello del 16 Luglio 2015 Informatica 2 ore e 30 minuti. Chi deve sostenere solo il modulo di Informatica teorica deve svolgere gli Esercizi 1 e 2 in 1 ora e 15 minuti. Chi deve sostenere solo il modulo di Informatica 3 deve svolgere gli Esercizi 3 e 4 in 1 ora e 15 minuti. NB: i punti attribuiti ai singoli esercizi hanno senso solo con hanno valore puramente indicativo. Esercizio 1 (punti 8) Scrivere una grammatica a potenza minima che generi il linguaggio { a n b m c l n m o n l } In alternativa è possibile costruire un automa, sempre a potenza minima, che riconosca lo stesso linguaggio; ciò però comporta una diminuzione del punteggio ottenibile di 2 punti. Esercizio 2 (punti 8) È decidibile stabilire se una macchina di Turing M entra più di una volta in un qualche stato organo di controllo quando riceve in input una stringa w? In altre parole: Indicata con <M> la codifica di una MT M e con <w> quella di una input di M, si dica se è computabile la funzione alfabeto di F(<M>, <w>) = 1, se quando M opera su w esistono due configurazioni di M 0 altrimenti È controllo) entra più di una volta nello stato iniziale dell'organo di controllo quando riceve in input una stringa w? In altre parole: Indicata con <M> la codifica di una MT M, con <w> quella di una stringa sull'alfabeto di input di M e con q 0 lo stato iniziale dell'organo di controllo di M, si dica se è computabile la funzione F(<M>, <w>) = 1, se quando M opera su w esistono due configurazioni di M i 0 0 altrimenti Giustificare brevemente le risposte date.

Esercizio 3 (punti 10) Dato un albero binario di ricerca T, i cui nodi memorizzano una variabile che ne rappresenta il colore, si vuole determinare se T è un albero Rosso-Nero. Si definisca un algoritmo che risolva questo problema e se ne discuta la complessità. Esercizio 4 (punti 5) Si consideri una tabella hash, con m = 10 posizioni, le cui chiavi sono interi non negativi. La tabella è gestita mediante indirizzamento aperto. Data la funzione hash: h(k,i) = (k +2 i) mod m si discuta la bontà di h(k,i) rispetto alle sequenze di ispezione che essa genera nella tabella considerata. Si consideri una generica tabella hash con m posizioni e fattore di carico = 1/2. Si considerino i due casi di tabella con liste concatenate e di tabella aperta: qual è, nel caso pessimo

Soluzioni schematiche Esercizio 1 S -> A B (A è il sottolinguaggio con n m, B quello con n l) A -> A1 A2 C0 A2 B1 C0 (sottolinguaggio con n m. due modi per farlo: 1) ho più a che b e quindi ho un prefisso non vuoto di a (A1) seguito da a e b bilanciate (A2), seguite da c arbitrarie (C0) 2) ho meno a che b e quindi ho a e b bilanciate (A2) seguite da un prefisso non vuoto di b (B1) seguito da c arbitrarie (C0)) A2 -> a A2 b B -> A1 B2 B2 C1 (sottolinguaggio con n l. due modi per farlo: 1) ho più a che c e quindi ho un prefisso non vuoto di a (A1) seguito da a e c bilanciate con in mezzo delle b arbitrarie (B2) 2) ho meno a che c e quindi ho a e c bilanciate con in mezzo delle b arbitrarie (B2) seguite da un prefisso non vuoto di c (C1)) B2 -> ab2c B0 (a e c bilanciate con in mezzo delle b arbitrarie (B0)) A1 -> a A1 a B1 -> b B1 b C1 -> c C1 c B0 -> B1 C0 -> C1 Esercizio 2 Il problema è decidibile. Mentre le possibili configurazioni di una MT sono infinite, gli stati dell'organo di controllo sono finiti (indichiamoli con Q M ). Basta infatti simulare al più Q M + 1 passi dell'esecuzione di M su w e verificare se uno stato è visitato almeno due volte (NB: l'esecuzione di M su w potrebbe non terminare, e potrebbe anche darsi che la testina di lettura di M non legga alcun carattere di w). arresto di una TM nel modo seguente: data M, costruisco una la macchina M' ottenuta aggiungendo a M un nuovo stato iniziale q 0, e una transizione iniziale che porta da q 0 a q 0 transizioni che da ogni stato finale di M portano a q 0 e fermano la macchina; l'unico stato finale di M' è q 0. Chiaramente M e M' riconoscono lo stesso linguaggio e M l suo stato iniziale più di una volta.

Esercizio 3 seguente verifica che le proprietà degli alberi Rosso-Neri siano rispettate: verifica che la radice sia nera, quindi richiama una funzione che ricorsivamente analizza i e controllare che i figli dei nodi rossi siano neri. La checkrb (Tree T) { if (T.color=RED) return FALSE (bh, RB) <-- checksubtree(t, 0); /*bh = altezza nera del sottoalbero T; RB = valore di verità per le proprietà RB */ } return RB; checksubtree(tree T, int bh) { if (T=NIL) return (bh, TRUE) if ((T.color = RED) AND (T.left.color = RED OR T.right.color = RED)) if (T.color = BLACK) bh = bh+1 (bh_left, RBleft) = checksubtree(t.left, bh) (bh_right, RBright) = checksubtree(t.right, bh) if not (RBleft AND RBright) if (bh_left!= bh_right) } return (bh_left, TRUE)

Esercizio 4 Visto che m è pari, le sequenze di ispezione generate visitano solo le posizioni pari o solo quelle dispari (dipende dalla prima posizione visitata). Se m fosse dispari, la funzione permetterebbe invece di ispezionare tutti gli elementi della tabella. In entrambi i tipi di tabella il caso pessimo produce n/2 conflitti sulla stessa posizione determinando quindi un tempo di ricerca O(n) in ambo i tipi di tabella; se si vogliono evitare aperta che di tabella con liste concatenate. Quindi il tempo di ricerca e inserimento nel caso pessimo è comunque O(n).