An automata is an abstract computing device (or machine). Every automaton consists of some essential features as in a real computer. It has a mechanism for reading input. The input is assumed to be a sequence of symbols over a given alphabet and is placed on an input tape (or written on an input file).


The automata can produce an output of some form. If the output is the response to an input string is binary (say, accept or reject), then it is called an acceptor. If it produces an output sequence in response to an input sequence then it is called a transducer (or automaton with output).

The automaton may have temporary storage consisting of an unlimited number of cells, each capable of holding a symbol from an alphabet (which may be different from the input alphabet). The automaton can both read and change the contents of storage cells in the temporary storage.


Finite Automata: Finite automata have a finite memory but it has no infinite memory.



Machine Comparison in terms of memory 


Finite Automata: Input, Output, CU (no temporary infinite storage)

Push Down Automata: Input, Output, CU (temporary infinite storage in form of the stack)


It is two types: DPDA, NPDA


Linear Bounded Automata: Input, Output, CU (temporary infinite storage in form of tape)


Turing Machine: Input, Output, CU (temporary infinite storage in form of tape)

TM > PDA > FA if TM and PDA go to finite memory then its power goes to like FA.