# Distinguish between non-deterministic, deterministic and Turing Machine computational models?

Let us begin by understanding the concept of deterministic finite automata (DFA) in the theory of computation (TOC).

Deterministic Finite Automaton (DFA)

In DFA, for each info image, one can decide the state to which the machine will move. Henceforth, it is called Deterministic Automaton.

Formal Definition − A Deterministic Finite automata is a 5-tuples

M=(Q, ∑, δ,q0,F)

Where,

• Q − Finite set called states.

• ∑ − Finite set called alphabets.

• δ − Q × ∑ → Q is the transition function.

• q0 ∈ − Q is the start or initial state.

• F − final or accept state.

Non-deterministic finite automata (NDFA)

In NDFA, for a specific info image, the machine can move to any mix of the states in the machine. All in all, the specific state to which the machine moves can't be resolved. Henceforth, it is called a Non-deterministic Automaton.

Formal definition −NDFA also has five states same as DFA, but with different transition function, as shown follows −

δ: Q X ∑ -> 2Q

Where,

• Q − Finite set of states.

• ∑ − Finite set of the input symbol.

• q0 − Initial state.

• F − Final state.

• δ − Transition function.

Non-deterministic pushdown automata (NPDA)

The non-deterministic pushdown automaton is a lot like NDFA. We will talk about some Context Free Grammars (CFGs) which acknowledge the NPDA.

The CFG which acknowledges the deterministic PDA (DPDA) acknowledges the non-deterministic PDAs too. Essentially, there are some CFGs that can be acknowledged simply by NPDA and not by DPDA.

In this manner, NPDA is more impressive than DPDA.

Turing machine

A Turing Machine (TM) is a numerical model that comprises an endless length tape partitioned into cells on which info is given.

Formal Definition

A Turing machine is a 7-tuple (Q, ∑, Γ, δ, q0, qaccept , qreject)

Where,

• Q is a finite set of states.

• ∑ is the input alphabet that does not contain the blank symbol t.

• Γ is the tape alphabet, where t ∈ Γ and ∑ ⊆ Γ.

• δ: (Q × Γ) → (Q × Γ × {L, R}) is the transition function.

• q0 ∈ Q is the start state.

• qaccept ∈ Q is the accept state.

• qreject ∈ Q is the reject state, where qreject ≠ qaccept.

Differences

• Void string advances are not seen in DFA though in NDFA licenses void string changes.

• Backtracking is permitted in DFA and NDFA, backtracking isn't generally conceivable.

• NPDA are more capable than limited state machines and less able than turning machines.

Updated on: 16-Jun-2021

1K+ Views

Get certified by completing the course