Two-tape finite automata with quantum and

arXiv:1104.3634v1 [quant-ph] 19 Apr 2011

classical states Shenggen Zhenga,∗, Lvzhou Lia,†, Daowen Qiua,b,c,‡ a

Department of Computer Science, Sun Yat-sen University, Guangzhou 510006, China b

SQIG–Instituto de Telecomunica¸c˜ oes, IST, TULisbon, Av. Rovisco Pais 1049-001, Lisbon, Portugal

c

The State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100080, China

Abstract Two-way finite automata with quantum and classical states (2QCFA) were introduced by Ambainis and Watrous, and two-way two-tape deterministic finite automata (2TFA) were introduced by Rabin and Scott. In this paper we study 2TFA and propose a new computing model called two-way two-tape finite automata with quantum and classical states (2TQCFA). First, we give efficient 2TFA algorithms for recognizing languages which can be recognized by 2QCFA. Second, we give efficient 2TQCFA algorithms to recognize several languages whose 2 status vis-a-vis 2QCFA have been posed as open questions, such as Lsquare = {an bn | n ∈ N}. k Third, we show that {an bn | n ∈ N} can be recognized by (k + 1)-tape deterministic finite automata ((k + 1)TFA). Finally, we introduce k-tape automata with quantum and classical k states (kTQCFA) and prove that {an bn | n ∈ N} can be recognized by kTQCFA. Keywords: Quantum computing models; Quantum finite automata;

1

Introduction

Interest in quantum computation has steadily increased since Shor’s quantum algorithm for factoring integers in polynomial time [21] and Grover’s algorithm of searching in database √ of size n with only O( n) accesses [14]. As we know, these algorithms are based on quantum Turing machines which are complicated to implement using today’s experiment technology. Therefore, it is natural to consider much more restricted quantum computing models. ∗

E-mail address: [email protected] E-mail address: [email protected] ‡ Corresponding author. E-mail address: [email protected] (D. Qiu).

†

1

Classically, as one of the simplest computing models, deterministic finite automata (DFA) and nondeterministic finite automata (NFA) have been deeply studied [15]. Furthermore, twoway two-tape deterministic finite automata (2TFA) and multi-tape finite automata (mTFA) were first introduced by Rabin and Scott in a seminal paper in 1959 [22]. Unlike DFA or NFA, 2TFA can recognize not only regular languages (RL) but also some context-free languages (CFL), and even some no-context-free languages (NCFL). In this paper, we will show that some context-free languages, and even some no-context-free languages can be recognized by 2TFA in linear time. Correspondingly, it may be interesting to consider restricted quantum Turing machines, such as quantum finite automata (QFA). QFA were first introduced independently by Kondacs and Watrous [10], as well as Moore and Crutchfield [11]. As a quantum variant of FA, QFA have attracted wide attentions in the academic community [2, 3, 4, 5, 6, 7, 8, 9]. Many kinds of QFA have been proposed and studied(e.g., see [13]). QFA are mainly divided into two kinds: one-way quantum finite automata (1QFA) and two-way quantum finite automata (2QFA). If we compare 1QFA with their classical counterparts DFA, 1QFA have some weaknesses since they can recognize only a proper subset of RL [3]. 2QFA, however, are more powerful than their classical counterparts two-way deterministic finite automata (2DFA) which recognize only RL. 2QFA were first introduced by Kondacs and Watrous, and then they proved that Leq = {an bn | n ∈ N} and Ltrieq = {an bn cn | n ∈ N} can be recognized by 2QFA [10], where the first language is CFL, and the second one is NCFL. However, 2QFA have a disadvantage in the sense that we need at least O(log n) qubits to store the position of the tape head, which is relative to the length of the input. In order to conquer this disadvantage, Ambainis and Watrous proposed two-way finite automata with quantum and classical states (2QCFA)[1], an intermediate model between 1QFA and 2QFA, which are still more powerful than their classical counterparts 2DFA. A 2QCFA is essentially a classical 2DFA augmented with a quantum component of constant size, where the dimension of the associated Hilbert space does not depend on the length of the input. Ambainis and Watrous showed Lpal = {ω ∈ {a, b}∗ | ω = ω R } and Leq = {an bn | n ∈ N} can be recognized by 2QCFA [1]. Several other kn n no-regular languages including Meq = {an bn1 am bm 2 | n, m ∈ N}, Leq (k, a) = {a b | n ∈ N} and L= = {ω ∈ {a, b}∗ | #ω (a) = #ω (b)} were proved to be recognized by 2QCFA in Qiu’s paper [12]. In this paper we revisit two-tape two-way deterministic finite automata (2TFA), of which the definition has a little difference from the original model introduced by Rabin and Scott in 1959 [22]. When we mention 2TFA in the following, we refer to the new defined model without ambiguity. First, we prove that all the languages mentioned above that can be recognized by 2QFA or 2QCFA, including Lpal , Leq , Ltrieq , Meq , Leq (k, a) and L= , can also be recognized by 2TFA in linear time. Note that 2QCFA need polynomial or exponential time to recognize these languages. Second, We show some languages, including Lcopy = {ωω | ω ∈ Σ∗ }, Lmiddle = {xay | x, y ∈ Σ∗ , a ∈ Σ}, and Lbalanced = {x ∈ {“(”, “)”}∗ | parentheses in x are 2

balanced }, can be recognized by 2TFA in linear time. However, as far as we know, it is still not clear whether 2QFA or 2QCFA can recognize these languages or not. Thus, it seems that 2TFA are more powerful than 2QFA or 2QCFA. Based on 2TFA, we propose 2TQCFA which are similar to 2QCFA, only augmented with another tape. 2TQCFA can be implemented with a quantum part of constant size, 2 and they are shown to be powerful. We consider the language: Lsquare = {an bn | n ∈ N}, whether it can be recognized by 2QFCA or not is still an open problem proposed by Ambainis and Watrous in [1]. Rao proposed a new model of automata called Two-Way Optical Interference Automata (2OIA) which use the phenomenon of interference, and proved that they can recognize Lsquare [20]. However, 2OIA are complicated to implement, because it is hard to control the phenomenon of interference in high precision. In this paper, we show that Lsquare can be recognized by 2TQCFA in polynomial time. Also, we consider multi-tape deterministic finite automata (mTFA). We show that Lkpow = | n ∈ N} can be recognized by (k + 1)-tape deterministic finite automata ((k + 1)TFA) in linear time. Furthermore, we propose a new model of quantum automata, multi-tape finite automata with quantum and classical states (mTQCFA), which is essentially the model of mTFA augmented with a quantum component of constant size. We prove that Lkpow can be recognized by k-tape finite automata with quantum and classical states (kTQCFA) in polynomial time. k {an bn

The remainder of this paper has the following organization. In Section 2 we give the definitions of 2TFA, 2TQCFA, mTFA and mTQCFA. Then, in Section 3 we show 2TFA can recognize those languages mentioned before. Afterwards, in Section 4 we describe a 2TQCFA for recognizing Lsquare . Subsequently, in Section 5 we describe a (k + 1)TFA and a kTQCFA for recognizing Lkpow . Finally we make a conclusion in Section 6.

2

Definitions

2.1

Definition of 2TFA

The definition here is slightly different from the original model introduced by Rabin and Scott [22]. A 2TFA is defined by a 6-tuple M = (S, Σ, δ, s0 , Sacc , Srej )

(1)

where, • S is a finite set of classical states; • Σ is a finite set of input symbols; the tape symbol set is Γ = Σ ∪ { C, | $}; two tapes with 3

the same input ω are T1 = C| 1 ω$1 and T2 = C| 2 ω$2 ; we assume that the input in Ti is started by the left end-marker C| i and terminated by the rihgt end-marker $i ; • δ is the transition function: S \ (Sacc ∪ Srej ) × Γ → S × D1 × D2

(2)

where D1 = D2 = {←, ↓, →}, of which the element in turn means left, stationary and right, respectively; we restrict that at least one of D1 and D2 is stationary in this mapping, which means that a 2TFA can at most move one head and scan one new symbol at one time. If both of the tape heads are stationary, the symbol to be scanned is the same as the previous step. We assume that the first symbol scanned is C| 1 . So we can simplify the transition function to take “Γ” as variable instead of “Γ × Γ”, which is the main difference from the original model introduced by Rabin and Scott. The mapping can be interpreted as follows: δ(s, γ) = (s′ , d1 , d2 ) means a machine currently in state s ∈ S \ (Sacc ∪ Srej ), scanning symbol γ ∈ Γ will change state to s′ , and the tape head i will move according to the directions d1 and d2 ; • s0 ∈ S is the initial state of the machine; • Sacc ⊂ S and Srej ⊂ S are the sets of accepting states and rejecting states, respectively. For an input string ω = σ1 . . . σl ∈ Σ∗ , the content of the first tape is T1 = C| 1 σ1 . . . σl $1 , and the content of the second tape is T2 = C| 2 σ1 . . . σl $2 . The computation of a 2TFA on input string ω is the sequence (p0 , i10 , i20 ), . . . , (pj , i1j , i2j ), . . . , in which pj ∈ S, 0 ≤ i1j , i2j ≤ l + 1, and • The initial configuration (p0 , i10 , i20 ) = (s0 , 0, 0); • If the instance configuration is (pj , i1j , i2j ) and the transition function is δ(pj , σ) = (pj+1 , d1j , d2j ), then the next configuration will be (pj+1 , i1j + d1j , i2j + d2j ). A computation is assumed to halt if and only if an accepting state or a rejecting state is reached. If there is a configuration (pj , i1j , i2j ) with pj ∈ Sacc , then the automaton is said to accept ω; else if pj ∈ Srej , then the automaton is said to reject ω. For related basic notations and further details about finite automata, the reader may refer to [15, 19, 23].

2.2

Definition of 2TQCFA

2QCFA were introduced by Ambainis and Watrous in [1]. The new model that we define here is similar to 2QCFA, but with two tapes. Informally, we describe a 2TQCFA as a 2TFA which has access to a constant size of quantum register, upon which it perform quantum 4

transformations and measurements. Before giving a more formal definition of 2TQCFA, we review a few basic facts regarding quantum computing. We would refer the reader to [16, 17, 18] for a more detailed overview of quantum computing. Let H(Q) represents the Hilbert space with the corresponding base identified with set Q. If {|iQ i} is an orthonormal base P for H(Q), then state q ∈ H(Q) can be written in the form ni ai |iQ i, where ai is a complex P number and ni |ai |2 = 1. Let U (H(Q)) and M(H(Q)) denote the sets of unitary operators and orthogonal measurements over H(Q), respectively. A unitary operator U ∈ U (H(Q)) is an invertible linear operator which preserves length. A set of projective measurements M = {Pi } ∈ M(H(Q)) are Hermitian operators on H(Q) such that Pi = Pi† , Pi2 = Pi† for all i; Pi Pj = 0 for i 6= j, and Σi Pi = I. Upon measuring the state |ψi, the probability of getting result i is given by p(i) = hψ|Pi |ψi. Given that the result i occurred, the state of the p quantum system immediately changes to Pi |ψi/ hψ|Pi |ψi. A 2TQCFA is specified by a 9-tuple

M = (Q, S, Σ, Θ, δ, q0 , s0 , Sacc , Srej )

(3)

where, • Q is a finite set of quantum states; • S is a finite set of classical states; • Σ is a finite set of input symbols; the tape symbol set is Γ = Σ ∪ { C, | $}; two tapes with the same input ω are T1 = C| 1 ω$1 and T2 = C| 2 ω$2 ; we assume that the input in Ti is started by the left end-marker C| i and terminated by the right end-marker $i ; • Θ is the transition function of quantum states: S \ (Sacc ∪ Srej ) × Γ → U (H(Q)) ∪ M(H(Q)),

(4)

where each action Θ(s, γ) corresponds to either a unitary transformation or a projective measurement; • δ is the transition function of classical states. If Θ(s, γ) ∈ U (H(Q)), then δ is: S \ (Sacc ∪ Srej ) × Γ → S × D1 × D2 ,

(5)

which is the same transition function as we have defined in 2TFA. If Θ(s, γ) ∈ M(H(Q)), and the resulting set of the measurement is R = {r1 , r2 , . . . , rn }, then δ is: S \ (Sacc ∪ Srej ) × Γ × R → S × D1 × D2 ,

(6)

where δ(s, γ)(ri ) = (s′ , d1 , d2 ) means that when the projective measurement result is ri with probability pi , then s ∈ S scanning γ ∈ Γ will be changed to state s′ , and the next scanned symbol will be decided by d1 and d2 ; 5

• q0 ∈ Q is the initial quantum state; • s0 ∈ S is the initial classical state; • Sacc ⊂ S and Srej ⊂ S are the sets of classical accepting states and rejecting states, respectively. Given an input ω, a 2TQCFA M = (Q, S, Σ, Θ, δ, q0 , s0 , Sacc , Srej ) operates as follows: At the beginning, tape head i is at C| i , the quantum initial state is |q0 i, the classical initial state is s0 , and |q0 i will be changed according to Θ(s0 , C| 1 ). a. If Θ(s0 , C| 1 ) = U ∈ U (H(Q)), then the quantum state evolves as |q0 i → U |q0 i, and meanwhile, the classical state s0 will be changed to s′ according to δ(s0 , C| 1 ) = (s′ , d1 , d2 ). The symbol scanned next is in T1 , if d1 6=↓; the symbol scanned next is in T2 , if d2 6=↓; otherwise, it holds that d1 = d2 =↓, and then the symbol scanned next is unchanged. b. If Θ(s0 , C| 1 ) = M ∈ M(H(Q)), M = {P1 , . . . , Pm }, then |q0 i → √ Pi |q0 i

hq0 |Pi |q0 i

with result

ri . Meanwhile, we have δ(s0 , C| 1 )(ri ) = (si , d1 , d2 ). If si ∈ Sacc , M accepts ω; if si ∈ Srej , M rejects ω; otherwise, M scans the next symbol, and the transformation is similar to the above process.

A computation is assumed to halt if and only if an accepting state or a rejecting classical state is reached. Let pacc (ω) and prej (ω) denote the accepting and rejecting probabilities for M with input ω, respectively. We say that a language L is recognized by a 2TQCFA M if L is recognized by a 2TQCFA M with one-sided error ǫ, which means that for all ω ∈ Σ∗ , pacc (ω) + prej (ω) = 1, pacc (ω) = 1 if ω ∈ L, and prej (ω) ≥ 1 − ǫ if ω ∈ / L.

2.3

Definitions of mTFA and mTQCFA

The definition of kTFA is similar to that of 2TFA. A kTFA is a 6-tuple M = (S, Σ, δ, s0 , Sacc , Srej )

(7)

where S, Σ, s0 , Sacc and Srej are just like the ones in 2TFA. The map of δ is: S \ (Sacc ∪ Srej ) × Γ → S × D k . We restrict that at most one of Di (i = 1, 2, . . . , k) is no stationary in the mapping and all the tapes have the same input ω. The transformation is similar to that of 2TFA. An mTQCFA is essentially a classical mTFA augmented with a quantum component of constant size.

6

3

Languages recognized by 2TFA

When we use a 2DFA to recognize a language, we can not record how many specific symbols have been scanned. For example, when we use a 2DFA to recognize Leq = {an bn | n ∈ N}, we can not record how many symbols a have been scanned, which is the reason that 2DFA can not recognize Leq . Even if a 2TFA is used, we are still not able to record how many specific symbols have been scanned. But we have two tapes, so we can compare the numbers of the specific symbols having been scanned between the two tapes, which leads to that 2TFA can recognize more languages and become more powerful.

3.1

Languages recognized by 2QFA or 2QCFA that can also be recognized by 2TFA

Leq and Ltrieq were proved to be recognized by 2QFA in [10], Lpal and Leq were proved to be recognized by 2QCFA in [1], and Meq , Leq (k, a) and L= were proved to be recognized by 2QCFA in [12]. In this subsection we will prove all these languages can be recognized by 2TFA in linear time. We assume that N = {0, 1, 2, . . . , n, . . . }, and we use #ω (σ) and |ω| to denote the number of symbol σ in string ω and the length of string ω, respectively. Theorem 1. Leq = {an bn | n ∈ N} can be recognized by 2TFA in linear time. Proof. The idea of this proof is as follows: First we check whether the input ω is of the form a+ b+ , and then we scan T1 from right to left to consume symbol b and scan T2 from left to right to consume symbol a alternately. If we scan a symbol b in T1 , the next symbol scanned in T2 must be symbol a; otherwise, we reject the input ω. Once we scan a symbol a in T1 , which means that the tape head of T1 reaches the a+ section of T1 , we turn to T2 to see which symbol it scans. If the next symbol scanned in T2 is symbol b, we accept the input ω; otherwise, we reject it. A 2TFA M for Leq is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej )

(8)

where, • S = {s0 , s1 , s2 , sa , sb , scrt , sacc , srej }, where s0 , s1 and s2 are used to check whether ω is of the form a+ b+ ; sa is used to consume symbol a in T2 and sb is used to consume symbol b in T1 ; scrt is the critical state which will be changed to sacc or srej depending on the next scanned symbol; • Σ = {a, b}; s0 is the initial state; Sacc = {sacc }; Srej = {srej }; • The mapping δ is defined as follows: 7

δ(s0 , C| 1 ) = (s0 , →, ↓) δ(s0 , b) = (srej , −, −) δ(s1 , a) = (s1 , →, ↓) δ(s2 , a) = (srej , −, −) δ(sb , a) = (scrt , ↓, →) δ(sa , a) = (sb , ←, ↓) δ(scrt , a) = (srej , −, −)

δ(s0 , a) = (s1 , →, ↓) δ(s0 , $1 ) = (sacc , −, −) δ(s1 , b) = (s2 , →, ↓) δ(s2 , b) = (s2 , →, ↓) δ(sb , b) = (sa , ↓, →) δ(sa , b) = (srej , −, −) δ(scrt , b) = (sacc , −, −)

δ(s1 , $1 ) = (srej , −, −) δ(s2 , $1 ) = (sb , ←, ↓)

Remark :When M comes to halting states, the directions of the tape heads will be meaningless, and thus we use “−”. It is easy to verify that Leq can be recognized by M. Checking whether the input ω is of the form a+ b+ takes |ω| time. Scanning T1 from right to left and scanning T2 from left to right alternately takes 2|ω| time at the worst case. Hence, the worst running time of M is O(|ω|), which is linear time.

Theorem 2. Lpal = {ω ∈ {a, b}∗ | ω = ω R } can be recognized by 2TFA in linear time. Proof. We scan T1 from right to left and scan T2 from left to right alternately, and each time we make sure that the symbols scanned are the same. If the symbols scanned are not the same, we reject the input ω; otherwise, when the tape head of T1 reaches the left end-marker and the tape head of T2 reaches the right end-marker, we accept it. A 2TFA M for Lpal is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej ) (9) where, • S = {s0 , st , s, sa , sb , scrt , sacc , srej }, where s0 and st are used to move the first tape head to the right end-marker of T1 ; sa and sb are used to consume symbol a and b in T2 , respectively; s is used to consume a symbol in T1 ; scrt is the critical state which will be changed to sacc or srej depending on the next scanned symbol; • Σ = {a, b}; s0 is the initial state; Sacc = {sacc }; Srej = {srej }. • The mapping δ is defined as follows: δ(s0 , σ) = (s0 , →, ↓) for σ = a, b, C| 1 δ(st , σ) = (sσ , ↓, →) for σ = a, b δ(sσ , σ ′ ) = (s, ←, ↓) for σ = σ ′ δ(s, σ) = (sσ , ↓, →) for σ = a, b δ(scrt , σ) = (srej , −, −) for σ 6= $2

