Informatica 3 V anno.

Slides:



Advertisements
Presentazioni simili
Automi temporizzati.
Advertisements

Equazioni differenziali
Capitolo 4 Logica sequenziale
Le disposizioni Sia ora k un intero, k ≤ n
2. Introduzione alla probabilità
Esempio di diagramma degli stati: Distributore di bevande
Definizione di probabilità, calcolo combinatorio,
Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Linguaggi algoritmici
Linguaggi Regolari e Linguaggi Liberi
Macchine sequenziali Capitolo 4.
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Introduzione Cosa sono le reti di Petri?
DIAGRAMMI DI FLUSSO DEI DATI
3. Processi Stocastici Un processo stocastico è una funzione del tempo i cui valori x(t) ad ogni istante di tempo t sono v.a. Notazione: X : insieme di.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Elementi di Matematica
Analisi e Sintesi di circuiti sequenziali
Introduzione agli Automi Cellulari
Macchine sequenziali.
Macchine sequenziali.
Introduzione alla programmazione lll
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
Esempi di Automi a stati Finiti
Elementi di Informatica
Elementi di Informatica
Algoritmi di String Matching
Algoritmi e Programmazione strutturata
Automi LAVORO SVOLTO DA MARIO GERMAN O
Esempio teorema equivalenza Mealy-Moore
Programmazione di Calcolatori
BIOINFO3 - Lezione 15 ISTRUZIONI
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
Programma di Informatica Classi Prime
ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI (Metodologia DFD)
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Informatica 3 V anno.
Rappresentazione degli algoritmi
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Cosa sono i Fogli Elettronici? Software applicativo nato dall’esigenza di –organizzare insiemi di dati tramite tabelle, schemi, grafici, ecc. –effettuare.
Circuiti di memorizzazione elementari: i Flip Flop
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Algoritmi.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Reti Sequenziali Corso di Architetture degli Elaboratori Reti Sequenziali.
Espressioni regolari (1)
Automi temporizzati.
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
TEORIA DEGLI AUTOMI Una macchina sequenziale a stati finiti o AUTOMA a stati finiti è un sistema sequenziale che ha un insieme finito di stati interni,
ELETTRONICA DIGITALE – circuiti sequenziali
Calcolatori Elettronici
Meccanica - I moti 1. Il moto uniforme I.
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Linguaggi, stringhe e alfabeti. Linguaggi e grammatiche Un linguaggio è un sistema di comunicazione tra persone che permette di trasmettere informazioni.
Laboratorio di Architettura Degli Elaboratori1 Macchine a stati finiti – un automa di Mealy generale con 1 bit d’ingresso, 1 di uscita e 2 di stato.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Probabilità Definizione di probabilità La definizione di probabilità si basa sul concetto di evento, ovvero sul fatto che un determinato esperimento può.
GLI AUTOMI INGRESSIUSCITE Un Automa è un sistema con le seguenti caratteristiche: 1.Dinamico : evolve nel tempo; 2.Invariante : la risposta del sistema.
Gli automi.
Transcript della presentazione:

Informatica 3 V anno

Teoria degli automi

Introduzione agli automi Un particolare tipo di sistemi dinamici è rappresentato dagli automi. L’automa è un modello di calcolo molto semplice da utilizzare, adatto a descrivere un gran numero di problemi di varia natura. Possiamo pensarlo come un dispositivo che legge una stringa in input e la elabora secondo un meccanismo di elaborazione e una memoria limitata, producendo delle uscite. 3

Definiamo il concetto di automa Per quanto detto, un automa è un sistema. Possiamo quindi introdurre la seguente definizione: Un automa è un sistema con le seguenti caratteristiche: dinamico: evolve nel tempo invariante: la risposta del sistema a una sollecitazione è la stessa indipendentemente dall’istante di tempo in cui è applicata discreto nell’avanzamento: quando è discreto l’insieme dei tempi, e nelle interazioni gli elementi degli ingressi e delle uscite sono composti da un numero finito di elementi 4

Automa a stati finiti Un automa a stati finiti (ASF) è un automa in cui ANCHE l’insieme degli stati è composto da un numero finito di elementi. 5

Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello matematico composto dai seguenti elementi: I l’insieme degli input che è in grado di leggere U l’insieme degli output che può produrre S l’insieme finito degli stati interni in cui può trovarsi f la funzione di transizione che fa passare da uno stato al successivo g la funzione di trasformazione che determina il valore degli output Pertanto, l’automa A è rappresentabile come: A = {I, U, S, f, g} 6

Transizione e trasformazione negli automi a stati finiti Indicando con: t un qualsiasi istante di tempo in cui stiamo analizzando l’automa s(t) lo stato all’istante t s(t+1) lo stato all’istante successivo a t Possiamo esprimere la funzione di transizione nel seguente modo: s(t+1) = f(s(t), i(t)) In pratica lo stato successivo s(t+1) dipende dallo stato attuale s(t) e dagli ingressi in tale istante. Per la funzione di trasformazione avremo, invece: u(t) = g(s(t), i(t)) Le uscite all’istante t: u(t) dipendono dallo stato attuale s(t), cioè lo stato all’istante t, e dagli ingressi in tale istante i(t). 7

Automi riconoscitori Una classe di automi particolarmente importante è quella degli automi riconoscitori, in grado di riconoscere la presenza di una particolare sequenza di simboli tra tutti quelli che si avvicendano in ingresso. I riconoscitori, dopo l’ingresso dell’ultimo simbolo della stringa in ingresso rispondono: sì (o riconosciuta) se la stringa è riconosciuta no (o non riconosciuta) se la stringa non è riconosciuta 8

