# Tiling Automata: a computational model for recognizable two-dimensional languages Marcella Anselmo Dora Giammarresi Maria Madonia Univ. of Salerno Univ.

## Presentation on theme: "Tiling Automata: a computational model for recognizable two-dimensional languages Marcella Anselmo Dora Giammarresi Maria Madonia Univ. of Salerno Univ."— Presentation transcript:

Tiling Automata: a computational model for recognizable two-dimensional languages Marcella Anselmo Dora Giammarresi Maria Madonia Univ. of Salerno Univ. Roma Tor Vergata Univ. of Catania ITALY

Topic: recognizability of 2dim languages (picture languages) by finite devices Motivation: define a computational device for 2dim languages based on tiling systems Results: definition of tiling automata, comparison of deterministic and non-deterministic models, with OTA, 4NFA Overview

Two-dimensional (2dim) Languages Problem: generalizing formal language theory from 1dim to 2dim Two-dimensional string (or picture) over a finite alphabet: abaab bcabc acbba  finite alphabet  ** all 2dim strings (pictures) over  L   ** 2dim language

From 1dim to 2dim Several attempts since 60s: Automata (4NFA and OTA, AFA, … ) Logics (monadic second-order, first-order, existential monadic second-order) Grammars (matrix, image, array, TRG,… grammars) Operations (column-, row- concatenation, stars, …) Definition of different classes of picture languages A unifying point of view (G, Restivo, 1992): Recognizability by tiling system (= local language + projection) REC family

4-way automata (4NFA) Transition function  (p,a) = (q, d ) d  { , , ,  } - L(4DFA)  L(4NFA) - L(4DFA), L(4NFA) not closed under concatenations and * Generalization of classical 2-way automata: They can move: Left, Right, Up, Down First model by Blum & Hewitt (1967) - The deterministic model is denoted by 4DFA

On-line tesselation automata (OTA) (i, j)  : Q  Q  Q    2 Q DOTA if  : Q  Q  Q    Q a q i-1,j q i,j-1 q i-1,j-1 L(DOTA)  L(OTA) / OTA: a restricted type of 2dim cellular automata ….computing by diagonal waves

REC family is defined in terms of local languages It is necessary to identify the boundary of a picture p using a boundary symbol    REC family I p =          L is local if there exists a set  of tiles (i. e. square pictures of size 2  2) such that, for any p in L, any sub-picture 2  2 of is in  p 

L d = the set of square pictures with symbol “1” in all main diagonal positions and symbol “0” in the other positions (Usual) Example of local language 10 01  10 00 10 00 00 0  1  1    1  0  0  0 00  01   0   00 0  0   0    1  = 01 00 100 010 001 p = ##### #100# #010# #001# ##### 

L is recognizable by tiling system if L=  (L’) where L’ is a local language and  is a mapping from the alphabet  of L’ to the alphabet  of L REC family II Example: L Sq = all squares over  = {a} is recognizable by tiling system. Set L’=L d and  (1)=  (0)= a REC is the family of two-dimensional languages recognizable by tiling system ( , , ,  ), where L’=L(  ), is called tiling system

1dim case: from an automaton to a tiling system 0 2 a a b b 1 b b1b1 b2b2 a1a1 a0a0 # # b0b0 Θ =Θ = b0b0 #b0b0 b1b1 b0b0 a1a1 b1b1 b1b1 a1a1 b2b2 b2b2 b2b2 a1a1 a0a0 b2b2 a0a0 b1b1 a1a1 a0a0 b1b1 a0a0 a1a1 b0b0 # b1b1 # a0a0 # L= strings over  ={a,b} starting with b and with even occurrences of a w = b a b a a b a w’= # b 0 a 1 b 2 a 0 a 1 b 2 a 0 #  ( a 0 ) =  ( a 1 ) = a;  ( b 0 )=  ( b 1 ) =  ( b 2 ) =b ;

