SlideShare a Scribd company logo
Automata on infinite objects
Amedeo Leo1 Simone Romano1
1Università degli Studi di Salerno
Seminario Automi Linguaggi e Complessità - 2014/2015
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 1 / 40
1 Introduzione
2 Automi su parole infinite
3 Automi ad albero
4 Conclusioni
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 2 / 40
Outline
1 Introduzione
2 Automi su parole infinite
3 Automi ad albero
4 Conclusioni
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 2 / 40
Perchè studiare la teoria degli automi?
È alla base di vari rami dell’informatica
Origine della scienza dell’informazione
Turing machine
Teoria dei compilatori
Model checking
Büchi automata, Rabin tree automata
Elaborazione dei dati sul Web (XML document)
Nota: Sebbene più astratta rispetto ai linguaggi di programmazione, la teoria
degli automi riflette l’essenza della computazione
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 3 / 40
Contesto storico
1930s: Turing machines (A. Turing)
1940s-1950s: Automi a stati finiti (W. McCulloch,W. Pitts, S. Kleene, etc.), Chomsky
hierarchy (N. Chomsky)
1960s-1970s: Pushdown automata (A.G. Oettinger, M.P. Schutzenberger), Büchi
automata over ω-words (J. R. Büchi ), Rabin tree automata over ω-trees (M. O. Rabin),
Tree automata (J. E. Doner, J. W. Thatcher, J. B. Wright, etc.)
1980s-1990s: ω-automata applied to formal verification (M. Vardi, P. Wolper, O.
Kupferman, etc.)
2000s-2010s: Automata over unranked trees applied to XML (A. Bruggemann-Klein,
M. Murata, D. Wood, F. Neven, etc.), Visibly pushdown automata (R. Alur, P. Madhusudan)
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 4 / 40
Notazioni
A, A*, Aω: alfabeto finito, insieme di parole finite, insieme di
ω-sequenze su A
ω-word: α(0)α(1)... con α(i) ∈ A
sottostringa finita di ω: α(m, n) := α(m)...α(n − 1) for m ≤ n
sottostringa infinita di ω: α(m, ω) := α(m)α(m + 1)...
Wω = {α ∈ Aω | α = w0w1... con wi ∈ W per i ≥ 0}
−→
W = {α ∈ Aω | ∃ωn α(0, n) ∈ W}
In(σ) = {s ∈ S | ∃ωn α(0, n) ∈ S }
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 5 / 40
Outline
1 Introduzione
2 Automi su parole infinite
Automi di Büchi
Altri modelli di automi
Calcolo delle sequenze
Context-free ω-languages
3 Automi ad albero
4 Conclusioni
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 6 / 40
Definizione
Un automa di Büchi sull’alfabeto A è della forma:
A = (Q, q0, ∆, F)
Q = insieme di stati
q0 = stato iniziale ∈ Q
∆ ⊆ QxAxQ
F ⊆ Q: insieme di stati finali
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 7 / 40
Definizione - 2
Run
Data una ω-word α(0)α(1)... sul Aω, una run di A è così definita:
sequenza di stati σ = σ(0)σ(1)... tale che
σ(0) = q0
(σ(i), α(i), σ(i + 1)) ∈ ∆ for i ≥ 0
Successful run
Data una ω-word una successful run di A è così definita:
In(σ) ∩ F = ∅ - ’Qualche stato di F occorre infinite volte’
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 8 / 40
ω-linguaggio - Büchi riconoscibile
ω-linguaggio di A
A accetta α se esiste una successful run di A su α
L(A) = {α ∈ Aω | A accetta α }
Nota: Un ω-linguaggio regolare contiene una ω-word finale periodica
Büchi riconoscibile
Se L = L(A) per qualche automa di Büchi A allora L è Büchi -
riconoscibile
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 9 / 40
Esempio
Dato l’alfabeto A = {a,b,c} ed L1 ⊆ Aω:
α ∈ L1 ⇔ dopo ogni occorrenza di a c’è qualche occorrenza di b
Aω − L1 è riconosciuto dall’automa in figura 2
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 10 / 40
Büchi riconoscibile - 2
Dato un automa di Büchi A
Data una parola finita w = a0...an−1
Se esiste una sequenza di stati s0, ..., sn tale che
s0 = s
(si, ai, si+1) ∈ ∆ per i < n
sn = s
Allora scriviamo:
s −→
w
s
Definiamo:
Wss = {w ∈ A∗ | s −→
w
s }
Wss è regolare.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 11 / 40
Büchi riconoscibile - 2
Accettazione
L’ω-linguaggio riconosciuto da un automa di Büchi A è della forma:
L(A) = s∈F Wq0s · (Wss)ω
Teorema
Un ω linguaggio L ⊆ Aω è Büchi riconoscibile ⇔ L è un’unione finita di
insiemi U · Vω, dove U, V ⊆ A∗ sono insiemi regolari di parole finite.
Lemma
Se V ⊆ A∗
è regolare allora Vω
è Büchi riconoscibile
Se U ⊆ A∗
è regolare ed L ⊆ Aω
è Büchi riconoscibile allora U · L è
Büchi riconoscibile
Se L1, L2 ⊆ Aω
sono Büchi riconoscibili allora L1 L2 ed L1 L2 sono
Büchi riconoscibili
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 12 / 40
ω - regular expression
Dato un ω-linguaggio L, la sua rappresentazione nella forma:
L = n
i=1 Ui · Vω
i
dove Ui e Vi sono definiti da espressioni regolari, è definita
espressione ω-regolare
È quindi possibile definire un automa di Büchi a partire da una
espressione ω-regolare e viceversa
Linguaggio ω-regolare: ω-linguaggio riconosciuto da un automa di
Büchi
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 13 / 40
Complemento
Problema del vuoto è decidibile
Il complemento è un problema non banale
Se L ⊆ Aω
è Büchi riconoscibile, allora lo è anche Aω
-L. A partire
da L si può costruire un automa di Büchi che riconosce Aω
− L
(Caso non deterministico!)
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 14 / 40
Complemento - dim
La relazione
u ∼A v ⇔ ∀s, s ∈ Q(s −→
u
s ⇔ s −→
v
s e s
F
−→
u
s ⇔ s
F
−→
v
s )
ci consente di riscrivere L ed Aω-L con la stessa notazione.
Nota: ∼ è di indice finito data la finitezza di Q.
∀ coppia di classi ∼A U,V: se U · Vω L(A) = ∅, allora
U · Vω ⊆ L(A)
Vale anche per il complemento
Data ∼A, ∀ω-word α esistono delle ∼ classi U,V tali che α ∈ U · Vω
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 15 / 40
Complemento - dim - 2
Una congruenza ∼ su A∗ satura L ⊆ Aω se
U · Vω L = ∅ ⇒ U · Vω ⊆ L ∀ coppia di ∼ classi U,V
Se ∼ satura L ed è di indice finito, allora
L = {U · Vω | U, V sono ∼-classi, U · Vω L = ∅}
L’inclusione ⊇ deriva dalla notazione di saturazione, mentre la ⊆
deriva dal punto 2 del teorema precedente.
Note:
∼ ha indice finito; ∼ classi regolari la cui unione è finita ⇒ L è
regolare
Poichè la congruenza satura il complemento, anche il
complemento è regolare.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 16 / 40
Automi di Büchi deterministici
Complemento
Gli automi di Büchi deterministici non sono chiusi rispetto al
complemento.
Dato il linguaggio W ⊆ A∗ riconosciuto da un automa
deterministico, definiamo
−→
W = {α ∈ Aω
| ∃ω
n α(0, n) ∈ W}
è riconosciuto da un automa di Büchi
Nota: Un ω-linguaggio L ⊆ Aω è riconosciuto da un automa di
Büchi deterministico ⇔ L =
−→
W per un insieme regolare W ⊆ A∗
Non essendo tutti di questa forma la chiusura del complemento
fallisce.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 17 / 40
Automa di Muller
Un automa di Muller sull’alfabeto A è della forma
A = (Q, q0, δ, F)
Q = insieme di stati
q0 = stato iniziale ∈ Q
δ : QxA → Q
F ⊆ 2Q: insieme di stati finali
Successful run: un sottoinsieme di stati in F occorre infinite
volte
Accettazione di α: la run dell’automa su α è successful
Muller-riconoscibile: ω-word accettate da un automa di Muller
Teorema di McNaughton’s: Un ω-lingugaggio è regolare (Büchi
riconoscibile) ⇔ è Muller riconoscibile.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 18 / 40
Automa di Rabin
Un automa di Rabin sull’alfabeto A è della forma
A = (Q, q0, δ, Ω)
(Q, q0, δ) come Muller
Ω = {(L1, U1), · · · , (Ln, Un)} è una collezione di coppie accettanti
Successful run: In(σ) Li = ∅ e In(σ) Ui = ∅
Accettazione di α: la run dell’automa su α è successful
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 19 / 40
Introduzione al calcolo delle sequenze
L’automa di Büchi può essere utilizzato per risolvere problemi
legati al calcolo delle sequenze
Büchi ha mostrato che ogni condizione su una sequenza può
essere riformulata come un problema di accettazione di una
sequenza da un automa
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 20 / 40
S1S
A: alfabeto finito di simboli
S1SA:
primo termine = 0
successori costruiti dalle variabili x, y,... applicando la funzione +1
funzioni atomiche: t1 = t2, t1 < t2, t1 ∈ X, t1 ∈ Qa
t1, t2 sono termini
X è una variabile al secondo ordine
Qa è un simbolo di predicato unario (uno per ogni a ∈ A)
le formule di S1SA si ottengono dalle formule atomiche applicando
gli operatori ¬, ∧, ∨ ed i quantificatori ∀, ∃
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 21 / 40
Relazione Büchi - S1S
Possiamo rappresentare ogni ω-word α ∈ Aω come
α = {ω, 0, +1, <, {Qa}a∈A}
dove
ω: insieme dei naturali
0: naturale 0
+1: funzione di successione
<: relazione di ordinamento
{Qa} = {i ∈ ω | α(i) = a ∀a ∈ A}
La verità di una formula S1S è decidibile.
Teorema di Büchi
un ω-linguaggio è definibile in S1S sse è regolare.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 22 / 40
Context-free ω-languages
Grammatiche per ω-words
Una grammatica context-free sull’alfabeto A con variabili (non terminali)
x1, · · · , xn è data da una n-upla (G1, · · · , Gn) di insiemi finiti
Gi ⊆ (A {x1, · · · , xn})∗
, dove w ∈ Gi se xi → w è una produzione di G.
Esempio
G0 : x1 → x2x1, x2 → ax2b | ab.
Esempi di derivazioni:
x1 → x2x1 → abx1 → abx2x1 → ababx1 → ababx2x1 → · · ·
genera l’ ω-word (ab)ω
.
x1 → x2x1 → abx1 → abx2x1 → abax2bx1 → abaax2bbx1 →
abaaax2bbbx1 → · · · genera l’ ω-word abaω
.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 23 / 40
A∞
Se la produzione x1 contiene variabili terminali:
la grammatica può generare anche parole di lunghezza finita
Parliamo di A∞ quando, data una grammatica G, consideriamo le sole
ω-word generabili
scartiamo quelle di lunghezza finita (se generabili)
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 24 / 40
Algebrico
Definizioni
(a) Un linguaggio infinito L ⊆ A∞ è algebrico se contiene tutte le
parole infinite generabili da una cfg G.
(b) Un linguaggio infinito L ⊆ A∞ è context-free se esiste una cfg G e
un insieme di variabili F di G tali che L consiste di tutte le parole
infinite generate da x1 con una leftmost dove le variabili usate
infinitamente spesso formano un insieme in F.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 25 / 40
Outline
1 Introduzione
2 Automi su parole infinite
3 Automi ad albero
Introduzione
Esempi
4 Conclusioni
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 26 / 40
Tree automata - 1
A = {f, g, c}
A-valued tree
map t : dom(t) → A
chiuso sotto la notazione di prefisso
soddisfa l’implicazione
wj ∈ dom(t), i < j ⇒ wi ∈ dom(t)
frontiera di t: fr(t) = {w ∈ dom(t) | ¬∃i wi ∈ dom(t)}
frontiera esterna: fr+
(t) = {wi /∈ dom(t) | w ∈ dom(t) ed i < k}
(k = numero di figli)
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 27 / 40
Tree automata - 2
Informalmente:
prende un A-valued binary tree
inizia la computazione alla radice partendo dallo stato iniziale
visita parallelamente i vari cammini dell’albero percorrendo coppie
di stati
un automa ad albero accetta un albero t se c’è una run
successful
una run è successful se tutti i cammini dell’albero rispettano la
condizione di accettazione dell’automa
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 28 / 40
Tree automata - def. formale - 1
Un automa ad albero (non deterministico, top-down) su A è nella
forma:
A = (Q, q0, ∆, F)
Q = insieme di stati
q0 = stato iniziale ∈ Q
∆ ⊆ QxAxQxQ
F ⊆ Q: insieme di stati finali
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 29 / 40
Tree automata - def. formale - 2
Run di A su un albero binario finito t:
albero r:dom+(t) → Q dove
r( ) ∈ Q0
(r(w), t(w), r(w0), r(w1)) ∈ ∆ ∀w ∈ dom(t)
Una run è successful se:
r(w) ∈ F ∀w ∈ fr+(t)
Il linguaggio dell’albero T(A) riconosciuto da A:
insieme di alberi t che portano A a percorrere una successful run
T riconoscibile:
T = T(A) per qualche A
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 30 / 40
Automi su alberi infiniti
Due esempi di Tree automata infiniti sono rappresentati da:
Büchi Tree automata
Rabin Tree automata
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 31 / 40
Büchi tree automaton
Un automa di Büchi ad albero su A è nella forma:
A = (Q, q0, ∆, F)
Q = insieme di stati
q0 = stato iniziale ∈ Q
∆ ⊆ QxAxQxQ
F ⊆ Q: insieme di stati finali
Run di A su un albero t ∈ Tω
A :
mappa r:{0, 1}∗ → Q dove
r( ) ∈ q0
(r(w), t(w), r(w0), r(w1)) ∈ ∆ ∀w ∈ {0, 1}∗
Una run è successful se:
∀ path π, In(r|π) F = ∅
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 32 / 40
Rabin tree automaton
Un automa di Rabin ad albero su A è nella forma:
A = (Q, q0, ∆, Ω)
Q = insieme di stati
q0 = stato iniziale ∈ Q
F ⊆ Q: insieme di stati finali
Ω{(L1, U1), · · · , (Ln, Un)} è un insieme di coppie accettanti
Una run è successful se:
∀ path π ∃i ∈ {1, · · · , n} con
In(r|π) Li = ∅ e In(r|π) Ui = ∅
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 33 / 40
Accettazione
Un albero t ∈ Tω
A :
accettato da Büchi : "run successful" secondo Büchi
accettato da Rabin: "run successful" secondo Rabin
Un insieme T ⊆ Tω
A è:
Büchi riconoscibile: consiste degli alberi accettati da un automa di
Büchi
Rabin riconoscibile: consiste degli alberi accettati da un automa di
Rabin
Nota:
Automa di Büchi ⊆ Automa di Rabin (Ω = {(∅, F)})
⇒ Ogni Tω
A Büchi riconoscibile è anche Rabin riconoscibile.
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 34 / 40
Varianti di Rabin
Muller
Ω rimpiazzato dall’insieme di stati F
accettazione: ∃ una run r t.c. ∀π, In(r|π) ∈ F
Streett
∀ path π ∃i ∈ {1, · · · , n} con
In(r|π) Ui = ∅ ⇒ In(r|π) Li = ∅
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 35 / 40
Outline
1 Introduzione
2 Automi su parole infinite
3 Automi ad albero
4 Conclusioni
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 36 / 40
Riepilogo
Argomenti trattati:
ω-word
Automi di Büchi
ω-linguaggio
Espressioni ω-regolari
Problema del vuoto
Complemento
Automi di Muller - Rabin
ω-linguaggi Context-Free
Automi ad albero
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 37 / 40
Argomenti non trattati
Condizioni di accettazione e gerarchia di Borel
Complemento e determinazione dei giochi
Modelli di automi per sistemi temporizzati
Timed automata
Automi su alfabeti infiniti
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 38 / 40
Riferimenti
Automata on Infinite Objects - http://ki-www.
inferenzsysteme.informatik.tu-darmstadt.de/
fgdi3/2007/Material/Paper/Thomas_Automata.pdf
Automata theory and its applications -
http://lcs.ios.ac.cn/~wuzl/pub/lecture-01.pdf
Linguaggi formali, automi e logiche - https://users.dimi.
uniud.it/~angelo.montanari/automi.pdf
Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 39 / 40
Automi suoggettiinfiniti

