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

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,..

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

ALGEBRA DELLE PROPOSIZIONI

Fondamenti di informatica per la sicurezza

Cos è un Calcolatore?

Algoritmi e strutture dati. Codici di Huffman

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

Traccia delle soluzioni

Informatica (Basi di Dati)

Statistica. Lezione 6

3 GRAFICI DI FUNZIONI

Le Macchine di Turing

Fondamenti di informatica per la sicurezza

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Fondamenti di informatica per la sicurezza

Sommario. Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi

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

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Le macchine di Turing

Luigi Piroddi

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

Le Mappe di Karnaugh.

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

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

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Intelligenza Artificiale

1 Giochi a due, con informazione perfetta e somma zero

Fondamenti di informatica per la sicurezza

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

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

Appunti ed esercizi di combinatoria. Alberto Carraro

Laurea Specialistica in Informatica

Appunti sulla Macchina di Turing. Macchina di Turing

CALCOLO COMBINATORIO

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

LE FUNZIONI A DUE VARIABILI

SQL/OLAP. Estensioni OLAP in SQL

Corso di. Dott.ssa Donatella Cocca

MODELLO RELAZIONALE. Introduzione

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

risulta (x) = 1 se x < 0.

CRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI

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

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

BOZZA MANUALE SDI-FVG PASSIVE SOMMARIO

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

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

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

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

STATISTICA IX lezione

2 - Modifica Annulla ANNULLA TOPOGRAFICO ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

Prof. Silvio Reato Valcavasia Ricerche. Il piano cartesiano

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

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Il Modello Relazionale

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Database. Si ringrazia Marco Bertini per le slides

Modulo didattico sulla misura di grandezze fisiche: la lunghezza

Procedura Index On Line

Operatori logici e porte logiche

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

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

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

Pertanto la formula per una prima approssimazione del tasso di rendimento a scadenza fornisce

MODELLO E/R. Modellazione dei dati

LA RETTA. Retta per l'origine, rette orizzontali e verticali

Codifica binaria dei numeri relativi

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

Teoria degli insiemi

COEFFICIENTI BINOMIALI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Gestione Voti Scolastici

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

Esponenziali elogaritmi

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Circolare N.62 del 10 Aprile 2013

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

MANUALE ESSE3 Gestione Registro delle lezioni

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

TRASFORMAZIONI GEOMETRICHE NEL PIANO. Parte 1

~ Copyright Ripetizionando - All rights reserved ~ STUDIO DI FUNZIONE

Linguaggi formali e compilazione

On-line Corsi d Informatica sul web

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

ALGEBRA RELAZIONALE RIEPILOGO

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Principi di analisi causale Lezione 2

I sistemi di numerazione

Informatica. Rappresentazione dei numeri Numerazione binaria

La macchina universale

2 FUNZIONI REALI DI VARIABILE REALE

G S M C O M M A N D E R Duo S

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

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 23.02.2005 della seconda parte vers. A 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 = {b, ba, ab} L 2 = {x, zy} 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 1 L 2 f) L 8 = (L 1 2 L 2 ) 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 = {b, ba, ab, x, zy} c) L 5 = L 1 L 2 = {bx, bax, abx, bzy, bazy, abzy} d) L 6 = L 1 2 = {bb, bba, bab, baba, baab, abb, abba, abab} e) L 7 = L 1 L 2 L insieme L 7 è dato dalle stringhe formate come concatenazione di un numero arbitrario (eventualmente nullo) di elementi di L 1 seguito da una concatenazione di un numero arbitrario (eventualmente nullo) di elementi di L 2. Poiché sia L 1 che L 2 sono composto da infiniti elementi, anche L 7 avrà infiniti elementi. L insieme {ɛ, abbabb, xxxzyx, abxzyx} è un sottoinsieme di L 7. f) L 8 = (L 1 2 L 2 ) L insieme L 8 è formato dalla concatenazione di un numero arbitrario (eventualmente nullo) di stringhe composte da due elementi di L 1 e da un elemento di L 2. Pertanto, L 8 è composto da infiniti elementi. L insieme {ɛ, abbx, babzybabazy} è 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 = {, H} insieme delle regole di produzione, P : P = {, ::= d Hc, d Ha} Quali fra le seguenti stringhe vengono generate da G? a) dcac

