Unambiguous Recognizable Two-dimensional Languages

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