More Related Content

Viewers also liked

Bitacora plan de area semana4
Bitacora plan de area semana4Bitacora plan de area semana4
Bitacora plan de area semana4Alejandro Parra
 
If project
If projectIf project
If project
komal sarfraz
 
Sociedades comerciales eli
Sociedades comerciales eliSociedades comerciales eli
Sociedades comerciales elizaratemanuela
 
Actividades basicas tecnologia isabel
Actividades  basicas tecnologia  isabelActividades  basicas tecnologia  isabel
Actividades basicas tecnologia isabeliscrimaos423
 
8th PreAlg - March28
8th PreAlg - March288th PreAlg - March28
8th PreAlg - March28jdurst65
 
Transforming Learning: Using a Multi-User Virtual Environment for simulation
Transforming Learning: Using a Multi-User Virtual Environment for simulationTransforming Learning: Using a Multi-User Virtual Environment for simulation
Transforming Learning: Using a Multi-User Virtual Environment for simulation
Health Informatics New Zealand
 
Proyecto "People"
Proyecto "People"Proyecto "People"
Proyecto "People"
eTwinning España
 
Õppematerjalide autoriõigus
Õppematerjalide autoriõigusÕppematerjalide autoriõigus
Õppematerjalide autoriõigus
Hans Põldoja
 
