This is an old revision of the document!


Deterministic automata

In the last lecture, we have shown that, for each regular expression $ e$ , we can construct an NFA $ M$ , such that $ L(e) = L(M)$ .

While NFAs are a computational instrument for establishing acceptance, they are not an ideal one. Nondeterminism is difficult to translate per. se. in a programming language.

Suppose we enforce the following restriction on the transition relation $ \Delta$ : * $ \Delta : K \times \Sigma \rightarrow K$ , * the function $ \Delta$ is total (i.e. it is defined for all possible values in its input).

Thus:

  • each transition must occur on a symbol,
  • exactly one transition is possible for each state-symbol combination

Definition (DFA):

A Deterministic Finite Automata is an NFA, where $ \Delta : K \times \Sigma \rightarrow K$ is a total function. In what follows, we write $ \delta$ instead of $ \Delta$ to refer to the transition function of a DFA.

Definition (Configuration):

The configuration of a DFA is an element of $ K\times\Sigma^*$ .

Definition (One-step move):

We call $ \vdash_M \subseteq (K\times \Sigma^*) \times (K\times \Sigma^*)$ a one-step move relation, over configurations. The relation is defined as follows:

  • $ (q,w) \vdash_M (q',w')$ iff $ w=cw'$ for some symbol $ c$ of the alphabet, and $ \delta(q,c)=q'$

We write $ \vdash_M^*$ to refer to the reflexive and transitive closure of $ \vdash_M$ . Hence, $ (q,w)\vdash_M^*(q',w')$ means that DFA $ M$ can reach configuration $ (q',w')$ from configuration $ (q,w)$ is zero or more steps.

Definition (Acceptance):

We say a word $ w$ is accepted by a DFA $ M$ iff $ (q_0,w)\vdash_M^*(q,\epsilon)$ and $ q\in F$ ($ q$ is a final state).

Example(s)

Let $ M=(K,\Sig ma, \Delta, q_0, F)$ be an NFA. We assume $ M$ **does not contain transitions on words of length larger than 1**. If $ (q,w,q')\in\Delta$ for some $ w=c_1\ldots c_n$ of size 2 or more, we construct intermediary states $ q^1, \ldots, q^{n+1}$ as well as transitions $ (q^1,c_1,q^2), \ldots (q^n,c_n,q^{n+1})$ , where $ q=q^1$ and $ q'=q^n$

We denote by $ E_M(q) = \{p\in K\mid (q,\epsilon)\vdash^*_M (p,\epsilon)\}$ , the $ \epsilon$ -closure of state $ q$ . In effect $ E_M(q)$ contains all states reachable from $ q$ via $ \epsilon$ -transitions. When the automaton $ M$ is understood from the context, we omit the subscript and simply write $ E(q)$ .

We build the DFA $ M'=(K',\Sigma, \delta, q_0', F')$ as follows:

  • $ K'=2^{K}$ - each state of $ M'$ is a subset of states from the NFA. It may be the case that some such states are not reachable, hence we shall ignore them from our construction;
  • $ q_0' = E(q_0)$
  • $ \delta(Q,c) = \displaystyle \cup_{q\in Q, (q,c,q')\in\Delta} E(q')$ - a transition from $ Q$ on symbol $ c$ ends in the reunion of all $ \epsilon$ -closures of states in $ M$ reachable from some member of $ Q$ on symbol $ c$ .
  • $ F'=\{Q\subseteq K'\mid Q \cap F \neq\emptyset\}$ - a state is final in $ M'$ iff it contains

some final state in $ M$ .

Proposition (1):

For all $ q,p$ , $ (q,w)\vdash^*_M (p,\epsilon)$ iff $ (E(q),w)\vdash^*_{M'}(P,\epsilon)$ with $ p\in P$ .

The proposition states that, for each path in NFA $ M$ starting on $ q$ which consumes word $ w$ (hence ends up in configuration $ (p,\epsilon)$ ), there is an equivalent path in the DFA $ M'$ , which starts in the $ \epsilon$ -closure of $ q$ and ends in some state $ P$ which contains $ p$ — and vice-versa.

Proposition 1 is essential for proving the following result:

Let $ M'$ be a DFA constructed from NFA $ M$ according to the above rules. Then $ L(M)=L(M')$ . </blockquote>

Proof:

The languages of the two machines coincide if, for all words: $ w\in L(M)$ iff $ w\in L(M')$ , thus:

  • $ (q_0,w)\vdash^*_M (p,\epsilon)$ with $ p\in F$ iff $ (E(q_0),w)\vdash^*_{M'}(P,\epsilon)$ with $ p\in P$ .

The above statement follows immediately from Proposition 1, where:

  • $ q$ is the initial state of $ M$
  • $ p$ is some final state of $ M$

as well as from the definition of $ F'$ .

We now turn to the proof of Proposition 1:

Proof:

The proof is by induction over the length of the word $ w$ .

Basis step: $ \mid w\mid=0$ that is $ w=\epsilon$

  • direction $ \implies$ :
    1. Suppose $ (q,\epsilon) \vdash^*_M(p,\epsilon)$ .
    2. From the definition of $ E$ and 1., we have that $ p\in E(q)$ .
    3. Since $ \vdash^*_{M'}$ is reflexive, we have $ E(q)=P$ .
    4. From 2. and 3. we have $ E(q),\epsilon)\vdash^*_{M'}(P,\epsilon)$ with $ p\in P$ .
  • direction $ \impliedby$ :
    1. Suppose $ (E(q),\epsilon) \vdash^*_{M'} (P,\epsilon)$
    2. Since $ \delta$ does not allow $ \epsilon$ -transitions (and $ \vdash^*_{M'}$ is reflexive), it follows that $ E(q)=P$ .
    3. By the definition of $ E$ , we have that $ (q,\epsilon)\vdash^*_{M}(p,\epsilon)$ for any $ p\in E(q)$ .

Induction hypothesis: suppose that the claim is true for all strings w such that $ $ for $ k\geq0$ Induction step: we prove for any string $ w$ of length $ k+1$ ; let $ w'=wa$ (hence $ a$ is the last symbol of $ w'$ ). * direction $ \implies$ : - Suppose $ (q,wa)\vdash^*_{M} (p,\epsilon)$ . - By the definition of $ \vdash^*$ , we have: $ (q,wa)\vdash^*_{M} (r_1,a) \vdash_{M} (r_2,\epsilon)\vdash^*_{M} (p,epsilon)$ . In words, there is a path from $ q$ which takes us to $ r_1$ by consuming $ w$ , then to $ r_2$ via a one-step transition, then to $ p$ in zero or more $ \epsilon$ -transitions. Notice that $ p$ may be equal to $ r_2$ , which is taken into account since $ \vdash^*_{M}$ is reflexive. - By the construction of $ \vdash^*_{M}$ , we also have $ (q,w)\vdash^*_{M}(r_1,\epsilon)$ - From 3. by induction hypothesis, we have $ (E(q),w)\vdash^*_{M'}(R_1,\epsilon)$ with $ r_1 \in R_1$ - By construction of $ \vdash^*_{M'}$ , we have $ (E(q),wa)\vdash^*_{M'}(R_1,a)$ - Since $ (r_1,a) \vdash_{M} (r_2,\epsilon)$ , by the definition of $ \delta$ , we have $ (R_1,a)\vdash_{M'}(R_2,\epsilon)$ and $ E(r_2)\subseteq R_2$ . Also, $ r_2\in E(r_2)$ . - By the definition of $ E$ (and $ (r_2,\epsilon)\vdash^*_{M} (p,epsilon)$ ), also $ p \in E(r_2)$ . - In effect, from 5. and 7. we have shown that $ (E(q),wa)\vdash^*_{M'}(R_1,a)\vdash_{M'}(R_2,\epsilon)$ with $ p\in R_2$ , which concludes our proof. * direction $ \impliedby$ : - Suppose $ (E(q),wa)\vdash^*_{M'}(P,\epsilon)$ . - Since no $ \epsilon$ -transitions are allowed in a DFA, we must have: $ (E(q),wa)\vdash^*_{M'}(R,a)\vdash_{M'}(P,\epsilon)$ . - By construction of $ \vdash^*_{M'}$ : $ (E(q),w)\vdash^*_{M'}(R,\epsilon)$ . - By induction hypothesis**, $ (q,w)\vdash^*_{M}(r,\epsilon)$ , with $ r\in R$ .

  1. By construction of $ \vdash^*_{M}$ : $ (q,wa)\vdash^*_{M}(r,a)$ .
  2. Since $ (R,a)\vdash_{M'}(P,\epsilon)$ , by the definition of $ \delta$ , for some $ r\in R$ , $ (r,a,x)\in\Delta$ and $ E(x)\subseteq P$ .
  3. From 6. $ (q,wa)\vdash^*_{M}(r,a)\vdash_{M}(x,\epsilon)$ with $ x\in E(x)\subseteq P$ which completes our proof.