b) ddab c) ccdb d) dcb e) cbdc 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) dcac ::= Hc H ::= Ha Hc Hac cac Non esistono altri metasimboli da espandere e manca un simbolo per ottenere la stringa data. La stringa dcac non è generata da G: dcac b) ddab ::= H ::= Ha H ::= d ::= d Hab dab ddab La stringa ddab è generata da G: ddab c) ccdb ::= H ::= d ::= Hc db Hcdb ccdb La stringa ccdb è generata da G: ccdb Non esistono altri metasimboli da espandere e manca un simbolo per ottenere la stringa data. La stringa dcb non è generata da G: dcb e) cbdc ::= Hc H ::= d ::= Hc dc dc cbdc La stringa cbdc è generata da G: Esercizio 3 cbdc 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 3 q 1 q 1 q 3 q 0 q 1 q 0 q 3 q 2 q 1 q 3 q 2 q 1 q 1 q 3 q 3 q 2 q 0 q 0 q 2 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: ae abde cbea dabe b) quattro stringhe rifiutate da A: d) dcb ::= cb bdc ccbe dbacb cab

Esercizio 4 Modellare un ascensore mediante un automa a stati finiti. L ascensore opera in una palazzina a due piani (piano terra e primo piano) ed è dotato di due ante. Per potersi attivare, entrambe le ante devono essere chiuse. Ipotizzare che non si possano verificare contemporaneamente più azioni. Modellare l automa in modo che esso accetti solo le stringhe che descrivono il funzionamento sicuro dell ascensore. In particolare, individuare possibili situazioni fisicamente irrealizzabili o pericolose e formalizzarle in modo che l automa rifiuti le successioni di azioni che porterebbero l ascensore in tali situazioni. 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 un sistema fisico. L insieme dei simboli di input modella quindi gli stimoli che il sistema riceve dall esterno (o le azioni che esso subisce) e gli stati descrivono le situazioni in cui il sistema viene a trovarsi. Questo permette di vedere l automa come un simulatore del sistema in esame: l automa deve accettare le stringhe che rappresentano le sequenze di stimoli (o azioni) fisicamente realizzabili oppure quelle che rappresentano una sequenza di eventi di particolare interesse. Il sistema è descrivibile come combinazione di fattori indipendenti: la situazione della porta e la posizione all interno del palazzo. La porta è costituita da due ante (anta destra e anta sinistra), le quali possono trovarsi in due stati (aperta o chiusa). Inoltre, l ascensore può essere posizionato al primo piano o al piano terra. Gli stati dell automobile si possono derivare dalle combinazioni degli stati dei due sottosistemi. Questo porterebbe ad almeno 8 stati (tre fattori che possono assumere due valori ciascuno: 2 3 ). Tuttavia, poiché le specifiche danno maggiore importanza al comportamento dell ascensore in funzione della situazione delle porte, il numero di stati può essere ridotto a 6. Va in fatti notato che lo spostamento tra i piani può avvenire solo a porte chiuse. e si non considera causa di errore lo spostamento verso il piano in cui l ascensore già si trova, non è necessario che l automa memorizzi il piano di partenza. Quindi, serviranno quattro stati per tener traccia della situazione delle porte e due per la posizione dell ascensore. Pertanto, l insieme degli stati, Q, può essere: Q = {aa, ca, ac, cc, pt, p1, err} dove i primi quattro stati indicano lo stato delle ante (nello stato xy, l anta sinistra è aperta se x = a, e chiusa per x = c, mentre y indica lo stato dell anta destra), gli stati pt e p1 indicano la posizione al piano terra e al primo piano, rispettivamente, e lo stato err vine usato per indicare le situazioni in cui le specifiche non vengono rispettate. Le azioni che possono essere effettuate sul sistema sono l apertura e la chiusura delle singole ante e lo spostamento verso il piano terra o il primo piano. Pertanto, l insieme dei simboli, Σ, può essere: Σ = {a d, c d, a s, c s, p 1, p t } dove a x e c X indicano, rispettivamente, l azione di apertura e di chiusura dell anta x (dove x = d se l anta è quella destra e x = s se invece è quella sinistra), mentre p 1 e p t indicano, rispettivamente, lo spostamento al primo piano e al piano terra. Le specifiche descrivono i seguenti comportamenti: per potersi spostare, l ascensore deve avere entrambe le ante chiuse. Poiché esiste almeno una situazione ritenuta non accettabile, è opportuno che lo stato err sia tale per cui una volta raggiunto non lo si possa più lasciare. Questa caratteristica formalizza il fatto che la situazione di errore è irreversibile, cioè non esiste una sequenza di azioni che permetta di riassorbire una situazione non accettabile. i può inoltre ipotizzare che il tentativo di apertura (chiusura) di una anta già aperta (chiusa) generi errore. In tal caso, l automa viene portato nello stato err. Ogni sequenza di azioni che non comporti il raggiungimento dello stato err rappresenta il normale funzionamento dell ascensore. Pertanto, qualsiasi sequenza di simboli che non porti nello stato err deve venire accettata, e, quindi, tutti gli stati tranne err compongono l insieme degli stati finali, F.

