Finite Automata

Finite Automata

Finite state Automata or Finite State Machine is the simplest model used in Automata. Finite state automata accepts regular language. In this, the term finite means it has a limited number of possible states, and number of alphabets in the strings are finite. Finite state Automata is represented by 5 tuples or elements (Q, ?, q 0 , F, ?):

Formal Notation used in the representation of Finite Automata

We can represent Finite automata in two ways, which are given below:

  1. Transition diagram

The transition diagram is also called a transition graph; it is represented by a diagraph. A transition graph consists of three things:

  • Arrow (->): The initial state in the transition diagram is marked with an arrow.
  • Circle      :  Each circle represents the state.
  • Double circle      : Double circle indicates the final state or accepting state.
  • Transition Table

It is the tabular representation of the behavior of the transition function that takes two arguments, the first is a state, and the other is input, and it returns a value, which is the new state of the automata. It represents all the moves of finite-state function based on the current state and input. In the transition table, the initial state is represented with an arrow, and the final state is represented by a single circle. Formally a transition table is a 2-dimensional array, which consists of rows and columns where:

  • The rows in the transition table represent the states.
  • The columns contain the state in which the machine will move on the input alphabet.

Types of Finite Automata

Deterministic Finite Automata

DFA is a short form of Deterministic Finite Automata. In DFA, there is one and only one move from a given state to the next state of any input symbol. In DFA, there is a finite set of states, a finite set of input symbols, and a finite set of transitions from one state to another state that occur on input symbol chosen to form an alphabet; there is exactly one transition out of each state.

Formal Notation of Deterministic Finite Automata (DFA):

A DFA contains 5 tuples or elements (Q, ?, ?, q0, F):

Q: It is a collection of a finite set of states.

?: It is a finite set of input symbols called as the alphabet of the automata.

?: It is used for representing the Transition Function. The states of DFA move from one state to another state in response to some inputs by using the transition function. The transition function given by DFA is given below:

Q x ? -> Q

q0: It is used for representing the initial state of the DFA form where any input is processed.

F: It is a collection of a finite set of final states.

Example of DFA

Design a DFA with ? = {0, 1} that accepts those string ending with '01'.

Solution:

L = {01, 010, 110 ……………..} is the language generated.

Q: {q0, q1, q2}, It represents the total number of states

? = {0, 1}

q0 is the initial state

q2 is the final state

Transition diagram

Transition table

Non-Deterministic Finite Automata

NDFA is a short form of Non-Deterministic Finite Automata. In NDFA, there may be more than one move or no move from a given state to the next state of any input symbol. NDFA is a simple machine that is used to recognize the pattern by consuming the string of symbols and alphabets for each input symbol. NDFA differs from DFA in the sense that NDFA can have any number of transitions to the next state from a given state on a given input symbol.

Formal Notation of Non-Deterministic Finite Automata (NDFA):

A NDFA contains 5 tuples or elements (Q, ?, ?, q0, F):

Q: It is a collection of a finite set of states.

?: It is a finite set of input Symbols called the alphabet of the automata.

?: It is used for representing the Transition Function. The states of NDFA move from one state to another state in response to some inputs by using the transition function. The transition function used in NDFA is given below:

?: Q x ? ?2Q

Where 2Q is a power set of Q. In this graph representation of the automata, transition function is represented by arcs between states and the labels on the arcs.

q0: It is used for representing the initial state of the NDFA form where any input is processed.

F: It is a collection of a finite set of final states.

Example of NDFA

Design a NDFA with ? = {0, 1} that accepts those strings starting with '01'.

Solution:

L = {01, 010, 011 ……………..} is the language generated using this language

Q: {q0, q1, q2}

It represents the total number of states

? = {0, 1}

q0 is the initial state

q2 is the final state

Transition diagram

Transition table


Related Topics

Non-deterministic Turing Machine - Automata

A non-deterministic Turing machine (NTM) is a theoretical machine used in computability theory to study the extent to which a machine can "guess" at a solution and yet still be...

4 minutes read.

Conversion of DFA to Regular expression