δ(s0 , $1 ) = (st , ←, ↓) δ(st , C| 1 ) = (sacc , −, −) δ(sσ , σ ′ ) = (srej , −, −) for σ 6= σ ′ δ(s, C| 1 ) = (scrt , ↓, →) δ(scrt , $2 ) = (sacc , −, −) 8

It is easy to verify that Lpal can be recognized by M. It takes M exactly 3|ω| time to accept the input ω and less than 3|ω| time to reject it. So Lpal can be recognized by 2TFA in linear time. Theorem 3. Ltrieq = {an bn cn | n ∈ N} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Leq . The idea of this proof is as follows: First, we check whether the input ω is of the form a+ b+ c+ ; second, we use two subroutines of 2TFA M′ which recognizes Leq to check whether the number of symbol c is equal to the number of symbol a and b. We scan T1 from right to left and T2 from left to right alternately to make sure the number of symbol c in T1 is equal to the number of symbol a in T2 . We scan T1 from left to right and T2 from left to right alternately to make sure the number of symbol c in T1 is equal to the number of symbol b in T2 . The details of 2TFA M for Ltrieq are omitted here. It is easy to verify that Ltrieq can be recognized by M. It takes M 3|ω| time to accept the ipnut ω and less than 3|ω| to reject it at the worst cases. So Ltrieq can be recognized by 2TFA in linear time. Theorem 4. Leq (k, a) = {akn bn | n ∈ N} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Leq . First we check whether the input ω is of the form a+ b+ . But, we scan T1 from right to left to consume one symbol b and scan T2 from left to right to consume k symbols a instead of just one symbol alternately. A 2TFA M for Leq (k, a) is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej )

(10)

where, • S = {s0 , s1 , s2 , sa1 , sa2 , . . . , sak , sb , scrt , sacc , srej }, where s0 , s1 and s2 are used to check whether ω is of the form a+ b+ ; sai is used to consume symbol a in T2 and sb is used to consume symbol b in T1 ; scrt is the critical state which will be changed to sacc or srej depending on the next scanned symbol; • Σ = {a, b}; s0 is the initial state; Sacc = {sacc }; Srej = {srej }; • The mapping δ is defined as follows:

9

δ(s0 , C| 1 ) = (s0 , →, ↓) δ(s0 , b) = (srej , −, −) δ(s1 , a) = (s1 , →, ↓) δ(s2 , a) = (srej , −, −) δ(sb , a) = (scrt , ↓, →, ) δ(sai , a) = (sa(i+1) , ↓, →) δ(sai , b) = (srej , −, −) δ(sak , a) = (sb , ←, ↓) δ(scrt , a) = (srej , −, −)

δ(s0 , a) = (s1 , →, ↓) δ(s0 , $1 ) = (sacc , −, −) δ(s1 , b) = (s2 , →, ↓) δ(s2 , b) = (s2 , →, ↓) δ(sb , b) = (sa1 , ↓, →, ) for i = 1, 2, . . . , k − 1 for i = 1, 2, . . . , k − 1 δ(sak , b) = (srej , −, −) δ(scrt , b) = (sacc , −, −)

δ(s1 , $1 ) = (srej , −, −) δ(s2 , $1 ) = (sb , ←, ↓)

