Top Banner
Automata on infinite objects Amedeo Leo 1 Simone Romano 1 1 Università degli Studi di Salerno Seminario Automi Linguaggi e Complessità - 2014/2015 Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 1 / 40
41

Automi suoggettiinfiniti

Jan 20, 2017

Download

Science

Simone Romano
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Automi suoggettiinfiniti

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

Page 2: Automi suoggettiinfiniti

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

Page 3: Automi suoggettiinfiniti

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

Page 4: Automi suoggettiinfiniti

Perchè studiare la teoria degli automi?

È alla base di vari rami dell’informaticaOrigine della scienza dell’informazione

I Turing machine

Teoria dei compilatoriModel checking

I Büchi automata, Rabin tree automata

Elaborazione dei dati sul Web (XML document)Nota: Sebbene più astratta rispetto ai linguaggi di programmazione, la teoriadegli automi riflette l’essenza della computazione

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 3 / 40

Page 5: Automi suoggettiinfiniti

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

Page 6: Automi suoggettiinfiniti

Notazioni

A, A*, Aω: alfabeto finito, insieme di parole finite, insieme diω-sequenze su Aω-word: α(0)α(1)... con α(i) ∈ Asottostringa finita di ω: α(m,n) := α(m)...α(n − 1) for m ≤ nsottostringa 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

Page 7: Automi suoggettiinfiniti

Outline

1 Introduzione

2 Automi su parole infiniteAutomi di BüchiAltri modelli di automiCalcolo delle sequenzeContext-free ω-languages

3 Automi ad albero

4 Conclusioni

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 6 / 40

Page 8: Automi suoggettiinfiniti

Definizione

Un automa di Büchi sull’alfabeto A è della forma:

A = (Q, q0, ∆, F )

Q = insieme di statiq0 = stato iniziale ∈ Q∆ ⊆ QxAxQF ⊆ Q: insieme di stati finali

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 7 / 40

Page 9: Automi suoggettiinfiniti

Definizione - 2

RunData una ω-word α(0)α(1)... sul Aω, una run di A è così definita:

sequenza di stati σ = σ(0)σ(1)... tale cheI σ(0) = q0I (σ(i), α(i), σ(i + 1)) ∈ ∆ for i ≥ 0

Successful runData una ω-word una successful run di A è così definita:

In(σ) ∩ F 6= ∅ - ’Qualche stato di F occorre infinite volte’

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 8 / 40

Page 10: Automi suoggettiinfiniti

ω-linguaggio - Büchi riconoscibile

ω-linguaggio di AA 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 riconoscibileSe 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

Page 11: Automi suoggettiinfiniti

Esempio

Dato l’alfabeto A = a,b,c ed L1 ⊆ Aω:α ∈ L1 ⇔ dopo ogni occorrenza di a c’è qualche occorrenza di bAω − L1 è riconosciuto dall’automa in figura 2

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 10 / 40

Page 12: Automi suoggettiinfiniti

Büchi riconoscibile - 2

Dato un automa di Büchi AData una parola finita w = a0...an−1

Se esiste una sequenza di stati s0, ..., sn tale ches0 = s(si ,ai , si+1) ∈ ∆ per i < nsn = 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

Page 13: Automi suoggettiinfiniti

Büchi riconoscibile - 2

AccettazioneL’ω-linguaggio riconosciuto da un automa di Büchi A è della forma:

L(A) =⋃

s∈F Wq0s · (Wss)ω

TeoremaUn ω linguaggio L ⊆ Aω è Büchi riconoscibile⇔ L è un’unione finita diinsiemi U · Vω, dove U,V ⊆ A∗ sono insiemi regolari di parole finite.

LemmaSe V ⊆ A∗ è regolare allora Vω è Büchi riconoscibileSe U ⊆ A∗ è regolare ed L ⊆ Aω è Büchi riconoscibile allora U · L èBüchi riconoscibileSe 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

Page 14: Automi suoggettiinfiniti

ω - 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, è definitaespressione ω-regolare

È quindi possibile definire un automa di Büchi a partire da unaespressione ω-regolare e viceversaLinguaggio ω-regolare: ω-linguaggio riconosciuto da un automa diBüchi

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 13 / 40

Page 15: Automi suoggettiinfiniti

Complemento

Problema del vuoto è decidibileIl complemento è un problema non banale

