Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: Stefano Ferrari



Documenti analoghi
Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

Fondamenti di informatica per la sicurezza

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

STRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,..

Cos è un Calcolatore?

ALGEBRA DELLE PROPOSIZIONI

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

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

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

RELAZIONI BINARIE. Proprietà delle relazioni Data una relazione R, definita in un insieme non vuoto U, si hanno le seguenti proprietà :

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

REGOLE PER L ESAME (agg.te settembre 2015)

Automazione Industriale (scheduling+mms) scheduling+mms.

MANUALE ESSE3 Gestione Registro delle lezioni

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

SQL/OLAP. Estensioni OLAP in SQL

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Università Politecnica delle Marche. Progetto Didattico

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

1. PRIME PROPRIETÀ 2

Semantica operazionale dei linguaggi di Programmazione

Fondamenti di informatica per la sicurezza

I sistemi di numerazione

Fondamenti di informatica per la sicurezza

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Macchine di Turing. a n B B. Controllo Finito

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Fondamenti di informatica per la sicurezza

Luigi Piroddi

Informatica (Basi di Dati)

risulta (x) = 1 se x < 0.

Intelligenza Artificiale

Introduzione Ordini parziali e Reticoli Punti fissi

Guida all uso del catalogo e all'area personale

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Database. Si ringrazia Marco Bertini per le slides

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

Algoritmi e strutture dati. Codici di Huffman

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

Le Macchine di Turing

Guida Compilazione Piani di Studio on-line

2 - Modifica Annulla ANNULLA TOPOGRAFICO ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

Capitolo 7: Teoria generale della calcolabilitá

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

IL SISTEMA INFORMATIVO

Elementi di Algebra Relazionale

1 Giochi a due, con informazione perfetta e somma zero

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Procedure per il prestito intrateneo tra le strutture del Sistema bibliotecario d Ateneo

Soluzione dell esercizio del 2 Febbraio 2004

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

LE FUNZIONI A DUE VARIABILI

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

1/15. Manuale d uso. Rev.1 del 18 Settembre 2013 Rev.2 del 24 Settembre 2013 Rev.3 del 9 Dicembre 2013

Le macchine di Turing

Corso di Laurea in Ingegneria Informatica e Automatica (A-O) Università di Roma La Sapienza

Laurea Specialistica in Informatica

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Gestione Archivio Soci

Promemoria delle principali funzioni di Gestione utenti e prestiti in SOL

C A T A L O G O. Catalogo del Sistema Bibliotecario Padovano. Gruppo Lavoro per il Coordinamento dei Corsi all Utenza

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

ALGEBRA RELAZIONALE RIEPILOGO

Teoria degli insiemi

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Fondamenti di informatica per la sicurezza

Codifica binaria dei numeri relativi

Esercizio data base "Biblioteca"

A i è un aperto in E. i=1

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Reti di Telecomunicazione Lezione 8

Istruzioni Iscrizione Portale Stage e Placement per L Azienda

La macchina universale

Descrizione di un algoritmo

Appunti sulla Macchina di Turing. Macchina di Turing

Traccia di soluzione dell esercizio del 25/1/2005

Fondamenti di informatica per la sicurezza

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

Appunti ed esercizi di combinatoria. Alberto Carraro

REVISIONE-CORREZIONE. La Revisione è un momento molto importante nel processo della produzione scritta.

Gestione Voti Scolastici

UNIVERSITÀ DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Valutazione della Didattica On-Line

Il principio di induzione e i numeri naturali.

Oggetto: LE REGOLE PER L EFFETTUAZIONE DI FINANZIAMENTI DA PARTE DEI SOCI ALLE SOCIETÀ PARTECIPATE

Sistema per la gestione dei piani di studio individuali on line (PDI) Note operative per lo studente (v. 2.07)