It takes M 3|ω| time at the worst cases. So Leq (k, a) can be recognized by 2TFA in linear time. Theorem 5. Meq = {an bn1 am bm 2 | n, m ∈ N} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Ltrieq . We + + check whether the input ω is of the form a+ b+ 1 a b2 at the beginning. Next we use two subroutines of 2TFA M′ which recognizes Leq . First,we scan T1 from left to right and T2 from left to right alternately to make sure the number of symbol a in the first section of T1 is equal to the number of symbol b1 in T2 . Second, we scan T1 from left to right and T2 from left to right alternately to make sure the number of symbol a in the second section of T1 is equal to the number of symbol b2 in T2 . We do not bore the details of 2TFA M for Meq here. It is easy to verify that Meq can be recognized by M. It takes M 2|ω| time at the worst cases. So Meq can be recognized by 2TFA in linear time. Theorem 6. L= = {ω ∈ {a, b}∗ | #ω (a) = #ω (b)} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Leq . But we do not need to check whether ω is of the form a+ b+ . We scan T1 for symbol a from left to right and scan T2 for symbol b from left to right alternately. We start at looking for symbol a in T1 . If the symbol scanned is not symbol a, we skip it and look for the next symbol in T1 until we scan symbol a. Once we have scanned a symbol a in T1 , we look for a symbol b in T2 . If the symbol scanned is not symbol b, we just skip it, and look for the next symbol in T2 until we scan symbol b or come to the right end-marker. If the head of T2 reaches the right end-marker, we reject the input ω; otherwise, turn to T1 . When the tape head of T1 reaches the right end-marker, if there is no more symbol b waiting for being scanned in T2 , we accept the input ω; otherwise, we reject it. A 2TFA M for Leq is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej ) where, 10

(11)

• S = {s0 , sa , sb , scrt , sg , sl , seq }, where sa is used to consume symbol a in T1 and sb is used to consume symbol b in T2 ; scrt is the critical state to check whether ω is in L; sg means #ω (a) > #ω (b), sl means #ω (a) < #ω (b), and seq means #ω (a) = #ω (b), respectively; • Σ = {a, b}; s0 is the initial state; Sacc = {seq }; Srej = {sg , sl }; • The mapping δ is defined as follows: δ(s0 ,C| 1 ) = (s0 , →, ↓) δ(s0 , a) = (sb , ↓, →, ) δ(sb , a) = (sb , ↓, →) δ(sa , a) = (sb , ↓, →) δ(scrt , a) = (scrt , ↓, →)

δ(s0 , $1 ) = (sacc , −, −) δ(s0 , b) = (s0 , ↓, →, ) δ(sb , b) = (sa , →, ↓) δ(sa , b) = (sa , →, ↓) δ(scrt , b) = (sl , −, −)

δ(sb , $2 ) = (sg , −, −) δ(sa , $1 ) = (scrt , ↓, →) δ(scrt , $2 ) = (seq , −, −)

It is easy to verify that L= can be recognized by M. It takes M 2|ω| time to accept the input ω and no more than 2|ω| time to reject it. So L= can be recognized by 2TFA in linear time. Having proved several languages that can be recognized by 2TFA, next we will prove a Pm km | a k = more general language Llinear = {σ1k1 σ2k2 . . . σm i i j=1,j6=i aj kj , Σ = {σ1 , σ2 , . . . , σm }, m, k1 , k2 , . . . km , ai ∈ N; a1 , a2 , . . . , ai−1 , ai+1 , . . . , am ∈ {0, 1}} can be recognized by 2TFA in linear time. Leq , Ltrieq , Meq and Leq (k, a) are just the special cases of this language. Llinear can also be recognized by 2QCFA in polynomial time. Pm km | a k = Theorem 7. Llinear = {σ1k1 σ2k2 . . . σm i i j=1,j6=i aj kj , Σ = {σ1 , . . . , σm }, m, k1 , k2 , . . . km , ai ∈ N; a1 , a2 , . . . , ai−1 , ai+1 , . . . , am ∈ {0, 1}} can be recognized by 2TFA in linear time. P Proof. ω ∈ Llinear has at most m − 1 restrictions such as ai ki = m j=1,j6=i aj kj (if it has more than m − 1 restrictions, they must be relative, and we can replace them by less than m − 1 restrictions), where m = |Σ| which is a constant. First, we use T1 to check whether ω is of the ∗ , and then we move the tape head of T back to the left end-maker. This takes form σ1∗ σ2∗ . . . σm 1 2|ω| time. The 2TFA M for Llinear consists of by m − 1 subroutines, and each subroutine verifies one restriction. 2TFA M accepts ω if all restrictions are satisfied. As an example, for a P restriction ai ki = m j=1,j6=i aj kj , symbol σi can be regarded as symbol a, σj (j 6= i, aj 6= 0) can be regarded as symbol b, and σj (j 6= i, aj = 0) can be regarded as symbol c. This subroutine is equivalent to the subroutine of recognizing {ω ∈ {a, b, c}∗ | ai #ω (a) = #ω (b)}, which is easy to implement. We scan T1 from left to right to consume one symbol a and scan T2 from left to right to consume ai symbols b, and we just skip symbol c. This subroutine takes 2|ω| time. After a subroutine ends, we move both tape heads to the left end-markers, which takes 11

2|ω| time. So Llinear can be recognized by a 2TFA with running time (4(m − 1) + 2)|ω| at the worst cases, which is linear time.

Remark : Llinear can be recognized by 2QCFA. We can used m-1 subroutines to verify the m-1 restrictions, and the idea is similar to the proof of the above theorem.

3.2

Languages recognized by 2TFA but whether or not they can be recognized by 2QFA or 2QCFA is still pending

In this subsection we will show that several languages can be recognized by 2TFA in linear time, including Lcopy , Lmiddle and Lbalanced . Whether Lmiddle and Lbalanced can be recognized by 2QCFA or 2QFA or not still remains as an open problem [1]. Theorem 8. Lcopy = {ωω | ω ∈ Σ∗ } can be recognized by 2TFA in linear time. Proof. First, we check whether the length of the input is even. If it is odd, the input is rejected; otherwise, we continue to do the next steps. The key to solve this problem is to find the middle of the input. In terms of the advantage of two tapes, we can easily find the middle as follows: Tape T1 scans two symbols from left to right while tape T2 scans one symbol from left to right. When tape T1 reaches the right end-marker, tape T2 will just go to the middle exactly. After doing this, we move the tape head of T1 to the left end-maker C| 1 , and then compare the symbols between T1 and T2 one by one from left to right until tape T2 reaches the end. If all the symbols compared are the same, the input is accepted; otherwise, it is rejected. Obviously, this can be done in linear time. Theorem 9. Lmiddle = {xay | x, y ∈ Σ∗ , a ∈ Σ} can be recognized by 2TFA in linear time. Proof. First, we check whether the length of the input is odd. If it is even, the input is rejected; otherwise, we continue to do the following steps. The key to solve this problem is still to find the middle of the input. We can find it easily in the same way as we did in the previous theorem. We check whether the symbol in the middle is a. If the symbol is a, the input is accepted; otherwise, it is rejected. Obviously, this can be done in linear time. Theorem 10. Lbalanced = {x ∈ {“(”, “)”}∗ | parentheses in x are balanced } can be recognized by 2TFA in linear time. Proof. In order to prove this theorem, we need to prove a lemma. We use F (w) to denote the set of all the prefixes of w except empty string λ and w.

12

Lemma 11. A string w is in Lbalanced if and only if w satisfies (1).#w (“(”) = #w (“)”) and (2).#x (“(”) ≥ #x (“)”) for all x ∈ F (w). Proof. 1 : First, we show that if w satisfies #w (“(”) = #w (“)”) and #x (“(”) ≥ #x (“)”) for all x ∈ F (w), then w ∈ Lbalanced . We prove this by induction on the length of w. BASIS: |w| = 0 is obvious. When |w| = 2, let w = ab, where a, b ∈ {“(”, “)”}. We have F (w) = {a} according to the definition. Because #a (“(”) ≥ #a (“)”), a must be “(”. Because #w (“(”) = #w (“)”), b must be “)”. Therefore w = “()”, which follows that w ∈ Lbalanced . INDUCTION: Suppose that when |w| ≤ 2n(n ≥ 1), the result holds. We will prove it holds for |w| = 2(n + 1). Case1 There exists a string u ∈ F (w) which satisfies #u (“(”) = #u (“)”). In this case, let w = uv(u, v ∈ {“(”, “)”}∗ ). Obviously, u satisfies condition(1) and (2), and meanwhile we have |u| ≤ 2n. According to the assumption, we get u ∈ Lbalanced . Furthermore, we have #v (“(”) = #w (“(”) − #u (“(”) = #w (“)”) − #u (“)”) = #v (“)”). So we get v satisfies condition(1). For every x ∈ F (v), we have #x (“(”) = #ux (“(”) − #u (“(”) ≥ #ux (“)”) − #u (“)”) = #x (“)”). So we get v satisfies condition (2). Because |v| ≤ 2n, we get v ∈ Lbalanced according to the assumption. It follows that w ∈ Lbalanced .

Case2 Otherwise, for every u ∈ F (w) satisfies #u (“(”) > #u (“)”). Let w = aw′ b. According to condition(2), we have #a (“(”) ≥ #a (“)”), and thus we get a = “(”. Because |aw′ | is odd, we have #aw′ (“(”) > #aw′ (“)”) according to condition (2). According to condition(1), we have #w (“(”) = #w (“)”), and thus it holds that b = “)”. It follows that #w′ (“(”) = #w (“(”) − 1 = #w (“)”) − 1 = #w′ (“)”). Thus w′ satisfies condition(1). For every v ∈ F (w′ ), we have #v (“(”) = #av (“(”) − 1 > #av (“)”) − 1 ≥ #av (“)”) = #v (“)”), thus w′ satisfies condition(2). Meanwhile, we have |w′ | = 2n, and thus we get w′ ∈ Lbalanced according to the assumption. It follows that w ∈ Lbalanced .

2 : We prove the other direction here. If w ∈ Lbalanced , then w satisfies condition (1) and (2). We prove this by induction on the length of w. BASIS: |w| = 0 is obvious. When |w| = 2, it must be the case w“()”. Obviously, it satisfies condition (1) and (2). INDUCTION: Suppose that when |w| ≤ 2n(n ≥ 1), the result holds. We will prove it holds for |w| = 2(n + 1). Case1 w can be divided into two parts as uv, where u, v ∈ Lbalanced . Obviously, we have |u| ≤ 2n and |v| ≤ 2n. According to the assumption, we get u and v 13

satisfy condition (1) and (2). It follows that #w (“(”) = #u (“(”) + #v (“(”) = #u (“)”) + #v (“)”) = #w (“)”), which says w satisfies condition (1). For every x ∈ F (w), if |x| #y (“)”) = #x (“)”), i.e., w satisfies condition(2). Therefore, the lemma has been proved. Now we return to the proof of the theorem. According to the lemma proved above, it is enough for us to check whether the input w satisfies condition (1) and (2). We use tape T1 to scan the input w from left to right, and use tape T2 to save the result R = #x (“(”) − #x (“)”) for every x ∈ F (w). If the tape head of T2 is on C| 2 , it means that R = 0; if the tape head of T2 is on the ith square of w, it means that R = i. When tape T1 scans a symbol “(”, the tape head of T2 moves right by one square; when tape T1 scans a symbol “)”, the tape head of T2 moves left by one square. If the tape head of T2 is on C| 2 , and the symbol scanned by the tape head of T1 is “)”, then the input is rejected. When the tape head of T1 comes to the right end-marker of w, and the tape head of T2 is on C| 2 , then the input is accepted. Obviously, this can be done in linear time. Therefore, we have proved the theorem.

4

Languages recognized by 2TQCFA

Ambainis and Watrous introduced a model of quantum automata called 2QCFA and 2 proposed an open problem of whether Lsquare = {an bn | n ∈ N} can be recognized by 2QCFA or not [1]. Although this problem remains open for 2QCFA, we will propose a new model of quantum automata called 2TQCFA by which Lsquare can be recognized in polynomial time. In addition, Ambainis and Watrous did not give the details on how to use a 2QCFA to simulate a coin flip that is an essential component for 2QCFA to recognize languages. Thus we will give the details here. 2

Theorem 12. For any ǫ > 0, there is a 2TQCFA M that accepts any ω ∈ Lsquare = {an bn | 2 n ∈ N} with certainly, rejects any ω ∈ / Lsquare = {an bn | n ∈ N} with probability at least 1 − ǫ and halts in polynomial time. 14

Proof. The main idea is as follows: First, we verify whether it holds that ω ∈ {an bkn | n ∈ N}. This can be done in linear time, and the proof is similar to the proof of Theorem 4. Second, we verify whether it holds that k = n. We consider a 2TQCFA M with 2 quantum states |q0 i and |q1 i. M starts with the quantum state |q0 i. Firstly, we scan T1 , and every time when √ M scans symbol a in T1 , the quantum state rotated by angle α = 2π. After all symbols a in T1 have been scanned, we scan symbol b in T1 and symbol a in T2 alternately. When the number of symbol b in T1 having been scanned equals to the total number of symbol a in T2 , the quantum state is rotated by −α. When the end of T1 is reached, we measure the quantum state. If the measurement result is |q1 i, ω is rejected. Otherwise, the process is repeated. After having verified ω ∈ {an bkn | n ∈ N}, the quantum state is rotated by α when M scans symbol a in T1 , and the quantum state is rotated by −α when M has scanned n symbols b in T1 in the process presented above. If k = n, rotations of quantum state cancel one another and the final quantum state will be |q0 i with certainty. Otherwise, the final √ state will be a superposition state because 2 is irrational, and the amplitude of |q1 i in the state is sufficiently large, which means that repeating the process O(n2 ) times guarantees getting |q1 i at least once with high probability. M also needs to halt and accept input 2 ω ∈ {an bn | n ∈ N} after repeating the process O(n2 ) times rather than repeating it forever. To achieve this, We periodically execute a subroutine that accepts with a small probability 2 c/n2 , which is much smaller than the probability of getting |q1 i. If ω ∈ / {an bn | n ∈ N}, this does not have much influence. The process is descried as follows: 1 If the input ω = λ, accept. Check whether ω is of the form an bkn (n > 0, k > 0). If not, reject. 2 Otherwise, repeat the following routine infinitum: (1) Move the tape head of T1 to C| 1 and move the tape head of T2 to C| 2 . Set the quantum state to be |q0 i. (2) While the currently scanned symbol is not $1 , do the following: 1) If the currently scanned symbol of T1 is a Perform Uα on the quantum state and move the tape head of T1 one square right. 2) Else if the currently scanned symbol of T1 is b Turn to T2 . Move the tape head of T2 one square right and scan a symbol.

a) If the scanned symbol of T2 is a Turn to T1 , move the tape head of T1 one square right and scan a symbol. 15

b) Else if the scanned symbol of T2 is b Perform U−α on the quantum state. Move the tape head of T2 back to C| 2 . Turn to T1 , move the tape head of T1 one square right and scan a symbol. (3) Perform U−α on the quantum state. (4) Measure the quantum state. If the result is |q1 i, reject. (5) Repeat the following subroutine two times: 1) Move the tape head of T1 back to C| 1 , and move the tape head of T2 back to C| 2 .

2) Move the tape head of T1 one square right and scan a symbol.

3) While the currently scanned symbol is not C| 1 or $1 , do the following: Simulate a coin flip. A . If the result is “head”: Move the tape head of T1 one square right and scan a symbol. a) If the symbol scanned of T1 is a, do nothing.

b) If the symbol scanned of T1 is b Turn to T2 , move the tape head of T2 one square right and scan a symbol.

⋄ If the scanned symbol of T2 is a Turn to T1 , move the tape head of T1 one square right, scan a symbol and goto b). ⋄ Else if the scanned symbol of T2 is b Move the tape head of T2 to C| 2 . Turn to T1 , and move the tape head of T1 one square left.

B . Else Move the tape head of T1 left and scan a symbol. a) If the symbol scanned of T1 is a, do nothing.

b) If the symbol scanned of T1 is b Turn to T2 , move the tape head of T2 one square right and scan a symbol.

⋄ If the scanned symbol of T2 is a Turn to T1 , move the tape head of T1 one square left and scan a symbol. Goto b).

c) Move the tape head of T2 to C| 2 . Turn to T1 , and move the tape head of T1 one square right. (6) If both times the process ends at the right end-marker of T1 , simulate l coin flips. If all the results are ”heads”, accept. A 2TQCFA M to recognize Lsquare is defined as follows: M = (Q, S, Σ, Θ, δ, q0 , s0 , Sacc , Srej ) 16

(12)

where, • Q = {q0 , q1 }; • S is a finite set of classical states; • Σ = {a, b}; C| 1 , C| 2 are the left end-markers of T1 and T2 , respectively; $1 , $2 are the right end-markers of T1 and T2 , respectively; • q0 is the initial quantum state; • s0 is the initial classical state; • Sacc = {sacc }; • Srej = {srej }. In fact, the key step is to construct quantum and classical transition functions Θ and δ. We construct them according to the process described above. For 1: Decide whether the input ω is of the form an bkn (n > 0, k > 0). For the trivial case an bkn (n = 0) we accept it at this subroutine. In this subroutine, we do not change the quantum state. The quantum transition function is the identity I. The classical transition function is similar to the one recognizing w ∈ {akn bn | n ∈ N}, and we omit the details here. For 2-(1): Move the tape heads of T1 and T2 to C| 1 and C| 2 , respectively. In this subroutine, we do not change the quantum state. The quantum and classical transition functions are easy to describe. We omit the details here. For 2-(2) and 2-(3): Do the quantum operations. • the classical states are S2 = {s02 , sa2 , sb1 , sre3 , scrt2 , sm }, where s02 is the starting state of this subroutine; sre3 is the state for moving back to C| 2 of T2 ; sa2 and sb1 are states to consume a symbol a and b from left to right in T2 and T1 , respectively; sm is the ending state of this subroutine waiting to make a measurement for the quantum state. • The quantum transition function is defined as follows: Θ(s02 , a) = Uα Θ(s, σ) = I for s ∈ {sb1 , sre3 }

Θ(sa2 , b) = U−α Θ(scrt2 , b) = U−α

• the classical transition function is defined as follows:

17

δ(s02 , a) = (s02 , →, ↓) δ(sa2 , a) = (sb1 , →, ↓) δ(sre3 , a) = (sre3 , ↓, ←) δ(sb1 , b) = (sa2 , ↓, →) δ(scrt2 , b) = (sm , ↓, ←)

δ(s02 , b) = (sa2 , ↓, →) δ(sa2 , b) = (sre3 , ↓, ←) δ(sre3 , C| 2 ) = (sa2 , ↓, →) δ(sb1 , $1 ) = (scrt2 , ↓, →)

For 2-(4): Measure the quantum state. • the classical states are S3 = {sm , sre4 }. • The quantum transition function is defined as follows: Θ(sm , σ) = M = {P0 , P1 } for any σ ∈ Σ, where P0 = |0ih0|, P1 = |1ih1|. • the classical transition function is defined as follows: δ(sm , σ)(1) = (srej , −, −),

δ(sm , σ)(0) = (sre4 , ↓, ←)

(13)

for any σ ∈ Σ.

For 2-(5): Two times random walk. The random walk here is a little different from the random walk in Ambainis and Watrous’s paper [1]. We still consider scanning a symbol a as one step, but we consider scanning n symbols b as one step in this random walk. We do not bore all the details of quantum and classical transition functions here. In the random walk, every time we go on a step by scanning a symbol a or n symbols b. Simulation of a coin flip is an essential component in this subroutine. The machine M simulates a coin flip according to the following transition functions, with s03 , |q0 i as the starting classical and quantum states, respectively. Let projective measurement M = {P0 , P1 }, where P0 = |0ih0|, P1 = |1ih1|.

(14)

The results 0 and 1 represent the results of coin flip “head” and “tail”, respectively. Unitary operator U is defined as follow: ! 1 1 U=

√

2 √1 2

√ 2 − √12

.

This operator changes the base state |q0 i or |q1 i to be a superposition state |ψi or |φi, respectively, as follows: 1 (15) |ψi = √ (|q0 i + |q1 i), 2 1 |φi = √ (|q0 i − |q1 i). (16) 2 18

When measuring |ψi or |φi with M , we will get the result 0 or 1 with probability of 21 , respectively. This is similar to the coin flip process. If the result is 0, we simulate a right step; if the result is 1, we simulate a left step. Θ(s03 , σ) = U Θ(s′03 , σ) = M δ(s′03 , σ)(0) = (s03 , →, ↓)

δ(s03 , σ) = (s′03 , ↓, ↓) δ(s′03 , σ)(1) = (s03 , ←, ↓)

