0% found this document useful (0 votes)
19 views83 pages

Unit 1-Theory of Computation

The document outlines the course objectives and outcomes for the Theory of Computation course at MIT-WPU, focusing on automata theory, formal languages, and computational models. It includes details on important textbooks, lecture topics, and basic definitions related to automata, including finite automata and their applications. Additionally, it emphasizes the importance of understanding computability and complexity theory in the context of computational problems.

Uploaded by

riyasshelke824
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views83 pages

Unit 1-Theory of Computation

The document outlines the course objectives and outcomes for the Theory of Computation course at MIT-WPU, focusing on automata theory, formal languages, and computational models. It includes details on important textbooks, lecture topics, and basic definitions related to automata, including finite automata and their applications. Additionally, it emphasizes the importance of understanding computability and complexity theory in the context of computational problems.

Uploaded by

riyasshelke824
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 83

MIT-WPU

T.Y. B.Tech

Theory of Computation
(CET2008B)

1/7/2024 1
Course Objective & Course Outcomes
• Course Objectives:
By participating in and understanding all facets of this Course a student will be able:
1. To learn Automata theory, Regular Expression from the perspective of formal
languages
2. To learn Context Free Grammar, Pushdown Automata, Turing Machine and
Complexity Theory
3. To Aquent with various applications of Automata Theory
4. To realize Industry relevance of Automata
5. To apply automata theory concepts in design and c implementation of Compilers.
6. To apply automata theory concepts in various domains.
• Course Outcomes:
After successful completion of this course students will be able:
1. To construct Finite Automata to solve problems in computing
2. To build regular expressions and understand regular language
3. To construct context-free grammar and Push Down Automata
4. To design computational models and classify the problems of decidability

1/7/2024 2
Text Books & Reference Books
• Text Books
1. Vivek Kulkarni, Theory of Computation, Oxford University
Press, ISBN-13: 978-0-19-808458-7
2. K.L.P Mishra, N. Chandrasekaran, Theory of Computer Science
(Automata, Languagesand Computation), Prentice Hall India,
2nd Edition.

• Reference Books
1. Introduction to the Theory of Computation, Michael Sipser.
2. Introduction to Languages and the Theory of Computation, John Martin.
3. Computers and Intractability: A Guide to the Theory of NP Completeness,
M. R. Garey and D. S. Johnson

1/7/2024 3
Important Instructions
• Be ready Be Attentive

• Keep a separate notebook for TOC

• Add your profile picture and use only MITWPU email-id for TOC communications and
submissions.

• Basic Instructions:
⮚Submission of Theory Assignments and relevant components on Ruled pages

⮚Before uploading label your pages with your Rollno., Name, Component Name.

⮚Upload pdf with name :ComponentName_FirstNameLastname

⮚You maybe asked to keep your video ON anytime during the Sessions.

1/7/2024 4
Unit I
• Introduction to Automata: Computability and Complexity theory:
• Concepts of Automata Theory: Alphabet, languages and grammars, productions
and derivation,
• Introduction to Finite Automata,
• Simplified notation: State transition graph, Transition table, Acceptance of a
string, Acceptance of a Language,
• Deterministic finite Automata: (DFA)-Formal Definition,
• Non Deterministic Finite Automata(NFA)-Formal Definition,
• Non-Deterministic Finite Automata (NFA) with epsilon transition, Equivalence
of NFA and DFA, Conversion from NFA to DFA, Conversion from NFA with
epsilon transition to DFA, Minimization of finite automata.
• Finite Automata with output : Moore and Mealy Machine, Moore to Mealy
conversion, Mealy to Moore conversion

1/7/2024 5
Planner - Lectures
Lecture No Topics Covered
1 Introduction to TOC, Introduction to Automata: Computability and Complexity theory,
Basic concepts: Alphabet, languages and grammars, productions and derivation

2 Introduction to FA, State transition graph, Transition table, Acceptance of a string,


Acceptance of a Language,
3 DFA -Formal Definition, NFA-Formal Definition, NFA with epsilon transition,
Equivalence of NFA and DFA
Topics
4 Conversion from NFA to DFA
5 Conversion from NFA to DFA (cont), Conversion from NFA with epsilon transition to
DFA
6 Conversion from NFA with epsilon transition to DFA (cont)
7 Minimization of FA
8 Applications and Limitations of FA.

9 Finite Automata with output : Moore and Mealy Machine, Moore to Mealy conversion

10 Mealy to Moore conversion