2 - Modifica Annulla Selezione finestra. S.C.S. - survey CAD system FIGURA 2.1

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Transcript:

Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: tefano Ferrari 25.01.2005 del secondo compitino vers. D valutazioni 1 (4) 2 (4) 3 (4) 4 (6) 5 (6) 6 (8) Cognome Nome Matricola Firma Esercizio 1 iano dati i linguaggi L 1 e L 2 : L 1 = {a, b, c} L 2 = {x, y} Descrivere i linguaggi: a) L 3 = L 1 L 2 b) L 4 = L 1 L 2 c) L 5 = L 1 L 2 d) L 6 = L 1 2 e) L 7 = L 2 L 1 f) L 8 = (L 2 2 L 1 ) Per quegli insiemi di cui sia troppo lungo (o impossibile) dare una descrizione estensionale, elencare almeno tre elementi, indicando le caratteristiche degli elementi che li compongono. In particolare, chiarire se la stringa vuota ɛ appartiene al linguaggio. a) L 3 = L 1 L 2 = Gli insiemi L 1 e L 2 non hanno elementi in comune, quindi la loro intersezione è vuota. Nota: L insieme vuoto è diverso dall insieme costituito dalla sola stringa vuota, {ɛ}. b) L 4 = L 1 L 2 = {a, b, c, x, y} c) L 5 = L 1 L 2 = {ax, bx, cx, ay, by, cy} d) L 6 = L 1 2 = {aa, ba, ca, ab, bb, cb, ac, bc, cc} e) L 7 = L 2 L 1 L insieme L 7 è dato dalle stringhe formate come concatenazione di un numero arbitrario (eventualmente nullo) di elementi di L 2 seguito da una concatenazione di un numero arbitrario (eventualmente nullo) di elementi di L 1. Poiché sia L 1 che L 2 sono composto da infiniti elementi, anche L 7 avrà infiniti elementi. L insieme {ɛ, xyyxx, cbbcacbab, xxyabac} è un sottoinsieme di L 7. f) L 8 = (L 2 2 L 1 ) L insieme L 8 è formato dalla concatenazione di un numero arbitrario (eventualmente nullo) di stringhe composte da due elementi di L 2 e da un elemento di L 1. Pertanto, L 8 è composto da infiniti elementi. L insieme {ɛ, yyc, xyaxxb} è un sottoinsieme di L 8. Esercizio 2 ia data la seguente grammatica, G = T, V, P,, definita su Σ = {a, b, c, d}: insieme dei simboli terminali, T : T = Σ insieme dei metasimboli, V : V = {K, H} insieme delle regole di produzione, P : P = { ::= K, K ::= d bh ch, H ::= b dk ah} Quali fra le seguenti stringhe vengono generate da G? a) cdbb

b) baad c) cadc d) bdca e) bdbdbc Riportare la successione di regole da applicare per la generazione di tali stringhe e le stringhe parziali ottenute, spiegando perché non si possono ottenere le stringhe che eventualmente non risultassero appartenere al linguaggio generato da G. a) cdbb ::= K K ::= ch H ::= dk K ::= bh H ::= b K ch cdk cdbh cdbb La stringa cdbb è generata da G: cdbb b) baad ::= K K H ::= ah bah H ::= ah baah H ::= dk baadk Non è possibile eliminare il metasimbolo K La stringa baad non è generata da G: baad c) cadc ::= K K K ::= ch ch H ::= ah cah H ::= dk cadk K ::= ch cadch Non è possibile eliminare il metasimbolo H La stringa cadc non è generata da G: cadc d) bdca ::= K K H ::= dk bdk K ::= ch bdch H ::= ah bdcah Non è possibile eliminare il metasimbolo H La stringa bdca non è generata da G: bdca e) bdbdbc ::= K K H ::= dk bdk K ::= bh bdbh H ::= dk bdbdk K ::= bh bdbdbh Non è possibile ottenere il simbolo c dal metasimbolo H. La stringa bdbdbc non è generata da G: bdbdbc Esercizio 3 ia dato il seguente automa a stati finiti, A, A = Q, Σ, δ, q 0, F : insieme degli stati, Q: Q = {q 0, q 1, q 2, q 3 } alfabeto di input, Σ: Σ = {a, b, c, d, e} funzione di transizione δ: a b c d e q 0 q 2 q 1 q 2 q 1 q 3 q 1 q 1 q 0 q 1 q 0 q 1 q 2 q 3 q 2 q 3 q 0 q 2 q 3 q 1 q 2 q 1 q 2 q 1 stato iniziale, q 0 insieme di stati finali, F : F = {q 1 } Indicare: a) quattro stringhe accettate da A b) quattro stringhe rifiutate da A a) quattro stringhe accettate da A: abdde bdeea

