- Operazioni unarie
- Operazioni binarie
- Software UMDES
- Linguaggi regolari e loro proprietà
- Espressioni regolari
- Teorema di Kleene
Dato un singolo automa è possibile definire le seguenti operazioni unarie:
Dato un automa
, la parte accessibile è l’automa
con
Un automa G si dice accessibile se Ac(G) = G.
La parte accessibile non modifica ne il linguaggio generato ne quello marcato.
Dato un automa
, la parte coaccessibile è l’automa
con
se
, altrimenti non è definito
Quando si esegue la parte coaccessibile si modifica il linguaggio generato (in particolare si possono eliminare alcune stringhe da
Un automa G si dice COACCESSIBILE se CoAc(G) = G. In questo caso risulta
Dato un automa
, la sua rifinitura (o trim) è l’automa
Per definizione un automa rifinito è sia accessibile che coaccessibile
Si consideri un automa rifinito . Se
, essendo
coaccessibile, vale
.
L’automa complemento di si indica con
ed è un automa per cui
Dato rifinito:
1. completare la funzione di transizione
con e
2. Sia e
Per costruzione, si ha che
In Figura A: Automa G con .
In Figura B: Automa complemento di .
In Figura C: Automa rifinito.
Dati due automi e
si definiscono le seguenti operazioni binarie:
Dati due automi e
l’automa prodotto
è dato da
con
e
Un evento occorre in se e solo se occorre in entrambi gli automi
e
Si può facilmente verificare che
e che
Quindi l’intersezione di due linguaggi e
può essere implementata effettuando il prodotto dei due automi che li generano
Se allora
e se allora
Altrimenti
Dati due automi e
l‘automa prodotto parallelo (o prodotto sincrono)
è dato da
con
e
Se allora
Se allora
equivale all’evoluzione parallela (non sincronizzata) dei due automi
Proiezione
Proiezione inversa
Estensione dell’operazione di proiezione ai linguaggi
Sia L un linguaggio definito dall’insieme di eventi E1∪ E2
Sia un linguaggio definito dall’insieme di eventi Ei
Si noti che
Siano ,
e
allora
Linguaggio generato
Linguaggio marcato
In generale vale
È possibile estendere l’operazione di prodotto parallelo dagli automi ai linguaggi. In particolare la composizione parallela tra linguaggi è definita come
UMDES Software Library
UMDES è una libreria C sviluppata dal DES Group dell’Università del Michigan. UMDES mette a disposizione una serie di funzioni per effettuare operazioni sugli automi.
L’homepage del progetto è http://www.eecs.umich.edu/umdes/toolboxes.html
Gli automi possono essere specificati in maniera interattiva oppure utilizzando un file testo
Le funzioni di UMDES possono essere richiamate da riga di comando
Un lista dei comandi e dei formati dei file si trova qui, mentre un rapida guida si trova qui.
Utilizzando UMDES gli automi possono essere specificati in file testo con estensione .fsm (finite state machine)
Un esempio di file .fsm per l’automa riportato in figura è il seguente
4 ← numero di stati
I 1 1 (nome stato, flag stato marcato, numero di archi in uscita)
s W c o (evento in uscita, stato destinazione, flag controllabilità, flag osservabilità)
W 0 1
f A uc o
A 0 1
t T c o
T 0 1
ft I uc o
Operazioni unarie
acc →parte accessibile
co_acc →_parte coaccessibile
trim→rifinitura
comp_fsm →automa complemento
Operazioni binarie
product →prodotto
par_comp →prodotto parallelo
Dato un linguaggio è sempre possibile costruire un automa
tale che
oppure
Se consideriamo solo automi con spazio di stato finito (automi a stati finiti), allora l’affermazione precedente non è più vera!
Esempio: non può essere ne generato ne marcato da un automa a stati finiti
Definizione di linguaggio regolare
Un linguaggio si dice regolare se può essere marcato da un automa a stati finiti
La classe dei linguaggi regolari si indica con e si ha
Siano , allora
Indicando con + l’unione di due stringhe e con , è possibile definire le espressioni regolari come segue:
1. sono espressioni regolari
2. se e
sono espressioni regolari lo sono anche
3. Le espressioni regolari sono solo quelle che possono essere definite mediante le regole 1 e 2.
Ogni linguaggio che può essere espresso mediante un’espressione regolare è un linguaggio regolare. Viceversa, ogni linguaggio regolare può essere rappresentato mediante un’epsressione regolare.
1. Introduzione ai sistemi ad eventi discreti
3. Operazioni sugli automi e linguaggi regolari
4. Automi deterministici temporizzati
5. Automi temporizzati stocastici e catene di Markov
6. Reti di Petri – Definizioni e proprietà
7. Reti di Petri – Grafo di raggiungibilità e grafo di copertura
8. Proprietà comportamentali delle reti di Petri
9. Reti di Petri – Stima dell'insieme di raggiungibilità e classificazione
10. Reti di Petri temporizzate
11. Introduzione al controllo di supervisione
12. Controllo di Supervisione - Parte Prima
13. Controllo di Supervisione - Parte Seconda
Paragrafi 2.3 (fino al sottoparagrafo 2.3.2 compreso) e 2.4 (fino a sottoparagrafo 2.4.2 compreso) da Cassandras-Lafortune.
1. Introduzione ai sistemi ad eventi discreti
3. Operazioni sugli automi e linguaggi regolari
4. Automi deterministici temporizzati
5. Automi temporizzati stocastici e catene di Markov
6. Reti di Petri – Definizioni e proprietà
7. Reti di Petri – Grafo di raggiungibilità e grafo di copertura
8. Proprietà comportamentali delle reti di Petri
9. Reti di Petri – Stima dell'insieme di raggiungibilità e classificazione
10. Reti di Petri temporizzate
11. Introduzione al controllo di supervisione
12. Controllo di Supervisione - Parte Prima
13. Controllo di Supervisione - Parte Seconda
14. Controllo di Supervisione - Parte Terza
15. Controllo supervisivo mediante posti monitor
I podcast del corso sono disponibili anche su iTunesU e tramite Feed RSS.