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)
18 videos|69 docs|44 tests

Top Courses for Computer Science Engineering (CSE)

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

1. What are Finite Automata?
Ans. Finite Automata is a mathematical model used to design and analyze digital systems. It is a set of states and transitions, which helps to recognize patterns in input data. They are used in various applications such as pattern recognition, natural language processing, compilers, and computer networks.
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|69 docs|44 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Summary

,

study material

,

Previous Year Questions with Solutions

,

Important questions

,

Free

,

Semester Notes

,

practice quizzes

,

shortcuts and tricks

,

Exam

,

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

,

Objective type Questions

,

mock tests for examination

,

ppt

,

MCQs

,

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

,

pdf

,

video lectures

,

Sample Paper

,

past year papers

,

Extra Questions

,

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

,

Viva Questions

;