ceabdb abcec b) quattro stringhe rifiutate da A: abdce bdeed ceabd debad Esercizio 4 Modellare, tramite un automa a stati finiti deterministico, il funzionamento del prestito bibliotecario di un libro. Il libro può trovarsi nelle seguenti condizioni: libero, prenotato, imprestato, scaduto, bloccato. Un libro libero può venire prenotato oppure ritirato. Dopo una settimana, se un libro prenotato non viene ritirato, torna libero. Un libro ritirato diventa imprestato e rimane in quello stato finché non viene restituito (ritornando libero) oppure scade il termine di una settimana, dopo il quale il libro diventa scaduto. Un libro scaduto, quando viene restituito viene dichiarato bloccato e rimane tale per una settimana (durante la quale non può essere né prenotato, né ritirato). Ipotizzare che non si possano verificare contemporaneamente più azioni. Modellare l automa in modo che esso accetti solo le stringhe che descrivono il funzionamento del prestito. In particolare, individuare possibili situazioni fisicamente irrealizzabili e formalizzarle in modo che l automa rifiuti le successioni di azioni che porterebbero il libro in tali situazioni (per esempio, un libro libero o bloccato non può essere restituito). tati e simboli riportati nel testo sono solo indicativi: possono essere modificati, ridotti ed estesi a secondo delle esigenze del progetto. L automa deve modellare le situazioni in cui si può trovare un libro all interno di un servizioo di prestito bibliotecario. Gli stati rappresenteranno la situazione del libro, mentre l insieme dei simboli di input modelleranno le operazioni che l oggetto subisce. Questo permette di vedere l automa come un simulatore del sistema di prestito: l automa deve accettare le stringhe che rappresentano le sequenze di azioni che mantengono il libro nelle situazioni consentiti oppure quelle che rappresentano una sequenza di eventi di particolare interesse. Le informazioni date dalle specifiche consentono di definire: insieme degli stati, Q: Q = {libero, prenotato, imprestato, scaduto, bloccato, errore} dove libero indica che il libro è disponibile al pubblico, prenotato indica che il libro è fisicamente in biblioteca, ma è stato impegnato e quindi non è disponibile, imprestato indica che il libro è stato ritirato e che quindi non è fisicamente presente in biblioteca, scaduto indica che il libro è in mano all utente da un tempo più lungo del periodo di prestito, e bloccato indica che il libro era scaduto ed è stato restituito alla biblioteca, mentre, infine, errore viene usato per segnalare situazioni non consentite; insieme dei simboli, Σ: Σ = {p, r, c, t} dove p indica la prenotazione, r indica il ritiro del libro dalla biblioteca, c indica la riconsegna del libro alla biblioteca e t la scadenza temporale di una settimana. Le specifiche descrivono i seguenti comportamenti: dallo stato libero, il libro può passare negli stati prenotato e imprestato; la scadenza settimanale fa transitare un libro dallo stato prenotato allo stato libero, da imprestato a scaduto, e da bloccato a libero; un libro scaduto diventa bloccato, quando riconsegnato; un libro può subire le zioni di chi lo ha in carico: per esempio, un libro imprestato non si può prenotare e un libro bloccato non si può restituire. Quest ultima situazione descrive un insieme di situazioni fisicamente irrealizzabile. Per formalizzare queste condizioni, si può usare lo stato errore, tale per cui una volta raggiunto non lo si possa più lasciare. Ogni sequenza di azioni che non comporti il raggiungimento dello stato errore rappresenta il normale funzionamento del prestito. Pertanto, qualsiasi sequenza di simboli che non porti nello

