unit1_firstclass
unit1_firstclass
ENCT 203
Samir Thapa
ME (Computer Engg.)
[email protected]
1
Marking Scheme
Internal
Theory 80+20
Assessment
Final
Attendance: 4 Class Test: 4 Assignment: 4
Assessment:8
2
References
H.R.Lewis and C.H.Papadimitriou, Elements of
the theory of Computation
J.E.Hopcroft, R.Motwani and J.D Ullman,
Introduction to Automata Theory Languages and
Computations
3
4
Theory of Computation
Computation is
7
Theory of Computation
Computation is calculation, solving, making
decision or any task done by
computer/calculator/ any machine.
The term Theory defines capabilities,
limitations of those machines.
“Develop formal mathematical models of
computation that reflect real-world
computers.”
8
INTR O D U C T IO N
Mathematical models of computer
To complete various tasks
What can’t a computer do?
What can a computer do?
How efficiently can a computer solve?
Turing Machine
9
Into The course
10
Into The course
11
Into The course
12
Into The course
13
SETS
14
SETS
15
SET OPERATIONS
The “union” of two sets is the set that has objects that are
elements of at least one of the two given sets, and
possibly both.
The “intersection” of sets A and B, written A ∩ B, is a set
that contains exactly those elements that are in both A
and B
The “set difference” of set A and set B, written as A–B, is
the set that contains everything that is in A but not in B
The “complement” of set A, written as A is the set
containing everything that is not in A.
16
SET OPERATIONS
17
18
19
Terminologies
20
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
21
(A pioneer of automata theory)
22
Theory of Computation: A
Historical Perspective
1930s • Alan Turing studies Turing machines
• 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
23
Languages & Grammars
Languages: “A language is a
Or “words” 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
Regular Context-
(DFA) Context-
free Recursively-
sensitive
(PDA) enumerable
(LBA)
(TM)
25
The Central Concepts of
Automata Theory
26
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}
…
27
Strings
A string or word is a finite sequence of symbols
chosen from ∑
Empty string is (or “epsilon”)
∑* = ∑0 U ∑1 U ∑2 U …
∑+ = ∑ 1 U ∑ 2 U ∑ 3 U …
29
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:
1. Let L be the language of all strings consisting of n 0’s
followed by n 1’s:
L = {, 01, 0011, 000111,…}
2. 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,…}
Canonical ordering of strings in the language
Example:
Let w = 100011
Q) Is w the language of strings with
equal number of 0s and 1s?
31
Finite Automata
Some 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 pattern finding
Software for verifying systems of all types that
have a finite number of states (e.g., stock market
transaction, communication/network protocol)
32
Finite Automata : Examples
action
On/Off switch state
35
Deductive Proofs
From the given statement(s) to a conclusion
statement (what we want to prove)
Logical progression by direct implications
“lemma”
A result that follows from an already proven result as a
“corollary”
An example:
Theorem: The height of an n-node binary
tree is at least floor(lg n)
Lemma: Level i of a perfect binary tree has
2i nodes.
Corollary: A perfect binary tree of height h
has 2h+1-1 nodes.
38
Quantifiers
“For all” or “For every”
Universal proofs
Notation=
“There exists”
Used in existential proofs
Notation=
Implication is denoted by =>
E.g., “IF A THEN B” can also be written as “A=>B”
39
Proving techniques
By contradiction
Start with the statement contradictory to the given
statement
E.g., To prove (A => B), we start with:
(A and ~B)
… and then show that could never happen
By induction
(3 steps) Basis, inductive hypothesis, inductive step
By contrapositive statement
If A then B ≡ If ~B then ~A
40
Proving techniques…
By counter-example
Show an example that disproves the claim
41
Different ways of saying the same
thing
“If H then C”:
i. H implies C
ii. H => C
iii. C if H
iv. H only if C
v. Whenever H holds, C follows
42
“If-and-Only-If” statements
“A if and only if B” (A <==> B)
(if part) if B then A ( <= )
(only if part) A only if B ( => )
(same as “if A then B”)
“If and only if” is abbreviated as “iff”
i.e., “A iff B”
Example:
Theorem: Let x be a real number. Then floor of x =
ceiling of x if and only if x is an integer.
Proofs for iff have two parts
One for the “if part” & another for the “only if part”
43
Summary
Automata theory & a historical perspective
Chomsky hierarchy
Finite automata
Alphabets, strings/words/sentences, languages
Membership problem
Proofs:
Deductive, induction, contrapositive, contradiction,
counterexample
If and only if
44