0% found this document useful (0 votes)
133 views14 pages

Introduction To Automata Theory

This document provides an introduction to automata theory. It defines key concepts such as automata, alphabets, strings, languages, and the membership problem. Automata theory studies abstract computing devices and models of computation. Important contributors mentioned include Alan Turing, who studied Turing machines, and Noam Chomsky, who proposed the Chomsky hierarchy of formal languages. Finite automata have applications in software for circuits, compilers, text scanning, and modeling systems with a finite number of states.

Uploaded by

Apoorva Naik
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)
133 views14 pages

Introduction To Automata Theory

This document provides an introduction to automata theory. It defines key concepts such as automata, alphabets, strings, languages, and the membership problem. Automata theory studies abstract computing devices and models of computation. Important contributors mentioned include Alan Turing, who studied Turing machines, and Noam Chomsky, who proposed the Chomsky hierarchy of formal languages. Finite automata have applications in software for circuits, compilers, text scanning, and modeling systems with a finite number of states.

Uploaded by

Apoorva Naik
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/ 14

Introduction to Automata

Theory
Chapter 1

1
2

What is Automata Theory?


 Study of abstract computing devices, or
“machines”
 Automaton = an abstract computing device
 Note: A “device” need not even be a physical
hardware!
 A fundamental question in computer science:
 Find out what different models of machines can do
and cannot do
 The theory of computation
 Computability vs. Complexity
3

(A pioneer of automata theory)

Alan Turing (1912-1954)


 Father of Modern Computer
Science
 English mathematician
 Studied abstract machines called
Turing machines even before
computers existed
4

Theory of Computation: A
Historical Perspective
• Alan Turing studies Turing machines
1930s
• Decidability
• Halting problem

1940-1950s • “Finite automata” machines studied


• Noam Chomsky proposes the
“Chomsky Hierarchy” for formal
languages
1969 Cook introduces “intractable” problems
or “NP-Hard” problems
1970- Modern computer science: compilers,
computational & complexity theory evolve
5

Languages & Grammars


Or “words”
 Languages: “A language is a
collection of sentences of
finite length all constructed
from a finite alphabet of
symbols”
 Grammars: “A grammar can
be regarded as a device that
enumerates the sentences
of a language” - nothing
more, nothing less
6

The Chomsky Hierarchy


• A containment hierarchy of classes of formal languages

Context- Context- Recursively-


Regular
(FA) free sensitive enumerable
(PDA) (LBA) (TM)
The Central Concepts of
Automata Theory

7
8

Alphabet
An alphabet is a finite, non-empty set of
symbols
 We use the symbol ∑ (sigma) to denote an

alphabet
 Examples:
 Binary: ∑ = {0,1}
 All lower case letters: ∑ = {a,b,c,..z}
 Alphanumeric: ∑ = {a-z, A-Z, 0-9}
 DNA molecule letters: ∑ = {a,c,g,t}
 …
9

Strings
A string or word is a finite sequence of symbols
chosen from ∑
 Empty string is  (or “epsilon”)

 Length of a string w, denoted by “|w|”, is equal


to the number of (non- ) characters in the string
 E.g., x = 010100 |x| = 6
 x = 01  0  1  00  |x| = ?

 xy = concatentation of two strings x and y


1
0

Powers of an alphabet
Let ∑ be an alphabet.

∑k = the set of all strings of length k

Kleen Closure
 ∑* = ∑0 U ∑1 U ∑2 U …
Kleen Plus
 ∑ + = ∑ 1 U ∑ 2 U ∑3 U …
1
1

Languages
L is a said to be a language over alphabet ∑, only if L  ∑*
this is because ∑* is the set of all strings (of all possible length including
0) over the given alphabet ∑
Examples:

Let L be the language of all strings consisting of n 0’s followed by n 1’s:
L = {,01,0011,000111,…}

Let L be the language of all strings of with equal number of 0’s and 1’s:
L = {,01,10,0011,1100,0101,1010,1001,…}
Definition: Ø denotes the Empty language

 Let L = {}; Is L=Ø? NO


1
2

The Membership Problem


Given a string w ∑*and a language L
over ∑, decide whether or not w L.

Example:
Let w = 100011
Q) Is w  the language of strings with
equal number of 0s and 1s?
1
3

Finite Automata Applications


 Software for designing and checking the behavior of
digital circuits
 Lexical analyzer of a typical compiler
 Software for scanning large bodies of text (e.g., web
pages) for finding patterns
 Software for verifying systems of all types that have a
finite number of states (e.g., stock market transaction,
communication/network protocol)
1
4

Finite Automata : Examples


action
 On/Off switch state

 Modeling recognition of the word “then”

Start state Transition Intermediate Final state


state

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