|
|
Line 1: |
Line 1: |
| In [[quantum computing]], '''quantum finite automata''' or '''QFA''' are a quantum analog of [[probabilistic automata]]. They are related to [[quantum computer]]s in a similar fashion as [[finite automata]] are related to [[Turing machine]]s. Several types of automata may be defined, including ''measure-once'' and ''measure-many'' automata. Quantum finite automata can also be understood as the quantization of [[subshifts of finite type]], or as a quantization of [[Markov chain]]s. QFA's are, in turn, special cases of '''geometric finite automata''' or '''topological finite automata'''.
| | The author is known as Wilber Pegues. Credit authorising is where my main earnings arrives from. I've always loved residing in Mississippi. She is really fond of caving but she doesn't have the time recently.<br><br>Feel free to surf to my webpage psychic readers [[http://hknews.classicmall.com.hk/groups/some-simple-tips-for-personal-development-progress/ visit the up coming document]] |
| | |
| The automata work by accepting a finite-length [[string (computer science)|string]] <math>\sigma=(\sigma_0,\sigma_1,\cdots,\sigma_k)</math> of letters <math>\sigma_i</math> from a finite [[alphabet (computer science)|alphabet]] <math>\Sigma</math>, and assigning to each such string a [[probability]] <math>\operatorname{Pr}(\sigma)</math> indicating the probability of the automaton being in an [[accept state]]; that is, indicating whether the automaton accepted or rejected the string. | |
| | |
| The [[formal language|languages]] accepted by QFA's are not the [[regular language]]s of [[deterministic finite automata]], nor are they the [[stochastic language]]s of [[probabilistic finite automata]]. Study of these '''quantum languages''' remains an active area of research.
| |
| | |
| ==Informal description==
| |
| There is a simple, intuitive way of understanding quantum finite automata. One begins with a [[graph theory|graph-theoretic]] interpretation of [[deterministic finite automata]] (DFA). A DFA can be represented as a directed graph, with states as nodes in the graph, and arrows representing state transitions. Each arrow is labelled with a possible input symbol, so that, given a specific state and an input symbol, the arrow points at the next state. One way of representing such a graph is by means of a set of [[adjacency matrix|adjacency matrices]], with one matrix for each input symbol. In this case, the list of possible DFA states is written as a column vector. For a given input symbol, the adjacency matrix indicates how any given state (row in the state vector) will transition to the next state; a state transition is given by [[matrix multiplication]].
| |
| | |
| One needs a distinct adjacency matrix for each possible input symbol, since each input symbol can result in a different transition. The entries in the adjacency matrix must be zero's and one's. For any given column in the matrix, only one entry can be non-zero: this is the entry that indicates the next (unique) state transition. Similarly, the state of the system is a column vector, in which only one entry is non-zero: this entry corresponds to the current state of the system. Let <math>\Sigma=\{\alpha\}</math> denote the set of input symbols. For a given input symbol <math>\alpha\in\Sigma</math>, write <math>U_\alpha</math> as the adjacency matrix that describes the evolution of the DFA to its next state. The set <math>\{U_\alpha | \alpha\in\Sigma\}</math> then completely describes the state transition function of the DFA. Let ''Q'' represent the set of possible states of the DFA. If there are ''N'' states in ''Q'', then each matrix <math>U_\alpha</math> is ''N'' by ''N''-dimensional. The initial state <math>q_0\in Q</math> corresponds to a column vector with a one in the ''q''<sub>0</sub>'th row. A general state ''q'' is then a column vector with a one in the ''q'''th row. By [[abuse of notation]], let ''q''<sub>0</sub> and ''q'' also denote these two vectors. Then, after reading input symbols <math>\alpha\beta\gamma\cdots</math> from the input tape, the state of the DFA will be given by <math>q = \cdots U_\gamma U_\beta U_\alpha q_0.</math> The state transitions are given by ordinary [[matrix multiplication]] (that is, multiply ''q''<sub>0</sub> by <math>U_\alpha</math>, ''etc.''); the order of application is 'reversed' only because we follow the standard application order in linear algebra.
| |
| | |
| The above description of a DFA, in terms of [[linear operator]]s and vectors, almost begs for generalization, by replacing the state-vector ''q'' by some general vector, and the matrices <math>\{U_\alpha\}</math> by some general operators. This is essentially what a QFA does: it replaces ''q'' by a [[probability amplitude]], and the <math>\{U_\alpha\}</math> by [[unitary matrix|unitary matrices]]. Other, similar generalizations also become obvious: the vector ''q'' can be some [[probability distribution|distribution]] on a [[manifold]]; the set of transition matrices become [[automorphisms]] of the manifold; this defines a topological finite automaton. Similarly, the matrices could be taken as automorphisms of a [[homogenous space]]; this defines a geometric finite automaton.
| |
| | |
| Before moving on to the formal description of a QFA, there are two noteworthy generalizations that should be mentioned and understood. The first is the [[non-deterministic finite automaton]] (NFA). In this case, the vector ''q'' is replaced by a vector which can have more than one entry that is non-zero. Such a vector then represents an element of the [[power set]] of ''Q''; its just an [[indicator function]] on ''Q''. Likewise, the state transition matrices <math>\{U_\alpha\}</math> are defined in such a way that a given column can have several non-zero entries in it. After each application of <math>\{U_\alpha\}</math>, though, the column vector ''q'' must be renormalized so that it only contains zeros and ones. Equivalently, the mutiply-add operations performed during component-wise matrix multiplication should be replaced by Boolean and-or operations, that is, so that one is working with a [[ring (mathematics)|ring]] of [[characteristic 2]].
| |
| | |
| A well-known theorem states that, for each DFA, there is an equivalent NFA, and vice-versa. This implies that the set of [[formal language|languages]] that can be recognized by DFA's and NFA's are the same; these are the [[regular language]]s. In the generalization to QFA's, the set of recognized languages will be different. Describing that set is one of the outstanding research problems in QFA theory.
| |
| | |
| Another generalization that should be immediately apparent is to use a [[stochastic matrix]] for the transition matrices, and a [[probability vector]] for the state; this gives a [[probabilistic finite automaton]]. The entries in the state vector must be real numbers, positive, and sum to one, in order for the state vector to be interpreted as a probability. The transition matrices must preserve this property: this is why they must be stochastic. Each state vector should be imagined as specifying a point in a [[simplex]]; thus, this is a topological automaton, with the simplex being the manifold, and the stochastic matrices being linear automorphisms of the simplex onto itself. Since each transition is (essentially) independent of the previous (if we disregard the distinction between accepted and rejected languages), the PFA essentially becomes a kind of [[Markov chain]].
| |
| | |
| By contrast, in a QFA, the manifold is [[complex projective space]] <math>\mathbb{C}P^N</math>, and the transition matrices are unitary matrices. Each point in <math>\mathbb{C}P^N</math> corresponds to a quantum-mechanical [[probability amplitude]] or [[pure state]]; the unitary matrices can be thought of as governing the time evolution of the system (viz in the [[Schrodinger picture]]). The generalization from pure states to [[mixed state (physics)|mixed states]] should be straightforward: A mixed state is simply a [[measure theory|measure-theoretic]] [[probability distribution]] on <math>\mathbb{C}P^N</math>.
| |
| | |
| A worthy point to contemplate is the distributions that result on the manifold during the input of a language. In order for an automaton to be 'efficient' in recognizing a language, that distribution should be 'as uniform as possible'. This need for uniformity is the underlying principle behind [[maximum entropy method]]s: these simply guarantee crisp, compact operation of the automaton. Put in other words, the [[machine learning]] methods used to train [[hidden Markov model]]s generalize to QFA's as well: the [[Viterbi algorithm]] and the [[forward-backward algorithm]] generalize readily to the QFA.
| |
| | |
| ==Measure-once automata==
| |
| Measure-once automata were introduced by [[Cris Moore]] and [[James P. Crutchfield]].<ref>C. Moore, J. Crutchfield, "Quantum automata and quantum grammars", ''Theoretical Computer Science'', '''237''' (2000) pp 275-306.</ref> They may be defined formally as follows.
| |
| | |
| As with an ordinary [[finite automaton]], the quantum automaton is considered to have <math>N</math> possible internal states, represented in this case by an <math>N</math>-state [[qubit]] <math>|\psi\rangle</math>. More precisely, the <math>N</math>-state qubit <math>|\psi\rangle\in \mathbb {C}P^N</math> is an element of <math>N</math>-dimensional [[complex projective space]], carrying an [[inner product]] <math>\Vert\cdot\Vert</math> that is the [[Fubini-Study metric]].
| |
| | |
| The [[state transition]]s, [[transition matrix]]es or [[de Bruijn graph]]s are represented by a collection of <math>N\times N</math> [[unitary matrix]]es <math>U_\alpha</math>, with one unitary matrix for each letter <math>\alpha\in\Sigma</math>. That is, given an input letter <math>\alpha</math>, the unitary matrix describes the transition of the automaton from its current state <math>|\psi\rangle</math> to its next state <math>|\psi^\prime\rangle</math>:
| |
| | |
| :<math>|\psi^\prime\rangle = U_\alpha |\psi\rangle</math>
| |
| | |
| Thus, the triple <math>(\mathbb {C}P^N,\Sigma,\{U_\alpha\vert\alpha\in\Sigma\})</math> form a [[quantum semiautomaton]].
| |
| | |
| The [[accept state]] of the automaton is given by an <math>N\times N</math> [[projection matrix]] <math>P</math>, so that, given a <math>N</math>-dimensional quantum state <math>|\psi\rangle</math>, the probability of <math>|\psi\rangle</math> being in the accept state is
| |
|
| |
| :<math>\langle\psi |P |\psi\rangle = \Vert P |\psi\rangle\Vert^2</math>
| |
| | |
| The probability of the state machine accepting a given finite input string <math>\sigma=(\sigma_0,\sigma_1,\cdots,\sigma_k)</math> is given by
| |
| | |
| :<math>\operatorname{Pr}(\sigma) = \Vert P U_{\sigma_k} \cdots U_{\sigma_1} U_{\sigma_0}|\psi\rangle\Vert^2 </math>
| |
| | |
| Here, the vector <math>|\psi\rangle</math> is understood to represent the initial state of the automaton, that is, the state the automaton was in before it started accepting the string input. The empty string <math>\varnothing</math> is understood to be just the unit matrix, so that
| |
| | |
| :<math>\operatorname{Pr}(\varnothing)= \Vert P |\psi\rangle\Vert^2</math>
| |
| | |
| is just the probability of the initial state being an accepted state.
| |
| | |
| Because the left-action of <math>U_\alpha</math> on <math>|\psi\rangle</math> reverses the order of the letters in the string <math>\sigma</math>, it is not uncommon for QFA's to be defined using a right action on the [[Hermitian transpose]] states, simply in order to keep the order of the letters the same.
| |
| | |
| A [[regular language]] is accepted with probability <math>p</math> by a quantum finite automaton, if, for all sentences <math>\sigma</math> in the language, (and a given, fixed initial state <math>|\psi\rangle</math>), one has <math>p<\operatorname{Pr}(\sigma)</math>.
| |
| | |
| ==Example==
| |
| Consider the classical [[deterministic finite automaton]] given by the [[state transition table]]
| |
| {|
| |
| |
| |
| {| border="1" cellpadding="5" cellspacing="0"
| |
| |+ '''State Transition Table'''
| |
| | Input<br>State
| |
| | align="center" valign="top" style="background:#efefef;" | '''1'''
| |
| | align="center" valign="top" style="background:#efefef;" | '''0'''
| |
| |-
| |
| | align="right" style="background:#ffdead;" | S<sub>1</sub>
| |
| | align="center" | S<sub>1</sub>
| |
| | align="center" | S<sub>2</sub>
| |
| |-
| |
| | align="right" style="background:#ffdead;" | S<sub>2</sub>
| |
| | align="center" | S<sub>2</sub>
| |
| | align="center" | S<sub>1</sub>
| |
| |}
| |
| |
| |
| | align="center" | '''State Diagram''' <br> [[Image:DFAexample.svg|DFAexample.svg]]
| |
| |}
| |
| | |
| The quantum state is a vector, in [[bra-ket notation]]
| |
| :<math>|\psi\rangle=a_1 |S_1\rangle + a_2|S_2\rangle =
| |
| \begin{bmatrix} a_1 \\ a_2 \end{bmatrix}
| |
| </math>
| |
| | |
| with the [[complex number]]s <math>a_1,a_2</math> normalized so that
| |
| | |
| :<math>\begin{bmatrix} a^*_1 \;\; a^*_2 \end{bmatrix} \begin{bmatrix} a_1 \\ a_2 \end{bmatrix} = a_1^*a_1 + a_2^*a_2 = 1</math>
| |
| | |
| The unitary transition matrices are
| |
| :<math>U_0=\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}</math>
| |
| | |
| and
| |
| :<math>U_1=\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}</math>
| |
| | |
| Taking <math>S_1</math> to be the accept state, the projection matrix is
| |
| | |
| :<math>P=\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}</math>
| |
| | |
| As should be readily apparent, if the initial state is the pure state <math>|S_1\rangle</math> or <math>|S_2\rangle</math>, then the result of running the machine will be exactly identical to the classical deterministic finite state machine. In particular, there is a language accepted by this automaton with probability one, for these initial states, and it is identical to the [[regular language]] for the classical DFA, and is given by the [[regular expression]]:
| |
| | |
| :<math>(1^*(01^*0)^*)^* \,\!</math> | |
| | |
| The non-classical behaviour occurs if both <math>a_1</math> and <math>a_2</math> are non-zero. More subtle behaviour occurs when the matrices <math>U_0</math> and <math>U_1</math> are not so simple; see, for example, the [[de Rham curve]] as an example of a quantum finite state machine acting on the set of all possible finite binary strings.
| |
| | |
| ==Measure-many automata==
| |
| Measure-many automata were introduced by Kondacs and Watrous in 1997.<ref>{{citation
| |
| | last1 = Kondacs | first1 = A.
| |
| | last2 = Watrous | first2 = J. | authorlink = John Watrous (computer scientist)
| |
| | contribution = On the power of quantum finite state automata
| |
| | pages = 66–75
| |
| | title = [[Symposium on Foundations of Computer Science|Proceedings of the 38th Annual Symposium on Foundations of Computer Science]]
| |
| | year = 1997}}</ref> The general framework resembles that of the measure-once automaton, except that instead of there being one projection, at the end, there is a projection, or [[quantum measurement]], performed after each letter is read. A formal definition follows.
| |
| | |
| The [[Hilbert space]] <math>\mathcal{H}_Q</math> is decomposed into three [[orthogonal subspace]]s
| |
| | |
| :<math>\mathcal{H}_Q=\mathcal{H}_\mbox{accept} \oplus \mathcal{H}_\mbox{reject} \oplus \mathcal{H}_\mbox{non-halting}</math>
| |
| | |
| In the literature, these orthogonal subspaces are usually formulated in terms of the set <math>Q</math> of orthogonal basis vectors for the Hilbert space <math>\mathcal{H}_Q</math>. This set of basis vectors is divided up into subsets <math>Q_\mbox{acc} \subset Q</math> and <math>Q_\mbox{rej} \subset Q</math>, such that
| |
| | |
| :<math>\mathcal{H}_\mbox{accept}=\operatorname{span} \{|q\rangle : |q\rangle \in Q_\mbox{acc} \}</math>
| |
| | |
| is the [[linear span]] of the basis vectors in the accept set. The reject space is defined analogously, and the remaining space is designated the ''non-halting'' subspace. There are three projection matrices, <math>P_\mbox{acc}</math>, <math>P_\mbox{rej}</math> and <math>P_\mbox{non}</math>, each projecting to the respective subspace:
| |
| | |
| :<math>P\mbox{acc}:\mathcal{H}_Q \to \mathcal{H}_\mbox{accept}</math>
| |
| | |
| and so on. The parsing of the input string proceeds as follows. Consider the automaton to be in a state <math>|\psi\rangle</math>. After reading an input letter <math>\alpha</math>, the automaton will be in the state
| |
| | |
| :<math>|\psi^\prime\rangle =U_\alpha |\psi\rangle</math>
| |
| | |
| At this point, a measurement is performed on the state <math>|\psi^\prime\rangle</math>, using the projection operators <math>P</math>, at which time its wave-function collapses into one of the three subspaces <math>\mathcal{H}_\mbox{accept}</math> or <math>\mathcal{H}_\mbox{reject}</math> or <math>\mathcal{H}_\mbox{non-halting}</math>. The probability of collapse is given by
| |
| | |
| :<math>\operatorname{Pr}_\mbox{acc} (\sigma) = \Vert P_\mbox{acc} |\psi^\prime\rangle \Vert^2</math>
| |
| | |
| for the "accept" subspace, and analogously for the other two spaces. | |
| | |
| If the wave function has collapsed to either the "accept" or "reject" subspaces, then further processing halts. Otherwise, processing continues, with the next letter read from the input, and applied to what must be an eigenstate of <math>P_\mbox{non}</math>. Processing continues until the whole string is read, or the machine halts. Often, additional symbols <math>\kappa</math> and $ are adjoined to the alphabet, to act as the left and right end-markers for the string.
| |
| | |
| In the literature, the meaure-many automaton is often denoted by the tuple <math>(Q;\Sigma; \delta; q_0; Q_\mbox{acc}; Q_\mbox{rej})</math>. Here, <math>Q</math>, <math>\Sigma</math>, <math>Q\mbox{acc}</math> and <math>Q\mbox{rej}</math> are as defined above. The initial state is denoted by <math>|\psi\rangle=|q_0\rangle</math>. The unitary transformations are denoted by the map <math>\delta</math>,
| |
| | |
| :<math>\delta:Q\times \Sigma \times Q \to \mathbb{C}</math>
| |
| | |
| so that
| |
| | |
| :<math>U_\alpha |q_1\rangle = \sum_{q_2\in Q} \delta (q_1, \alpha, q_2) |q_2\rangle </math>
| |
| | |
| ==Geometric generalizations==
| |
| The above constructions indicate how the concept of a quantum finite automaton can be generalized to arbitrary [[topological space]]s. For example, one may take some (''N''-dimensional) [[Riemann symmetric space]] to take the place of <math>\mathbb{C}P^N</math>. In place of the unitary matrices, one uses the [[isometry|isometries]] of the Riemannian manifold, or, more generally, some set of [[open function]]s appropriate for the given topological space. The initial state may be taken to be a point in the space. The set of accept states can be taken to be some arbitrary subset of the topological space. One then says that a [[formal language]] is accepted by this '''topological automaton''' if the point, after iteration by the homeomorphisms, intersects the accept set. But, of course, this is nothing more than the standard definition of an [[M-automaton]]. The behaviour of topological automata is studied in the field of [[topological dynamics]].
| |
| | |
| The quantum automaton differs from the topological automaton in that, instead of having a binary result (is the iterated point in, or not in, the final set?), one has a probability. The quantum probability is the (square of) the initial state projected onto some final state ''P''; that is <math>\bold{Pr} = \vert \langle P\vert \psi\rangle \vert^2</math>. But this probability amplitude is just a very simple function of the distance between the point <math>\vert P\rangle</math> and the point <math>\vert \psi\rangle</math> in <math>\mathbb{C}P^N</math>, under the distance [[metric (mathematics)|metric]] given by the [[Fubini-Study metric]]. To recap, the quantum probability of a language being accepted can be interpreted as a metric, with the probability of accept being unity, if the metric distance between the initial and final states is zero, and otherwise the probability of accept is less than one, if the metric distance is non-zero. Thus, it follows that the quantum finite automaton is just a special case of a '''geometric automaton''' or a '''metric automaton''', where <math>\mathbb{C}P^N</math> is generalized to some [[metric space]], and the probability measure is replaced by a simple function of the metric on that space.
| |
| | |
| ==See also==
| |
| * [[Quantum Markov chain]]
| |
| | |
| ==References==
| |
| <references/>
| |
| | |
| * {{springer|author=L. Accardi|title=Quantum stochastic processes|id=Q/q076330}} ''(Provides an intro to quantum Markov chains.)''
| |
| * Alex Brodsky, Nicholas Pippenger, [http://xxx.lanl.gov/abs/quant-ph/9903014 "Characterization of 1-way Quantum Finite Automata"], ''SIAM Journal on Computing'' '''31'''(2002) pp 1456–1478.
| |
| * Vincent D. Blondel, Emmanual Jeandel, Pascal Koiran and Natacha Portier, "Decidable and Undecidable Problems about Quantum Automata", ''SIAM Journal on Computing'' '''34''' (2005) pp 1464–1473.
| |
| | |
| {{quantum computing}}
| |
| | |
| [[Category:Quantum information theory]]
| |
| [[Category:Automata theory]]
| |