0% found this document useful (0 votes)
15 views

unit1_firstclass

The document outlines the Theory of Computation course, including its marking scheme, references, and key concepts such as computation, automata theory, and formal languages. It discusses the historical context of computation, the Chomsky hierarchy, and various proof techniques. The course emphasizes understanding mathematical models of computation and their applications in computer science.

Uploaded by

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

unit1_firstclass

The document outlines the Theory of Computation course, including its marking scheme, references, and key concepts such as computation, automata theory, and formal languages. It discusses the historical context of computation, the Chomsky hierarchy, and various proof techniques. The course emphasizes understanding mathematical models of computation and their applications in computer science.

Uploaded by

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

THEORY OF COMPUTATION

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)

Alan Turing (1912-1954)


 Father of Modern Computer
Science
 English mathematician
 Studied abstract machines called
Turing machines even before
computers existed
 Heard of the Turing test?

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

 N. Chomsky, Information and


Control, Vol 2, 1959

Image source: Nowak et al. Nature, vol 417, 2002


24
The Chomsky Hierachy
• A containment hierarchy of classes of formal languages

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”)

 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


28
Powers of an alphabet
Let ∑ be an alphabet.

 ∑k = the set of all strings of length k

 ∑* = ∑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

Definition: Ø denotes the Empty language


 Let L = {}; Is L=Ø?
NO
30
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?

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

 Modeling recognition of the word “then”

Start state Transition Intermediate Final state


state
33
Structural expressions
 Grammars
 Regular expressions
 E.g., unix style to capture city names such
as “Palo Alto CA”:

[A-Z][a-z]*([ ][A-Z][a-z]*)*[ ][A-Z][A-Z]

Start with a letter


A string of other
letters (possibly Should end w/ 2-letter state code
empty)

Other space delimited words


(part of city name) 34
Formal Proofs

35
Deductive Proofs
From the given statement(s) to a conclusion
statement (what we want to prove)
 Logical progression by direct implications

Example for parsing a statement:


 “If y≥4, then 2y≥y2.”
given conclusion

(there are other ways of writing this).


36
Example: Deductive proof
Let Claim 1: If y≥4, then 2y≥y2.

Let x be any number which is obtained by adding the squares


of 4 positive integers.
Claim 2:
Given x and assuming that Claim 1 is true, prove that 2 x≥x2
 Proof:
1) Given: x = a2 + b2 + c2 + d2
2) Given: a≥1, b≥1, c≥1, d≥1
3)  a2≥1, b2≥1, c2≥1, d2≥1 (by 2)
4) x≥4 (by 1 & 3)
5)  2x ≥ x 2 (by 4 and Claim 1)
“implies” or “follows”
37
On Theorems, Lemmas and Corollaries
We typically refer to:
 A major result as a “theorem”

 An intermediate result that we show to prove a larger result as a

“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

What if you want to prove that “(A and B => C or D)”?

 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

 Note: There is no such thing called a


“proof by example”!
 So when asked to prove a claim, an example that

satisfied that claim is not a proof

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

 Read chapter 1 for more examples and exercises

44

You might also like