w’= # b 0 a 1 b 2 a 0 a 1 Θ corresponds to undirected edges! To use Θ for a computation we need to decide a scanning strategy + variable to keep current local symbol (state) # 0 2 a a b b b1b1 b2b2 a1a1 a0a0 # 1 b b0b0 1dim case: “Computing” by a tiling system (from a tiling system to an automaton) ##a0a0 w = b a b2b2 b a b a a Θ =Θ = b0b0 #b0b0 b1b1 b0b0 a1a1 b1b1 b1b1 a1a1 b2b2 b2b2 b2b2 a1a1 a0a0 b2b2 a0a0 b1b1 a1a1 a0a0 b1b1 a0a0 a1a1 b0b0 # b1b1 # a0a0 #

#### L Sq = squares over {a}. Use L’=L d  (1)=  (0)= a aaa aaa aaa 10 01  10 00 10 00 00 0  1  1    1  0  0  0 00  01   0   00 0  0   0    1  = 01 00 ##### ## ## ## # p =  10 0 0 0 1 1 0 0 2dim case: “Computing” by a tiling system (from a tiling system to an automaton) First, decide a scanning strategy! Recall last computed local symbols!

“Computing” by a tiling system (from a tiling system to an automaton) Remark : Tiling system = “undirectional” transitions For a 2dim finite tiling automaton we need Tiling system + scanning strategy + data structure Local picture is the run of the automaton.

####### ## ## ## ####### ####### ## ## ## ####### Scanning strategies (I) Diagonal (“OTA”)By column 2 4 3 5 6 1 12 3 4 5 6 13 1415

####### ## ## ## ## ####### ####### ## ## ## ## ####### Scanning strategies (II) FreeSnake-like 2435 6 1 1 2 3 4 5

Scanning strategy We need a “good” one! Start in a corner Filling-all-the-picture property Computable next-position function Contiguity property Mono-directional (tl2br or tr2bl or br2tl or bl2tr)

An example ####### ## ## ## ####### By column scanning strategy 2 4 3 5 6 1 Filling-all-the-picture Start in a corner Mono-directional (tl2br) Contiguity property Comp. next-position function: (i, j) (i+1, j)

Supports updating operations extract 3 local symbols  1,  2,  3 needed to compute the next local symbol (ex. ) insert new local symbol 11 22 33 Data Structure Depends on the chosen scanning procedure In 1dim automata the data structure saves the current state (local symbol) and updates it. In 2dim

Tiling Automata (1) A Definition: A tiling automaton (TA) of type tl2br is A =(T, S, D 0,  ) where: T = ( , , ,  ) is a tiling system S is a tl2br-directed scanning strategy D 0 initial content of data structure  :         (  1,  2,  3, a) =  4 if  Θ and  (  4 )=a 11 22 33 44

Example ###### # 1000 # # 0100 # # 0aa # # aaaa # ###### 0100##0  (*) = a A Consider a tiling automaton A=(T Sq, S r, D 0,  ) where T sq tiling system for L Sq and S r a scanning strategy that goes row by row (from the left to the right) #00#001 0 a 1 * 0 0

Tiling Automata (2) Similarly define tiling automata of types tr2bl, br2tl,bl2tr L(TA-tl2br)= L(TA-tr2bl)= L(TA-br2tl)= L(TA-bl2tr)= = L(TA) = REC Acceptance defined as usual L(TA- tl2br)

Tiling Automata (3) Use standard definitions from string case and define: Unambiguos Tiling Automata (UTA) Deterministic Tiling Automata (DTA) L(DTA) = L(DTA-tl2br)  L(DTA-tr2bl)   L(DTA-br2tl)  L(DTA-bl2tr)

Languages of Tiling Automata 1)L(TA) = REC = L(OTA) 2)L(DTA)  L(DOTA) 3)L(DTA) is incomparable with L(4DFA) 4)L(UTA)  L(DTA)  L(4DFA) Proposition: The following properties hold

Sketch proof item 3) 3)L(DTA) is incomparable with L(4DFA) Remark : TA are conceptually different from 4NFA in L(4DFA) but not in L(DTA) in L(DTA) but not in L(4DFA) (K. Inoue, A. Nakamura 77)