etTwinning: aprender com o minecraft
etTwinning: aprender com o minecraftetTwinning: aprender com o minecraft
etTwinning: aprender com o minecraft
Agrupamento de Escolas da Batalha
 
Fuentes del derecho
Fuentes del derechoFuentes del derecho
Fuentes del derecho
EDUARDO FRIAS
 

Viewers also liked (13)

Bitacora plan de area semana4
Bitacora plan de area semana4Bitacora plan de area semana4
Bitacora plan de area semana4
 
4.junta bancaria (1)
4.junta bancaria (1)4.junta bancaria (1)
4.junta bancaria (1)
 
If project
If projectIf project
If project
 
Sociedades comerciales eli
Sociedades comerciales eliSociedades comerciales eli
Sociedades comerciales eli
 
Actividades basicas tecnologia isabel
Actividades  basicas tecnologia  isabelActividades  basicas tecnologia  isabel
Actividades basicas tecnologia isabel
 
P1 e1 internet
P1 e1 internetP1 e1 internet
P1 e1 internet
 
8th PreAlg - March28
8th PreAlg - March288th PreAlg - March28
8th PreAlg - March28
 
Transforming Learning: Using a Multi-User Virtual Environment for simulation
Transforming Learning: Using a Multi-User Virtual Environment for simulationTransforming Learning: Using a Multi-User Virtual Environment for simulation
Transforming Learning: Using a Multi-User Virtual Environment for simulation
 
