Discrete Mathematics/Finite state automata

From testwiki
Jump to navigation Jump to search

Template:Stub

Template:Wikipedia Formally, a Deterministc Finite Automaton (DFA) is a 5-tuple D=(Q,Σ,δ,s,F) where:

  • Q is the set of all states.
  • Σ is the alphabet being considered.
  • δ is the set of transitions, including exactly one transition per element of the alphabet per state.
  • s is the single starting state.
  • F is the set of all accepting states.

For a DFA, δ can be viewed as a function from Q×ΣQ.

Example: Consider the DFA A=({p,q},{a,b},δ,p,{q}) with transitions given by table:

δ a b
p q p
q p q

It is easy to verify that this DFA accepts the input "aaa". Template:Wikipedia

Similarly, the formal definition of a Nondeterministic Finite Automaton is a 5-tuple N=(Q,Σ,δ,s,F) where:

  • Q is the set of all states.
  • Σ is the alphabet being considered.
  • δ is the set of transitions, with ϵ transitions and any number of transitions for any particular input on every state.
  • s is the single starting state.
  • F is the set of all accepting states.

For a NFA, δ can be viewed as a function from Q×(Σ{ϵ})P(Q) where P(Q) is the power set of Q.

Note that for both a NFA and a DFA, s is not a set of states. Rather, it is a single state, as neither can begin at more than one state. However, a NFA can achieve similar function by adding a new starting state and epsilon-transitioning to all desired starting states.

The difference between a DFA and an NFA being the delta-transitions are allowed to contain epsilon-jumps(transitions on no input), unions of transitions on the same input, and no transition for any elements in the alphabet.

For any NFA N, there exists a DFA D such that L(N)=L(D)

Template:Wikipedia

Template:BookCat