1/7/2024 6
About TOC
• Course is about models of computation, their power, and relationships.
• Hierarchy of models of increasing power:
-DFA < PDA < TM.
For each model, we study:
-What can be computed.
-What cannot be computed.

• Automata theory is the study of abstract computing devices or


“machines”

1/7/2024 7
History of TOC

• 1930-45: Alan Turing studied Turing machine


Describe boundary between what a computing machine could do and
what it could not do
• 1940-50: Researchers studies Finite Automata
• Late 1950s: N. Chomsky studied formal
“Grammars”
• 1969-70: S. Cook extended Turing’s study
Separated problems that can be solved efficiently by computers and the
problems that can be solved theoretically, but takes so much time by
computers to solve

1/7/2024 8
Complexity theory and
Computability theory
- Computability theory is concerned with what can be computed
versus what cannot.

- Complexity theory is concerned with the resources required to


compute the things that are computable.

- Computability is about what can be computed.

- Complexity is about how efficiently can it be computed.

1/7/2024 9
Automata theory

• The study of abstract 'mathematical' machines or systems and the


computational problems that can be solved using these machines.

• These abstract machines are called automata.

• Automata theory is also closely related to formal language theory, as the


automata are often classified by the class of formal languages they are
able to recognize.

• An automaton can be a finite representation of a formal language that


may be an infinite set.

• Automata are used as theoretical models for computing machines, and are
used for proofs about computability.

1/7/2024 10
Basic Definitions

• Difference Between Formal Language and Natural Language


Formal Language Natural Language
1. All the rules are stated explicitly 1. Not necessarily rules to be
stated explicitly. It is a
medium of communication.

2. Considered as Symbols on papers 2. Expressions of ideas in Natural way.

3. In formal Languages we are 3. We are interested in Meaning


interested in the form of strings than only strings.
of symbols and not meaning

1/7/2024
11
Basic Definitions
• Alphabet - a finite set of symbols.
✓ An alphabet is a finite set of symbols. These symbols are the basic elements
from which strings are formed.
✓ In the context of automata theory, an alphabet is used to define the input and
output symbols for a machine or a formal language.
✓ Notation: Σ .
✓ E.g.: Binary alphabet {0,1},
English alphabet {a,...,z,!,?}

• String over an alphabet Σ - a finite sequence of symbols from Σ.

E.g: 0100 is a string over the binary alphabet.


a!? is a string over the English alphabet.

1/7/2024 12
Basic Definitions (cont…)
• Languages:
✓ In automata theory, a language is a set of strings over a given alphabet.
✓ Languages can be classified into various types, such as regular languages,
context-free languages, context-sensitive languages, and recursively
enumerable languages, based on the complexity of the rules defining
them.
• Language over alphabet Σ - a set of strings over Σ.
Notation: L.
E.g:{0, 00, 000, ...} is an "infinite" language over the binary alphabet.
{a, b, c} is a "finite" language over the English alphabet.
• Empty Language: Empty set of strings.
Notation: Ф

1/7/2024 13
Basic Definitions (cont…)
• Regular Language- a finite set of symbols.
L is called regular Language if there is some automaton that accepts L.
E.g.Σ* , Even length of strings, strings containing abba are regular Languages.

• Empty string: e or ε denotes the empty sequence of symbols.

• Grammars:
✓ A grammar is a set of production rules that describe how strings from a
language can be generated.
✓ Formal languages are often defined by grammars. Different types of
grammars are used to generate different classes of languages.

1/7/2024 14
Basic Definitions (cont…)
• Productions:
✓ Productions are the rules in a grammar that specify how symbols can be replaced by
other symbols or strings.
✓ In the context of context-free grammars, a production typically takes the form of a
non-terminal symbol being replaced by a sequence of terminal and/or non-terminal
symbols.
• Derivation:
✓ Derivation is the process of applying production rules to generate strings in a
language.
✓ Starting with an initial symbol, successive applications of production rules lead to
the generation of strings in the language defined by the grammar.

1/7/2024 15
Basic Machine and Finite State
Machine

• Basic Machine:
• A machine that recognizes input set I and produces
output set O,
where I & O are finite.
• Machine Function(MAF): I-> O
• Deals with what output is generated, not how output
is generated

E.g.: Switch

1/7/2024 16
Basic machine
It is the most primitive machine with a set of inputs I and set of output O.
E.g. AND,OR,NOR… gates , Vending machine, Decimal to binary converter,
Electric fan…
Weighing machine : I/p- Coin
O/p- Printed weight ticket
It just maps input set to output set.
Mapping function is called Machine function MAF I -> O

