Simulating EXPSPACE Turing machines using P systems with active membranes Artiom Alhazov 1 , 2 Alberto Leporati 1 Giancarlo Mauri 1 Antonio E. Porreca 1 Claudio Zandron 1 1 Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano-Bicocca 2 Institute of Mathematics and Computer Science Academy of Sciences of Moldova 13 th Italian Conference on Theoretical Computer Science 19–21 September 2012, Varese, Italy
Outline 1. P systems 2. Space complexity and the time-space trade-off 3. Simulating Turing machines 4. Conclusions and open problems 2/16
P systems (with restricted elementary active membranes) 0 + − a a a 0 c b b c c a b c h 3 h 2 a b c h 1 h 0 3/16
Computation rules α Object evolution a w h α β Communication (send-out) a b h h α β Communication (send-in) a b h h α β γ Elementary division a b c h h h 4/16
Parallelism and efficiency ◮ The rules are applied in a maximally parallel way ◮ There may be nondeterminism, but we require confluence ◮ Division may create exponentially many processing units in linear time ◮ So we can solve hard problems in polynomial time by trading space for time 5/16
Parallelism and efficiency ◮ The rules are applied in a maximally parallel way ◮ There may be nondeterminism, but we require confluence ◮ Division may create exponentially many processing units in linear time ◮ So we can solve hard problems in polynomial time by trading space for time PSPACE PMC AM P PP includes PH PP NP 5/16
Parallelism and efficiency ◮ The rules are applied in a maximally parallel way ◮ There may be nondeterminism, but we require confluence ◮ Division may create exponentially many processing units in linear time ◮ So we can solve hard problems in polynomial time by trading space for time PSPACE PMC AM P PP includes PH PP NP ◮ Membrane division is provably needed 5/16
Uniformity We decide membership in some language L by using a uniform family of P systems 6/16
Uniformity We decide membership in some language L by using a uniform family of P systems M 1 n ∈ N 1 1 yes 1 aab M 2 x ∈ Σ n aab no 0 1 0 input multiset 6/16
Formalising the time-space trade-off What’s the exact meaning of trading space for time? time = #computation steps 7/16
Formalising the time-space trade-off What’s the exact meaning of trading space for time? time = #computation steps space = #membranes + #objects 7/16
Known results on space complexity Theorem Polynomial-space P systems and polynomial-space Turing machines solve the same class of decision problems, namely PSPACE 8/16
Known results on space complexity Theorem Polynomial-space P systems and polynomial-space Turing machines solve the same class of decision problems, namely PSPACE Proof. ◮ A family of P systems working in space f ( n ) can be simulated by a TM working in O ( f ( n ) log f ( n )) space 8/16
Known results on space complexity Theorem Polynomial-space P systems and polynomial-space Turing machines solve the same class of decision problems, namely PSPACE Proof. ◮ A family of P systems working in space f ( n ) can be simulated by a TM working in O ( f ( n ) log f ( n )) space ◮ A TM working in space f ( n ) can be simulated by a family of P systems in space O ( f ( n )) as long as f is a polynomial 8/16
Simulating polynomial-space TMs q a a b b 2 1 3 5 0 4 � �� � n � �� � p ( n ) 9/16
Simulating polynomial-space TMs q a a b b 2 1 3 5 0 4 0 + + 0 0 − − 0 1 2 3 4 5 q 2 h labels provide order and identify cells 9/16
The problem with superpolynomial space bounds ◮ We cannot use exponentially many labels (polytime uniformity) ◮ We must create the tape-membranes at runtime via membrane division ◮ But the new membranes are indistinguishable from the outside (they all have the same label) ◮ Solution: order and identify membranes according to their contents 10/16
Encoding exponential space configurations q a a b b 100 011 101 111 010 110 � �� � n � �� � 2 p ( n ) 11/16
Encoding exponential space configurations q a a b b 100 011 101 111 010 110 0 0 0 0 0 0 0 0 2 1 1 0 0 0 2 1 1 1 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 b a a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 0 0 0 q 2 1 0 e a b ⊔ s 11/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 0 0 0 0 0 0 0 2 1 1 0 0 0 2 1 1 1 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 b a a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 0 0 0 q 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 0 0 0 0 0 0 0 2 1 1 0 0 0 2 1 1 1 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 b q 1 a a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 0 0 0 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 2 1 1 0 0 0 2 1 1 1 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 b a a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 0 0 0 q 2 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 0 ′ 1 ′ 1 ′ b a b ⊔ ⊔ t 0 2 1 0 t 1 t t t t a + + 0 0 0 0 0 q 3 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 0 ′ 1 ′ b a b ⊔ ⊔ t 0 2 0 t 1 t t t t 1 ′ 1 + + 0 0 + 0 0 q 4 a 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 1 ′ b a b ⊔ ⊔ t 0 0 t 1 t t t t 0 ′ 2 + + 0 0 + 0 0 q 5 1 ′ a 1 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t 1 ′ 0 + + 0 0 + 0 0 q 6 0 ′ a 2 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t e + + 0 0 + 0 0 q 7 1 ′ a 0 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t e + + 0 + + 0 0 q 8 e a 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t + + 0 + + 0 0 q 9 e a 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t + + 0 + + 0 0 q 10 a 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t q ′ 11 + + 0 0 + 0 0 a 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 − 0 0 q ′ a 12 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 + 0 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a b ⊔ ⊔ t 0 t 1 t t t t a ′ + + 0 0 − 0 0 q ′ 13 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 0 − 0 0 0 0 0 ′′ 1 ′′ 1 ′′ 0 2 1 1 0 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 2 1 0 b a a b ⊔ ⊔ t 0 t 1 t t t t q ′ 14 + + 0 0 0 0 0 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 0 − 0 0 0 0 0 2 1 1 0 0 0 2 1 1 1 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 b a a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 0 0 0 q 2 1 0 e a b ⊔ s 12/16
Simulating a computation step of the TM δ ( q , ⊔ ) = ( r , b , ⊳ ) 0 − − 0 0 0 − 0 2 1 1 0 0 0 2 1 1 1 0 1 2 0 1 0 0 1 2 0 1 1 0 1 2 1 1 0 0 1 2 1 1 1 0 b a a b ⊔ ⊔ t 0 t 1 t t t t + + 0 0 0 0 0 q 2 1 0 e a b ⊔ s 12/16
Recommend
More recommend