For 2-(6): Simulate l coin flips. If all the results are “heads”, the input is accepted. The classic state starts from scf and the quantum state starts from |q1 i. We still use unitary operator U and projective measurement M described as above to simulate a coin flip. We use the measurement result 0 and 1 to represent “head” and “tail”, respectively. (0,i)

(1,i)

(0,0)

• the classical states are {sf ail , sacc , scf , scf , i = 0, 1, 2, ..., l + 1}, where scf starting state.

is the

• The quantum and classical transition functions are defined as follows: for 0 ≤ i ≤ l, (0,i)

Θ(scf , $1 ) = U (1,i)

Θ(scf , $1 ) = M (1,i)

δ(scf , $1 )(1) = (sf ail , ←, ↓)

(0,i)

(1,i)

δ(scf , $1 ) = (scf , ↓, ↓) (1,i)

(0,i+1)

δ(scf , $1 )(0) = (scf

, ↓, ↓)

When the classical state changes to sf ail , it means that the “tail” result of a coin flip has occurred. There is no need to simulate any more coin flips. The tape head of T1 should be moved back to the first symbol of the tape and another new iteration should be started. We omit the transition function here. When the classical state changes to (0,l+1) , it means that all the results of the k coin flips are “heads”. The classical state scf should be changed to an accepting state. The transition function is as follow: (0,l+1)

δ(scf

, $1 ) = (sacc , −, −).

Lemma 13. If the input is ω = an bkn and k 6= n, M rejects after 2-(2),2-(3),2-(4) with probability at least 1/2(n − k)2 . √ Proof. The state |q0 i is rotated by 2π when T1 scans one symbol a, and it is rotated by √ √ − 2π when T1 scans n symbols b. The |q0 i is rotated by 2(n − k)π after 2-(2),2-(3). So √ √ the quantum state of M after rotating is cos( 2(n − k)π)|q0 i + sin( 2(n − k)π)|q1 i. In 2-(4) √ the probability of observing |q1 i is sin2 ( 2(n − k)π). Without loss of generality, we assume √ √ n − k > 0. Let l be the closest integer to 2(n − k). Assume that 2(n − k) > l (the other 19

case is symmetric), then 2(n − k)2 > l2 . So we get 2(n − k)2 − 1 ≥ l2 and l ≤ We have p √ √ 2(n − k) − l ≥ 2(n − k) − 2(n − k)2 − 1

p

p p √ √ ( 2(n − k) − 2(n − k)2 − 1)( 2(n − k) + 2(n − k)2 − 1) p √ = 2(n − k) + 2(n − k)2 − 1 1 1 p =√ > √ . 2 2 2(n − k) 2(n − k) + 2(n − k) − 1

2(n − k)2 − 1. (17)

(18) (19)

√ √ Because l is the closest integer to 2(n − k), we have 0 < 2(n − k) − l < 1/2. Assume f (x) = sin(xπ) − 2x. We have f ′′ (x) = −π 2 sin(xπ) ≤ 0 when x ∈ [0, 1/2]. That is to say, f (x) is concave in [0, 1/2], and we have f (0) = f (1/2) = 0. So for any x ∈ [0, 1/2], it holds that f (x) ≥ 0, that is, sin(xπ) ≥ 2x. Therefore √ √ sin2 ( 2(n − k)π) = sin2 (( 2(n − k) − l)π) √ √ ≥ (2( 2(n − k) − l))2 = 4( 2(n − k) − l)2 1 1 )2 = . ≥ 4( √ 2(n − k)2 2 2(n − k)

(20) (21) (22)

So the lemma has been proved.

Lemma 14. If the input is ω = an bkn and k 6= n, M accepts after 2-(5),2-(6) with probability 1/2l (n + k + 1)2 . Proof. 2-(5) is similar to two times of random walk (takes scanning n symbols b as one step) starting at location 1 and ending at location 0 (the left end-marker C| 1 )) or at location (k + 1)n + 1 (the right end-marker $). It can be known from probability theory that the probability of reaching the location (k + 1)n + 1 is 1/(n + k + 1) (see Chapter14.2 in [24]). Repeating it twice and flipping l coins, we get the probability 1/2l (n + k + 1)2 . 2

Let l = 1 + ⌈log ε⌉. If ω = an bm ,m 6= kn, then step 1 always rejects it. If ω = an bn , 2-(2),2-(3),2-(4) always turn |q0 i to |q0 i, and M never rejects. After 2-(5),2-(6), the probability of M accepting ω is 1/2l (n + k + 1)2 . Repeating step 2 for cn2 times, the 1 cn2 , and this can be made arbitrarily close to 1 accepting probability is 1 − (1 − 2l (n+k+1) 2) by selecting constant c appropriately. If x = an bkn and k 6= n, M rejects after 2-(2),2(3),2-(4) with probability Pr > 1/2(n − k)2 . M accepts after 2-(5),2-(6) with probability Pa = 1/2l (n + k + 1)2 ≤ ε/2(n + k + 1)2 . If we repeat step 2 indefinitely, the probability of rejecting is X Pr (1 − Pa )i (1 − Pr )i Pr = (23) Pa + Pr − Pa Pr i≥0

20

>

Pr 1 1/2 = > 1 − ε. > Pa + Pr 1/2 + ε/2 1+ε

(24)

If we assume the input ω = an bm , step 1 takes O(n + m) time, step 2-1 takes O(n + m) time, 2-2,2-3,2-4 take O(n + m) time, and 2-5,2-6 take O(n + m)2 time. The expected number of repeating step 2 is O((n + m/n)2 ). Hence, the expected running time of M is at most O((n + m/n)2 (n + m)2 ).

5

Languages recognized by mTFA and mTQCFA

We know that 2QCFA are more powerful than 2DFA, but we do not know whether kTQCFA are more powerful than kTFA or not. Although we can not prove kTQCFA are strictly more powerful than kTFA, we will give an example which seems to imply that the k result may be true. We will show that {an bn | n ∈ N}(k = 1, 2...) can be recognized k by (k + 1)TFA in linear time. Also, we will prove that {an bn | n ∈ N}(k = 1, 2...) can be recognized by kTQCFA with one side-error in polynomial time. Thus, it seems that kTQCFA are more powerful than kTFA. 2

Theorem 15. Lsquare = {an bn | n ∈ N} can be recognized by 3TFA in linear time. Proof. The process to recognize Lsquare is described as follows: 1 If the input ω = λ, accept. 2 Check whether the input ω is of the form a+ b+ . If not, reject. 3 Move the tape head of T1 to the first symbol b in T1 . 4 While the currently scanned symbol by T1 is b, do the following: Turn to T2 , move the tape head of T2 one square right and scan a symbol. (1) If the currently scanned symbol by T2 is b Move the tape head of T2 back to C| 2 . Turn to T3 , move the tape head of T3 one square right and scan a symbol. (A) If the currently scanned symbol by T3 is b Reject. (B) Else Turn to T1 , move the tape head of T1 one square right and scan a symbol. (2) Else Turn to T1 , move the tape head of T1 one square right and scan a symbol. 5 Turn to T2 , move the tape head of T2 one square right and scan a symbol. 21

(1) If the currently scanned symbol by T2 is not b Reject. (2) Else Turn to T3 , move the tape head of T3 one square right and scan a symbol. (A) If he currently scanned symbol by T2 is not b Reject. (B) Else, accept. We assume the input ω = an bm . Let k2 be the number of symbol a having been scanned by tape head T2 and k3 be the number of symbol a having been scanned by tape head T3 from left to right. Actually, k2 k3 is acting like a 2 digits of n-radix number. When the tape head of T1 scans a symbol b, we just add 1 to k2 . When k2 is large enough (k2 = n), we turn k2 to 2 0 and add 1 to k3 . It is easy to verify that this process will accept Lsquare = {an bn | n ∈ N} in linear time.

The above result is easy to extend to the case of (k + 1)TFA. So we get the following Theorem. k

Theorem 16. {an bn | n ∈ N}(k = 1, 2, ...) can be recognized by (k + 1)TFA in linear time. Proof. The idea to prove this theorem is almost the same as the one in the previous theorem. Let T1 scan symbol b, and the numbers of symbols a having been scanned by Ti (i = 2, 3, ..., k+ 1) are acting like a k digits of n-radix number. The details are similar to the above theorem, and thus we do not bore here. Corollary 17. {an brn time.

k−1

| n ∈ N, r ∈ N}(k = 1, 2, ...) can be recognized by kTFA in linear

