|
|
Line 1: |
Line 1: |
| In [[mathematics]] and [[computer science]], the '''probabilistic automaton (PA)''' is a generalization of the [[non-deterministic finite automaton]]; it includes the probability of a given transition into the [[finite state machine|transition function]], turning it into a [[transition matrix]] or [[stochastic matrix]]. Thus, the probabilistic automaton generalizes the concept of a [[Markov chain]] or [[subshift of finite type]]. The [[formal language|languages]] recognized by probabilistic automata are called '''stochastic languages'''; these include the [[regular language]]s as a subset. The number of stochastic languages is [[uncountable]].
| | The person who wrote the post is called Jayson Hirano and he totally digs that name. For a best [http://www.youronlinepublishers.com/authWiki/AdolphvhBladenqq real psychic] readings ([http://formalarmour.com/index.php?do=/profile-26947/info/ http://formalarmour.com]) whilst I've been in Alaska but I will have to move in a year or two. Invoicing is what I do for a residing but I've always wanted my own company. I am truly fond of to go to karaoke but I've been using on new things recently.<br><br>Feel free to visit my blog post ... free tarot readings ([http://Www.Taehyuna.net/xe/?document_srl=78721 taehyuna.net]) |
| | |
| The concept was introduced by [[Michael O. Rabin]] in 1963;<ref>M. O Rabin,"Probabilistic Automata", ''Information and Control'' '''6''' (1963) pp. 230–245</ref> a certain special case is sometimes known as the '''Rabin automaton'''. In recent years, a variant has been formulated in terms of quantum probabilities, the [[quantum finite automaton]].
| |
| | |
| ==Definition==
| |
| The probabilistic automaton may be defined as an extension of a [[non-deterministic finite automaton]] <math>(Q,\Sigma,\delta,q_0,F)</math>, together with two probabilities: the probability <math>P</math> of a particular state transition taking place, and with the initial state <math>q_0</math> replaced by a [[stochastic vector]] giving the probability of the automaton being in a given initial state.
| |
| | |
| For the ordinary non-deterministic finite automaton, one has
| |
| * a finite [[Set (mathematics)|set]] of states <math>Q</math>
| |
| * a finite set of [[input symbol]]s <math>\Sigma</math>
| |
| * a transition function <math>\delta:Q\times\Sigma \to P(Q)</math>
| |
| * a set of states <math>F</math> distinguished as ''accepting'' (or ''final'') ''states'' <math>F\subset Q</math>.
| |
| | |
| Here, <math>P(Q)</math> denotes the [[power set]] of <math>Q</math>.
| |
| | |
| By use of [[currying]], the transition function <math>\delta:Q\times\Sigma \to P(Q)</math> of a non-deterministic finite automaton can be written as a [[membership function]]
| |
| | |
| :<math>\delta:Q\times\Sigma \times Q\to \{0,1\}</math> | |
| | |
| so that <math>\delta(q,a,q^\prime)=1</math> if <math>q^\prime\in \delta(q,a)</math> and <math>\delta(q,a,q^\prime)=0</math> if <math>q^\prime\notin \delta(q,a)</math>. The curried transition function can be understood to be a matrix with matrix entries
| |
| | |
| :<math>\left[\theta_a\right]_{qq^\prime}=\delta(q,a,q^\prime)</math>
| |
| | |
| The matrix <math>\theta_a</math> is then a square matrix, whose entries are zero or one, indicating whether a transition <math>q\stackrel{a}{\rightarrow} q^\prime</math> is allowed by the NFA. Such a transition matrix is always defined for a non-deterministic finite automaton.
| |
| | |
| The probabilistic automaton replaces this matrix by a [[stochastic matrix]] <math>P</math>, so that the probability of a transition is given by
| |
| | |
| :<math>\left[P_a\right]_{qq^\prime}</math>
| |
| | |
| A state change from some state to any state must occur with probability one, of course, and so one must have
| |
| | |
| :<math>\sum_{q^\prime}\left[P_a\right]_{qq^\prime}=1</math> | |
| | |
| for all input letters <math>a</math> and internal states <math>q</math>. The initial state of a probabilistic automaton is given by a [[row vector]] <math>v</math>, whose components add to unity:
| |
| | |
| :<math>\sum_{q}\left[v\right]_{q}=1</math>
| |
| | |
| The transition matrix acts on the right, so that the state of the probabilistic automaton, after consuming the input string <math>abc</math>, would be
| |
| | |
| :<math>v P_a P_b P_c</math>
| |
| | |
| In particular, the state of a probabilistic automaton is always a stochastic vector, since the product of any two stochastic matrices is a stochastic matrix, and the product of a stochastic vector and a stochastic matrix is again a stochastic vector. This vector is sometimes called the '''distribution of states''', emphasizing that it is a [[discrete probability distribution]].
| |
| | |
| Formally, the definition of a probabilistic automaton does not require the mechanics of the non-deterministic automaton, which may be dispensed with. Formally, a probabilistic automaton ''PA'' is defined as the tuple <math>(Q,\Sigma,P, v, F)</math>. A '''Rabin automaton''' is one for which the initial distribution <math>v</math> is a [[coordinate vector]]; that is, has zero for all but one entries, and the remaining entry being one.
| |
| | |
| ==Stochastic languages==
| |
| The set of [[Formal language|languages]] recognized by probabilistic automata are called '''stochastic languages'''. They include the [[regular language]]s as a subset.
| |
| | |
| Let <math>F=Q_\text{accept}\subset Q</math> be the set of "accepting" or "final" states of the automaton. By abuse of notation, <math>Q_\text{accept}</math> can also be understood to be the column vector that is the [[membership function]] for <math>Q_\text{accept}</math>; that is, it has a 1 at the places corresponding to elements in <math>Q_\text{accept}</math>, and a zero otherwise. This vector may be contracted with the internal state probability, to form a [[scalar (mathematics)|scalar]]. The language recognized by a specific automaton is then defined as
| |
| | |
| :<math>L_\eta = \{s\in\Sigma^* \vert vP_s Q_\text{accept} > \eta\}</math>
| |
| | |
| where <math>\Sigma^*</math> is the set of all [[string (computer science)|strings]] in the [[alphabet (computer science)|alphabet]] <math>\Sigma</math> (so that * is the [[Kleene star]]). The language depends on the value of the '''cut-point''' <math>\eta</math>, normally taken to be in the range <math>0\le \eta<1</math>.
| |
| | |
| A language is called '''η-stochastic''' if and only if there exists some PA that recognizes the language, for fixed <math>\eta</math>. A language is called '''stochastic''' if and only if there is some <math>0\le \eta<1</math> for which <math>L_\eta</math> is η-stochastic.
| |
| | |
| A cut-point is said to be an '''isolated cut-point''' if and only if there exists a <math>\delta>0</math> such that
| |
| | |
| :<math>\vert vP(s)Q_\text{accept} - \eta \vert \ge \delta</math>
| |
| | |
| for all <math>s\in\Sigma^*</math>
| |
| | |
| ==Properties==
| |
| Every [[regular language]] is stochastic, and more strongly, every regular language is η-stochastic. A weak converse is that every 0-stochastic language is regular; however, the general converse does not hold: there are stochastic languages that are not regular.
| |
| | |
| Every η-stochastic language is stochastic, for some <math>0<\eta<1</math>.
| |
| | |
| Every stochastic language is representable by a Rabin automaton.
| |
| | |
| If <math>\eta</math> is an isolated cut-point, then <math>L_\eta</math> is a regular language.
| |
| | |
| ==''p''-adic languages==
| |
| The [[p-adic|''p''-adic]] languages provide an example of a stochastic language that is not regular, and also show that the number of stochastic languages is uncountable. A ''p''-adic language is defined as the set of strings in the letters <math>0,1,2,\ldots,(p-1)</math> such that
| |
| | |
| :<math>L_{\eta}(p)=\{0.n_1n_2n_3 \ldots \vert 0\le n_k<p \text{ and }
| |
| 0.n_1n_2n_3\ldots > \eta \}</math>
| |
| | |
| That is, a ''p''-adic language is merely the set of real numbers, written in base-''p'', such that they are greater than <math>\eta</math>. It is straightforward to show that all ''p''-adic languages are stochastic. However, a ''p''-adic language is regular if and only if <math>\eta</math> is rational. In particular, this implies that the number of stochastic languages is uncountable.
| |
| | |
| ==Generalizations== | |
| The probabilistic automaton has a geometric interpretation: the state vector can be understood to be a point that lives on the face of the standard [[simplex]], opposite to the orthogonal corner. The transition matrices form a [[monoid]], acting on the point. This may be generalized by having the point be from some general [[topological space]], while the transition matrices are chosen from a collection of operators acting on the topological space, thus forming a [[semiautomaton]]. When the cut-point is suitably generalized, one has a [[topological automaton]].
| |
| | |
| An example of such a generalization is the [[quantum finite automaton]]; here, the automaton state is represented by a point in [[complex projective space]], while the transition matrices are a fixed set chosen from the [[unitary group]]. The cut-point is understood as a limit on the maximum value of the [[quantum angle]].
| |
| | |
| ==References==
| |
| <references/>
| |
| *Arto Salomaa, ''Theory of Automata'' (1969) Pergamon Press, Oxford ''(See chapter 2)''.
| |
| | |
| [[Category:Automata theory]]
| |
| [[Category:Probabilistic models]]
| |
The person who wrote the post is called Jayson Hirano and he totally digs that name. For a best real psychic readings (http://formalarmour.com) whilst I've been in Alaska but I will have to move in a year or two. Invoicing is what I do for a residing but I've always wanted my own company. I am truly fond of to go to karaoke but I've been using on new things recently.
Feel free to visit my blog post ... free tarot readings (taehyuna.net)