PlanetMath (more info)
 Math for the people, by the people. Sponsor PlanetMath
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Owner confidence rating: Very high Entry average rating: No information on entry rating
[parent] $\epsilon$-transition (Definition)

Let $A=(S,\Sigma,\delta,I,F)$ be an automaton. Recall that a transition of $A$ is a triple written in the form $$p \stackrel{\alpha}{\longrightarrow} q,$$ where $q$ is a next state of the configuration $(p,\alpha)$ . In other words, $q\in \delta(p,\alpha)$ . Here, $\alpha$ is a symbol in $\Sigma$ .

The notion of transitions can be generalized so that $p\stackrel{a}{\longrightarrow} q$ iff $q\in \delta(p,a)$ , where $a\in \Sigma^*$ . The definition of the extended transition function $\delta$ dictates that $p\stackrel{\lambda}{\longrightarrow} q$ implies $p=q$ . This means that if the empty word is fed into an automaton at any state $p$ , the next state stays the same. In other words, the automaton does nothing.

An $\epsilon$ -transition, informally, is a transition in an ``automaton'' that changes the initial state when an empty word is read. This means, notationally, that $p\stackrel{\lambda}{\longrightarrow} q$ where $p$ is not necessarily $q$ . The double quotes around the word automaton is to signify the fact that when $\epsilon$ -transitions are considered, the machine is no longer an automaton strictly speaking. The ``$\epsilon$ '' here refers to the empty word $\lambda$ , which is sometimes denoted by $\epsilon$ .

The consequence of adding $\epsilon$ -transitions is that the set of next states is potentially enlarged whenever a word is read, because at any point during the reading, a next state could result from an alphabet, or it could come from any of the next states by inserting several empty words after the alphabet. Outwardly, the insertions of empty words into a word does not change the word itself. However, the possibility of accepting the word is increased. So the question is: does this ``automaton with $\epsilon$ -transitoins'' offers more computing power than a traditional automaton? Interestingly, the answer is no, and we will demonstrate this fact in this article.

First, we need to define formally what $\epsilon$ -transitions and automata with $\epsilon$ -transitions are.

Definitions. There are several concepts that need to be formalized:

  1. An automaton with $\epsilon$ -transitions, or $\epsilon$ -automaton for short, is a sextuple $$E:=(S,\Sigma,\delta,I,F,\epsilon)$$ such that $\epsilon\notin \Sigma$ , and $E_{\epsilon}:=(S,\Sigma_{\epsilon}, \delta,I,F)$ , where $\Sigma_{\epsilon}:=\Sigma\cup \lbrace \epsilon\rbrace$ , is an automaton, called the automaton associated with $E$ .
  2. An $\epsilon$ -transition is a transition of $E_{\epsilon}$ of the form $p\stackrel{\epsilon}{\longrightarrow} q$ .
  3. We define the language $L(E)$ accepted by an $\epsilon$ -automaton $E$ to be the set of all words in $\Sigma^*$ that can be obtained from words accepted by $E_{\epsilon}$ by deleting any occurrences of $\epsilon$ . Formally, $$L(E):=h(L(E_{\epsilon})),$$ where $h:\Sigma_{\epsilon}^*\to \Sigma^*$ is the monoid homomorphism given by $h|\Sigma=1$ and $h(\epsilon)=\lambda$ . It is easy to see, by induction, that $$h(a)=\alpha_1\alpha_2\cdots \alpha_n \qquad \mbox{ iff } \qquad a= \epsilon^{i_0}\alpha_1\epsilon^{i_1}\alpha_2 \epsilon^{i_2}\cdots \epsilon^{i_{n-1}}\alpha_n \epsilon^{i_n},$$ where $\alpha_j\in \Sigma$ , $j=1,2,\ldots,n$ .
  4. We say that an $\epsilon$ -automaton $E$ is equivalent to an automaton $A$ if $L(E)=L(A)$ . It is not hard to see that every $\epsilon$ -automaton is equivalent to an automaton (proof here).

Remark. $\epsilon$ -transitions are useful in proving the two properties of regular languages: 1. if two languages are regular, so is their juxtaposition (see proof here), and 2. if a language is regular, so is its Kleene star (see proof here).




"$\epsilon$-transition" is owned by CWoo.
(view preamble | get metadata)

View style:

Other names:  $\epsilon$-automaton, epsilon-automaton, epsilon-transition, automaton with epsilon-transitions
Also defines:  automaton with $\epsilon$-transitions

This object's parent.

Attachments:
every $\epsilon$-automaton is equivalent to an automaton (Definition) by CWoo
Log in to rate this entry.
(view current ratings)

Cross-references: Kleene star, proof, juxtaposition, regular languages, properties, useful, induction, easy to see, monoid homomorphism, occurrences, language, definitions, automata, power, insertions, alphabet, point, consequence, strictly, machine, empty word, implies, transition function, iff, configuration, state, automaton
There are 5 references to this entry.

This is version 17 of $\epsilon$-transition, born on 2008-05-14, modified 2009-09-13.
Object id is 10586, canonical name is EpsilonTransition.
Accessed 2273 times total.

Classification:
AMS MSC68Q45 (Computer science :: Theory of computing :: Formal languages and automata)
 03D05 (Mathematical logic and foundations :: Computability and recursion theory :: Automata and formal grammars in connection with logical questions)

Pending Errata and Addenda
None.
Discussion
Style: Expand: Order:
forum policy

No messages.

Interact
post | correct | update request | add derivation | add example | add (any)