Proof. Let nk be the number of symbol a having been scanned by Tk . When nk reaches n, and if there are symbols b in T1 which have not been scanned, we do not reject the input, but return tape head of Tk to C| k and go on. The other details are the same as kTFA recognizing k−1 | n ∈ N}. language {an bn k

Theorem 18. For any ǫ > 0, there is a kTQCFA M that accepts any ω ∈ {an bn | n ∈ N} k with certainly, rejects any ω ∈ / {an bn | n ∈ N} with probability at least 1 − ǫ and halts in polynomial time. k−1

in linear Proof. In terms of Colollary 17, we can check whether w is of the form an brn time. Then we use the similar method as in Theorem 12 to verify r = n. The process is 22

similar to that in Theorem 12, except the random walk. kTQCFA will take scanning nk−1 symbols b as one step in the random walk. We omit the details here.

6

Conclusions

In this paper, we have studied 2TFA and proved several languages can be recognized by 2TFA. Augmenting with a quantum component of constant size, we have proposed a new 2 computing model called 2TQCFA, and we have proved that Lsquare = {an bn | n ∈ N} can be recognized by 2TQCFA in polynomial time with one-sided error. Furthermore, we have k proposed mTFA and M TQCFA and proved that {an bn | n ∈ N} can be recognized by kTQCFA. As we know, 2QCFA are more powerful than 2DFA. Thus, in the future we would like to consider this question: Are 2TQCFA more powerful than 2TFA? Furthermore, are kTQCFA more powerful than kTFA? We have proved that all languages which have been shown to be recognized by 2QCFA or 2QFA can also be recognized by 2TFA in this paper. It is natural to ask whether or not there is any language which can be recognized by 2QCFA or 2QFA but can not be recognized by 2TFA? Acknowledgments This work is supported in part by the National Natural Science Foundation (Nos. 60873055, 61073054), the Natural Science Foundation of Guangdong Province of China (No. 10251027501000004), the Fundamental Research Funds for the Central Universities (Nos. 10lgzd12,11lgpy36), the Research Foundation for the Doctoral Program of Higher School of Ministry of Education (Nos. 20100171110042, 20100171120051), the China Postdoctoral Science Foundation project (Nos. 20090460808, 201003375), and the project of SQIG at IT, funded by FCT and EU FEDER projects Quantlog POCI/MAT/55796/2004 and QSec PTDC/EIA/67661/2006, IT Project QuantTel, NoE Euro-NF, and the SQIG LAP initiative.

References [1] A. Ambainis, J. Watrous, Two-way finite automata with quantum and classical states, Theoretical Computer Science 287 (2002) 299-311. [2] A. Ambainis, M. Beaudry, M. Golovkins, A. Kikusts, M. Mercer, and D. Th´enrien, Algebraic Results on Quantum Automata, Theory of Computing Systems 39 (2006), 1654-188.

23

[3] A. Ambainis, R. Freivalds, One-way quantum finite automata: strengths, weaknesses and generalizations, in: Proceedings of the 39th Annual Symposium on Foundations of Computer Science, IEEE Computer Society Press, Palo Alfo, California, USA, 1998, pp. 332-341. Also quant-ph/9802062, 1998. [4] A. Ambainis, A. Nayak, A. Ta-Shma, U. Vazirani, Dense quantum coding and quantum automata, Journal of the ACM 49 (4) (2002) 496-511. [5] A. Brodsky, N. Pippenger, Characterizations of 1-way quantum finite automata, SIAM Journal on Computing 31 (2002) 1456-1478. Also quant-ph/9903014, 1999. [6] L.Z. Li, D.W. Qiu, Determining the equivalence for one-way quantum finite automata, Theoretical Computer Science 403 (2008) 42-51. [7] L.Z. Li, D.W. Qiu, A note on quantum sequential machines, Theoretical Computer Science 410 (2009) 2529-2535. [8] D.W. Qiu, Characterization of Sequential Quantum Machines, International Journal of Theoretical Physics 41 (2002) 811-822. [9] D.W. Qiu, S. Yu, Hierarchy and equivalence of multi-letter quantum finite automata, Theoretical Computer Science 410 (2009) 3006-3017. [10] A. Kondacs, J. Watrous, On the power of finite state automata, in: Proceedings of the 38th IEEE Annual Symposium on Foundations of Computer Science, 1997, pp. 66-75. [11] C. Moore and J.P. Crutchfield, Quantum automata and quantum grammars, Theoretical Computer Science 237 (2000) 275-306. Also quant-ph/9707031, 1997. [12] D.W. Qiu, Some Observations on Two-Way Finite Automata with Quantum and Classical States, ICIC 2008, LNCS 5226, pp.1-8, 2008. [13] D.W. Qiu, L.Z. Li, An overview of quantum computation models: quantum automata, Frontiers of Computer Science in China 2 (2)(2008) 193-207. [14] L.K. Grover, A fast quantum mechanical algorithm for database search, in: Proceedings of the 28th Annual ACM Symposium on Theory of Computing, Philadelphia, Pennsylvania, USA, 1996, pp. 212-219. [15] J.E. Hopcroft, J.D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addision-Wesley, New York, 1979. [16] J. Gruska, Quantum Computing, McGraw-Hill, London, 1999. [17] J. Preskill, Quantum information and compution, Lecture Notes for Physics, Vol. 229, California Institute of Technology, 1998./ Theory of Quantum Information, Lecture Notes, University of Waterloo. 24

[18] M.A. Nielsen, I.L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, Cambridge, 2000. [19] M.Siper, Introduction to the theory of computation, PWS, Boston, 1997. [20] M. V. Panduranga Rao, Interference automata, Theoretical Computer Science 403 (2008) 89-103. [21] P.W. Shor, Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer, SIAM Journal on Computing 26 (5) (1997) 1484-1509. [22] Rain. M. and Scott. D. ,Finite automata and their decision problems,IBM J. Res. Develop. 3 (1959) 114-125. [23] S.Yu, Regular Languages, in:Handbbok of Formal Languages(G.Rozenberg, A.Salomaa, eds.), Spring-Verlag, 1998, pp.41-110. [24] W. Feller, An Introduction to Probability Theory and its Applications, Vol. I, Wiley, New York, 1967.

25

arXiv:1104.3634v1 [quant-ph] 19 Apr 2011

classical states Shenggen Zhenga,∗, Lvzhou Lia,†, Daowen Qiua,b,c,‡ a

Department of Computer Science, Sun Yat-sen University, Guangzhou 510006, China b

SQIG–Instituto de Telecomunica¸c˜ oes, IST, TULisbon, Av. Rovisco Pais 1049-001, Lisbon, Portugal

c

The State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100080, China

Abstract Two-way finite automata with quantum and classical states (2QCFA) were introduced by Ambainis and Watrous, and two-way two-tape deterministic finite automata (2TFA) were introduced by Rabin and Scott. In this paper we study 2TFA and propose a new computing model called two-way two-tape finite automata with quantum and classical states (2TQCFA). First, we give efficient 2TFA algorithms for recognizing languages which can be recognized by 2QCFA. Second, we give efficient 2TQCFA algorithms to recognize several languages whose 2 status vis-a-vis 2QCFA have been posed as open questions, such as Lsquare = {an bn | n ∈ N}. k Third, we show that {an bn | n ∈ N} can be recognized by (k + 1)-tape deterministic finite automata ((k + 1)TFA). Finally, we introduce k-tape automata with quantum and classical k states (kTQCFA) and prove that {an bn | n ∈ N} can be recognized by kTQCFA. Keywords: Quantum computing models; Quantum finite automata;

1

Introduction

Interest in quantum computation has steadily increased since Shor’s quantum algorithm for factoring integers in polynomial time [21] and Grover’s algorithm of searching in database √ of size n with only O( n) accesses [14]. As we know, these algorithms are based on quantum Turing machines which are complicated to implement using today’s experiment technology. Therefore, it is natural to consider much more restricted quantum computing models. ∗

E-mail address: [email protected] E-mail address: [email protected] ‡ Corresponding author. E-mail address: [email protected] (D. Qiu).

†

1

Classically, as one of the simplest computing models, deterministic finite automata (DFA) and nondeterministic finite automata (NFA) have been deeply studied [15]. Furthermore, twoway two-tape deterministic finite automata (2TFA) and multi-tape finite automata (mTFA) were first introduced by Rabin and Scott in a seminal paper in 1959 [22]. Unlike DFA or NFA, 2TFA can recognize not only regular languages (RL) but also some context-free languages (CFL), and even some no-context-free languages (NCFL). In this paper, we will show that some context-free languages, and even some no-context-free languages can be recognized by 2TFA in linear time. Correspondingly, it may be interesting to consider restricted quantum Turing machines, such as quantum finite automata (QFA). QFA were first introduced independently by Kondacs and Watrous [10], as well as Moore and Crutchfield [11]. As a quantum variant of FA, QFA have attracted wide attentions in the academic community [2, 3, 4, 5, 6, 7, 8, 9]. Many kinds of QFA have been proposed and studied(e.g., see [13]). QFA are mainly divided into two kinds: one-way quantum finite automata (1QFA) and two-way quantum finite automata (2QFA). If we compare 1QFA with their classical counterparts DFA, 1QFA have some weaknesses since they can recognize only a proper subset of RL [3]. 2QFA, however, are more powerful than their classical counterparts two-way deterministic finite automata (2DFA) which recognize only RL. 2QFA were first introduced by Kondacs and Watrous, and then they proved that Leq = {an bn | n ∈ N} and Ltrieq = {an bn cn | n ∈ N} can be recognized by 2QFA [10], where the first language is CFL, and the second one is NCFL. However, 2QFA have a disadvantage in the sense that we need at least O(log n) qubits to store the position of the tape head, which is relative to the length of the input. In order to conquer this disadvantage, Ambainis and Watrous proposed two-way finite automata with quantum and classical states (2QCFA)[1], an intermediate model between 1QFA and 2QFA, which are still more powerful than their classical counterparts 2DFA. A 2QCFA is essentially a classical 2DFA augmented with a quantum component of constant size, where the dimension of the associated Hilbert space does not depend on the length of the input. Ambainis and Watrous showed Lpal = {ω ∈ {a, b}∗ | ω = ω R } and Leq = {an bn | n ∈ N} can be recognized by 2QCFA [1]. Several other kn n no-regular languages including Meq = {an bn1 am bm 2 | n, m ∈ N}, Leq (k, a) = {a b | n ∈ N} and L= = {ω ∈ {a, b}∗ | #ω (a) = #ω (b)} were proved to be recognized by 2QCFA in Qiu’s paper [12]. In this paper we revisit two-tape two-way deterministic finite automata (2TFA), of which the definition has a little difference from the original model introduced by Rabin and Scott in 1959 [22]. When we mention 2TFA in the following, we refer to the new defined model without ambiguity. First, we prove that all the languages mentioned above that can be recognized by 2QFA or 2QCFA, including Lpal , Leq , Ltrieq , Meq , Leq (k, a) and L= , can also be recognized by 2TFA in linear time. Note that 2QCFA need polynomial or exponential time to recognize these languages. Second, We show some languages, including Lcopy = {ωω | ω ∈ Σ∗ }, Lmiddle = {xay | x, y ∈ Σ∗ , a ∈ Σ}, and Lbalanced = {x ∈ {“(”, “)”}∗ | parentheses in x are 2

balanced }, can be recognized by 2TFA in linear time. However, as far as we know, it is still not clear whether 2QFA or 2QCFA can recognize these languages or not. Thus, it seems that 2TFA are more powerful than 2QFA or 2QCFA. Based on 2TFA, we propose 2TQCFA which are similar to 2QCFA, only augmented with another tape. 2TQCFA can be implemented with a quantum part of constant size, 2 and they are shown to be powerful. We consider the language: Lsquare = {an bn | n ∈ N}, whether it can be recognized by 2QFCA or not is still an open problem proposed by Ambainis and Watrous in [1]. Rao proposed a new model of automata called Two-Way Optical Interference Automata (2OIA) which use the phenomenon of interference, and proved that they can recognize Lsquare [20]. However, 2OIA are complicated to implement, because it is hard to control the phenomenon of interference in high precision. In this paper, we show that Lsquare can be recognized by 2TQCFA in polynomial time. Also, we consider multi-tape deterministic finite automata (mTFA). We show that Lkpow = | n ∈ N} can be recognized by (k + 1)-tape deterministic finite automata ((k + 1)TFA) in linear time. Furthermore, we propose a new model of quantum automata, multi-tape finite automata with quantum and classical states (mTQCFA), which is essentially the model of mTFA augmented with a quantum component of constant size. We prove that Lkpow can be recognized by k-tape finite automata with quantum and classical states (kTQCFA) in polynomial time. k {an bn

The remainder of this paper has the following organization. In Section 2 we give the definitions of 2TFA, 2TQCFA, mTFA and mTQCFA. Then, in Section 3 we show 2TFA can recognize those languages mentioned before. Afterwards, in Section 4 we describe a 2TQCFA for recognizing Lsquare . Subsequently, in Section 5 we describe a (k + 1)TFA and a kTQCFA for recognizing Lkpow . Finally we make a conclusion in Section 6.

2

Definitions

2.1

Definition of 2TFA

The definition here is slightly different from the original model introduced by Rabin and Scott [22]. A 2TFA is defined by a 6-tuple M = (S, Σ, δ, s0 , Sacc , Srej )

(1)

where, • S is a finite set of classical states; • Σ is a finite set of input symbols; the tape symbol set is Γ = Σ ∪ { C, | $}; two tapes with 3

the same input ω are T1 = C| 1 ω$1 and T2 = C| 2 ω$2 ; we assume that the input in Ti is started by the left end-marker C| i and terminated by the rihgt end-marker $i ; • δ is the transition function: S \ (Sacc ∪ Srej ) × Γ → S × D1 × D2

(2)

where D1 = D2 = {←, ↓, →}, of which the element in turn means left, stationary and right, respectively; we restrict that at least one of D1 and D2 is stationary in this mapping, which means that a 2TFA can at most move one head and scan one new symbol at one time. If both of the tape heads are stationary, the symbol to be scanned is the same as the previous step. We assume that the first symbol scanned is C| 1 . So we can simplify the transition function to take “Γ” as variable instead of “Γ × Γ”, which is the main difference from the original model introduced by Rabin and Scott. The mapping can be interpreted as follows: δ(s, γ) = (s′ , d1 , d2 ) means a machine currently in state s ∈ S \ (Sacc ∪ Srej ), scanning symbol γ ∈ Γ will change state to s′ , and the tape head i will move according to the directions d1 and d2 ; • s0 ∈ S is the initial state of the machine; • Sacc ⊂ S and Srej ⊂ S are the sets of accepting states and rejecting states, respectively. For an input string ω = σ1 . . . σl ∈ Σ∗ , the content of the first tape is T1 = C| 1 σ1 . . . σl $1 , and the content of the second tape is T2 = C| 2 σ1 . . . σl $2 . The computation of a 2TFA on input string ω is the sequence (p0 , i10 , i20 ), . . . , (pj , i1j , i2j ), . . . , in which pj ∈ S, 0 ≤ i1j , i2j ≤ l + 1, and • The initial configuration (p0 , i10 , i20 ) = (s0 , 0, 0); • If the instance configuration is (pj , i1j , i2j ) and the transition function is δ(pj , σ) = (pj+1 , d1j , d2j ), then the next configuration will be (pj+1 , i1j + d1j , i2j + d2j ). A computation is assumed to halt if and only if an accepting state or a rejecting state is reached. If there is a configuration (pj , i1j , i2j ) with pj ∈ Sacc , then the automaton is said to accept ω; else if pj ∈ Srej , then the automaton is said to reject ω. For related basic notations and further details about finite automata, the reader may refer to [15, 19, 23].

2.2

Definition of 2TQCFA

2QCFA were introduced by Ambainis and Watrous in [1]. The new model that we define here is similar to 2QCFA, but with two tapes. Informally, we describe a 2TQCFA as a 2TFA which has access to a constant size of quantum register, upon which it perform quantum 4

transformations and measurements. Before giving a more formal definition of 2TQCFA, we review a few basic facts regarding quantum computing. We would refer the reader to [16, 17, 18] for a more detailed overview of quantum computing. Let H(Q) represents the Hilbert space with the corresponding base identified with set Q. If {|iQ i} is an orthonormal base P for H(Q), then state q ∈ H(Q) can be written in the form ni ai |iQ i, where ai is a complex P number and ni |ai |2 = 1. Let U (H(Q)) and M(H(Q)) denote the sets of unitary operators and orthogonal measurements over H(Q), respectively. A unitary operator U ∈ U (H(Q)) is an invertible linear operator which preserves length. A set of projective measurements M = {Pi } ∈ M(H(Q)) are Hermitian operators on H(Q) such that Pi = Pi† , Pi2 = Pi† for all i; Pi Pj = 0 for i 6= j, and Σi Pi = I. Upon measuring the state |ψi, the probability of getting result i is given by p(i) = hψ|Pi |ψi. Given that the result i occurred, the state of the p quantum system immediately changes to Pi |ψi/ hψ|Pi |ψi. A 2TQCFA is specified by a 9-tuple

M = (Q, S, Σ, Θ, δ, q0 , s0 , Sacc , Srej )

(3)

where, • Q is a finite set of quantum states; • S is a finite set of classical states; • Σ is a finite set of input symbols; the tape symbol set is Γ = Σ ∪ { C, | $}; two tapes with the same input ω are T1 = C| 1 ω$1 and T2 = C| 2 ω$2 ; we assume that the input in Ti is started by the left end-marker C| i and terminated by the right end-marker $i ; • Θ is the transition function of quantum states: S \ (Sacc ∪ Srej ) × Γ → U (H(Q)) ∪ M(H(Q)),

(4)

where each action Θ(s, γ) corresponds to either a unitary transformation or a projective measurement; • δ is the transition function of classical states. If Θ(s, γ) ∈ U (H(Q)), then δ is: S \ (Sacc ∪ Srej ) × Γ → S × D1 × D2 ,

(5)

which is the same transition function as we have defined in 2TFA. If Θ(s, γ) ∈ M(H(Q)), and the resulting set of the measurement is R = {r1 , r2 , . . . , rn }, then δ is: S \ (Sacc ∪ Srej ) × Γ × R → S × D1 × D2 ,

(6)

where δ(s, γ)(ri ) = (s′ , d1 , d2 ) means that when the projective measurement result is ri with probability pi , then s ∈ S scanning γ ∈ Γ will be changed to state s′ , and the next scanned symbol will be decided by d1 and d2 ; 5

• q0 ∈ Q is the initial quantum state; • s0 ∈ S is the initial classical state; • Sacc ⊂ S and Srej ⊂ S are the sets of classical accepting states and rejecting states, respectively. Given an input ω, a 2TQCFA M = (Q, S, Σ, Θ, δ, q0 , s0 , Sacc , Srej ) operates as follows: At the beginning, tape head i is at C| i , the quantum initial state is |q0 i, the classical initial state is s0 , and |q0 i will be changed according to Θ(s0 , C| 1 ). a. If Θ(s0 , C| 1 ) = U ∈ U (H(Q)), then the quantum state evolves as |q0 i → U |q0 i, and meanwhile, the classical state s0 will be changed to s′ according to δ(s0 , C| 1 ) = (s′ , d1 , d2 ). The symbol scanned next is in T1 , if d1 6=↓; the symbol scanned next is in T2 , if d2 6=↓; otherwise, it holds that d1 = d2 =↓, and then the symbol scanned next is unchanged. b. If Θ(s0 , C| 1 ) = M ∈ M(H(Q)), M = {P1 , . . . , Pm }, then |q0 i → √ Pi |q0 i

hq0 |Pi |q0 i

with result

ri . Meanwhile, we have δ(s0 , C| 1 )(ri ) = (si , d1 , d2 ). If si ∈ Sacc , M accepts ω; if si ∈ Srej , M rejects ω; otherwise, M scans the next symbol, and the transformation is similar to the above process.

A computation is assumed to halt if and only if an accepting state or a rejecting classical state is reached. Let pacc (ω) and prej (ω) denote the accepting and rejecting probabilities for M with input ω, respectively. We say that a language L is recognized by a 2TQCFA M if L is recognized by a 2TQCFA M with one-sided error ǫ, which means that for all ω ∈ Σ∗ , pacc (ω) + prej (ω) = 1, pacc (ω) = 1 if ω ∈ L, and prej (ω) ≥ 1 − ǫ if ω ∈ / L.

2.3

Definitions of mTFA and mTQCFA

The definition of kTFA is similar to that of 2TFA. A kTFA is a 6-tuple M = (S, Σ, δ, s0 , Sacc , Srej )

(7)

where S, Σ, s0 , Sacc and Srej are just like the ones in 2TFA. The map of δ is: S \ (Sacc ∪ Srej ) × Γ → S × D k . We restrict that at most one of Di (i = 1, 2, . . . , k) is no stationary in the mapping and all the tapes have the same input ω. The transformation is similar to that of 2TFA. An mTQCFA is essentially a classical mTFA augmented with a quantum component of constant size.

6

3

Languages recognized by 2TFA

When we use a 2DFA to recognize a language, we can not record how many specific symbols have been scanned. For example, when we use a 2DFA to recognize Leq = {an bn | n ∈ N}, we can not record how many symbols a have been scanned, which is the reason that 2DFA can not recognize Leq . Even if a 2TFA is used, we are still not able to record how many specific symbols have been scanned. But we have two tapes, so we can compare the numbers of the specific symbols having been scanned between the two tapes, which leads to that 2TFA can recognize more languages and become more powerful.

3.1

Languages recognized by 2QFA or 2QCFA that can also be recognized by 2TFA

Leq and Ltrieq were proved to be recognized by 2QFA in [10], Lpal and Leq were proved to be recognized by 2QCFA in [1], and Meq , Leq (k, a) and L= were proved to be recognized by 2QCFA in [12]. In this subsection we will prove all these languages can be recognized by 2TFA in linear time. We assume that N = {0, 1, 2, . . . , n, . . . }, and we use #ω (σ) and |ω| to denote the number of symbol σ in string ω and the length of string ω, respectively. Theorem 1. Leq = {an bn | n ∈ N} can be recognized by 2TFA in linear time. Proof. The idea of this proof is as follows: First we check whether the input ω is of the form a+ b+ , and then we scan T1 from right to left to consume symbol b and scan T2 from left to right to consume symbol a alternately. If we scan a symbol b in T1 , the next symbol scanned in T2 must be symbol a; otherwise, we reject the input ω. Once we scan a symbol a in T1 , which means that the tape head of T1 reaches the a+ section of T1 , we turn to T2 to see which symbol it scans. If the next symbol scanned in T2 is symbol b, we accept the input ω; otherwise, we reject it. A 2TFA M for Leq is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej )

(8)

where, • S = {s0 , s1 , s2 , sa , sb , scrt , sacc , srej }, where s0 , s1 and s2 are used to check whether ω is of the form a+ b+ ; sa is used to consume symbol a in T2 and sb is used to consume symbol b in T1 ; scrt is the critical state which will be changed to sacc or srej depending on the next scanned symbol; • Σ = {a, b}; s0 is the initial state; Sacc = {sacc }; Srej = {srej }; • The mapping δ is defined as follows: 7

δ(s0 , C| 1 ) = (s0 , →, ↓) δ(s0 , b) = (srej , −, −) δ(s1 , a) = (s1 , →, ↓) δ(s2 , a) = (srej , −, −) δ(sb , a) = (scrt , ↓, →) δ(sa , a) = (sb , ←, ↓) δ(scrt , a) = (srej , −, −)

δ(s0 , a) = (s1 , →, ↓) δ(s0 , $1 ) = (sacc , −, −) δ(s1 , b) = (s2 , →, ↓) δ(s2 , b) = (s2 , →, ↓) δ(sb , b) = (sa , ↓, →) δ(sa , b) = (srej , −, −) δ(scrt , b) = (sacc , −, −)

δ(s1 , $1 ) = (srej , −, −) δ(s2 , $1 ) = (sb , ←, ↓)

Remark :When M comes to halting states, the directions of the tape heads will be meaningless, and thus we use “−”. It is easy to verify that Leq can be recognized by M. Checking whether the input ω is of the form a+ b+ takes |ω| time. Scanning T1 from right to left and scanning T2 from left to right alternately takes 2|ω| time at the worst case. Hence, the worst running time of M is O(|ω|), which is linear time.

Theorem 2. Lpal = {ω ∈ {a, b}∗ | ω = ω R } can be recognized by 2TFA in linear time. Proof. We scan T1 from right to left and scan T2 from left to right alternately, and each time we make sure that the symbols scanned are the same. If the symbols scanned are not the same, we reject the input ω; otherwise, when the tape head of T1 reaches the left end-marker and the tape head of T2 reaches the right end-marker, we accept it. A 2TFA M for Lpal is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej ) (9) where, • S = {s0 , st , s, sa , sb , scrt , sacc , srej }, where s0 and st are used to move the first tape head to the right end-marker of T1 ; sa and sb are used to consume symbol a and b in T2 , respectively; s is used to consume a symbol in T1 ; scrt is the critical state which will be changed to sacc or srej depending on the next scanned symbol; • Σ = {a, b}; s0 is the initial state; Sacc = {sacc }; Srej = {srej }. • The mapping δ is defined as follows: δ(s0 , σ) = (s0 , →, ↓) for σ = a, b, C| 1 δ(st , σ) = (sσ , ↓, →) for σ = a, b δ(sσ , σ ′ ) = (s, ←, ↓) for σ = σ ′ δ(s, σ) = (sσ , ↓, →) for σ = a, b δ(scrt , σ) = (srej , −, −) for σ 6= $2