Mba sistema de seguridad social en salud colombia inocencio melendez
Mba sistema de seguridad social en salud colombia inocencio melendez Mba sistema de seguridad social en salud colombia inocencio melendez
Mba sistema de seguridad social en salud colombia inocencio melendez
 
Proyecto "People"
Proyecto "People"Proyecto "People"
Proyecto "People"
 
Õppematerjalide autoriõigus
Õppematerjalide autoriõigusÕppematerjalide autoriõigus
Õppematerjalide autoriõigus
 
etTwinning: aprender com o minecraft
etTwinning: aprender com o minecraftetTwinning: aprender com o minecraft
etTwinning: aprender com o minecraft
 
Fuentes del derecho
Fuentes del derechoFuentes del derecho
Fuentes del derecho
 

More from Simone Romano

Blockchain on ibm cloud
Blockchain on ibm cloudBlockchain on ibm cloud
Blockchain on ibm cloud
Simone Romano
 
Automaticf fMRI learning_simoneromano
Automaticf fMRI learning_simoneromanoAutomaticf fMRI learning_simoneromano
Automaticf fMRI learning_simoneromano
Simone Romano
 
Hadoop analyzerJR
Hadoop analyzerJRHadoop analyzerJR
Hadoop analyzerJR
Simone Romano
 
