Nondeterministic finite state machine/Proofs

Nondeterministic finite state machine/Proofs

Theorem

" For every NFA, there exists an equivalent DFA"

Let M = (S,, Sigma ,, T,, s_{0},, A) be an NFA that recognizes some language , L

:Construct a DFA M' = (S',, Sigma ',, T',, s_{0}',, A') defined as follows:

:, S' = P(S)

:, Sigma ' = Sigma

:, T': S' imesSigma ' ightarrow S' such that forall Rin S', xinSigma ', T'(R,x) = igcuplimits_{rin R}E(T(r,x))

:, s_{0}' = E({s_{0}})

:, A' = { Rin S' : Rcap A eq phi }

:Let , w = x_{1}x_{2}cdots x_{n}in L where x_{1}, x_{2},cdots x_{n}inSigma

:Since , M recognizes , L, exists r_{0}, r_{1}, r_{2},cdots r_{n}in S such that

:, r_{0}in E({s_{0}})

:, r_{i+1}in E(T(r_{i}, x_{i+1})) i = 0, 1, cdots n-1

:, r_{n}in A

, Let r_{0}' = s_{0}' = E({s_{0}})

:, r_{1}' = T'(r_{0}', x_{1}) = igcuplimits_{rin r_{0}'}E(T(r, x_{1}))

:, r_{2}' = T'(r_{1}', x_{2}) = igcuplimits_{rin r_{1}'}E(T(r, x_{2}))

:, vdots

:, r_{n}' = T'(r_{n-1}', x_{n}) = igcuplimits_{rin r_{n-1}'}E(T(r, x_{n}))

:It can be proved by induction that , r_{n}in r_{n}'

:Obviously, , r_{0}in r_{0}' because , r_{0}' = E({s_{0}})

:Assume , r_{k}in r_{k}'

:, r_{k+1}in E(T(r_{k}, x_{k+1}))Rightarrow r_{k+1}in igcuplimits_{rin r_{k}'}E(T(r, x_{k+1}))Rightarrow r_{k+1}in r_{k+1}'

:Hence, we have proved that , r_{n}in r_{n}'cap A

:Therefore, , r_{n}'in A'

Comment

The idea of Powerset construction was originally derived from this proof idea.

References

* Michael Sipser, "Introduction to the Theory of Computation" ISBN 0-534-94728-X. "(See . Theorem 1.19, section 1.2, pg. 55.)"


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Turing machine — For the test of artificial intelligence, see Turing test. For the instrumental rock band, see Turing Machine (band). Turing machine(s) Machina Universal Turing machine Alternating Turing machine Quantum Turing machine Read only Turing machine… …   Wikipedia

  • List of computability and complexity topics — This is a list of computability and complexity topics, by Wikipedia page. Computability theory is the part of the theory of computation that deals with what can be computed, in principle. Computational complexity theory deals with how hard… …   Wikipedia

  • Halting problem — In computability theory, the halting problem can be stated as follows: Given a description of a computer program, decide whether the program finishes running or continues to run forever. This is equivalent to the problem of deciding, given a… …   Wikipedia

  • Algorithm characterizations — The word algorithm does not have a generally accepted definition. Researchers are actively working in formalizing this term. This article will present some of the characterizations of the notion of algorithm in more detail. This article is a… …   Wikipedia

  • Computational complexity theory — is a branch of the theory of computation in theoretical computer science and mathematics that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. In this context, a… …   Wikipedia

  • P versus NP problem — Unsolved problems in computer science Is P = NP ? …   Wikipedia

  • P = NP problem — The relationship between the complexity classes P and NP is an unsolved question in theoretical computer science. It is considered to be the most important problem in the field – the Clay Mathematics Institute has offered a $1 million US prize… …   Wikipedia

  • ω-automaton — In automata theory, a branch of theoretical computer science, an ω automaton (or stream automaton) is a deterministic or nondeterministic automaton that runs on infinite, rather than finite, strings as input. Since ω automata do not stop, they… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”