Conclusions Tiling Automata necessary: - to use tiling system as computational devices - to introduce a “more computational” notion of determinism Tiling Automata reduce to classical string automata in the case of one-row pictures

Grazie

Complexity issue Proposition: Deterministic TA with - next-position function in O(1) time, - data structure occupies space O(m+n) and supports the operations in time O(1) parsing in time O(mn) and O(m+n) extra-space.

Baciamo le mani!

Why Tiling Automata? A Tiling System does not correspond to an effective procedure of recognition.

Θ =Θ = b0b0 #b0b0 b1b1 b0b0 a1a1 b1b1 b1b1 a1a1 b2b2 b2b2 b2b2 a1a1 a0a0 b2b2 a0a0 b1b1 a1a1 a0a0 b1b1 a0a0 a1a1 b0b0 # b1b1 # a0a0 # Θ corresponds to undirected edges! To use Θ for a computation we need to decide a scanning strategy + variable to keep current local symbol (state) # 0 2 a a b b b1b1 b2b2 a1a1 a0a0 # 1 b b0b0 1dim case: “Computing” by a tiling system (from a tiling system to an automaton) w’= # b 0 a 1 b 2 a 0 a 1 b 2 a 0 # w = b a b a a b a ## a0a0

Θ corresponds to undirected edges! To use Θ for a computation we need to decide a scanning strategy + variable to keep current local symbol (state) # 0 2 a a b b b1b1 b2b2 a1a1 a0a0 # 1 b b0b0 Θ =Θ = b0b0 #b0b0 b1b1 b0b0 a1a1 b1b1 b1b1 a1a1 b2b2 b2b2 b2b2 a1a1 a0a0 b2b2 a0a0 b1b1 a1a1 a0a0 b1b1 a0a0 a1a1 b0b0 # b1b1 # a0a0 # 1dim case: “Computing” by a tiling system (from a tiling system to an automaton) w = b a b a a b a w’= # b 0 a 1 b 2 a 0 a 1 b 2 a 0 #

“Computing” by a tiling system (from a tiling system to an automaton) Remark : Tiling system = “undirectional” transitions For a 2dim finite tiling automaton we need Tiling system + scanning strategy + data structure Local picture is the run of the automaton. Remark : All 2dim tiling automata “correspond” to family REC (i.e. scanning procedure does not matter!) BUT it is necessary to define determinism (= backtracking 0, where???)

Definition: String language L is local if all substrings of length 2 are in a finite set Θ. (L=L(Θ) ) Local (string) languages…(TOGLIERE w with border # # 0 0011 string w over Γ= {0, 1} w=w=0 0011 finite set of strings of length 2 over Γ  #  allowed substrings Θ = … 0000 0 11 1 ## Sono equivalenti ai regular

(Usual) Example1DIM case: “Computing” by a tiling system (from a tiling system to an automaton) 0 1 a a b b w= a b b a a b a Θ corresponds to undirected edges! To use Θ for a computation we need to decide a scanning procedure +variable to keep current local symbol (state) b0b0 b1b1 a1a1 a0a0 # # # w’= # a 1 b 1 b 1 a 0 a 1 b 1 a 0 # Θ = b0b0 b0b0 b0b0 b0b0 b1b1 a0a0 # # a1a1 # b0b0 # a1a1 a1a1 a0a0 a1a1 b1b1 b1b1 a0a0 b1b1 b0b0 a0a0 a1a1 a0a0

A second example Diagonal scanning strategy (“2OTA”) ####### ## ## ## ####### 12 3 4 5 6 13 1415 Filling-all-the-picture Start in a corner Comp. next-position function: (i, j) (i+1, j-1) Mono-directional (tl2br) Contiguity property

Download ppt "Tiling Automata: a computational model for recognizable two-dimensional languages Marcella Anselmo Dora Giammarresi Maria Madonia Univ. of Salerno Univ."

Similar presentations