Fast Iterative Arrays with Restricted Inter-Cell Communication: Computational Capacity Martin Kutrib Andreas Malcher Institut f¨ ur Informatik, Universit¨ at Giessen Institut f¨ ur Informatik, Johann Wolfgang Goethe-Universit¨ at Frankfurt
Overview ➜ Language Recognition and Restricted Inter-Cell Communication ➜ Iterative Arrays versus Cellular Automata ➜ Dimension and Bit Hierarchies
Overview ➜ Language Recognition and Restricted Inter-Cell Communication ➜ Iterative Arrays versus Cellular Automata ➜ Dimension and Bit Hierarchies
Overview ➜ Language Recognition and Restricted Inter-Cell Communication ➜ Iterative Arrays versus Cellular Automata ➜ Dimension and Bit Hierarchies
Two-way cellular automata with k -bit restricted inter-cell communication ( CA k ): a 1 a 2 a 3 a n · · · # # δ : S × ( { 0 , 1 } k ) 2 → S Local transition function b 1 , b 2 : S → { 0 , 1 } k Bit functions
One-way cellular automata with k -bit restricted inter-cell communication ( OCA k ): a 1 a 2 a 3 a n # · · · δ : S × { 0 , 1 } k → S Local transition function b 1 : S → { 0 , 1 } k Bit functions
Language Recognition Loosely speaking: ➜ An input word is accepted, if the leftmost cell enters an accepting state during its course of computation.
Language Recognition Loosely speaking: ➜ An input word is accepted, if the leftmost cell enters an accepting state during its course of computation. ➜ For a mapping t : N → N , a formal language L is said to be of time complexity t , if all words w in L are accepted at time step t ( | w | ) .
Language Recognition Loosely speaking: ➜ An input word is accepted, if the leftmost cell enters an accepting state during its course of computation. ➜ For a mapping t : N → N , a formal language L is said to be of time complexity t , if all words w in L are accepted at time step t ( | w | ) . This “definition” is nonsense!
Example Let L ⊆ { a } n be an arbitrary language. t ( n ) = n if a n / t ( n ) = n + 1 if a n ∈ L ∈ L and
Example Let L ⊆ { a } n be an arbitrary language. t ( n ) = n if a n / t ( n ) = n + 1 if a n ∈ L ∈ L and n a a a a a a a a a a # # - # # # - + # # - + # t - + # # # - + # - + # # # - + # # - + # - + # # # - + # + # #
➜ The time complexity should be a function constructible by the device itself.
➜ The time complexity should be a function constructible by the device itself. ➜ E.g. the functions 2 n , n 2 , n th prime number, and n th Fibonacci number are constructible by one-bit CAs [Umeo, Kamikawa 2002,2003].
➜ The time complexity should be a function constructible by the device itself. ➜ E.g. the functions 2 n , n 2 , n th prime number, and n th Fibonacci number are constructible by one-bit CAs [Umeo, Kamikawa 2002,2003]. ➜ But
➜ The time complexity should be a function constructible by the device itself. ➜ E.g. the functions 2 n , n 2 , n th prime number, and n th Fibonacci number are constructible by one-bit CAs [Umeo, Kamikawa 2002,2003]. ➜ But ➜ In general, function constructor and language recognizer cannot be superposed due to restricted communication bandwidth.
➜ The time complexity should be a function constructible by the device itself. ➜ E.g. the functions 2 n , n 2 , n th prime number, and n th Fibonacci number are constructible by one-bit CAs [Umeo, Kamikawa 2002,2003]. ➜ But ➜ In general, function constructor and language recognizer cannot be superposed due to restricted communication bandwidth. ➜ Wide unexplored field of questions and answers.
Here: Real-time computations (i.e. t ( n ) = n )
Here: Real-time computations (i.e. t ( n ) = n ) Theorem For all k ∈ N , there is a regular language which is not accepted by any real-time k -bit CA. ➜ L = { xvx | v ∈ { a } ∗ and x ∈ { a 0 , . . . , a 2 2 k }}
Here: Real-time computations (i.e. t ( n ) = n ) Theorem For all k ∈ N , there is a regular language which is not accepted by any real-time k -bit CA. ➜ L = { xvx | v ∈ { a } ∗ and x ∈ { a 0 , . . . , a 2 2 k }} Theorem For all k ∈ N , L rt (CA k ) ⊂ L rt (CA k +1 ) .
Iterative Arrays versus Cellular Automata Iterative array with k -bit restricted inter-cell communication ( IA k ): s 0 s 0 s 0 s 0 s 0 a 1 a 2 a 3 · · · a n # δ : S × ( { 0 , 1 } k ) 2 → S Local transition functions δ 0 : S × ( A ∪ { # } ) × { 0 , 1 } k → S b 1 , b 2 : S → { 0 , 1 } k Bit functions
Counting arguments Let L ⊆ A ∗ be a language and l ∈ N be a constant.
Counting arguments Let L ⊆ A ∗ be a language and l ∈ N be a constant. ➜ Two words w ∈ A ∗ and w ′ ∈ A ∗ are l -right-equivalent with respect to L if ⇒ w ′ y ∈ L, for all y ∈ A ≤ l wy ∈ L ⇐
Counting arguments Let L ⊆ A ∗ be a language and l ∈ N be a constant. ➜ Two words w ∈ A ∗ and w ′ ∈ A ∗ are l -right-equivalent with respect to L if ⇒ w ′ y ∈ L, for all y ∈ A ≤ l wy ∈ L ⇐ ➜ Two words w ∈ A ≤ l and w ′ ∈ A ≤ l are l -left-equivalent with respect to L if ⇒ w ′ y ∈ L, for all y ∈ A ∗ wy ∈ L ⇐
Lemma Let d, k ∈ N be constants. 1. If L ∈ L rt (IA d k ) , then there exists a constant p ∈ N such that N r ( l, L ) ≤ p ( l +1) d for all l ∈ N .
Lemma Let d, k ∈ N be constants. 1. If L ∈ L rt (IA d k ) , then there exists a constant p ∈ N such that N r ( l, L ) ≤ p ( l +1) d and 2. if L ∈ L lt (IA d k ) , then there exists a constant p ∈ N such that N ℓ ( l, L ) ≤ p · 2 d · k · l for all l ∈ N .
Theorem For any constants k ∈ N , there is a language belonging to the difference L rt (OCA 1 ) \ L lt (IA k ) .
Theorem For any constants k ∈ N , there is a language belonging to the difference L rt (OCA 1 ) \ L lt (IA k ) . ➜ L k = { u 1 · · · u m e x | m ∈ N , u i ∈ { a 0 , . . . , a 2 k − 1 } , 1 ≤ i ≤ m, and x = ( u 1 · · · u m ) 2 k } ➜ Induced equivalence classes: N ℓ ( m, L k +1 ) > p · 2 d · k · m ➜ Distinguished equivalence classes: N ℓ ( m, L k +1 ) ≤ p · 2 d · k · m
Theorem For any constants k ∈ N , there is a language belonging to the difference L rt (OCA 1 ) \ L lt (IA k ) . ➜ L k = { u 1 · · · u m e x | m ∈ N , u i ∈ { a 0 , . . . , a 2 k − 1 } , 1 ≤ i ≤ m, and x = ( u 1 · · · u m ) 2 k } ➜ Induced equivalence classes: N ℓ ( m, L k +1 ) > p · 2 d · k · m ➜ Distinguished equivalence classes: N ℓ ( m, L k +1 ) ≤ p · 2 d · k · m
Theorem For any constants k ∈ N , there is a language belonging to the difference L rt (OCA 1 ) \ L lt (IA k ) . ➜ L k = { u 1 · · · u m e x | m ∈ N , u i ∈ { a 0 , . . . , a 2 k − 1 } , 1 ≤ i ≤ m, and x = ( u 1 · · · u m ) 2 k } ➜ Induced equivalence classes: N ℓ ( m, L k +1 ) > p · 2 d · k · m ➜ Distinguished equivalence classes: N ℓ ( m, L k +1 ) ≤ p · 2 d · k · m
L lt (NCA) = L lt (NIA) L rt (NCA) = L rt (NIA) L lt (CA) = L lt (IA) L rt (CA) L rt (OCA) L rt (IA) REG
L lt (NCA) = L lt (NIA) L lt (NCA k ) L lt (NIA k ) L rt (NCA) = L rt (NIA) L rt (NCA k ) L rt (NIA k ) L lt (CA) = L lt (IA) L lt (CA k ) L rt (CA) L rt (CA k ) L lt (IA k ) L rt (OCA) L rt (IA) L rt (OCA k ) L rt (IA k ) REG REG
Dimension and Bit Hierarchies s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 s 0 a 1 a 2 a 3 · · · a n #
✩ ✩ ➣ ✩ ✩ ✩ ✩ ✩ ➣ ✩ ➣ Theorem For any constants d, k ∈ N , there is a language over a two- letter alphabet belonging to the difference L rt (IA d +1 ) \ L rt (IA d k ) . 1
Theorem For any constants d, k ∈ N , there is a language over a two- letter alphabet belonging to the difference L rt (IA d +1 ) \ L rt (IA d k ) . 1 ➜ X 1 = { a, b } + and X i +1 = ✩ ( X i ✩ ) + , for i ≥ 1 . ➜ M ( d ) = { u ➣ e x 1 ✩ · · · ✩ e x d ✩ e 2 x ✩ v | u ∈ X d , x i ∈ N , 1 ≤ i ≤ d , and x = x 1 + · · · + x d and u [ x 1 ][ x 2 ] · · · [ x d ] is defined and v = u [ x 1 ][ x 2 ] · · · [ x d ] } ➜ Finally, the language L ( d ) = h ( M ( d )) is given as homomorphic image of M ( d ) , where h : { a, b, e, ✩ , ➣ } ∗ → { a, b } ∗ is defined as follows: h ( a ) = ba , h ( b ) = bb , h ( e ) = b , h ( ✩ ) = ab , h ( ➣ ) = aa .
Theorem For any constants d, k ∈ N , there is a language over a two- letter alphabet belonging to the difference L rt (IA d +1 ) \ L rt (IA d k ) . 1 ➜ X 1 = { a, b } + and X i +1 = ✩ ( X i ✩ ) + , for i ≥ 1 . ➜ M ( d ) = { u ➣ e x 1 ✩ · · · ✩ e x d ✩ e 2 x ✩ v | u ∈ X d , x i ∈ N , 1 ≤ i ≤ d , and x = x 1 + · · · + x d and u [ x 1 ][ x 2 ] · · · [ x d ] is defined and v = u [ x 1 ][ x 2 ] · · · [ x d ] } ➜ Finally, the language L ( d ) = h ( M ( d )) is given as homomorphic image of M ( d ) , where h : { a, b, e, ✩ , ➣ } ∗ → { a, b } ∗ is defined as follows: h ( a ) = ba , h ( b ) = bb , h ( e ) = b , h ( ✩ ) = ab , h ( ➣ ) = aa .
Recommend
More recommend