Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE) PDF Download

Part VII. Applications of Finite Automata
Finite automata has several applications in many areas such as

compiler design,
special purpose hardware design,
protocol specification etc..
Some of the applications are explained below:

1. Compiler Design
Lexical analysis or scanning is an important phase of a compiler. In lexical analysis, a program such as a C program is scanned and the different tokens(constructs such as variables, keywords, numbers) in the program are identified. A DFA is used for this operation.
For example, finite automation to recognize the tokens, ’while’ keyword and variables are shown below:


Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE)


The well known lexical analyser tool, Lex uses DFA to perform lexical analysis.

2. Hardware Design
In the design of computers, finite automation is used to design control unit of a computer. A typical sequence of operations of a computer consists of a repretition of instructions and every instruction involves the actions fetch, decode, fetch the operand, and execute. Every state of a finite automation represents a specific stage of instruction cycle.

3. Protocol Specification
A system is composed of an interconnected set of subsystems. A protocol is a set of rules for proper coordination of activities of a system. Such a protocol can be described using finite automations. An example of a bank is ahown below:
Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE)


State 1:
      State 1 represents the entry of a customer.
State 2:
      After he wishes to credit some cash to his account, system is in state 2.
State 3:
      Then the cashier receives cash. It reaches state 3.
State 4:
      Then the cashier updates the acoount and reach the final state 4.
State 5:
      If the customer wants to withdraw cash, he submits the slip ans system reaches state 5.
State 6:
      Then the slip is verified to confirm that he has sufficient balance and reaches state 6.
State 7:
      Then the customer is paid cash and reaches state 7.
State 8:
      Then the customer account is updated and system reaches final state 4 of the transaction.

The document Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Theory of Computation.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
Are you preparing for Computer Science Engineering (CSE) Exam? Then you should check out the best video lectures, notes, free mock test series, crash course and much more provided by EduRev. You also get your detailed analysis and report cards along with 24x7 doubt solving for you to excel in Computer Science Engineering (CSE) exam. So join EduRev now and revolutionise the way you learn!
Sign up for Free Download App for Free
18 videos|70 docs|44 tests

Up next

FAQs on Applications of Finite Automata - Theory of Computation - Computer Science Engineering (CSE)

1. What are Finite Automata?
2. What are the types of Finite Automata?
Ans. The two types of Finite Automata are Deterministic Finite Automata (DFA) and Non-Deterministic Finite Automata (NFA). In DFA, each input has a unique transition, while in NFA, there can be multiple transitions for a single input.
3. What are the applications of Finite Automata?
Ans. Finite Automata has many applications in computer science. It is used in pattern recognition, natural language processing, compilers, and computer networks. It is also used in modeling software systems, designing digital circuits, and analyzing algorithms.
4. What is the difference between DFA and NFA?
Ans. The main difference between DFA and NFA is that DFA has a unique transition for each input, while NFA can have multiple transitions for a single input. DFA is more efficient than NFA in terms of time and space complexity. NFA is more flexible and can recognize a wider range of languages.
5. How are Finite Automata used in Natural Language Processing?
Ans. Finite Automata is used in Natural Language Processing to recognize patterns in text. It is used to build language models, part-of-speech taggers, and text classifiers. It can also be used to generate text and for sentiment analysis.
18 videos|70 docs|44 tests
Download as PDF

Up next

Explore Courses for Computer Science Engineering (CSE) exam
Related Searches

Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE)

,

Semester Notes

,

ppt

,

study material

,

video lectures

,

practice quizzes

,

Sample Paper

,

Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE)

,

Free

,

shortcuts and tricks

,

Extra Questions

,

Exam

,

Previous Year Questions with Solutions

,

mock tests for examination

,

Objective type Questions

,

past year papers

,

Important questions

,

pdf

,

Viva Questions

,

MCQs

,

Summary

,

Applications of Finite Automata | Theory of Computation - Computer Science Engineering (CSE)

;