i può ipotizzare che lo stato iniziale sia quello relativo all ascensore con le ante chiuse, cc. Con le ipotesi fatte, dovrebbero essere accettate, per esempio, le seguenti sequenze di azioni: a d a s c d c s p 1, p t a s c s p t p 1. Al contrario, verrebbero rifiutate, tra le altre, le seguenti sequenze di azioni: c d, a s a d c d p 1. 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. Ulteriore semplificazioni possono essere fatte: non considerando la posizione dell ascensore, in quanto, dalle specifiche, la posizione dell ascensore appare secondaria rispetto alla situazione critica che è la manovra dell ascensore a porte aperte; unificando le azioni di apertura e chiusura di ogni singola anta, in modo che azionare una anta aperta significhi chiuderla e azionare un anta chiusa significhi aprirla. Con queste semplificazioni, stati, Q, diventa: Q = {aa, ca, ac, cc, err} e l insieme dei simboli, Σ, diventa: Σ = {a d, a s, s} l insieme degli dove a d e a s indicano l azionamento dell anta destra e sinistra, rispettivamente, mentre s indica lo spostamento dell ascensore. La tabella delle transizioni, δ : Q Σ Q può essere quella riportata in Tabella 2. Esercizio 5 ia data l espressione regolare E, definita su Σ = {a, b, c}: E = c 2 (cb + a) + ab c 2 Quali fra le seguenti stringhe vengono descritte da E? a) ccaacb b) cccbaacb c) acc d) aabccb e) abbbcc f) ccbbcc 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. Osserviamo innanzitutto che le stringhe che vengono descritte da E sono descritte, in alternativa, o dalla sottoespressione E 1 = c 2 (cb + a) o dalla sottoespressione E 2 = ab c 2. Questa premessa semplificherà la spiegazione delle soluzioni di seguito riportate. a) ccaacb ccaacb (cc)(a)(a)(cb) c 2 (cb + a) 3 c 2 (a + cb) c 2 (cb + a) + ab c 2 La stringa ccaacb viene descritta da E: ccaacb L(E). b) cccbaacb cccbaacb (cc)(cb)(a)(a)(cb) c 2 (cb + a) 4 c 2 (a + cb) c 2 (cb + a) + ab c 2 La stringa cccbaacb viene descritta da E: cccbaacb L(E). c) acc acc (a)(cc) ac 2 ab c 2 c 2 (cb + a) + ab c 2 La stringa acc viene descritta da E: acc L(E). d) aabccb La stringa aabccb non può essere descritta da E 1 perché non ha cc come prefisso, e non può essere descritta da E 2 perché ha più di un simbolo a come prefisso. La stringa aabccb non viene descritta da E: aabccb L(E). e) abbbcc abbbcc (a)(bbb)(cc) ab 3 c 2 ab c 2 c 2 (cb + a) + ab c 2 La stringa abbbcc viene descritta da E: abbbcc L(E).

δ a d c d a s c s p 1 p t p1 ca err ac err p1 pt pt ca err ac err p1 pt aa err ac err ca err err ac aa err err cc err err ca err cc aa err err err cc ca err ac err p1 pt err err err err err err err Tabella 1: Tabella delle transizioni dell automa dell esercizio 4. δ a d a s s aa ac ca err ac aa cc err ca cc aa err cc ca ac cc err err err err Tabella 2: Tabella delle transizioni alternativa dell automa dell esercizio 4. f) ccbbcc Le stringhe ottenute da E 1 avranno cc nel prefisso, ma non nel suffisso, mentre le stringhe ottenute da E 2 avranno cc nel suffisso, ma non nel prefisso. La stringa ccbbbcc ha cc sia come prefisso che come suffisso. Pertanto, non può essere descritta da E: ccbbcc L(E). Esercizio 6 Indicare una espressione regolare (non banale) definita su Σ = {a, b, c} che descriva le seguenti stringhe: Nessuna delle stringhe del secondo gruppo viene descritta da tale espressione regolare, in quanto tutte le stringhe di questo insieme hanno lunghezza dispari. Altre espressioni regolari che rispettano le specifiche del problema sono: ab + cb 2 ) +(ca 2 + c 2 b ) (a + ab + ba) (c 2 b + cb 2 + ca 2 ) (aaba) (bcbb) (ab) (ba) (cc) (caa) (ccb) aababcbb abba cc caaccb ma non le seguenti: bababab cbaabcc abcba cca i può notare che tutte le stringhe da includere hanno lunghezza pari. Questa caratteristica può essere descritta dall espressione regolare ((a+b+ c) 2 ).