Smart api
Smart apiSmart api
Smart api
Simone Romano
 
Presentazione ic progetto_b
Presentazione ic progetto_bPresentazione ic progetto_b
Presentazione ic progetto_b
Simone Romano
 
Open ideas tesina
Open ideas tesinaOpen ideas tesina
Open ideas tesina
Simone Romano
 
Word Integration
Word IntegrationWord Integration
Word Integration
Simone Romano
 
Ica analisi digruppo
Ica analisi digruppoIca analisi digruppo
Ica analisi digruppo
Simone Romano
 
Dispersion centrality
Dispersion centralityDispersion centrality
Dispersion centrality
Simone Romano
 

More from Simone Romano (9)

Blockchain on ibm cloud
Blockchain on ibm cloudBlockchain on ibm cloud
Blockchain on ibm cloud
 
Automaticf fMRI learning_simoneromano
Automaticf fMRI learning_simoneromanoAutomaticf fMRI learning_simoneromano
Automaticf fMRI learning_simoneromano
 
Hadoop analyzerJR
Hadoop analyzerJRHadoop analyzerJR
Hadoop analyzerJR
 
Smart api
Smart apiSmart api
Smart api
 
Presentazione ic progetto_b
Presentazione ic progetto_bPresentazione ic progetto_b
Presentazione ic progetto_b
 
Open ideas tesina
Open ideas tesinaOpen ideas tesina
Open ideas tesina
 
Word Integration
Word IntegrationWord Integration
Word Integration
 
Ica analisi digruppo
Ica analisi digruppoIca analisi digruppo
Ica analisi digruppo
 
Dispersion centrality
Dispersion centralityDispersion centrality
Dispersion centrality
 

