View
1.610
Download
2
Category
Tags:
Preview:
DESCRIPTION
A presentation of the paper by M. Anselmo, D. Giammarresi, M. Madonia, A. Restivo, for the PhD course "Teoria degli automi e analisi dei programmi" at Politecnico di Milano, April 2006
Citation preview
Unambiguous Recognizable
Two-dimensional Languages[M. Anselmo, D. Giammarresi, M. Madonia, A. Restivo]
Davide Eynard, Antonino Tumeo
eynard@elet.polimi.it, tumeo@elet.polimi.it
Department of Electronics and Information
Politecnico di Milano
Unambiguous Recognizable Two-dimensional Languages – p. 1/21
Concetti preliminari
• Σ alfabeto finito• Una stringa bidimensionale (o picture) su Σ è un array
rettangolare di elementi di Σ
• L’insieme di tutte le stringhe bidimensionali su Σ è denotato daΣ∗∗ e un linguaggio bidimensionale su Σ è un sottoinsieme diΣ∗∗.
• Data una picture p ∈ Σ∗∗:◦ pi,j simbolo in p con coordinate (i, j)
◦ ℓ1(p) numero di righe di p◦ ℓ2(p) numero di colonne di p◦ (ℓ1(p), ℓ2(p)) dimensione della picture p
• Σm,n insieme di tutte le stringhe bidimensionali su Σ didimensioni (m, n)
Unambiguous Recognizable Two-dimensional Languages – p. 2/21
Concetti preliminari
Siano p e q picture sull’alfabeto Σ, di grandezza (m, n) e (m′, n′),m, n, m′, n′ ≥ 0. Si definiscono i seguenti operatori:
• Concatenazione orizzontale di p e q (p
⊖
q): solo se m = m′
• Concatenazione verticale di p e q (p ⊖ q): solo se n = n′
p
⊖
q = p q p ⊖ q =p
q
Iterando le operazioni di concatenazione si ottiene la chiusura (ostar ) orizzontale e verticale.
Unambiguous Recognizable Two-dimensional Languages – p. 2/21
Linguaggio Locale
• Tile: picture quadrata di dimensioni (2, 2)
• Data una picture x, B2,2(x) è l’insieme di tutti i blocchi di x digrandezza (2, 2)
• Un linguaggio 2D L ⊆ Γ∗∗ è locale se esiste un insieme finito Θdi tile sull’alfabeto Γ ∪ {#} tale che L = {x ∈ Γ∗∗|B2,2(x) ⊆ Θ}.In questo caso si scrive L = L(Θ)
Unambiguous Recognizable Two-dimensional Languages – p. 3/21
Proiezione
• Siano Γ e Σ alfabeti finiti• Si definisce proiezione un mapping π : Γ → Σ
• La proiezione π(x) di x ∈ Σ∗∗ è la picture x′ ∈ Σ∗∗ tale chex′(i, j) = π(x(i, j)) per tutti gli 1 ≤ i ≤ ℓ1(x), 1 ≤ j ≤ ℓ2(x)
• Se L ⊆ Γ∗∗ è un linguaggio di picture su Γ,π(L) = {x′|x′ = π(x)∀x ∈ L} ⊆ Σ∗∗
Unambiguous Recognizable Two-dimensional Languages – p. 4/21
Tiling system
Una quadrupla (Σ,Γ,Θ, π) è chiamata Tiling System se:• Σ e Γ sono alfabeti finiti• Θ è un insieme finito di tile su Γ ∪ {#}
• π : Γ → Σ è una proiezione(Un Tiling System è composto da un linguaggio locale su Γ (definito dall’insieme Θ) e da unaproiezione)
Unambiguous Recognizable Two-dimensional Languages – p. 5/21
Tiling riconoscibilita
L ⊆ Σ∗∗ è tiling riconoscibile se esiste un Tiling System (Σ,Γ,Θ, π)tale che L = π(L(Θ))
• L′ = L(Θ) è il linguaggio locale sottostante per L
• Γ è alfabeto locale per L
• Sia x ∈ L. Se x′ ∈ L′ è tale che π(x′) = x, allora x′ è controimmagine di x nellinguaggio locale L′
La famiglia di linguaggi 2D che sono tiling riconoscibili si chiama
REC
Unambiguous Recognizable Two-dimensional Languages – p. 6/21
Esempio 1
Lcol−1n ∈ REC è il linguaggio delle picture p nelle quali la primacolonna è uguale all’ultima, definito tramite:
• alfabeto locale Γ = {xy} con x, y ∈ Σ
• la proiezione π(xy) = x
• un insieme di tile tali che se p′i,j = xy allora pi,j = x e pi,1 = y
Il pedice y viene usato per trasportare l’informazione dalla primaall’ultima colonna.
p =
b b a b b
a a b a a
b a a a b
a b b b a
a b b b a
p′ =
bb bb ab bb bb
aa aa ba aa aa
bb ab ab ab bb
aa ba ba ba aa
aa ba ba ba aa
Unambiguous Recognizable Two-dimensional Languages – p. 7/21
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispettoa:
• concatenazione orizzontale e verticale
Esempio 2 :
• Lcol−ij linguaggio di picture p di grandezza (m, n) con la proprietà che ∃1 ≤ i, j ≤ n
tale che l’i-esima colonna di p è uguale alla j-esima colonna di p
• Lcol−ij = Σ∗∗
⊖
Lcol−1n
⊖
Σ∗∗
• Lcol−1n ∈ REC, REC chiuso a
⊖
: Lcol−ij ∈ REC
Unambiguous Recognizable Two-dimensional Languages – p. 8/21
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispettoa:
• concatenazione orizzontale e verticale• star orizzontale e verticale
Unambiguous Recognizable Two-dimensional Languages – p. 8/21
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispettoa:
• concatenazione orizzontale e verticale• star orizzontale e verticale• unione
Unambiguous Recognizable Two-dimensional Languages – p. 8/21
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispettoa:
• concatenazione orizzontale e verticale• star orizzontale e verticale• unione• intersezione
Unambiguous Recognizable Two-dimensional Languages – p. 8/21
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispettoa:
• concatenazione orizzontale e verticale• star orizzontale e verticale• unione• intersezione• rotazione
Unambiguous Recognizable Two-dimensional Languages – p. 8/21
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispettoa:
• concatenazione orizzontale e verticale• star orizzontale e verticale• unione• intersezione• rotazione
Tuttavia, REC NON è chiuso rispetto al complemento!
Unambiguous Recognizable Two-dimensional Languages – p. 8/21
Automi 2D
• Un modello interessante di automa bidimensionale perriconoscere i picture language è rappresentato daltwo-dimensional on-line tessellation acceptor (2OTA)◦ Può essere visto come un array infinito di automi a stati finiti identici in uno spazio
2D (la computazione va in diagonale)
• Deterministici (2DOTA) vs. non-deterministici• L(2DOTA) ( L(2OTA)
• REC = L(2OTA)
Unambiguous Recognizable Two-dimensional Languages – p. 9/21
Linguaggi di stringhe non ambigui
• L ⊆ Σ∗
• Un automa per L è non ambiguo se ha un solo percorsoaccettante per ogni parola w ∈ L
• L è non ambiguo se è accettato da un automa non ambiguo• Nota: un automa deterministico è non ambiguo, ma non
viceversa• Linguaggi di stringhe: determinismo, non-determinismo e non
ambiguità coincidono
• Teorema : È decidibile se un dato automa è non ambiguo
Unambiguous Recognizable Two-dimensional Languages – p. 10/21
Tiling system non ambigui
• Definizione: una quadrupla (Σ,Γ,Θ, π) è un tiling system nonambiguo per un linguaggio bidimensionale L ⊆ Σ∗∗ se e solo seper ogni picture x ∈ L esiste un’unica picture locale y ∈ L(Θ)tale che x = π(y).
• Alternativamente: la funzione π estesa a Γ∗∗ → Σ∗∗ è iniettiva
Informalmente, un tiling system è non ambiguo se ogni picture ha un’unica controimmaginenel suo corrispondente linguaggio locale. Nota: generalizzazione in 2D della definizione di unautoma che riconosce un linguaggio di stringhe
Unambiguous Recognizable Two-dimensional Languages – p. 11/21
Linguaggi tiling riconoscibili non ambigui
• Definizione: Un linguaggio L ⊆ Σ∗∗ è non ambiguo se e solose ammette un tiling system non ambiguo (Σ,Γ,Θ, π)
• UREC è la famiglia di tutti i linguaggi 2D riconoscibili nonambigui
Unambiguous Recognizable Two-dimensional Languages – p. 12/21
Linguaggi tiling riconoscibili non ambigui
• Definizione: Un linguaggio L ⊆ Σ∗∗ è non ambiguo se e solose ammette un tiling system non ambiguo (Σ,Γ,Θ, π)
• UREC è la famiglia di tutti i linguaggi 2D riconoscibili nonambigui
Esempio: Il linguaggio Lcol−1n è in UREC.• Il suo tiling system è non ambiguo: c’è una sola possibile
controimmagine per la prima colonna, un solo modo percostruire da essa la controimmagine della seconda colonna ecosi via.
Unambiguous Recognizable Two-dimensional Languages – p. 12/21
Domande
• UREC ( REC ?
Unambiguous Recognizable Two-dimensional Languages – p. 13/21
Domande
• UREC ( REC ?• UREC chiuso rispetto a quali operazioni?
Unambiguous Recognizable Two-dimensional Languages – p. 13/21
Domande
• UREC ( REC ?• UREC chiuso rispetto a quali operazioni?• Controparte di UREC in L(2OTA)?
Unambiguous Recognizable Two-dimensional Languages – p. 13/21
Domande
• UREC ( REC ?• UREC chiuso rispetto a quali operazioni?• Controparte di UREC in L(2OTA)?• La non ambiguità di un tiling system è decidibile?
Unambiguous Recognizable Two-dimensional Languages – p. 13/21
Teorema di Hromkovic
Sia uns(L) la grandezza del minimo automa finito nondeterministico e non ambiguo che accetta L. Per ogni L ⊆ Σ∗,linguaggio regolare di stringhe:
• definiamo ML = ‖aαβ‖α∈Σ∗,β∈Σ∗ dove aαβ = 1 se e solo seαβ ∈ L.◦ Th. di Myhill-Nerode: il numero di righe differenti di ML è finito
• Sia RankQ(M) il rango di M nell’insieme dei razionali Q
Teorema (Hromkovic et al.): Per ogni linguaggio regolare L ⊆ Σ∗,uns(L) ≥ RankQ(ML)(Dà un limite minimo per il numero di stati di un automa che riconosce un linguaggio L)
Unambiguous Recognizable Two-dimensional Languages – p. 14/21
Condizione necessaria per la non ambiguita
• L ⊆ Σ∗∗ linguaggio di picture
• Per ogni m ≥ 1, consideriamo L(m) ⊆ L (sottoinsieme di tutte le picture di m righe)L(m) è visto come linguaggio di stringhe sull’alfabeto Σm,1 delle colonne. Ad es:
se p =
a b b a a
a a b b a
b b a b a
a a a a b
∈ L, allora la parola w =
2
6
6
6
6
6
4
a
a
b
a
3
7
7
7
7
7
5
2
6
6
6
6
6
4
b
a
b
a
3
7
7
7
7
7
5
2
6
6
6
6
6
4
b
b
a
a
3
7
7
7
7
7
5
2
6
6
6
6
6
4
a
b
b
a
3
7
7
7
7
7
5
2
6
6
6
6
6
4
a
a
a
b
3
7
7
7
7
7
5
appartiene al linguaggio di stringhe L(4) sull′alfabeto Σ4,1 =
8
>
>
>
>
>
<
>
>
>
>
>
:
2
6
6
6
6
6
4
x
y
s
t
3
7
7
7
7
7
5
|x, y, s, t ∈ Σ
9
>
>
>
>
>
=
>
>
>
>
>
;
• Si può definire ML = ‖aαβ‖α∈Σ∗,β∈Σ∗ dove aαβ = 1 se e solo se αβ ∈ L
Unambiguous Recognizable Two-dimensional Languages – p. 15/21
Condizione necessaria per la non ambiguita
Teorema: Se L ∈ UREC, allora esiste un k tale che, per tutti gli
m ≥ 1, RankQ(ML(m)) ≤ km
Dimostrazione:
• Supponiamo L ⊆ Σ∗∗ riconoscibile. (Σ, Γ, Θ, π) è il tiling system per L
• Esiste un k tale che per tutti gli m ≥ 1 c’è un automa (riconoscitore di stringhe) a statifiniti con km stati che accetta L(m)
◦ Caso 1D: Se abbiamo una rappresentazione di un linguaggio di stringhericonoscibile S su ∆, nella forma di un linguaggio locale (costituito da un insiemedi stringhe Z di lunghezza 2 su Γ ∪ {#}) e una proiezione π : Γ → ∆, possiamodefinire un automa corrispondente
◦ Stati: lettere dell’alfabeto locale Γ più uno stato iniziale (corrispondente a #)◦ Per ogni stringa xy ∈ Z aggiungiamo una transizione x −→ y con etichetta π(y)
Unambiguous Recognizable Two-dimensional Languages – p. 15/21
Condizione necessaria per la non ambiguita
Teorema: Se L ∈ UREC, allora esiste un k tale che, per tutti gli
m ≥ 1, RankQ(ML(m)) ≤ km
Dimostrazione:
• Tornando a L(m): alfabeti locali sono i corrispondenti insiemi di colonne locali
• k numero di simboli in Γ, allora l’alfabeto per L(m) ha al massimo km simboli(Nota: se il tiling system per L è non ambiguo, allora anche gli automi per L(m) sononon ambigui)
• Quindi: se L è in UREC, allora esiste un k tale che per ogni m ≥ 1 il linguaggio distringhe L(m) è accettato da un automa di stringhe non ambiguo con km stati.Combinandolo con i risultati del teorema di Hromkovic si ottiene la prova.
Unambiguous Recognizable Two-dimensional Languages – p. 15/21
Proprieta di UREC
Teorema: UREC è strettamente incluso in REC
Dimostrazione: Linguaggio L = Lcol−ij (Esempio 2)
• Per ogni m > 1, L(m): linguaggio di stringhe su Σm,1 con almeno due occorrenzedello stesso simbolo
• σ: cardinalità di Σ
• σm: cardinalità di Σm,1
• Ora è un problema su stringhe: calcolare il rango di tutte le matrici ML(m).
• Dal lemma dimostrato in seguito si ottiene che RankQ(ML(m)) = 2σm+1
, dunque L
non è in UREC.
Dato un linguaggio 2D riconoscibile L, L è inerentemente non ambiguo se non ci sono tilingsystem non ambigui per L.
Teorema: Esistono linguaggi 2D riconoscibili che sono
inerentemente non ambigui
Unambiguous Recognizable Two-dimensional Languages – p. 16/21
Lemma
Lemma: Sia ∆ un alfabeto finito, e S ⊆ ∆∗ un insieme di stringhecon almeno due occorrenze dello stesso simbolo. AlloraRankQ(MS) = 2Card(∆) + 1
Dimostrazione:
• Card(∆) = c
• ∆ = {a1, a2, . . . , ac}
• Il massimo numero di righe differenti in MS è 2c + 1 (ad esempio, righe indicizzate daa1a1, λ e da tutti gli α = ai1ai2 . . . aih con 1 ≤ h ≤ c e i1 < i2 < . . . < ih)
• Consideriamo la matrice Mc composta da tutte queste diverse righe e colonne,riarrangiate come mostrato nella prossima slide
Unambiguous Recognizable Two-dimensional Languages – p. 17/21
Lemma
Mc =
a1a1 λ a1 a2 a1a2 a3 a1a3 a2a3 a1a2a3
a1a1 1 1 1 1 1 1 1 1 1
λ 1 0 0 0 0 0 0 0 0
a1 1 0 1 0 1 0 1 0 1
a2 1 0 0 1 1 0 0 1 1
a1a2 1 0 1 1 1 0 1 1 1
a3 1 0 0 0 0 1 1 1 1
a1a3 1 0 1 0 1 1 1 1 1
a2a3 1 0 0 1 1 1 1 1 1
a1a2a3 1 0 1 1 1 1 1 1 1
• La matrice Mc ha ordine 2c + 1
• det(Mc) 6= 0 (prova per induzione sulla matrice M ′c, con m′
ij = 1 ∀1 ≤ i, j ≤ k coni + j ≥ k + 1 e m′
ij = 0 ∀1 ≤ i, j ≤ k con i + j = k)
• Allora RankQ(MS) = 2c + 1
Unambiguous Recognizable Two-dimensional Languages – p. 17/21
Proprieta di UREC
• Proposizione: UREC è chiuso rispetto alle operazioni diintersezione e rotazione◦ dim: se L1, L2 ∈ REC si può costruire un tiling system per
L1 ∩ L2 seguendo la prova che REC è chiuso rispettoall’intersezione. La chiusura rispetto alla rotazioneconsegue dalla definizione.
• Proposizione: UREC non è chiuso rispetto allaconcatenazione orizzontale e verticale e alla loro chiusura◦ dim: Lcol−1n ∈ UREC, mentre Lcol−ij /∈ UREC. Ma:
Lcol−ij = Σ∗∗ ⊖
Lcol−1n
⊖
Σ∗∗
◦ Con tecniche simili (rotazioni) si dimostra che UREC non èchiuso rispetto alla concatenazione orizzontale e allachiusura verticale e orizzontale
Unambiguous Recognizable Two-dimensional Languages – p. 18/21
2OTA non ambigui
• REC = L(2OTA)
• UREC?• Definizione: un 2OTA è non ambiguo (2UOTA) se ogni picture
ha al massimo una sola computazione accettante• Proposizione: L(2UOTA) = UREC
• Ogni 2DOTA è in particolare un 2UOTA
• L(2DOTA) ( L(2OTA)
• L(2DOTA) ⊆ L(2UOTA) ⊆ L(2OTA)
• . . . le inclusioni sono strette?
Teorema: le inclusioni L(2DOTA) ⊂ L(2UOTA) ⊂ L(2OTA) sonotutte strette
Unambiguous Recognizable Two-dimensional Languages – p. 19/21
2OTA non ambigui
Dimostrazione:
• L(2UOTA) ⊂ L(2OTA) può essere dedotta dal fatto che UREC ⊂ REC e cheREC = L(2OTA) e UREC = L(2UOTA)
• L(2DOTA) ⊂ L(2UOTA):◦ L linguaggio di quadrati su Σ = {a, b} con l’ultima riga uguale all’ultima colonna.◦ L ∈ UREC perchè possiamo definire un tiling system dove l’informazione su ogni
lettera dell’ultima riga può essere portata fino alla diagonale e da lì all’ultimacolonna
Unambiguous Recognizable Two-dimensional Languages – p. 19/21
2OTA non ambigui
Dimostrazione:
p =
b b a a a
a a a b b
b a a b b
a b b b a
a b b a a
p′ =
1ba 2b
a 2aa 2a
a 2aa
0aa 1a
b2a
b2b
b2b
b
0ba 0a
b1a
b2b
b2b
b
0aa 0b
b0b
b1b
a 2aa
0aa 0b
b0b
b0a
a 1aa
• Γ = {0yx, 1y
x, 2yx} con x, y ∈ {a, b} alfabeto locale
• 0: solo sotto la diagonale
• 1: solo sulla diagonale
• 2: solo sopra la diagonale
• Apici: valore reale del simbolo
• Pedici: informazione trasportata
Unambiguous Recognizable Two-dimensional Languages – p. 19/21
2OTA non ambigui
Dimostrazione:
p =
b b a a a
a a a b b
b a a b b
a b b b a
a b b a a
p′ =
1ba 2b
a 2aa 2a
a 2aa
0aa 1a
b2a
b2b
b2b
b
0ba 0a
b1a
b2b
b2b
b
0aa 0b
b0b
b1b
a 2aa
0aa 0b
b0b
b0a
a 1aa
Ogni picture in L ha una unica controimmagine in questo linguaggio locale: quindi, visto cheL ∈ L(2UOTA) e L /∈ L(2DOTA) (dimostrato) l’inclusione L(2DOTA) ⊂ L(2UOTA) èstretta.
Unambiguous Recognizable Two-dimensional Languages – p. 19/21
Un problema indecidibile
Problema di Unica Decifrabilità 2D:
• Σ alfabeto finito, S = {(u1, v1), . . . , (uk, vk)} sistema doveui, vi ∈ Σ∗ per tutte le i = 1, . . . , k
• S è unicamente decifrabile solo se ui1 . . . uip = uj1 . . . ujq evi1 . . . vip = vj1 . . . vjq implicano che p = q e(i1, . . . , ip) = (j1, . . . , jp)
Il Problema di Unica Decifrabilità 2D è indecidibile [Chrobak,Ritter]
Unambiguous Recognizable Two-dimensional Languages – p. 20/21
Un problema indecidibile
Teorema: Dato un tiling system (Σ,∆,Θ, π) è indecidibile se esso ènon ambiguo
Dimostrazione: si riconduce il problema a quello di Unica Decifrabilità 2D
• S = (u1, v1), . . . , (uk, vk) sistema dove ui, vi ∈ Σ∗ per tutti gli i = 1, . . . , k
• c /∈ Σ
• Definiamo L(S) su Σ ∪ {c} come insieme di rettangoli tali che:◦ per ogni combinazione (i1, . . . , ip) di 1, . . . , k c’è un rettangolo in L(S) tale che la
prima riga è la stringa cui1 . . . uip e la prima colonna è la stringa cvi1 . . . vip etutte le altre lettere sono c
◦ È facile dimostrare che L(S) ∈ REC (si può costruire un tiling system per esso)
Unambiguous Recognizable Two-dimensional Languages – p. 20/21
Un problema indecidibile
c0 u′
i1 u′
i2 . . . u′
ip
v′
i1 ci1
v′
i2 ci2
...
v′
ip cip
• Alfabeto locale: Γ = Σ′ ∪ {c0, c1, . . . , ck} dove Σ′ è l’alfabeto locale per le stringheu′
i, v′
j per tutti gli i, j = 1, . . . , k
• La proiezione π mette in corrispondenza ogni stringa u′
i, v′
j su ui, vj e ci su c
• (Σ, ∆, Θ, π) è non ambiguo se e solo se S è unicamente decifrabile
Unambiguous Recognizable Two-dimensional Languages – p. 20/21
Conclusioni
• UREC ( REC
• UREC è chiuso rispetto a intersezione e rotazione• UREC non è chiuso rispetto a concatenazione orizzontale e
verticale e loro chiusura• UREC = L(2UOTA)
• La non ambiguità di un tiling system non è decidibile
Problemi aperti:• chiusura rispetto al complemento• decidibilità della non ambiguità di un picture language
Unambiguous Recognizable Two-dimensional Languages – p. 21/21
Recommended