I Se L ⊆ Aω è Büchi riconoscibile, allora lo è anche Aω-L. A partireda 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

Page 16: Automi suoggettiinfiniti

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) 6= ∅, alloraU · Vω ⊆ L(A)

I 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

Page 17: Automi suoggettiinfiniti

Complemento - dim - 2

Una congruenza ∼ su A∗ satura L ⊆ Aω seU · Vω

⋂L 6= ∅ ⇒ U · Vω ⊆ L ∀ coppia di ∼ classi U,V

Se ∼ satura L ed è di indice finito, alloraL =

⋃U · Vω | U,V sono ∼-classi, U · Vω

⋂L 6= ∅

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 èregolarePoichè la congruenza satura il complemento, anche ilcomplemento è regolare.

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 16 / 40

Page 18: Automi suoggettiinfiniti

Automi di Büchi deterministici

ComplementoGli automi di Büchi deterministici non sono chiusi rispetto alcomplemento.

Dato il linguaggio W ⊆ A∗ riconosciuto da un automadeterministico, definiamo

I−→W = α ∈ Aω | ∃ωn α(0,n) ∈W

è riconosciuto da un automa di Büchi

Nota: Un ω-linguaggio L ⊆ Aω è riconosciuto da un automa diBüchi deterministico⇔ L =

−→W per un insieme regolare W ⊆ A∗

Non essendo tutti di questa forma la chiusura del complementofallisce.

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 17 / 40

Page 19: Automi suoggettiinfiniti

Automa di Muller

Un automa di Muller sull’alfabeto A è della forma

A = (Q,q0, δ,F )

Q = insieme di statiq0 = stato iniziale ∈ Qδ : QxA→ QF ⊆ 2Q: insieme di stati finali

Successful run: un sottoinsieme di stati in F occorre infinitevolteAccettazione di α: la run dell’automa su α è successfulMuller-riconoscibile: ω-word accettate da un automa di Muller

Teorema di McNaughton’s: Un ω-lingugaggio è regolare (Büchiriconoscibile)⇔ è Muller riconoscibile.

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 18 / 40

Page 20: Automi suoggettiinfiniti

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 6= ∅Accettazione di α: la run dell’automa su α è successful

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 19 / 40

Page 21: Automi suoggettiinfiniti

Introduzione al calcolo delle sequenze

L’automa di Büchi può essere utilizzato per risolvere problemilegati al calcolo delle sequenzeBüchi ha mostrato che ogni condizione su una sequenza puòessere riformulata come un problema di accettazione di unasequenza da un automa

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 20 / 40

Page 22: Automi suoggettiinfiniti

S1S

A: alfabeto finito di simboliS1SA:

I primo termine = 0I successori costruiti dalle variabili x, y,... applicando la funzione +1I funzioni atomiche: t1 = t2, t1 < t2, t1 ∈ X , t1 ∈ Qa

F t1, t2 sono terminiF X è una variabile al secondo ordineF Qa è un simbolo di predicato unario (uno per ogni a ∈ A)

I le formule di S1SA si ottengono dalle formule atomiche applicandogli operatori ¬,∧,∨ ed i quantificatori ∀,∃

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 21 / 40

Page 23: Automi suoggettiinfiniti

Relazione Büchi - S1S

Possiamo rappresentare ogni ω-word α ∈ Aω come

α = ω,0,+1, <, Qaa∈A

doveω: insieme dei naturali0: naturale 0+1: funzione di successione<: relazione di ordinamentoQa = i ∈ ω | α(i) = a ∀a ∈ ALa verità di una formula S1S è decidibile.

Teorema di Büchiun ω-linguaggio è definibile in S1S sse è regolare.

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 22 / 40

Page 24: Automi suoggettiinfiniti

Context-free ω-languages

Grammatiche per ω-wordsUna grammatica context-free sull’alfabeto A con variabili (non terminali)x1, · · · , xn è data da una n-upla (G1, · · · ,Gn) di insiemi finitiGi ⊆ (A

⋃x1, · · · , xn)∗, dove w ∈ Gi se xi → w è una produzione di G.

EsempioG0 : 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

Page 25: Automi suoggettiinfiniti

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

Page 26: Automi suoggettiinfiniti

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 paroleinfinite generate da x1 con una leftmost dove le variabili usateinfinitamente spesso formano un insieme in F.

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 25 / 40

Page 27: Automi suoggettiinfiniti