stato errore deve venire accettata, e, quindi, tutti gli stati tranne errore compongono l insieme degli stati finali, F. i può ipotizzare che lo stato iniziale sia, libero. Con queste ipotesi aggiuntive, dovrebbero essere accettate, per esempio, le seguenti sequenze di azioni: ptrc, rtctp, prcpr. Al contrario, verrebbero rifiutate, tra le altre, le seguenti sequenze di azioni: pp, rtp, prtcr. Va notato che aggiungendo un qualsiasi suffisso ad una stringa rifiutata, si ottiene sempre una stringa rifiutata: se una certa sequenza di azioni porta in uno stato non accettabile, qualsiasi sequenza di azioni ad essa successiva non può renderla accettabile. La tabella delle transizioni, δ : Q Σ Q può essere quella riportata in Tabella 1. Esercizio 5 ia data l espressione regolare E, definita su Σ = {a, b, c}: E = (bc + ca) 2 (a + b 2 c) Quali fra le seguenti stringhe vengono descritte da E? a) cabcaabbca b) bcbcbbca c) cacabbcbbc d) cabc e) cbbaaaabbc f) abbcbbc Le espressioni regolari denotano degli insiemi di stringhe. In tal senso, possiamo applicare l operatore di relazione insiemistica alle espressioni regolari per indicare che l insieme denotato da un espressione contiene l insieme denotato da una seconda espressione regolare. Per esempio, E 1 E 2 significa che tutte le stringhe descritte da E 1 sono descritte anche da E 2. Ricordando che l espressione regolare s descrive l insieme di stringhe composto dalla sola s, {s}, si può dimostrare che tale stringa viene descritta da un espressione regolare E derivando una catena di inclusioni del tipo s E 1 E 2 E k E. a) cabcaabbca cabcaabbca (ca)(bc)(a)(a)(bbc)(a) (ca+ bc) 2 (a + bbc) 4 (bc + ca) 2 (a + b 2 c) 4 (bc + ca) 2 (a + b 2 c) La stringa cabcaabbca viene descritta da E: cabcaabbca L(E). b) bcbcbbca bcbcbbca (bc)(bc)(bbc)(a) (bc) 2 (bbc + a) 2 (bc + ca) 2 (a + b 2 c) 2 (bc + ca) 2 (a + b 2 c) La stringa bcbcbbca viene descritta da E: bcbcbbca L(E). c) cacabbcbbc cacabbcbbc (ca)(ca)(bbc)(bbc) (ca) 2 (bbc) 2 (bc + ca) 2 (b 2 c) (bc + ca) 2 (a + b 2 c) La stringa cacabbcbbc viene descritta da E: cacabbcbbc L(E). d) cabc cabc (ca)(bc) (ca + bc) 2 (bc + ca) 2 (bc + ca) 2 (a + b 2 c) La stringa cabc viene descritta da E: cabc L(E). e) cbbaaaabbc Le stringhe descritte da E devono avere per prefisso la stringa bc oppure la stringa ca. La stringa cbbaaaabbc non può quindi essere descritta da E: cbbaaaabbc L(E). f) abbcbbc Le stringhe descritte da E devono avere per prefisso la stringa bc oppure la stringa ca. La stringa abbcbbc non gode di questa proprietà e, quindi, non può essere descritta da E: abbcbbc L(E). Esercizio 6 Indicare una espressione regolare (non banale) definita su Σ = {a, b, c} che descriva le seguenti stringhe: bbbcbcaaabc bcbcbcbc ccbbbabc bbcbbaaaabcaaabc

δ p r c t libero prenotato imprestato errore errore prenotato errore imprestato errore libero imprestato errore errore libero scaduto scaduto errore errore bloccato scaduto bloccato errore errore errore libero errore errore errore errore errore Tabella 1: Tabella delle transizioni dell automa dell esercizio 4. ma non le seguenti: abccccbabc aaacca bbcbabb bcbbbaac i può notare che tutte le stringhe da includere terminano per bc e che iniziano per b o per c. Questa caratteristica può essere descritta dall espressione regolare (b + c)(a + b + c) bc: b o c come prefisso: (b + c)(a + b + c) bc; bc come suffisso: (b + c)(a + b + c) bc; una qualsiasi stringa all interno: (b + c)(a + b + c) bc. Nessuna delle stringhe del secondo gruppo viene descritta da tale espressione regolare: abccccbabc: inizia per a; aaacca: inizia per a; bbcbabb: non termina per bc; bcbbbaac: non termina per bc. Altre espressioni regolari che rispettano le specifiche del problema sono: (b + c) (a bc) (b + c) (bc + a) bc (b + c) (a + bc) (b + c) 2 (a + b + c) bc