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
Research on collaborative information sharing systems
Unambiguous Recognizable Two-dimensional Languages
1. 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/2
2. 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 Σ di
dimensioni (m, n)
Unambiguous Recognizable Two-dimensional Languages – p. 2/2
3. 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
p q= p q p⊖q =
⊖
q
Iterando le operazioni di concatenazione si ottiene la chiusura (o
star ) orizzontale e verticale.
Unambiguous Recognizable Two-dimensional Languages – p. 2/2
4. Linguaggio Locale
• Tile: picture quadrata di dimensioni (2, 2)
• Data una picture x, B2,2 (x) è l’insieme di tutti i blocchi di x di
grandezza (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/2
5. Proiezione
• Siano Γ e Σ alfabeti finiti
• Si definisce proiezione un mapping π : Γ → Σ
• La proiezione π(x) di x ∈ Σ∗∗ è la picture x′ ∈ Σ∗∗ tale che
x′ (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/2
6. 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 una
proiezione)
Unambiguous Recognizable Two-dimensional Languages – p. 5/2
7. `
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 nel
linguaggio locale L′
La famiglia di linguaggi 2D che sono tiling riconoscibili si chiama
REC
Unambiguous Recognizable Two-dimensional Languages – p. 6/2
8. Esempio 1
Lcol−1n ∈ REC è il linguaggio delle picture p nelle quali la prima
colonna è uguale all’ultima, definito tramite:
• alfabeto locale Γ = {xy } con x, y ∈ Σ
• la proiezione π(xy ) = x
• un insieme di tile tali che se p′ = xy allora pi,j = x e pi,1 = y
i,j
Il pedice y viene usato per trasportare l’informazione dalla prima
all’ultima colonna.
b b a b b bb bb ab bb bb
a a b a a aa aa ba aa aa
p= b a a a b p′ = bb ab ab ab bb
a b b b a aa ba ba ba aa
a b b b a aa ba ba ba aa
Unambiguous Recognizable Two-dimensional Languages – p. 7/2
9. `
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispetto
a:
• 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/2
10. `
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispetto
a:
• concatenazione orizzontale e verticale
• star orizzontale e verticale
Unambiguous Recognizable Two-dimensional Languages – p. 8/2
11. `
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispetto
a:
• concatenazione orizzontale e verticale
• star orizzontale e verticale
• unione
Unambiguous Recognizable Two-dimensional Languages – p. 8/2
12. `
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispetto
a:
• concatenazione orizzontale e verticale
• star orizzontale e verticale
• unione
• intersezione
Unambiguous Recognizable Two-dimensional Languages – p. 8/2
13. `
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispetto
a:
• concatenazione orizzontale e verticale
• star orizzontale e verticale
• unione
• intersezione
• rotazione
Unambiguous Recognizable Two-dimensional Languages – p. 8/2
14. `
Proprieta di chiusura di REC
REC (in analogia con il caso monodimensionale) è chiuso rispetto
a:
• 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/2
15. Automi 2D
• Un modello interessante di automa bidimensionale per
riconoscere i picture language è rappresentato dal
two-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(2DOT A) L(2OT A)
• REC = L(2OT A)
Unambiguous Recognizable Two-dimensional Languages – p. 9/2
16. Linguaggi di stringhe non ambigui
• L ⊆ Σ∗
• Un automa per L è non ambiguo se ha un solo percorso
accettante 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/2
17. Tiling system non ambigui
• Definizione: una quadrupla (Σ, Γ, Θ, π) è un tiling system non
ambiguo per un linguaggio bidimensionale L ⊆ Σ∗∗ se e solo se
per 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 controimmagine
nel suo corrispondente linguaggio locale. Nota: generalizzazione in 2D della definizione di un
automa che riconosce un linguaggio di stringhe
Unambiguous Recognizable Two-dimensional Languages – p. 11/2
18. Linguaggi tiling riconoscibili non ambigui
• Definizione: Un linguaggio L ⊆ Σ∗∗ è non ambiguo se e solo
se ammette un tiling system non ambiguo (Σ, Γ, Θ, π)
• U REC è la famiglia di tutti i linguaggi 2D riconoscibili non
ambigui
Unambiguous Recognizable Two-dimensional Languages – p. 12/2
19. Linguaggi tiling riconoscibili non ambigui
• Definizione: Un linguaggio L ⊆ Σ∗∗ è non ambiguo se e solo
se ammette un tiling system non ambiguo (Σ, Γ, Θ, π)
• U REC è la famiglia di tutti i linguaggi 2D riconoscibili non
ambigui
Esempio: Il linguaggio Lcol−1n è in U REC .
• Il suo tiling system è non ambiguo: c’è una sola possibile
controimmagine per la prima colonna, un solo modo per
costruire da essa la controimmagine della seconda colonna e
cosi via.
Unambiguous Recognizable Two-dimensional Languages – p. 12/2
20. Domande
• U REC REC ?
Unambiguous Recognizable Two-dimensional Languages – p. 13/2
21. Domande
• U REC REC ?
• U REC chiuso rispetto a quali operazioni?
Unambiguous Recognizable Two-dimensional Languages – p. 13/2
22. Domande
• U REC REC ?
• U REC chiuso rispetto a quali operazioni?
• Controparte di U REC in L(2OT A)?
Unambiguous Recognizable Two-dimensional Languages – p. 13/2
23. Domande
• U REC REC ?
• U REC chiuso rispetto a quali operazioni?
• Controparte di U REC in L(2OT A)?
• La non ambiguità di un tiling system è decidibile?
Unambiguous Recognizable Two-dimensional Languages – p. 13/2
24. Teorema di Hromkovic
Sia uns(L) la grandezza del minimo automa finito non
deterministico 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/2
25. `
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:
2 32 32 32 32 3
a b b a a a b b a a
6 76 76 76 76 7
a a b b a 6 a 76 a 76 76 b 76 a 7
b 76
se p = ∈ L, allora la parola w = 6
6 76 76 76 7
76 76 76 76 7
b b a b a 6 b 76 b 76 a 76 b 76 a 7
4 54 54 54 54 5
a a a a b a a a a b
82 3 9
>
>
>6 x >
>
>
> 7 >
y 7
>6
< >
=
appartiene al linguaggio di stringhe L(4) sull′ alf abeto Σ4,1 = 6 7 |x, y, s, t ∈ Σ
6 7
>6
>4
> s 7
5
>
>
>
>
> >
>
: t ;
• Si può definire ML = aαβ α∈Σ∗ ,β∈Σ∗ dove aαβ = 1 se e solo se αβ ∈ L
Unambiguous Recognizable Two-dimensional Languages – p. 15/2
26. `
Condizione necessaria per la non ambiguita
Teorema: Se L ∈ U REC, allora esiste un k tale che, per tutti gli
m ≥ 1, RankQ (ML (m)) ≤ k m
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 stati
finiti con km stati che accetta L(m)
◦ Caso 1D: Se abbiamo una rappresentazione di un linguaggio di stringhe
riconoscibile S su ∆, nella forma di un linguaggio locale (costituito da un insieme
di stringhe Z di lunghezza 2 su Γ ∪ {#}) e una proiezione π : Γ → ∆, possiamo
definire 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/2
27. `
Condizione necessaria per la non ambiguita
Teorema: Se L ∈ U REC, allora esiste un k tale che, per tutti gli
m ≥ 1, RankQ (ML (m)) ≤ k m
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) sono
non ambigui)
• Quindi: se L è in U REC, allora esiste un k tale che per ogni m ≥ 1 il linguaggio di
stringhe 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/2
28. `
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 occorrenze
dello 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 tiling
system non ambigui per L.
Teorema: Esistono linguaggi 2D riconoscibili che sono
inerentemente non ambigui
Unambiguous Recognizable Two-dimensional Languages – p. 16/2
29. Lemma
Lemma: Sia ∆ un alfabeto finito, e S ⊆ ∆∗ un insieme di stringhe
con almeno due occorrenze dello stesso simbolo. Allora
RankQ (MS ) = 2Card(∆) + 1
Dimostrazione:
• Card(∆) = c
• ∆ = {a1 , a2 , . . . , ac }
• Il massimo numero di righe differenti in MS è 2c + 1 (ad esempio, righe indicizzate da
a1 a1 , λ e da tutti gli α = ai1 ai2 . . . 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/2
30. Lemma
a1 a1 λ a1 a2 a1 a2 a3 a1 a3 a2 a3 a1 a2 a3
a1 a1 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
Mc =
a1 a2 1 0 1 1 1 0 1 1 1
a3 1 0 0 0 0 1 1 1 1
a1 a3 1 0 1 0 1 1 1 1 1
a2 a3 1 0 0 1 1 1 1 1 1
a1 a2 a3 1 0 1 1 1 1 1 1 1
• La matrice Mc ha ordine 2c + 1
• ′
det(Mc ) = 0 (prova per induzione sulla matrice Mc , con m′ = 1 ∀1 ≤ i, j ≤ k con
ij
′ = 0 ∀1 ≤ i, j ≤ k con i + j = k)
i + j ≥ k + 1 e mij
• Allora RankQ (MS ) = 2c + 1
Unambiguous Recognizable Two-dimensional Languages – p. 17/2
31. `
Proprieta di UREC
• Proposizione: UREC è chiuso rispetto alle operazioni di
intersezione e rotazione
◦ dim: se L1 , L2 ∈ REC si può costruire un tiling system per
L1 ∩ L2 seguendo la prova che REC è chiuso rispetto
all’intersezione. La chiusura rispetto alla rotazione
consegue dalla definizione.
• Proposizione:UREC non è chiuso rispetto alla
concatenazione orizzontale e verticale e alla loro chiusura
◦ dim: Lcol−1n ∈ U REC , mentre Lcol−ij ∈ U REC . Ma:
/
Lcol−ij = Σ∗∗ Lcol−1n Σ∗∗
⊖
⊖
◦ Con tecniche simili (rotazioni) si dimostra che UREC non è
chiuso rispetto alla concatenazione orizzontale e alla
chiusura verticale e orizzontale
Unambiguous Recognizable Two-dimensional Languages – p. 18/2
32. 2OTA non ambigui
• REC = L(2OT A)
• U REC ?
• Definizione: un 2OTA è non ambiguo (2U OT A) se ogni picture
ha al massimo una sola computazione accettante
• Proposizione: L(2U OT A) = U REC
• Ogni 2DOT A è in particolare un 2U OT A
• L(2DOT A) L(2OT A)
• L(2DOT A) ⊆ L(2U OT A) ⊆ L(2OT A)
• . . . le inclusioni sono strette?
Teorema: le inclusioni L(2DOT A) ⊂ L(2U OT A) ⊂ L(2OT A) sono
tutte strette
Unambiguous Recognizable Two-dimensional Languages – p. 19/2
33. 2OTA non ambigui
Dimostrazione:
• L(2U OT A) ⊂ L(2OT A) può essere dedotta dal fatto che U REC ⊂ REC e che
REC = L(2OT A) e U REC = L(2U OT A)
• L(2DOT A) ⊂ L(2U OT A):
◦ L linguaggio di quadrati su Σ = {a, b} con l’ultima riga uguale all’ultima colonna.
◦ L ∈ U REC 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’ultima
colonna
Unambiguous Recognizable Two-dimensional Languages – p. 19/2
34. 2OTA non ambigui
Dimostrazione:
b b a a a 1b
a 2b
a 2a
a 2a
a 2a
a
a a a b b 0a
a 1a
b 2a
b 2b
b 2b
b
p= b a a b b p′ = 0b
a 0a
b 1a
b 2b
b 2b
b
a b b b a 0a
a 0b
b 0b
b 1b
a 2a
a
a b b a a 0a
a 0b
b 0b
b 0a
a 1a
a
• Γ = {0y , 1y , 2y } con x, y ∈ {a, b} alfabeto locale
x x x
• 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/2
35. 2OTA non ambigui
Dimostrazione:
b b a a a 1b
a 2b
a 2a
a 2a
a 2a
a
a a a b b 0a
a 1a
b 2a
b 2b
b 2b
b
p= b a a b b p′ = 0b
a 0a
b 1a
b 2b
b 2b
b
a b b b a 0a
a 0b
b 0b
b 1b
a 2a
a
a b b a a 0a
a 0b
b 0b
b 0a
a 1a
a
Ogni picture in L ha una unica controimmagine in questo linguaggio locale: quindi, visto che
L ∈ L(2U OT A) e L ∈ L(2DOT A) (dimostrato) l’inclusione L(2DOT A) ⊂ L(2U OT A) è
/
stretta.
Unambiguous Recognizable Two-dimensional Languages – p. 19/2
36. Un problema indecidibile
Problema di Unica Decifrabilità 2D:
• Σ alfabeto finito, S = {(u1 , v1 ), . . . , (uk , vk )} sistema dove
ui , vi ∈ Σ∗ per tutte le i = 1, . . . , k
• S è unicamente decifrabile solo se ui1 . . . uip = uj1 . . . ujq e
vi1 . . . 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/2
37. 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 e
tutte 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/2
38. Un problema indecidibile
c0 u′
i1 u′
i2 ... u′
ip
′
vi1 ci1
′
vi2 ci2
.
.
.
′
vip cip
• Alfabeto locale: Γ = Σ′ ∪ {c0 , c1 , . . . , ck } dove Σ′ è l’alfabeto locale per le stringhe
′
u′ , vj per tutti gli i, j = 1, . . . , k
i
• ′
La proiezione π mette in corrispondenza ogni stringa u′ , vj su ui , vj e ci su c
i
• (Σ, ∆, Θ, π) è non ambiguo se e solo se S è unicamente decifrabile
Unambiguous Recognizable Two-dimensional Languages – p. 20/2
39. Conclusioni
• U REC REC
• U REC è chiuso rispetto a intersezione e rotazione
• U REC non è chiuso rispetto a concatenazione orizzontale e
verticale e loro chiusura
• U REC = L(2U OT A)
• 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/2