δ(s0 , $1 ) = (st , ←, ↓) δ(st , C| 1 ) = (sacc , −, −) δ(sσ , σ ′ ) = (srej , −, −) for σ 6= σ ′ δ(s, C| 1 ) = (scrt , ↓, →) δ(scrt , $2 ) = (sacc , −, −) 8

It is easy to verify that Lpal can be recognized by M. It takes M exactly 3|ω| time to accept the input ω and less than 3|ω| time to reject it. So Lpal can be recognized by 2TFA in linear time. Theorem 3. Ltrieq = {an bn cn | n ∈ N} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Leq . The idea of this proof is as follows: First, we check whether the input ω is of the form a+ b+ c+ ; second, we use two subroutines of 2TFA M′ which recognizes Leq to check whether the number of symbol c is equal to the number of symbol a and b. We scan T1 from right to left and T2 from left to right alternately to make sure the number of symbol c in T1 is equal to the number of symbol a in T2 . We scan T1 from left to right and T2 from left to right alternately to make sure the number of symbol c in T1 is equal to the number of symbol b in T2 . The details of 2TFA M for Ltrieq are omitted here. It is easy to verify that Ltrieq can be recognized by M. It takes M 3|ω| time to accept the ipnut ω and less than 3|ω| to reject it at the worst cases. So Ltrieq can be recognized by 2TFA in linear time. Theorem 4. Leq (k, a) = {akn bn | n ∈ N} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Leq . First we check whether the input ω is of the form a+ b+ . But, we scan T1 from right to left to consume one symbol b and scan T2 from left to right to consume k symbols a instead of just one symbol alternately. A 2TFA M for Leq (k, a) is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej )

(10)

where, • S = {s0 , s1 , s2 , sa1 , sa2 , . . . , sak , sb , scrt , sacc , srej }, where s0 , s1 and s2 are used to check whether ω is of the form a+ b+ ; sai is used to consume symbol a in T2 and sb is used to consume symbol b in T1 ; scrt is the critical state which will be changed to sacc or srej depending on the next scanned symbol; • Σ = {a, b}; s0 is the initial state; Sacc = {sacc }; Srej = {srej }; • The mapping δ is defined as follows:

9

δ(s0 , C| 1 ) = (s0 , →, ↓) δ(s0 , b) = (srej , −, −) δ(s1 , a) = (s1 , →, ↓) δ(s2 , a) = (srej , −, −) δ(sb , a) = (scrt , ↓, →, ) δ(sai , a) = (sa(i+1) , ↓, →) δ(sai , b) = (srej , −, −) δ(sak , a) = (sb , ←, ↓) δ(scrt , a) = (srej , −, −)

δ(s0 , a) = (s1 , →, ↓) δ(s0 , $1 ) = (sacc , −, −) δ(s1 , b) = (s2 , →, ↓) δ(s2 , b) = (s2 , →, ↓) δ(sb , b) = (sa1 , ↓, →, ) for i = 1, 2, . . . , k − 1 for i = 1, 2, . . . , k − 1 δ(sak , b) = (srej , −, −) δ(scrt , b) = (sacc , −, −)

δ(s1 , $1 ) = (srej , −, −) δ(s2 , $1 ) = (sb , ←, ↓)