E.g.for AND gate MAF:


I O
(0,0) 0

(0,1) 0

(1,0) 0

(1,1) 1

Limitations:
Cannot remember the intermediate states.

1/7/2024 17
Finite State machine(FSM)
In FSM the internal state of machine changes when it
receives I/P.
It has a pair of functions:
Machine Fn MAF : I x S -> 0

State Fn STF : I x S -> S

Where S: finite or internal state of machine


I: set of i/p symbols
O: set of o/p symbols

For a given i/p there will be always only one final state.

e.g. Binary Adder, Divisibility by 3 tester..

1/7/2024 18
Finite Automata

• 5-tuple:
• M= (Q,Σ, 𝛿, qo, F)
where,
• Q: Finite set of states
• Σ: Finite input alphabet
• 𝛿: STF that maps Q X Σ to Q, i.e. Q X Σ Q
• qo: Initial state of FA, qo ∈ Q
• F: Set of final states, F ⊆ Q

1/7/2024 19
Finite Automata (cont…)
Input

String

Output

Finite
Automaton Accept/Reject

1/7/2024 20
Block diagram of FA
0 0 1 Input Tape

Tape Head
Finite Control
q0

• Tape is divided into units ,each containing one


symbol of the i/p string from Σ.
• Read the current letter of input under the tape head.
• Transit to a new state depending on the current input
and the current state, as dictated by the transition
function δ(qi,a)=qj.
• Halt after consuming the entire input.

1/7/2024 21
Acceptance of a String

• A string ‘x’ is said to be accepted by an FA


(given by):

M= (Q,Σ, 𝛿, qo, F)
if 𝛿 (qo,x) = p,

for some p ∈ F (i.e. p is a member of F)

1/7/2024
22
Acceptance of a Language

• If there is a language L such that:

L = {x | 𝛿 (qo,x) = p, for some p ∈ F},


Then it is said to be accepted by the FA, M

1/7/2024
23
Finite Automata (cont…)

• Finite number of states


• No memory to store intermediate results
• Limited power due to lack of memory
• Input string is considered to be accepted, if the FA resides in any
of the final states
• Input string is considered to be rejected, if the FA resides in any
of the non-final states

1/7/2024
24
Preferred Notation for FA

❑Transition Diagram

❑Transition Table

1/7/2024 25
Transition Diagram

Transition diagram for FA(Q,Ʃ,q0,F,δ) is a graph


defined as:
⮚For each state there is a node.
⮚For each state q in Q and for input symbol in Ʃ .
let δ(q,a)=p then a
q p

q0
⮚There is arrow into start state.
qf

⮚Final states marked by double circle.


1/7/2024 26
Transition Table
• Transition table is a conventional, tabular representation of a
function like δ(delta) that takes two arguments and return a state.
• The rows of the table correspond to the states, and the columns
correspond to the input.
• The entry for one row corresponding to the states q and the
column corresponding to the input a is the state δ (q,a)
for example:
0 1
q0 q2 q0
q1 q1 q1
q2 q2 q1
1/7/2024 27
Deterministic Finite Automata
• An FA is said to be deterministic, if for every state there is a
unique input symbol, which takes the state to the required next
unique state

• Given a state Sj, the same input symbol does not cause the FA to
move into more than one state-there is always a unique next state
for an input symbol
0
0
S0 S1

1 1

0 S2

1/7/2024 28
Designing FA

• Accept strings consisting of a & b, that has at


least one ‘a’
i)Min string :a
ii)∑ ={a,b}
b

a
q0 q1 a,b

1/7/2024 29
Finite Automata Example
FA for language over {1,0} in which every string ends
with 10.
0
1

1 0
Q0 Q1 Qf

0 1

1/7/2024 30
Deterministic finite automata
(D.F.A)- Formal definition
▪ A deterministic finite automaton M is a 5-tuple, (Q, Σ, δ, q0, F)
consisting of-
• a finite set of states (Q)
• a finite set of input symbols called the alphabet (Σ)
• a transition function (δ : Q × Σ → Q)
• a start state (q0∈ Q)
• a set of accept states (F ∈ Q)
▪ Let w = a1a2 ... an be a string over the alphabet if a sequence of
states, r
▪ r0 = q0
▪ ri+1 = δ(ri, ai+1), for i = 0, ..., n-1
▪ rn∈ F.
1/7/2024 31
FA(DFA & NFA) Examples
1. Construct a FA to recognize language containing strings starting
with ‘10’
2. Construct a FA to recognize language containing strings ending
with ‘101’
3. Construct a FA to recognize language of strings with exactly two
0s anywhere
4. Construct a FA to recognize language containing strings starting
with ‘a’
5. Construct a FA to identify string containing even number of ‘a’s
over ∑ ={a}
1/7/2024
32
Non-Deterministic Finite Automata