Rappresentazione automi a stati finiti Un automa a stati finiti può essere rappresentato mediante: modello grafico: diagramma degli stati modello matematico: tabella di transizione modello logico: programma 9

Diagrammi degli stati Il diagramma degli stati è una rappresentazione grafica di un automa costituita da bolle e archi. - le bolle (o nodi) rappresentano gli stati dell’automa. All’interno della bolla è riportato il nome dello stato corrispondente: - gli archi rappresentano le relazioni di un passaggio da uno stato all’altro. L’etichetta sopra ogni arco ha la forma seguente: Cioè è formata dall’input che genera la transizione e dall’output che viene rilasciato a seguito della transizione. Per esempio, la transizione moneta/lattina significa che: dallo stato S2, quando si riceve in input una moneta, si transita allo stato S1 emettendo in uscita una lattina. 10

Stato iniziale e stati finali Lo stato iniziale è quello dal quale l’automa inizia a ricevere gli ingressi e a descrivere il suo comportamento (elaborazione o esecuzione). È rappresentato da un nodo con una freccia entrante. Gli stati finali sono particolari stati in cui si viene a trovare l’automa al termine di un’esecuzione che ha avuto successo. Sono individuati da una bolla con un doppio circolo e vengono indicati SOLO negli automi per cui ciò ha significato. 11

Costruzione del diagramma degli stati Individuiamo ora i passi da seguire per arrivare alla costruzione del diagramma degli stati. Le fasi sono: 1° passo Analisi delle specifiche verbali e/o scritte 2° passo Formalizzazione 3° passo Sintesi con diagramma degli stati 12

Rappresentazione grafica del diagramma degli stati Il diagramma degli stati è una rappresentazione grafica sia della funzione di transizione f sia della funzione di trasformazione g. Esemplificando, in un automa-distributore avremo: 13

Stati come stati di memoria Gli stati di un automa rappresentano i suoi stati di memoria. Un automa si trova in uno o in un altro stato a seconda di ciò che è successo in precedenza. In base allo stato in cui si trova e all’input che riceve, l’automa stabilisce il suo comportamento. 14

Tabelle di transizione La seconda modalità di rappresentazione degli automi (equivalente ai diagrammi di transizione) è quella delle tabelle di transizione. Le tabelle di transizione sono tabelle con un numero di righe pari al numero degli stati dell’automa e un numero di colonne pari al numero dei diversi ingressi. Le celle contengono una coppia formata dallo stato successivo e dall’uscita da emettere. Considerando nuovamente l’automa-distributore, la tabella di transizione sarà così rappresentata: 15

Le ripetizioni degli automi riconoscitori Sappiamo che gli automi riconoscitori sono quelli in grado di riconoscere la presenza di una particolare sequenza di simboli tra tutti quelli che avvicendano in ingresso. Un automa riconoscitore ammette ripetizioni nel caso in cui prosegue nell’elaborazione anche quando ha individuato la sequenza di simboli ricercata. Un automa riconoscitore non ammette ripetizioni nel caso in cui, individuata la sequenza ricercata termina il suo lavoro. 16

Automa di Mealy Gli automi visti finora, in cui le uscite a un certo istante t dipendono, oltre che dallo stato, anche dagli ingressi, sono detti automi impropri o di Mealy. La loro rappresentazione avviene tramite il diagramma degli stati visto finora, e cioè: 17

Automa di Moore Un automa si dice proprio o di Moore quando le uscite all’istante t dipendono esclusivamente dai valori assunti dallo stato. In tal caso possiamo scrivere la funzione di trasformazione come: u(t) = g(s(t)) Per la loro rappresentazione utilizziamo diagrammi degli stati in cui in ogni bolla vi è una coppia stato/uscita e sull’arco semplicemente l’ingresso: La tabella di transizione ha una colonna in più per le uscite, che sono legate agli stati. Nelle celle ci sarà solo lo stato successivo: 18

Da automi di Mealy ad automi di Moore Si tenga comunque presente che: Non si deve pensare che gli automi di Mealy possano svolgere meno compiti rispetto agli automi di Moore. Infatti, è sempre possibile trasformare un automa di Mealy nel corrispondente automa di Moore aumentando adeguatamente il numero degli stati. 19

Automi senza uscite In alcuni tipi di automi le uscite non vengono riportate né all’interno degli stati, né sugli archi. In questi casi si parla di automi senza uscite. Negli automi riconoscitori senza uscite, per sapere se la sequenza è stata, o meno, riconosciuta si utilizzano gli stati finali nel senso che: se lo stato non è finale l’uscita è sequenza non riconosciuta se lo stato è finale l’uscita è sequenza riconosciuta 20

Esempio automi senza uscite Osserviamo ora un esempio per comprendere meglio come lavora un automa senza uscita. Il nostro automa riconosce sequenze che hanno un numero dispari di 1. Per il tipo di riconoscimento che l’automa deve effettuare, NON è corretto inserire l’uscita R (riconosciuta) all’interno dello stato Q1. Questo perché tale uscita verrebbe emessa ripetutamente ogni volta che l’automa passa nello stato Q1; invece l’automa dovrebbe aspettare necessariamente la fine della sequenza in ingresso prima di stabilirne il riconoscimento. Nel nostro esempio, quando viene letto l’ultimo simbolo in input e l’automa si trova allo stato Q0 significa che la sequenza non è stata riconosciuta; quando, invece, termina la sequenza in ingresso e l’automa si trova nello stato Q1 significa che la sequenza è stata riconosciuta. 21