Vous êtes sur la page 1sur 29

INTRODUCTION TO AUTOMATA

THEORY AND LANGUAGES


NMCA-214

Zero Lecture
Mrs. Anamika Maurya
Assistant Professor
MCA, PSIT

Subject Overview

Theory Subject
No practical session
100 marks
4 credit
6 lectures in week
Total 60 lectures

13/01/2016

Books

Authors

Publisher

Introduction to Automata
Theory, Languages and
Computation

John E. Hopcroft, D.
Ullman

Pearson Education,
3rd Ed.

An Introduction to Formal
languages and automata

Peter Linz

Narosa, 2012, 4th Ed

Theory of Computer
Science

K. L. P. Mishra

Prentice-Hall, 2007,
3rd Ed.

Formal Languages
and Automata Theory

C. K. Nagpal

Oxford Higher
Education, 2013

13/01/2016

Automata Theory
Plural of automaton, means to automate
or mechanize
An automaton is a machine that can
perform computation in a mechanized
manner
Basic aim of studying automata theory is,
what is computable and what is not
Study of abstract machine that can
perform computing
13/01/2016

Introduction
Computer machine understands the
instruction given by human unambiguously
Develop languages for writing instructions
For a computer science student, it is
necessary to study
Computability ( to know what is computable)
Formal Languages ( to design languages to
write instructions for machine)
Automata theory (design computing machine)

13/01/2016

Why we study Automata Theory


There are several reasons to study of
automata and complexity is an
important part of the core of
computer science.
1. Introduction to Finite Automata
2. Structural Representation
3. Automata and Complexity
13/01/2016

Introduction to Finite Automata


Software for designing and checking the
behaviour of digital circuits
The Lexical analyzer of a typical
compiler , that is , the compiler
component that breaks the
Input text into logical units, such as
identifiers, keywords, and punctuation.
13/01/2016

Introduction to Finite Automata


Software for scanning large bodies of text,
such as collections of Web pages, to find
occurrences of words, phrases, or other
patterns.
Software for verifying systems of all types
that have a finite number of distinct states,
such as communications protocols or
protocols for secure exchange of information.

13/01/2016

Structural Representations:
There are two important notations there
are not automation-like, but play an
important role in the study of automata
and their applications
Grammars are useful models when
software that processes data with a
recursive structure.
Regular Expressions are denoted the
structure of data, especially text strings.
13/01/2016

Automata and Complexity


Automata are essential for the study of the limits of
computation.
There are two important issues.
1. What can a computer do at all? This study is
called decidability, and the problems that can
be solved by computer are called decidable..

13/01/2016

10

Practical application of
Automata Theory
You want to spot duplicate
occurrences of a phrase in a
document and delete the second
occurrence. In essence, you want to
substitute a sequence in a
language.
Does a program contain an
assertion violation?
13/01/2016

11

Practical application of
Automata Theory
Does a device driver respect certain
protocols when interacting with the
kernel? The behaviour of a program is
a set of executions; in other words, a
language. The correctness property is
another language. The program
correctness problem amounts to a
language inclusion check.
13/01/2016

12

Practical application of
Automata Theory

What can a computer do efficiently? This


study is called intractability, and the problems
that can be solved by a computer using no
more time than some slowly growing function
of the size of the input are called tractable.
Often, we all polynomial functions to be slowly
growing, while functions that grows faster
than any polynomial are deemed to grow too
fast.

13/01/2016

13

Automata theory and formal


languages are the base of

Current compilers,
Regular expressions,
Parsers,
Web-scrappers,
Natural language processing
(NLP),
State machines based on markov
chains
13/01/2016

14

13/01/2016

15

13/01/2016

16

Example of Machine
A table is an information processing
machine with the i/p signals being either
up or down position of switch and o/p
signals being either on or off.
An adder is an information processing
machine with the input signals being to
decimal number and output signal being
their sum.
13/01/2016

17

Example of Machine
An automobile is an information
processing machine with depression of
accelerator and angular position of
steering wheel is an input signal and
output signal are speed and direction

13/01/2016

18

Syllabus
UNIT 1:Basic concepts of Automata
Theory
UNIT 2: Regular Expressions and
Languages
UNIT 3: Non-Regular Grammars
UNIT 4: Turing Machines
UNIT 5: Undecidability
13/01/2016

19

Unit 1
Alphabets, Strings and Languages,
Deterministic Finite Automata (DFA)
Nondeterministic Finite Automata
(NFA),
Language of DFA and NFA.
NFA with -transitions,
Language ofNFA with -transitions
Equivalence of NFA and DFA.
13/01/2016

20

Unit 2
Regular Expressions and Languages: Introduction,
Definition of regular expression,
KleensTheorem,
Equivalence of regular expression and Finite
Automata,
Pumping Lemma for regular
Languages, Closure properties of Regular
Languages,
Decision properties of Regular Languages,
Finite Automata with Output: Moore and Mealy
Machine,
Equivalence of Moore and Mealy Machines.
13/01/2016

21

Unit 3
Non-Regular Grammars: Definition of Grammar,
Classification of Grammars,
Chomosky's Hierarchy.
Context Free Grammars (CFG) and Context Free
Languages (CFL)
Derivation trees,
Ambiguous Grammars,
Simplification of Grammars,
Normal forms of CFGs: CNF and GNF,
Closure properties of CFLs,
Decision Properties of CFLs,
Pumping lemma for CFLs. Push Down
Automata (PDA): Definition and Description,
13/01/2016
22
Language of PDA and its applications.

Unit 4
Turing Machines: Introduction,
Basic Features of a Turing Machine,
Language of a Turing Machine,
Variants of Turing Machine:
Multitapes,
Nondeterministic Turing Machine,
Universal Turing Machine.
Turing Machine as Computer of Integer functions,
Halting problem of Turing Machine,
Church-TuringThesis.
13/01/2016

23

Unit 5
Undecidability: Introduction
Undecidable problems about Turing
Machines,
Rice's Theorem,
Post's Correspondence problem (PCP)
Modified PCP
Tractable and Intractable Problems:
P and NP, NPComplete Problems,
Introduction to recursive function theory.
13/01/2016

24

Lecture Plan Timeline


UNIT
1

11 Lecture

UNIT
2

10 Lecture

UNIT
3

UNIT
4

24 Lecture

8 Lecture

UNIT
5

7 Lecture

Outcomes
Student will be able to
Differentiate
between NFA
and DFA
Design Finite
automata

Differentiate
between Mealy
and Moore
Write the regular
expression for
regular languages
Apply Ardens
Theorem and
Pumping Lemma

Write CFG
Design PDA
Understand the
simplification of
CFG
Understand the
Closure and
decision
property of
CFL

13/01/2016

Explain the
Concept
and working
of Turing
Machine
Differentiate
between
variants of
Turing
Machine
Describe the
Halting
Problem of
Turing
Machine

Understand
the concept
of decidability
Define the
concept of P,
NP and NP
complete
problem
Know the
concept of
PCP problem

26

Future scope of Subject

UPTU Exam /Any University Exam

GATE
UGC NET
PSU for CS Student
Base of Compiler Design

13/01/2016

27

Rules
No cell phone
Full duplex
Previous topic
revision

13/01/2016

28

Thank You

13/01/2016

29

Vous aimerez peut-être aussi