It takes M 3|ω| time at the worst cases. So Leq (k, a) can be recognized by 2TFA in linear time. Theorem 5. Meq = {an bn1 am bm 2 | n, m ∈ N} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Ltrieq . We + + check whether the input ω is of the form a+ b+ 1 a b2 at the beginning. Next we use two subroutines of 2TFA M′ which recognizes Leq . First,we scan T1 from left to right and T2 from left to right alternately to make sure the number of symbol a in the first section of T1 is equal to the number of symbol b1 in T2 . Second, we scan T1 from left to right and T2 from left to right alternately to make sure the number of symbol a in the second section of T1 is equal to the number of symbol b2 in T2 . We do not bore the details of 2TFA M for Meq here. It is easy to verify that Meq can be recognized by M. It takes M 2|ω| time at the worst cases. So Meq can be recognized by 2TFA in linear time. Theorem 6. L= = {ω ∈ {a, b}∗ | #ω (a) = #ω (b)} can be recognized by 2TFA in linear time. Proof. The 2TFA M to recognize this language is similar to the one recognizing Leq . But we do not need to check whether ω is of the form a+ b+ . We scan T1 for symbol a from left to right and scan T2 for symbol b from left to right alternately. We start at looking for symbol a in T1 . If the symbol scanned is not symbol a, we skip it and look for the next symbol in T1 until we scan symbol a. Once we have scanned a symbol a in T1 , we look for a symbol b in T2 . If the symbol scanned is not symbol b, we just skip it, and look for the next symbol in T2 until we scan symbol b or come to the right end-marker. If the head of T2 reaches the right end-marker, we reject the input ω; otherwise, turn to T1 . When the tape head of T1 reaches the right end-marker, if there is no more symbol b waiting for being scanned in T2 , we accept the input ω; otherwise, we reject it. A 2TFA M for Leq is defined as follows: M = (S, Σ, δ, s0 , Sacc , Srej ) where, 10

(11)

• S = {s0 , sa , sb , scrt , sg , sl , seq }, where sa is used to consume symbol a in T1 and sb is used to consume symbol b in T2 ; scrt is the critical state to check whether ω is in L; sg means #ω (a) > #ω (b), sl means #ω (a) < #ω (b), and seq means #ω (a) = #ω (b), respectively; • Σ = {a, b}; s0 is the initial state; Sacc = {seq }; Srej = {sg , sl }; • The mapping δ is defined as follows: δ(s0 ,C| 1 ) = (s0 , →, ↓) δ(s0 , a) = (sb , ↓, →, ) δ(sb , a) = (sb , ↓, →) δ(sa , a) = (sb , ↓, →) δ(scrt , a) = (scrt , ↓, →)

δ(s0 , $1 ) = (sacc , −, −) δ(s0 , b) = (s0 , ↓, →, ) δ(sb , b) = (sa , →, ↓) δ(sa , b) = (sa , →, ↓) δ(scrt , b) = (sl , −, −)

δ(sb , $2 ) = (sg , −, −) δ(sa , $1 ) = (scrt , ↓, →) δ(scrt , $2 ) = (seq , −, −)

It is easy to verify that L= can be recognized by M. It takes M 2|ω| time to accept the input ω and no more than 2|ω| time to reject it. So L= can be recognized by 2TFA in linear time. Having proved several languages that can be recognized by 2TFA, next we will prove a Pm km | a k = more general language Llinear = {σ1k1 σ2k2 . . . σm i i j=1,j6=i aj kj , Σ = {σ1 , σ2 , . . . , σm }, m, k1 , k2 , . . . km , ai ∈ N; a1 , a2 , . . . , ai−1 , ai+1 , . . . , am ∈ {0, 1}} can be recognized by 2TFA in linear time. Leq , Ltrieq , Meq and Leq (k, a) are just the special cases of this language. Llinear can also be recognized by 2QCFA in polynomial time. Pm km | a k = Theorem 7. Llinear = {σ1k1 σ2k2 . . . σm i i j=1,j6=i aj kj , Σ = {σ1 , . . . , σm }, m, k1 , k2 , . . . km , ai ∈ N; a1 , a2 , . . . , ai−1 , ai+1 , . . . , am ∈ {0, 1}} can be recognized by 2TFA in linear time. P Proof. ω ∈ Llinear has at most m − 1 restrictions such as ai ki = m j=1,j6=i aj kj (if it has more than m − 1 restrictions, they must be relative, and we can replace them by less than m − 1 restrictions), where m = |Σ| which is a constant. First, we use T1 to check whether ω is of the ∗ , and then we move the tape head of T back to the left end-maker. This takes form σ1∗ σ2∗ . . . σm 1 2|ω| time. The 2TFA M for Llinear consists of by m − 1 subroutines, and each subroutine verifies one restriction. 2TFA M accepts ω if all restrictions are satisfied. As an example, for a P restriction ai ki = m j=1,j6=i aj kj , symbol σi can be regarded as symbol a, σj (j 6= i, aj 6= 0) can be regarded as symbol b, and σj (j 6= i, aj = 0) can be regarded as symbol c. This subroutine is equivalent to the subroutine of recognizing {ω ∈ {a, b, c}∗ | ai #ω (a) = #ω (b)}, which is easy to implement. We scan T1 from left to right to consume one symbol a and scan T2 from left to right to consume ai symbols b, and we just skip symbol c. This subroutine takes 2|ω| time. After a subroutine ends, we move both tape heads to the left end-markers, which takes 11

2|ω| time. So Llinear can be recognized by a 2TFA with running time (4(m − 1) + 2)|ω| at the worst cases, which is linear time.

Remark : Llinear can be recognized by 2QCFA. We can used m-1 subroutines to verify the m-1 restrictions, and the idea is similar to the proof of the above theorem.

3.2

Languages recognized by 2TFA but whether or not they can be recognized by 2QFA or 2QCFA is still pending

In this subsection we will show that several languages can be recognized by 2TFA in linear time, including Lcopy , Lmiddle and Lbalanced . Whether Lmiddle and Lbalanced can be recognized by 2QCFA or 2QFA or not still remains as an open problem [1]. Theorem 8. Lcopy = {ωω | ω ∈ Σ∗ } can be recognized by 2TFA in linear time. Proof. First, we check whether the length of the input is even. If it is odd, the input is rejected; otherwise, we continue to do the next steps. The key to solve this problem is to find the middle of the input. In terms of the advantage of two tapes, we can easily find the middle as follows: Tape T1 scans two symbols from left to right while tape T2 scans one symbol from left to right. When tape T1 reaches the right end-marker, tape T2 will just go to the middle exactly. After doing this, we move the tape head of T1 to the left end-maker C| 1 , and then compare the symbols between T1 and T2 one by one from left to right until tape T2 reaches the end. If all the symbols compared are the same, the input is accepted; otherwise, it is rejected. Obviously, this can be done in linear time. Theorem 9. Lmiddle = {xay | x, y ∈ Σ∗ , a ∈ Σ} can be recognized by 2TFA in linear time. Proof. First, we check whether the length of the input is odd. If it is even, the input is rejected; otherwise, we continue to do the following steps. The key to solve this problem is still to find the middle of the input. We can find it easily in the same way as we did in the previous theorem. We check whether the symbol in the middle is a. If the symbol is a, the input is accepted; otherwise, it is rejected. Obviously, this can be done in linear time. Theorem 10. Lbalanced = {x ∈ {“(”, “)”}∗ | parentheses in x are balanced } can be recognized by 2TFA in linear time. Proof. In order to prove this theorem, we need to prove a lemma. We use F (w) to denote the set of all the prefixes of w except empty string λ and w.

12

Lemma 11. A string w is in Lbalanced if and only if w satisfies (1).#w (“(”) = #w (“)”) and (2).#x (“(”) ≥ #x (“)”) for all x ∈ F (w). Proof. 1 : First, we show that if w satisfies #w (“(”) = #w (“)”) and #x (“(”) ≥ #x (“)”) for all x ∈ F (w), then w ∈ Lbalanced . We prove this by induction on the length of w. BASIS: |w| = 0 is obvious. When |w| = 2, let w = ab, where a, b ∈ {“(”, “)”}. We have F (w) = {a} according to the definition. Because #a (“(”) ≥ #a (“)”), a must be “(”. Because #w (“(”) = #w (“)”), b must be “)”. Therefore w = “()”, which follows that w ∈ Lbalanced . INDUCTION: Suppose that when |w| ≤ 2n(n ≥ 1), the result holds. We will prove it holds for |w| = 2(n + 1). Case1 There exists a string u ∈ F (w) which satisfies #u (“(”) = #u (“)”). In this case, let w = uv(u, v ∈ {“(”, “)”}∗ ). Obviously, u satisfies condition(1) and (2), and meanwhile we have |u| ≤ 2n. According to the assumption, we get u ∈ Lbalanced . Furthermore, we have #v (“(”) = #w (“(”) − #u (“(”) = #w (“)”) − #u (“)”) = #v (“)”). So we get v satisfies condition(1). For every x ∈ F (v), we have #x (“(”) = #ux (“(”) − #u (“(”) ≥ #ux (“)”) − #u (“)”) = #x (“)”). So we get v satisfies condition (2). Because |v| ≤ 2n, we get v ∈ Lbalanced according to the assumption. It follows that w ∈ Lbalanced .

Case2 Otherwise, for every u ∈ F (w) satisfies #u (“(”) > #u (“)”). Let w = aw′ b. According to condition(2), we have #a (“(”) ≥ #a (“)”), and thus we get a = “(”. Because |aw′ | is odd, we have #aw′ (“(”) > #aw′ (“)”) according to condition (2). According to condition(1), we have #w (“(”) = #w (“)”), and thus it holds that b = “)”. It follows that #w′ (“(”) = #w (“(”) − 1 = #w (“)”) − 1 = #w′ (“)”). Thus w′ satisfies condition(1). For every v ∈ F (w′ ), we have #v (“(”) = #av (“(”) − 1 > #av (“)”) − 1 ≥ #av (“)”) = #v (“)”), thus w′ satisfies condition(2). Meanwhile, we have |w′ | = 2n, and thus we get w′ ∈ Lbalanced according to the assumption. It follows that w ∈ Lbalanced .

2 : We prove the other direction here. If w ∈ Lbalanced , then w satisfies condition (1) and (2). We prove this by induction on the length of w. BASIS: |w| = 0 is obvious. When |w| = 2, it must be the case w“()”. Obviously, it satisfies condition (1) and (2). INDUCTION: Suppose that when |w| ≤ 2n(n ≥ 1), the result holds. We will prove it holds for |w| = 2(n + 1). Case1 w can be divided into two parts as uv, where u, v ∈ Lbalanced . Obviously, we have |u| ≤ 2n and |v| ≤ 2n. According to the assumption, we get u and v 13

satisfy condition (1) and (2). It follows that #w (“(”) = #u (“(”) + #v (“(”) = #u (“)”) + #v (“)”) = #w (“)”), which says w satisfies condition (1). For every x ∈ F (w), if |x| #y (“)”) = #x (“)”), i.e., w satisfies condition(2). Therefore, the lemma has been proved. Now we return to the proof of the theorem. According to the lemma proved above, it is enough for us to check whether the input w satisfies condition (1) and (2). We use tape T1 to scan the input w from left to right, and use tape T2 to save the result R = #x (“(”) − #x (“)”) for every x ∈ F (w). If the tape head of T2 is on C| 2 , it means that R = 0; if the tape head of T2 is on the ith square of w, it means that R = i. When tape T1 scans a symbol “(”, the tape head of T2 moves right by one square; when tape T1 scans a symbol “)”, the tape head of T2 moves left by one square. If the tape head of T2 is on C| 2 , and the symbol scanned by the tape head of T1 is “)”, then the input is rejected. When the tape head of T1 comes to the right end-marker of w, and the tape head of T2 is on C| 2 , then the input is accepted. Obviously, this can be done in linear time. Therefore, we have proved the theorem.

4

Languages recognized by 2TQCFA

Ambainis and Watrous introduced a model of quantum automata called 2QCFA and 2 proposed an open problem of whether Lsquare = {an bn | n ∈ N} can be recognized by 2QCFA or not [1]. Although this problem remains open for 2QCFA, we will propose a new model of quantum automata called 2TQCFA by which Lsquare can be recognized in polynomial time. In addition, Ambainis and Watrous did not give the details on how to use a 2QCFA to simulate a coin flip that is an essential component for 2QCFA to recognize languages. Thus we will give the details here. 2

Theorem 12. For any ǫ > 0, there is a 2TQCFA M that accepts any ω ∈ Lsquare = {an bn | 2 n ∈ N} with certainly, rejects any ω ∈ / Lsquare = {an bn | n ∈ N} with probability at least 1 − ǫ and halts in polynomial time. 14

Proof. The main idea is as follows: First, we verify whether it holds that ω ∈ {an bkn | n ∈ N}. This can be done in linear time, and the proof is similar to the proof of Theorem 4. Second, we verify whether it holds that k = n. We consider a 2TQCFA M with 2 quantum states |q0 i and |q1 i. M starts with the quantum state |q0 i. Firstly, we scan T1 , and every time when √ M scans symbol a in T1 , the quantum state rotated by angle α = 2π. After all symbols a in T1 have been scanned, we scan symbol b in T1 and symbol a in T2 alternately. When the number of symbol b in T1 having been scanned equals to the total number of symbol a in T2 , the quantum state is rotated by −α. When the end of T1 is reached, we measure the quantum state. If the measurement result is |q1 i, ω is rejected. Otherwise, the process is repeated. After having verified ω ∈ {an bkn | n ∈ N}, the quantum state is rotated by α when M scans symbol a in T1 , and the quantum state is rotated by −α when M has scanned n symbols b in T1 in the process presented above. If k = n, rotations of quantum state cancel one another and the final quantum state will be |q0 i with certainty. Otherwise, the final √ state will be a superposition state because 2 is irrational, and the amplitude of |q1 i in the state is sufficiently large, which means that repeating the process O(n2 ) times guarantees getting |q1 i at least once with high probability. M also needs to halt and accept input 2 ω ∈ {an bn | n ∈ N} after repeating the process O(n2 ) times rather than repeating it forever. To achieve this, We periodically execute a subroutine that accepts with a small probability 2 c/n2 , which is much smaller than the probability of getting |q1 i. If ω ∈ / {an bn | n ∈ N}, this does not have much influence. The process is descried as follows: 1 If the input ω = λ, accept. Check whether ω is of the form an bkn (n > 0, k > 0). If not, reject. 2 Otherwise, repeat the following routine infinitum: (1) Move the tape head of T1 to C| 1 and move the tape head of T2 to C| 2 . Set the quantum state to be |q0 i. (2) While the currently scanned symbol is not $1 , do the following: 1) If the currently scanned symbol of T1 is a Perform Uα on the quantum state and move the tape head of T1 one square right. 2) Else if the currently scanned symbol of T1 is b Turn to T2 . Move the tape head of T2 one square right and scan a symbol.

a) If the scanned symbol of T2 is a Turn to T1 , move the tape head of T1 one square right and scan a symbol. 15

b) Else if the scanned symbol of T2 is b Perform U−α on the quantum state. Move the tape head of T2 back to C| 2 . Turn to T1 , move the tape head of T1 one square right and scan a symbol. (3) Perform U−α on the quantum state. (4) Measure the quantum state. If the result is |q1 i, reject. (5) Repeat the following subroutine two times: 1) Move the tape head of T1 back to C| 1 , and move the tape head of T2 back to C| 2 .

2) Move the tape head of T1 one square right and scan a symbol.

3) While the currently scanned symbol is not C| 1 or $1 , do the following: Simulate a coin flip. A . If the result is “head”: Move the tape head of T1 one square right and scan a symbol. a) If the symbol scanned of T1 is a, do nothing.

b) If the symbol scanned of T1 is b Turn to T2 , move the tape head of T2 one square right and scan a symbol.

⋄ If the scanned symbol of T2 is a Turn to T1 , move the tape head of T1 one square right, scan a symbol and goto b). ⋄ Else if the scanned symbol of T2 is b Move the tape head of T2 to C| 2 . Turn to T1 , and move the tape head of T1 one square left.

B . Else Move the tape head of T1 left and scan a symbol. a) If the symbol scanned of T1 is a, do nothing.

b) If the symbol scanned of T1 is b Turn to T2 , move the tape head of T2 one square right and scan a symbol.

⋄ If the scanned symbol of T2 is a Turn to T1 , move the tape head of T1 one square left and scan a symbol. Goto b).

c) Move the tape head of T2 to C| 2 . Turn to T1 , and move the tape head of T1 one square right. (6) If both times the process ends at the right end-marker of T1 , simulate l coin flips. If all the results are ”heads”, accept. A 2TQCFA M to recognize Lsquare is defined as follows: M = (Q, S, Σ, Θ, δ, q0 , s0 , Sacc , Srej ) 16

(12)

where, • Q = {q0 , q1 }; • S is a finite set of classical states; • Σ = {a, b}; C| 1 , C| 2 are the left end-markers of T1 and T2 , respectively; $1 , $2 are the right end-markers of T1 and T2 , respectively; • q0 is the initial quantum state; • s0 is the initial classical state; • Sacc = {sacc }; • Srej = {srej }. In fact, the key step is to construct quantum and classical transition functions Θ and δ. We construct them according to the process described above. For 1: Decide whether the input ω is of the form an bkn (n > 0, k > 0). For the trivial case an bkn (n = 0) we accept it at this subroutine. In this subroutine, we do not change the quantum state. The quantum transition function is the identity I. The classical transition function is similar to the one recognizing w ∈ {akn bn | n ∈ N}, and we omit the details here. For 2-(1): Move the tape heads of T1 and T2 to C| 1 and C| 2 , respectively. In this subroutine, we do not change the quantum state. The quantum and classical transition functions are easy to describe. We omit the details here. For 2-(2) and 2-(3): Do the quantum operations. • the classical states are S2 = {s02 , sa2 , sb1 , sre3 , scrt2 , sm }, where s02 is the starting state of this subroutine; sre3 is the state for moving back to C| 2 of T2 ; sa2 and sb1 are states to consume a symbol a and b from left to right in T2 and T1 , respectively; sm is the ending state of this subroutine waiting to make a measurement for the quantum state. • The quantum transition function is defined as follows: Θ(s02 , a) = Uα Θ(s, σ) = I for s ∈ {sb1 , sre3 }

Θ(sa2 , b) = U−α Θ(scrt2 , b) = U−α

• the classical transition function is defined as follows:

17

δ(s02 , a) = (s02 , →, ↓) δ(sa2 , a) = (sb1 , →, ↓) δ(sre3 , a) = (sre3 , ↓, ←) δ(sb1 , b) = (sa2 , ↓, →) δ(scrt2 , b) = (sm , ↓, ←)

δ(s02 , b) = (sa2 , ↓, →) δ(sa2 , b) = (sre3 , ↓, ←) δ(sre3 , C| 2 ) = (sa2 , ↓, →) δ(sb1 , $1 ) = (scrt2 , ↓, →)

For 2-(4): Measure the quantum state. • the classical states are S3 = {sm , sre4 }. • The quantum transition function is defined as follows: Θ(sm , σ) = M = {P0 , P1 } for any σ ∈ Σ, where P0 = |0ih0|, P1 = |1ih1|. • the classical transition function is defined as follows: δ(sm , σ)(1) = (srej , −, −),

δ(sm , σ)(0) = (sre4 , ↓, ←)

(13)

for any σ ∈ Σ.

For 2-(5): Two times random walk. The random walk here is a little different from the random walk in Ambainis and Watrous’s paper [1]. We still consider scanning a symbol a as one step, but we consider scanning n symbols b as one step in this random walk. We do not bore all the details of quantum and classical transition functions here. In the random walk, every time we go on a step by scanning a symbol a or n symbols b. Simulation of a coin flip is an essential component in this subroutine. The machine M simulates a coin flip according to the following transition functions, with s03 , |q0 i as the starting classical and quantum states, respectively. Let projective measurement M = {P0 , P1 }, where P0 = |0ih0|, P1 = |1ih1|.

(14)

The results 0 and 1 represent the results of coin flip “head” and “tail”, respectively. Unitary operator U is defined as follow: ! 1 1 U=

√

2 √1 2

√ 2 − √12

.

This operator changes the base state |q0 i or |q1 i to be a superposition state |ψi or |φi, respectively, as follows: 1 (15) |ψi = √ (|q0 i + |q1 i), 2 1 |φi = √ (|q0 i − |q1 i). (16) 2 18

When measuring |ψi or |φi with M , we will get the result 0 or 1 with probability of 21 , respectively. This is similar to the coin flip process. If the result is 0, we simulate a right step; if the result is 1, we simulate a left step. Θ(s03 , σ) = U Θ(s′03 , σ) = M δ(s′03 , σ)(0) = (s03 , →, ↓)

δ(s03 , σ) = (s′03 , ↓, ↓) δ(s′03 , σ)(1) = (s03 , ←, ↓)