Automi suoggettiinfiniti

  • 1. Automata on infinite objects Amedeo Leo1 Simone Romano1 1Università degli Studi di Salerno Seminario Automi Linguaggi e Complessità - 2014/2015 Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 1 / 40
  • 2. 1 Introduzione 2 Automi su parole infinite 3 Automi ad albero 4 Conclusioni Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 2 / 40
  • 3. Outline 1 Introduzione 2 Automi su parole infinite 3 Automi ad albero 4 Conclusioni Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 2 / 40
  • 4. Perchè studiare la teoria degli automi? È alla base di vari rami dell’informatica Origine della scienza dell’informazione Turing machine Teoria dei compilatori Model checking Büchi automata, Rabin tree automata Elaborazione dei dati sul Web (XML document) Nota: Sebbene più astratta rispetto ai linguaggi di programmazione, la teoria degli automi riflette l’essenza della computazione Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 3 / 40
  • 5. Contesto storico 1930s: Turing machines (A. Turing) 1940s-1950s: Automi a stati finiti (W. McCulloch,W. Pitts, S. Kleene, etc.), Chomsky hierarchy (N. Chomsky) 1960s-1970s: Pushdown automata (A.G. Oettinger, M.P. Schutzenberger), Büchi automata over ω-words (J. R. Büchi ), Rabin tree automata over ω-trees (M. O. Rabin), Tree automata (J. E. Doner, J. W. Thatcher, J. B. Wright, etc.) 1980s-1990s: ω-automata applied to formal verification (M. Vardi, P. Wolper, O. Kupferman, etc.) 2000s-2010s: Automata over unranked trees applied to XML (A. Bruggemann-Klein, M. Murata, D. Wood, F. Neven, etc.), Visibly pushdown automata (R. Alur, P. Madhusudan) Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 4 / 40
  • 6. Notazioni A, A*, Aω: alfabeto finito, insieme di parole finite, insieme di ω-sequenze su A ω-word: α(0)α(1)... con α(i) ∈ A sottostringa finita di ω: α(m, n) := α(m)...α(n − 1) for m ≤ n sottostringa infinita di ω: α(m, ω) := α(m)α(m + 1)... Wω = {α ∈ Aω | α = w0w1... con wi ∈ W per i ≥ 0} −→ W = {α ∈ Aω | ∃ωn α(0, n) ∈ W} In(σ) = {s ∈ S | ∃ωn α(0, n) ∈ S } Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 5 / 40
  • 7. Outline 1 Introduzione 2 Automi su parole infinite Automi di Büchi Altri modelli di automi Calcolo delle sequenze Context-free ω-languages 3 Automi ad albero 4 Conclusioni Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 6 / 40
  • 8. Definizione Un automa di Büchi sull’alfabeto A è della forma: A = (Q, q0, ∆, F) Q = insieme di stati q0 = stato iniziale ∈ Q ∆ ⊆ QxAxQ F ⊆ Q: insieme di stati finali Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 7 / 40
  • 9. Definizione - 2 Run Data una ω-word α(0)α(1)... sul Aω, una run di A è così definita: sequenza di stati σ = σ(0)σ(1)... tale che σ(0) = q0 (σ(i), α(i), σ(i + 1)) ∈ ∆ for i ≥ 0 Successful run Data una ω-word una successful run di A è così definita: In(σ) ∩ F = ∅ - ’Qualche stato di F occorre infinite volte’ Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 8 / 40
  • 10. ω-linguaggio - Büchi riconoscibile ω-linguaggio di A A accetta α se esiste una successful run di A su α L(A) = {α ∈ Aω | A accetta α } Nota: Un ω-linguaggio regolare contiene una ω-word finale periodica Büchi riconoscibile Se L = L(A) per qualche automa di Büchi A allora L è Büchi - riconoscibile Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 9 / 40
  • 11. Esempio Dato l’alfabeto A = {a,b,c} ed L1 ⊆ Aω: α ∈ L1 ⇔ dopo ogni occorrenza di a c’è qualche occorrenza di b Aω − L1 è riconosciuto dall’automa in figura 2 Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 10 / 40
  • 12. Büchi riconoscibile - 2 Dato un automa di Büchi A Data una parola finita w = a0...an−1 Se esiste una sequenza di stati s0, ..., sn tale che s0 = s (si, ai, si+1) ∈ ∆ per i < n sn = s Allora scriviamo: s −→ w s Definiamo: Wss = {w ∈ A∗ | s −→ w s } Wss è regolare. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 11 / 40
  • 13. Büchi riconoscibile - 2 Accettazione L’ω-linguaggio riconosciuto da un automa di Büchi A è della forma: L(A) = s∈F Wq0s · (Wss)ω Teorema Un ω linguaggio L ⊆ Aω è Büchi riconoscibile ⇔ L è un’unione finita di insiemi U · Vω, dove U, V ⊆ A∗ sono insiemi regolari di parole finite. Lemma Se V ⊆ A∗ è regolare allora Vω è Büchi riconoscibile Se U ⊆ A∗ è regolare ed L ⊆ Aω è Büchi riconoscibile allora U · L è Büchi riconoscibile Se L1, L2 ⊆ Aω sono Büchi riconoscibili allora L1 L2 ed L1 L2 sono Büchi riconoscibili Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 12 / 40
  • 14. ω - regular expression Dato un ω-linguaggio L, la sua rappresentazione nella forma: L = n i=1 Ui · Vω i dove Ui e Vi sono definiti da espressioni regolari, è definita espressione ω-regolare È quindi possibile definire un automa di Büchi a partire da una espressione ω-regolare e viceversa Linguaggio ω-regolare: ω-linguaggio riconosciuto da un automa di Büchi Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 13 / 40
  • 15. Complemento Problema del vuoto è decidibile Il complemento è un problema non banale Se L ⊆ Aω è Büchi riconoscibile, allora lo è anche Aω -L. A partire da L si può costruire un automa di Büchi che riconosce Aω − L (Caso non deterministico!) Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 14 / 40
  • 16. Complemento - dim La relazione u ∼A v ⇔ ∀s, s ∈ Q(s −→ u s ⇔ s −→ v s e s F −→ u s ⇔ s F −→ v s ) ci consente di riscrivere L ed Aω-L con la stessa notazione. Nota: ∼ è di indice finito data la finitezza di Q. ∀ coppia di classi ∼A U,V: se U · Vω L(A) = ∅, allora U · Vω ⊆ L(A) Vale anche per il complemento Data ∼A, ∀ω-word α esistono delle ∼ classi U,V tali che α ∈ U · Vω Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 15 / 40
  • 17. Complemento - dim - 2 Una congruenza ∼ su A∗ satura L ⊆ Aω se U · Vω L = ∅ ⇒ U · Vω ⊆ L ∀ coppia di ∼ classi U,V Se ∼ satura L ed è di indice finito, allora L = {U · Vω | U, V sono ∼-classi, U · Vω L = ∅} L’inclusione ⊇ deriva dalla notazione di saturazione, mentre la ⊆ deriva dal punto 2 del teorema precedente. Note: ∼ ha indice finito; ∼ classi regolari la cui unione è finita ⇒ L è regolare Poichè la congruenza satura il complemento, anche il complemento è regolare. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 16 / 40
  • 18. Automi di Büchi deterministici Complemento Gli automi di Büchi deterministici non sono chiusi rispetto al complemento. Dato il linguaggio W ⊆ A∗ riconosciuto da un automa deterministico, definiamo −→ W = {α ∈ Aω | ∃ω n α(0, n) ∈ W} è riconosciuto da un automa di Büchi Nota: Un ω-linguaggio L ⊆ Aω è riconosciuto da un automa di Büchi deterministico ⇔ L = −→ W per un insieme regolare W ⊆ A∗ Non essendo tutti di questa forma la chiusura del complemento fallisce. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 17 / 40
  • 19. Automa di Muller Un automa di Muller sull’alfabeto A è della forma A = (Q, q0, δ, F) Q = insieme di stati q0 = stato iniziale ∈ Q δ : QxA → Q F ⊆ 2Q: insieme di stati finali Successful run: un sottoinsieme di stati in F occorre infinite volte Accettazione di α: la run dell’automa su α è successful Muller-riconoscibile: ω-word accettate da un automa di Muller Teorema di McNaughton’s: Un ω-lingugaggio è regolare (Büchi riconoscibile) ⇔ è Muller riconoscibile. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 18 / 40
  • 20. Automa di Rabin Un automa di Rabin sull’alfabeto A è della forma A = (Q, q0, δ, Ω) (Q, q0, δ) come Muller Ω = {(L1, U1), · · · , (Ln, Un)} è una collezione di coppie accettanti Successful run: In(σ) Li = ∅ e In(σ) Ui = ∅ Accettazione di α: la run dell’automa su α è successful Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 19 / 40
  • 21. Introduzione al calcolo delle sequenze L’automa di Büchi può essere utilizzato per risolvere problemi legati al calcolo delle sequenze Büchi ha mostrato che ogni condizione su una sequenza può essere riformulata come un problema di accettazione di una sequenza da un automa Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 20 / 40
  • 22. S1S A: alfabeto finito di simboli S1SA: primo termine = 0 successori costruiti dalle variabili x, y,... applicando la funzione +1 funzioni atomiche: t1 = t2, t1 < t2, t1 ∈ X, t1 ∈ Qa t1, t2 sono termini X è una variabile al secondo ordine Qa è un simbolo di predicato unario (uno per ogni a ∈ A) le formule di S1SA si ottengono dalle formule atomiche applicando gli operatori ¬, ∧, ∨ ed i quantificatori ∀, ∃ Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 21 / 40
  • 23. Relazione Büchi - S1S Possiamo rappresentare ogni ω-word α ∈ Aω come α = {ω, 0, +1, <, {Qa}a∈A} dove ω: insieme dei naturali 0: naturale 0 +1: funzione di successione <: relazione di ordinamento {Qa} = {i ∈ ω | α(i) = a ∀a ∈ A} La verità di una formula S1S è decidibile. Teorema di Büchi un ω-linguaggio è definibile in S1S sse è regolare. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 22 / 40
  • 24. Context-free ω-languages Grammatiche per ω-words Una grammatica context-free sull’alfabeto A con variabili (non terminali) x1, · · · , xn è data da una n-upla (G1, · · · , Gn) di insiemi finiti Gi ⊆ (A {x1, · · · , xn})∗ , dove w ∈ Gi se xi → w è una produzione di G. Esempio G0 : x1 → x2x1, x2 → ax2b | ab. Esempi di derivazioni: x1 → x2x1 → abx1 → abx2x1 → ababx1 → ababx2x1 → · · · genera l’ ω-word (ab)ω . x1 → x2x1 → abx1 → abx2x1 → abax2bx1 → abaax2bbx1 → abaaax2bbbx1 → · · · genera l’ ω-word abaω . Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 23 / 40
  • 25. A∞ Se la produzione x1 contiene variabili terminali: la grammatica può generare anche parole di lunghezza finita Parliamo di A∞ quando, data una grammatica G, consideriamo le sole ω-word generabili scartiamo quelle di lunghezza finita (se generabili) Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 24 / 40
  • 26. Algebrico Definizioni (a) Un linguaggio infinito L ⊆ A∞ è algebrico se contiene tutte le parole infinite generabili da una cfg G. (b) Un linguaggio infinito L ⊆ A∞ è context-free se esiste una cfg G e un insieme di variabili F di G tali che L consiste di tutte le parole infinite generate da x1 con una leftmost dove le variabili usate infinitamente spesso formano un insieme in F. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 25 / 40
  • 27. Outline 1 Introduzione 2 Automi su parole infinite 3 Automi ad albero Introduzione Esempi 4 Conclusioni Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 26 / 40
  • 28. Tree automata - 1 A = {f, g, c} A-valued tree map t : dom(t) → A chiuso sotto la notazione di prefisso soddisfa l’implicazione wj ∈ dom(t), i < j ⇒ wi ∈ dom(t) frontiera di t: fr(t) = {w ∈ dom(t) | ¬∃i wi ∈ dom(t)} frontiera esterna: fr+ (t) = {wi /∈ dom(t) | w ∈ dom(t) ed i < k} (k = numero di figli) Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 27 / 40
  • 29. Tree automata - 2 Informalmente: prende un A-valued binary tree inizia la computazione alla radice partendo dallo stato iniziale visita parallelamente i vari cammini dell’albero percorrendo coppie di stati un automa ad albero accetta un albero t se c’è una run successful una run è successful se tutti i cammini dell’albero rispettano la condizione di accettazione dell’automa Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 28 / 40
  • 30. Tree automata - def. formale - 1 Un automa ad albero (non deterministico, top-down) su A è nella forma: A = (Q, q0, ∆, F) Q = insieme di stati q0 = stato iniziale ∈ Q ∆ ⊆ QxAxQxQ F ⊆ Q: insieme di stati finali Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 29 / 40
  • 31. Tree automata - def. formale - 2 Run di A su un albero binario finito t: albero r:dom+(t) → Q dove r( ) ∈ Q0 (r(w), t(w), r(w0), r(w1)) ∈ ∆ ∀w ∈ dom(t) Una run è successful se: r(w) ∈ F ∀w ∈ fr+(t) Il linguaggio dell’albero T(A) riconosciuto da A: insieme di alberi t che portano A a percorrere una successful run T riconoscibile: T = T(A) per qualche A Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 30 / 40
  • 32. Automi su alberi infiniti Due esempi di Tree automata infiniti sono rappresentati da: Büchi Tree automata Rabin Tree automata Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 31 / 40
  • 33. Büchi tree automaton Un automa di Büchi ad albero su A è nella forma: A = (Q, q0, ∆, F) Q = insieme di stati q0 = stato iniziale ∈ Q ∆ ⊆ QxAxQxQ F ⊆ Q: insieme di stati finali Run di A su un albero t ∈ Tω A : mappa r:{0, 1}∗ → Q dove r( ) ∈ q0 (r(w), t(w), r(w0), r(w1)) ∈ ∆ ∀w ∈ {0, 1}∗ Una run è successful se: ∀ path π, In(r|π) F = ∅ Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 32 / 40
  • 34. Rabin tree automaton Un automa di Rabin ad albero su A è nella forma: A = (Q, q0, ∆, Ω) Q = insieme di stati q0 = stato iniziale ∈ Q F ⊆ Q: insieme di stati finali Ω{(L1, U1), · · · , (Ln, Un)} è un insieme di coppie accettanti Una run è successful se: ∀ path π ∃i ∈ {1, · · · , n} con In(r|π) Li = ∅ e In(r|π) Ui = ∅ Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 33 / 40
  • 35. Accettazione Un albero t ∈ Tω A : accettato da Büchi : "run successful" secondo Büchi accettato da Rabin: "run successful" secondo Rabin Un insieme T ⊆ Tω A è: Büchi riconoscibile: consiste degli alberi accettati da un automa di Büchi Rabin riconoscibile: consiste degli alberi accettati da un automa di Rabin Nota: Automa di Büchi ⊆ Automa di Rabin (Ω = {(∅, F)}) ⇒ Ogni Tω A Büchi riconoscibile è anche Rabin riconoscibile. Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 34 / 40
  • 36. Varianti di Rabin Muller Ω rimpiazzato dall’insieme di stati F accettazione: ∃ una run r t.c. ∀π, In(r|π) ∈ F Streett ∀ path π ∃i ∈ {1, · · · , n} con In(r|π) Ui = ∅ ⇒ In(r|π) Li = ∅ Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 35 / 40
  • 37. Outline 1 Introduzione 2 Automi su parole infinite 3 Automi ad albero 4 Conclusioni Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 36 / 40
  • 38. Riepilogo Argomenti trattati: ω-word Automi di Büchi ω-linguaggio Espressioni ω-regolari Problema del vuoto Complemento Automi di Muller - Rabin ω-linguaggi Context-Free Automi ad albero Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 37 / 40
  • 39. Argomenti non trattati Condizioni di accettazione e gerarchia di Borel Complemento e determinazione dei giochi Modelli di automi per sistemi temporizzati Timed automata Automi su alfabeti infiniti Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 38 / 40
  • 40. Riferimenti Automata on Infinite Objects - http://ki-www. inferenzsysteme.informatik.tu-darmstadt.de/ fgdi3/2007/Material/Paper/Thomas_Automata.pdf Automata theory and its applications - http://lcs.ios.ac.cn/~wuzl/pub/lecture-01.pdf Linguaggi formali, automi e logiche - https://users.dimi. uniud.it/~angelo.montanari/automi.pdf Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 39 / 40