Conversion of DFA to Regular expression To convert the DFA to Regular Expression (RE), we are going to use a method called converting DFA to regular expression by eliminating states. This...

3 minutes read.

Pumping Lemma for Regular Languages - Automata

Pumping Lemma for Regular Languages The language accepted by the finite automata is called Regular Language. If we are given a language L and asked whether it is regular or not?...

4 minutes read.

Minimization of Finite Automata

Minimization of Finite Automata The term minimization refers to the construction of finite automata with a minimum number of states, which is equivalent to the given finite automata. The number of...

4 minutes read.

Finite Automata with Output

Finite Automata with Output The Finite State machine is similar to Finite Automata, except that it has the additional capacity of producing output. Finite State machine = Finite Automata + Output Capabilities Types...

3 minutes read.

Conversion from NFA to DFA

Conversion from NFA to DFA A Non-deterministic Finite Automata (NFA) is a finite state machine, in which, the move from one state to another is not fully deterministic, i.e., for a...

4 minutes read.

Chomsky's Normal Form - Automata

Chomsky's Normal Form (CNF) In context free grammar, the left-hand side of production rules contains only one variable, and right side may contain any number of variables or terminals in production...

4 minutes read.

Pumping Lemma for Context Free Languages

Pumping Lemma for Context Free Languages The Pumping Lemma is made up of two words, in which, the word pumping is used to generate many input strings by pushing the symbol...

3 minutes read.

Minimization of Finite Automata with Output

Minimization of Finite Automata with Output The method to minimize the Moore and Mealy machine is very much similar to the method that we have used to minimize the DFA. Methods to...

3 minutes read.

Derivation Tree of Context Free Grammar - Automata

Derivation Tree of Context Free Grammar Derivation tree gives a way to show how a string can be derived from context free grammar. It is also called as parse tree, production...

3 minutes read.

Recursive Language and Recursive Enumerable Language

Recursive Language and Recursive Enumerable Language Before discussing Recursive language and Recursive Enumerable language, let us see what Turing machine responds for some input string. If we have the Turing machine T...

4 minutes read.

Automata Tutorial

What is Automata? Automata is a mathematical model and abstract model, which is used to detect string in various languages. In Automata, Regular language is recognized by Finite state AutomataContext Free language...

4 minutes read.

Conversion from Mealy Machine to Moore Machine

Conversion from Mealy Machine to Moore Machine In this topic, we will see different ways that are used for the conversion of Mealy Machine to Moore Machine. Moore Machine The output of Moore...

4 minutes read.

What is Automata Theory?

What is Automata Theory? Automata theory is used to study the abstract machine and automata (the self-acting machine).  Abstract machine is a theoretical model of a computer used in Automata theory. Automata...

4 minutes read.

Finite Automata

Finite Automata Finite state Automata or Finite State Machine is the simplest model used in Automata. Finite state automata accepts regular language. In this, the term finite means it has a...

4 minutes read.

Equivalence of Regular Grammar and Finite Automata

Equivalence of Regular Grammar and Finite Automata Regular Grammar / type -3 grammar A regular grammar or type-3 defines the language called regular language that is accepted by finite Automata.A Regular Grammar...

3 minutes read.

Automata Chomsky Hierarchy

Chomsky Hierarchy Formal languages: A language with precise syntax and semantics are called formal languages. Noam Chomsky has defined the Chomsky hierarchy in 1956. He is an American scientist and philosopher, and...

3 minutes read.

Undecidable Problem of Turing Machine

Automata Undecidable Problem of Turing Machine Undecidable problems areproblems which cannot be solved by any Turing machine. Example: Post Correspondence Problem is the type of undecidable Problem. Post Correspondence Problem Post Correspondence problem is...

7 minutes read.

Automata Regular Expressions

Regular Expressions Regular expressions are also referred as rational expressions, which are used to describe the algebraic description of regular languages. It is generally a sequence of characters that is used...

3 minutes read.

Push down Automata Acceptance

Acceptance of Language by Push down Automata Push down Automata accepts the language, which is called context free language. Push down Automata = Finite Automata + Auxiliary Memory (Stack) Auxiliary Memory helps Push...

3 minutes read.