• NFA has the power to be in several states at once

• Each NFA accepts a language that is also accepted by some DFA

• NFAs are often easier than DFAs

• We can always convert an NFA to a DFA, but the latter may have exponentially
more states than the NFA (a rare case)

• The difference between the DFA and the NFA is the type of transition function δ

• For a NFA δ is a function that takes a state and input symbol as arguments
(like the DFA transition function), but returns a set of zero or more states
(rather than returning exactly one state, as the DFA must)

1/7/2024 33
NFA Definition
• 5-tuple:
• M= (Q,Σ, 𝛿, qo, F)
where,
• Q: Finite set of states
• Σ: Finite input alphabet
• 𝜹: STF that maps Q X 𝜮 to Q, i.e. Q X 𝜮 2Q
• (Here the power set of Q (2Q) has been taken because
in case of NDFA, from a state, transition can occur to
any combination of Q states)
• qo: Initial state of FA, qo ∈ Q
• F: Set of final states, F ⊆ Q

1/7/2024 34

1/7/2024 34
Example : pair of 0’s or pair of 1’s
0/1 0/1
Q = {q0, q1, q2 , q3 , q4}
Σ = {0, 1} 0 0 q4
Start state is q0 q0 q3
F = {q2, q4}
1 0/1
δ: 0 1
q0 {q0, q3} {q0, q1} 1
q1 q2

q1 {} {q2}

{q2} {q2}
q2
q3 {q4} {}

{q4} {q4}
q4

1/7/2024 35
NFA

1/7/2024 36
NFA Examples

1. Construct a FA to recognize language containing strings starting


with ‘10’
2. Construct a FA to recognize language containing strings ending
with ‘101’
3. Construct a FA to recognize language of strings with exactly two
0s anywhere
4. Construct a FA that recognizes the language of strings that end in
01

1/7/2024
37
NFA

Example: NFA that recognizes the language of strings that end


in 01
0,1

1
q0 0 q1 q2

1/7/2024 38
Equivalence of NFA and DFA
For every NFA, there exists an equivalent DFA.
NFA and DFA have equal powers
• Example: NFA vs DFA

Example NFA Equivalent DFA

Identify the language

1/7/2024 39
Conversion of NFA to DFA
(Method I)

• For every NFA, there is an equivalent DFA


• Let us consider Q’= 2Q, set of states for resulting DFA
Q’ X 𝜮 Q’
• Find all transitions from every state in Q’ on reading
each input symbols
• Every combination of states can be considered as a new
state in the resulting DFA and can be given a new label

1/7/2024 40
Conversion of NFA to DFA
(Method I) (Cont..)

• In the resulting DFA, there should be a unique state resulting


from an input to the previous state
• The initial state remains unchanged for the resultant DFA
• All possible subsets of Q (i.e. 2Q) are the possible states
for the resultant DFA
• Final state in resulting DFA is all the states
containing final state of given NFA

1/7/2024 41
Conversion of NFA to DFA
(Method I) (Cont..)
Example:
Convert the NFA : M = ({q0, q1}, {0, 1}, 𝛿, q0,
{q1}) to its equivalent DFA
State Transition Table 𝜹 for example NFA
0 1

0,1
q0 q1

1/7/2024 42
Conversion of NFA to DFA
(Method I) (Cont..)

State Transition table for resultant NFA State Transition Graph for resultant NFA

1/7/2024 43
Conversion of NFA to DFA
(Method II)

• Easier and direct


• Takes lesser number of steps and time to build
an equivalent DFA
• Instead of considering the set Q’=2Q and then
removing non-required states, consider only
those states that are required

1/7/2024 44
Conversion of NFA to DFA
(Method II) (Cont..)

• Start building an equivalent DFA with the


transition diagram of given NFA
• Find the transition, one state at a time
• If the next state of a given transition is a new
combination, add that to the set of states for
the resultant DFA

1/7/2024 45
Conversion of NFA to DFA
(Method II) (Cont..)