For 2-(6): Simulate l coin flips. If all the results are “heads”, the input is accepted. The classic state starts from scf and the quantum state starts from |q1 i. We still use unitary operator U and projective measurement M described as above to simulate a coin flip. We use the measurement result 0 and 1 to represent “head” and “tail”, respectively. (0,i)

(1,i)

(0,0)

• the classical states are {sf ail , sacc , scf , scf , i = 0, 1, 2, ..., l + 1}, where scf starting state.

is the

• The quantum and classical transition functions are defined as follows: for 0 ≤ i ≤ l, (0,i)

Θ(scf , $1 ) = U (1,i)

Θ(scf , $1 ) = M (1,i)

δ(scf , $1 )(1) = (sf ail , ←, ↓)

(0,i)

(1,i)

δ(scf , $1 ) = (scf , ↓, ↓) (1,i)

(0,i+1)

δ(scf , $1 )(0) = (scf

, ↓, ↓)

When the classical state changes to sf ail , it means that the “tail” result of a coin flip has occurred. There is no need to simulate any more coin flips. The tape head of T1 should be moved back to the first symbol of the tape and another new iteration should be started. We omit the transition function here. When the classical state changes to (0,l+1) , it means that all the results of the k coin flips are “heads”. The classical state scf should be changed to an accepting state. The transition function is as follow: (0,l+1)

δ(scf

, $1 ) = (sacc , −, −).

Lemma 13. If the input is ω = an bkn and k 6= n, M rejects after 2-(2),2-(3),2-(4) with probability at least 1/2(n − k)2 . √ Proof. The state |q0 i is rotated by 2π when T1 scans one symbol a, and it is rotated by √ √ − 2π when T1 scans n symbols b. The |q0 i is rotated by 2(n − k)π after 2-(2),2-(3). So √ √ the quantum state of M after rotating is cos( 2(n − k)π)|q0 i + sin( 2(n − k)π)|q1 i. In 2-(4) √ the probability of observing |q1 i is sin2 ( 2(n − k)π). Without loss of generality, we assume √ √ n − k > 0. Let l be the closest integer to 2(n − k). Assume that 2(n − k) > l (the other 19

case is symmetric), then 2(n − k)2 > l2 . So we get 2(n − k)2 − 1 ≥ l2 and l ≤ We have p √ √ 2(n − k) − l ≥ 2(n − k) − 2(n − k)2 − 1

p

p p √ √ ( 2(n − k) − 2(n − k)2 − 1)( 2(n − k) + 2(n − k)2 − 1) p √ = 2(n − k) + 2(n − k)2 − 1 1 1 p =√ > √ . 2 2 2(n − k) 2(n − k) + 2(n − k) − 1

2(n − k)2 − 1. (17)

(18) (19)

√ √ Because l is the closest integer to 2(n − k), we have 0 < 2(n − k) − l < 1/2. Assume f (x) = sin(xπ) − 2x. We have f ′′ (x) = −π 2 sin(xπ) ≤ 0 when x ∈ [0, 1/2]. That is to say, f (x) is concave in [0, 1/2], and we have f (0) = f (1/2) = 0. So for any x ∈ [0, 1/2], it holds that f (x) ≥ 0, that is, sin(xπ) ≥ 2x. Therefore √ √ sin2 ( 2(n − k)π) = sin2 (( 2(n − k) − l)π) √ √ ≥ (2( 2(n − k) − l))2 = 4( 2(n − k) − l)2 1 1 )2 = . ≥ 4( √ 2(n − k)2 2 2(n − k)

(20) (21) (22)

So the lemma has been proved.

Lemma 14. If the input is ω = an bkn and k 6= n, M accepts after 2-(5),2-(6) with probability 1/2l (n + k + 1)2 . Proof. 2-(5) is similar to two times of random walk (takes scanning n symbols b as one step) starting at location 1 and ending at location 0 (the left end-marker C| 1 )) or at location (k + 1)n + 1 (the right end-marker $). It can be known from probability theory that the probability of reaching the location (k + 1)n + 1 is 1/(n + k + 1) (see Chapter14.2 in [24]). Repeating it twice and flipping l coins, we get the probability 1/2l (n + k + 1)2 . 2

Let l = 1 + ⌈log ε⌉. If ω = an bm ,m 6= kn, then step 1 always rejects it. If ω = an bn , 2-(2),2-(3),2-(4) always turn |q0 i to |q0 i, and M never rejects. After 2-(5),2-(6), the probability of M accepting ω is 1/2l (n + k + 1)2 . Repeating step 2 for cn2 times, the 1 cn2 , and this can be made arbitrarily close to 1 accepting probability is 1 − (1 − 2l (n+k+1) 2) by selecting constant c appropriately. If x = an bkn and k 6= n, M rejects after 2-(2),2(3),2-(4) with probability Pr > 1/2(n − k)2 . M accepts after 2-(5),2-(6) with probability Pa = 1/2l (n + k + 1)2 ≤ ε/2(n + k + 1)2 . If we repeat step 2 indefinitely, the probability of rejecting is X Pr (1 − Pa )i (1 − Pr )i Pr = (23) Pa + Pr − Pa Pr i≥0

20

>

Pr 1 1/2 = > 1 − ε. > Pa + Pr 1/2 + ε/2 1+ε

(24)

If we assume the input ω = an bm , step 1 takes O(n + m) time, step 2-1 takes O(n + m) time, 2-2,2-3,2-4 take O(n + m) time, and 2-5,2-6 take O(n + m)2 time. The expected number of repeating step 2 is O((n + m/n)2 ). Hence, the expected running time of M is at most O((n + m/n)2 (n + m)2 ).

5

Languages recognized by mTFA and mTQCFA

We know that 2QCFA are more powerful than 2DFA, but we do not know whether kTQCFA are more powerful than kTFA or not. Although we can not prove kTQCFA are strictly more powerful than kTFA, we will give an example which seems to imply that the k result may be true. We will show that {an bn | n ∈ N}(k = 1, 2...) can be recognized k by (k + 1)TFA in linear time. Also, we will prove that {an bn | n ∈ N}(k = 1, 2...) can be recognized by kTQCFA with one side-error in polynomial time. Thus, it seems that kTQCFA are more powerful than kTFA. 2

Theorem 15. Lsquare = {an bn | n ∈ N} can be recognized by 3TFA in linear time. Proof. The process to recognize Lsquare is described as follows: 1 If the input ω = λ, accept. 2 Check whether the input ω is of the form a+ b+ . If not, reject. 3 Move the tape head of T1 to the first symbol b in T1 . 4 While the currently scanned symbol by T1 is b, do the following: Turn to T2 , move the tape head of T2 one square right and scan a symbol. (1) If the currently scanned symbol by T2 is b Move the tape head of T2 back to C| 2 . Turn to T3 , move the tape head of T3 one square right and scan a symbol. (A) If the currently scanned symbol by T3 is b Reject. (B) Else Turn to T1 , move the tape head of T1 one square right and scan a symbol. (2) Else Turn to T1 , move the tape head of T1 one square right and scan a symbol. 5 Turn to T2 , move the tape head of T2 one square right and scan a symbol. 21

(1) If the currently scanned symbol by T2 is not b Reject. (2) Else Turn to T3 , move the tape head of T3 one square right and scan a symbol. (A) If he currently scanned symbol by T2 is not b Reject. (B) Else, accept. We assume the input ω = an bm . Let k2 be the number of symbol a having been scanned by tape head T2 and k3 be the number of symbol a having been scanned by tape head T3 from left to right. Actually, k2 k3 is acting like a 2 digits of n-radix number. When the tape head of T1 scans a symbol b, we just add 1 to k2 . When k2 is large enough (k2 = n), we turn k2 to 2 0 and add 1 to k3 . It is easy to verify that this process will accept Lsquare = {an bn | n ∈ N} in linear time.

The above result is easy to extend to the case of (k + 1)TFA. So we get the following Theorem. k

Theorem 16. {an bn | n ∈ N}(k = 1, 2, ...) can be recognized by (k + 1)TFA in linear time. Proof. The idea to prove this theorem is almost the same as the one in the previous theorem. Let T1 scan symbol b, and the numbers of symbols a having been scanned by Ti (i = 2, 3, ..., k+ 1) are acting like a k digits of n-radix number. The details are similar to the above theorem, and thus we do not bore here. Corollary 17. {an brn time.

k−1

| n ∈ N, r ∈ N}(k = 1, 2, ...) can be recognized by kTFA in linear

Proof. Let nk be the number of symbol a having been scanned by Tk . When nk reaches n, and if there are symbols b in T1 which have not been scanned, we do not reject the input, but return tape head of Tk to C| k and go on. The other details are the same as kTFA recognizing k−1 | n ∈ N}. language {an bn k

Theorem 18. For any ǫ > 0, there is a kTQCFA M that accepts any ω ∈ {an bn | n ∈ N} k with certainly, rejects any ω ∈ / {an bn | n ∈ N} with probability at least 1 − ǫ and halts in polynomial time. k−1

in linear Proof. In terms of Colollary 17, we can check whether w is of the form an brn time. Then we use the similar method as in Theorem 12 to verify r = n. The process is 22

similar to that in Theorem 12, except the random walk. kTQCFA will take scanning nk−1 symbols b as one step in the random walk. We omit the details here.

6

Conclusions

In this paper, we have studied 2TFA and proved several languages can be recognized by 2TFA. Augmenting with a quantum component of constant size, we have proposed a new 2 computing model called 2TQCFA, and we have proved that Lsquare = {an bn | n ∈ N} can be recognized by 2TQCFA in polynomial time with one-sided error. Furthermore, we have k proposed mTFA and M TQCFA and proved that {an bn | n ∈ N} can be recognized by kTQCFA. As we know, 2QCFA are more powerful than 2DFA. Thus, in the future we would like to consider this question: Are 2TQCFA more powerful than 2TFA? Furthermore, are kTQCFA more powerful than kTFA? We have proved that all languages which have been shown to be recognized by 2QCFA or 2QFA can also be recognized by 2TFA in this paper. It is natural to ask whether or not there is any language which can be recognized by 2QCFA or 2QFA but can not be recognized by 2TFA? Acknowledgments This work is supported in part by the National Natural Science Foundation (Nos. 60873055, 61073054), the Natural Science Foundation of Guangdong Province of China (No. 10251027501000004), the Fundamental Research Funds for the Central Universities (Nos. 10lgzd12,11lgpy36), the Research Foundation for the Doctoral Program of Higher School of Ministry of Education (Nos. 20100171110042, 20100171120051), the China Postdoctoral Science Foundation project (Nos. 20090460808, 201003375), and the project of SQIG at IT, funded by FCT and EU FEDER projects Quantlog POCI/MAT/55796/2004 and QSec PTDC/EIA/67661/2006, IT Project QuantTel, NoE Euro-NF, and the SQIG LAP initiative.

References [1] A. Ambainis, J. Watrous, Two-way finite automata with quantum and classical states, Theoretical Computer Science 287 (2002) 299-311. [2] A. Ambainis, M. Beaudry, M. Golovkins, A. Kikusts, M. Mercer, and D. Th´enrien, Algebraic Results on Quantum Automata, Theory of Computing Systems 39 (2006), 1654-188.

23

[3] A. Ambainis, R. Freivalds, One-way quantum finite automata: strengths, weaknesses and generalizations, in: Proceedings of the 39th Annual Symposium on Foundations of Computer Science, IEEE Computer Society Press, Palo Alfo, California, USA, 1998, pp. 332-341. Also quant-ph/9802062, 1998. [4] A. Ambainis, A. Nayak, A. Ta-Shma, U. Vazirani, Dense quantum coding and quantum automata, Journal of the ACM 49 (4) (2002) 496-511. [5] A. Brodsky, N. Pippenger, Characterizations of 1-way quantum finite automata, SIAM Journal on Computing 31 (2002) 1456-1478. Also quant-ph/9903014, 1999. [6] L.Z. Li, D.W. Qiu, Determining the equivalence for one-way quantum finite automata, Theoretical Computer Science 403 (2008) 42-51. [7] L.Z. Li, D.W. Qiu, A note on quantum sequential machines, Theoretical Computer Science 410 (2009) 2529-2535. [8] D.W. Qiu, Characterization of Sequential Quantum Machines, International Journal of Theoretical Physics 41 (2002) 811-822. [9] D.W. Qiu, S. Yu, Hierarchy and equivalence of multi-letter quantum finite automata, Theoretical Computer Science 410 (2009) 3006-3017. [10] A. Kondacs, J. Watrous, On the power of finite state automata, in: Proceedings of the 38th IEEE Annual Symposium on Foundations of Computer Science, 1997, pp. 66-75. [11] C. Moore and J.P. Crutchfield, Quantum automata and quantum grammars, Theoretical Computer Science 237 (2000) 275-306. Also quant-ph/9707031, 1997. [12] D.W. Qiu, Some Observations on Two-Way Finite Automata with Quantum and Classical States, ICIC 2008, LNCS 5226, pp.1-8, 2008. [13] D.W. Qiu, L.Z. Li, An overview of quantum computation models: quantum automata, Frontiers of Computer Science in China 2 (2)(2008) 193-207. [14] L.K. Grover, A fast quantum mechanical algorithm for database search, in: Proceedings of the 28th Annual ACM Symposium on Theory of Computing, Philadelphia, Pennsylvania, USA, 1996, pp. 212-219. [15] J.E. Hopcroft, J.D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addision-Wesley, New York, 1979. [16] J. Gruska, Quantum Computing, McGraw-Hill, London, 1999. [17] J. Preskill, Quantum information and compution, Lecture Notes for Physics, Vol. 229, California Institute of Technology, 1998./ Theory of Quantum Information, Lecture Notes, University of Waterloo. 24

[18] M.A. Nielsen, I.L. Chuang, Quantum Computation and Quantum Information, Cambridge University Press, Cambridge, 2000. [19] M.Siper, Introduction to the theory of computation, PWS, Boston, 1997. [20] M. V. Panduranga Rao, Interference automata, Theoretical Computer Science 403 (2008) 89-103. [21] P.W. Shor, Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer, SIAM Journal on Computing 26 (5) (1997) 1484-1509. [22] Rain. M. and Scott. D. ,Finite automata and their decision problems,IBM J. Res. Develop. 3 (1959) 114-125. [23] S.Yu, Regular Languages, in:Handbbok of Formal Languages(G.Rozenberg, A.Salomaa, eds.), Spring-Verlag, 1998, pp.41-110. [24] W. Feller, An Introduction to Probability Theory and its Applications, Vol. I, Wiley, New York, 1967.

25