Outline

1 Introduzione

2 Automi su parole infinite

3 Automi ad alberoIntroduzioneEsempi

4 Conclusioni

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 26 / 40

Page 28: Automi suoggettiinfiniti

Tree automata - 1

A = f, g, c

A-valued treemap 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

Page 29: Automi suoggettiinfiniti

Tree automata - 2

Informalmente:prende un A-valued binary treeinizia la computazione alla radice partendo dallo stato inizialevisita parallelamente i vari cammini dell’albero percorrendo coppiedi statiun automa ad albero accetta un albero t se c’è una runsuccessfuluna run è successful se tutti i cammini dell’albero rispettano lacondizione di accettazione dell’automa

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 28 / 40

Page 30: Automi suoggettiinfiniti

Tree automata - def. formale - 1

Un automa ad albero (non deterministico, top-down) su A è nellaforma:

A = (Q, q0, ∆, F )

Q = insieme di statiq0 = stato iniziale ∈ Q∆ ⊆ QxAxQxQF ⊆ Q: insieme di stati finali

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 29 / 40

Page 31: Automi suoggettiinfiniti

Tree automata - def. formale - 2

Run di A su un albero binario finito t :albero r :dom+(t)→ Q dove

I r(ε) ∈ Q0I (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

Page 32: Automi suoggettiinfiniti

Automi su alberi infiniti

Due esempi di Tree automata infiniti sono rappresentati da:Büchi Tree automataRabin Tree automata

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 31 / 40

Page 33: Automi suoggettiinfiniti

Büchi tree automaton

Un automa di Büchi ad albero su A è nella forma:

A = (Q, q0, ∆, F )

Q = insieme di statiq0 = stato iniziale ∈ Q∆ ⊆ QxAxQxQF ⊆ Q: insieme di stati finali

Run di A su un albero t ∈ TωA :

mappa r :0,1∗ → Q doveI r(ε) ∈ q0I (r(w), t(w), r(w0), r(w1)) ∈ ∆ ∀w ∈ 0,1∗

Una run è successful se:∀ path π, In(r |π)

⋂F 6= ∅

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 32 / 40

Page 34: Automi suoggettiinfiniti

Rabin tree automaton

Un automa di Rabin ad albero su A è nella forma:

A = (Q, q0, ∆, Ω)

Q = insieme di statiq0 = stato iniziale ∈ QF ⊆ Q: insieme di stati finaliΩ(L1,U1), · · · , (Ln,Un) è un insieme di coppie accettanti

Una run è successful se:∀ path π ∃i ∈ 1, · · · ,n con

I In(r |π)⋂

Li = ∅ e In(r |π)⋂

Ui 6= ∅

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 33 / 40

Page 35: Automi suoggettiinfiniti

Accettazione

Un albero t ∈ TωA :

accettato da Büchi : "run successful" secondo Büchiaccettato da Rabin: "run successful" secondo Rabin

Un insieme T ⊆ TωA è:

Büchi riconoscibile: consiste degli alberi accettati da un automa diBüchiRabin riconoscibile: consiste degli alberi accettati da un automa diRabin

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

Page 36: Automi suoggettiinfiniti

Varianti di Rabin

MullerΩ rimpiazzato dall’insieme di stati Faccettazione: ∃ una run r t.c. ∀π, In(r |π) ∈ F

Streett∀ path π ∃i ∈ 1, · · · ,n con

In(r |π)⋂

Ui 6= ∅ ⇒ In(r |π)⋂

Li 6= ∅

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 35 / 40

Page 37: Automi suoggettiinfiniti

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

Page 38: Automi suoggettiinfiniti

Riepilogo

Argomenti trattati:ω-wordAutomi di Büchi

I ω-linguaggioI Espressioni ω-regolariI Problema del vuotoI Complemento

Automi di Muller - Rabinω-linguaggi Context-FreeAutomi ad albero

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 37 / 40

Page 39: Automi suoggettiinfiniti

Argomenti non trattati

Condizioni di accettazione e gerarchia di BorelComplemento e determinazione dei giochiModelli di automi per sistemi temporizzati

I Timed automata

Automi su alfabeti infiniti

Amedeo Leo, Simone Romano Automata on infinite objects May 28, 2015 38 / 40

Page 40: Automi suoggettiinfiniti

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

Page 41: Automi suoggettiinfiniti