• Example:
– Convert the NFA: M = ({q0, q1}, {0, 1}, 𝛿, q0,
{q1}) to its equivalent DFA
State Transition Table 𝜹 for example NFA Transition Graph for example NFA

1/7/2024 46
Conversion of NFA to DFA
(Method II) (Cont..)
DFA construction from the given NFA:
(a) Step 1 (b) Step 2 (c) Step 3 (d) Step 4 (e)Final DFA

1/7/2024 47
DFA Minimization
• Identify equivalent states and keep any one of them.

• Replace remaining states by that one.

• Identify unreachable states and remove them

• Identify dead (or trap) states and remove them

1/7/2024 48
DFA Minimization (cont..)
• Equivalent states:
– go to same next state on reading the same input
symbol
– same type (final or non-final)
• Unreachable states:
– Can not be reached from initial state on reading any
input symbol
• Dead (or Trap) states:
– Have no outgoing transitions, except to themselves
1/7/2024 49
DFA Minimization Rules

• One non-final state can be replaced by its equivalent


non-final state only

• One final state can be replaced by its


equivalent final state only

• Initial state can not be replaced by any other state

• One final state can not be replaced by a non- final state


or one non-final state can not be replaced by a final state

1/7/2024 50
DFA Minimization Rules (cont…)
• Replacing state A by state B means deleting all entries related to state A
i.e. deleting all the transitions for state A from the state transition table.

• If more equivalent states are found after applying all the rules,
repeat the same five steps to further reduce the DFA.

Example

𝜮 0 1
Q
p p,q p

q r r

r s -

s s s

1/7/2024 51
DFA Minimization (cont…)
State Transition Table of the DFA to be minimized

1/7/2024 52
DFA Minimization (cont…)
Minimized DFA

1/7/2024 53
DFA Minimization (cont…)
Further minimized DFA

1/7/2024 54
NFA with 𝜀 − Transitions

• 5-tuple:
• M= (Q,Σ, 𝛿, qo, F) where,
• Q: Finite set of states
• Σ: Finite input alphabet
• 𝜹: STF that maps Q x (𝜮∪ { 𝜺} ) to 2Q
i.e. Q X (𝜮 ∪{𝜺 }) 🡪 2Q

• qo: Initial state of FA, qo ∈ Q


• F: Set of final states, F ⊆ Q

1/7/2024 55
NFA with 𝜀 − Transitions (cont..)

• Example:
Transition Graph for example NFA with 𝛆 − 𝐭𝐫𝐚𝐧𝐬𝐢𝐭𝐢𝐨𝐧𝐬

1/7/2024 56
NFA with ℇ moves Example

1/7/2024 57
NFA with 𝜀 − Transitions (Examples)

• Example:
Transition Graph for example NFA with 𝛆 − 𝐭𝐫𝐚𝐧𝐬𝐢𝐭𝐢𝐨𝐧𝐬

1/7/2024 58
NFA with 𝜀 − Transitions
(Examples)
• Example:
Convert the NFA with 𝜀 −transitions given in the figure to its equivalent DFA
State Transition table for example NFA with State Transition Graph for example NFA
𝛆 −transitions with 𝛆 −transitions

59
1/7/2024
NFA with 𝜀 − Transition (Examples)

• Example:
Transition Graph for example NFA with 𝛆 − 𝐭𝐫𝐚𝐧𝐬𝐢𝐭𝐢𝐨𝐧𝐬

1/7/2024 60
Significance of NFA with
𝜀 − Transitions
• Helps to split complex language acceptance problems into smaller
once.
• Solution to these problems can be integrated with the help of ϵ -
transition.
• Concatenation ,parallel path can be connected with the ϵ -
transition.

1/7/2024 61
C Conversion of NFA with
𝜀 − Transitions to DFA
• Indirect Conversion Method
• Direct Conversion Method
NFA with 𝜀 moves

Indirect Method
Direct Method
NFA without 𝜀
moves

Indirect Method Direct Method

Equivalent DFA

1/7/2024 62
Indirect Conversion Method

1. Construct the NFA without 𝜀 − 𝑡𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛𝑠 from the given


NFA with 𝜀 − move.

2. Construct an equivalent DFA with this newly constructed NFA


without 𝜀 − 𝑡𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛𝑠 (using existing methods)

1/7/2024 63
Indirect Conversion Method (cont…)

