- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

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 ∑ -> 2^{Q}

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.

- Related Questions & Answers
- Explain about a non-deterministic Turing Machine?
- Difference between Deterministic and Non-deterministic Algorithms
- Distinguish between Finite Automata and Turing Machine
- What is Non deterministic finite automata?
- Can we convert a non-deterministic finite automata into a deterministic finite Automata?
- Explain Non-Deterministic Finite Automata in TOC.
- What is Non-Deterministic Finite Automata (NFA)?
- Explain non-deterministic push down automata in TOC?
- What is Deterministic Routing?
- Distinguish between Machine and operating system virtualization.
- What are the basic computational models?
- Explain if the CFG is recognized by Non-deterministic push down automata
- Explain Deterministic Finite Automata in TOC.
- What is Deterministic Finite Automata (DFA)?
- Differentiate between recognizable and decidable in the Turing machine?

Advertisements