• 𝜀-closure of a state:
• Set of all states p, such that there is a path from state q to
state p labeled ‘𝜀’, is known as 𝜀-closure (q)
• Set of all the states having distance zero from state q
• Every state is at distance zero from itself
• Denoted by 𝛿^

1/7/2024 64
Indirect Conversion Method (cont…)

• Example:
Convert the NFA with 𝜀 −transitions given in the figure to its equivalent
DFA
State Transition table for example NFA with State Transition Graph for example NFA
𝛆 −transitions with 𝛆 −transitions

1/7/2024 65
Indirect Conversion Method (cont…)

1. Conversion of NFA with 𝜀 −transitions to


NFA without 𝜀 −transitions:
State Transition Graph for NFA without 𝛆-transitions

State Transition Table for NFA without 𝛆-transitions

1/7/2024 66
Indirect Conversion Method (cont…)

2. Conversion of NFA without 𝛆 −transitions to an equivalent DFA:


Step 1 (b) Step 2 (c) Final DFA

1/7/2024 67
Indirect Conversion Method (cont…)
2. Conversion of NFA without 𝛆 −transitions to an equivalent DFA:
State Transition table for the equivalent DFA Reduced State Transition table for the
equivalent DFA

1/7/2024 68
Direct Conversion Method
• Begin with the initial state
• Go on adding the states as & when required to the diagram
• Follow the same process until there exists no state without
having the transitions specified
• Each state label consists of:
• Name of state label
• Combination of all the state symbols, which are reachable
from the given state
• Start building an equivalent DFA with the transition diagram of
given NFA
• Find the transition, one state at a time
• If the next state of a given transition is a new combination, add
that to the set of states for the resultant DFA
1/7/2024 69
Direct Conversion Method (cont…)

• Example (Refer slide no. 53 for example NFA with 𝜺 −transitions


Resultant DFA (a) Step 1 (b) Step 2 (c) Step 3 (d) Final DFA

1/7/2024 70
1/7/2024 71
1/7/2024 72
1/7/2024 73
1/7/2024 74
1/7/2024 75
1/7/2024 76
Convert Є-NFA to DFA example
a b c Є

p {P} {q} {r}

q {q} {r} {p}

*r {r} {p} {q}

Solution Є-closure(p) = { p}
NFA Є-closure(p) = { p,q}
a b c Є-closure(p) ={ p,q,r}

p {P} {p,q} {p,q,r}

q {p,q} {p,q,r} {p,q,r} DFA using direct method


a b c
*r {p,q,r} {p,q,r} {p,q,r}
[p] [p] [pq] [pqr]
[pq] [pq] [pqr] [pqr]
*[pqr] [pqr] [pqr] [pqr]

1/7/2024 77
Convert Є-NFA to DFA example
0 1 Є

A {A} {B}

B {C} {D}

C {B} {D}

*D {D} {D}

Solution
NFA
0 1 DFA using direct method

A {A,B,C,D} {D} 0 1
B {C,D} {D} [A] [ABCD] [D]
[ABCD] [ABCD] [BD]
C --- {B,D}
*[D] -[D] [D]
*D {D} {D} [BD} [CD] [D]
[CD} [D] [BD]

1/7/2024 78
Applications and Limitations of FA
• Finite Automata Applications:
• Software for designing and checking behavior of digital circuits
• The “Lexical Analyzer” of a compiler
• Software for scanning large bodies of text
E.g. to find occurrences of words in collections of web
pages
• Software for verifying systems of all types that have a finite
number of distinct states
E.g. communication Protocols
• Used in Text Editor and Spell Checkers.

1/7/2024 79
Applications and Limitations of FA

➢ Limitations:
• Cannot recognize Palindrome of string.
• Set of strings over "(" and ")" & have balanced
parenthesis.
• No Memory, Only memory it has is State and State.

1/7/2024 80
Applications of TOC

• Design of the “Lexical Analyzer” of a compiler.


• Use of the Mealy and Moore Machines for designing
the combination and sequential circuits.
• Used in diverse fields, including the management of
tap water, Pharmaceutical field, Environmental Field
etc..
• CFG n PDA can be used in defining n implementing
programming languages.
• So on many more…

1/7/2024 81
Application of TOC (cont…)

• Turing Machine:
• Prototype/Abstract of modern computer
• To find out what a computer can do and what it can
not do
• Help us understand what we can expect from our
software
• To decide, whether we can solve the problem, which
requires more time to solve, in less amount of time.

1/7/2024 82
Thank You…!!!

1/7/2024 83

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy