Sei sulla pagina 1di 46

# CS205

Language Theory

Time Table

Day

Time

Class Room

Monday

12:00-12:55

L201

Tuesday

10:00-10:55

CR101

Wednesday

11:00-11:55

CR101

Friday

11:00-11:55

CR101

Course Contents
Introduction
Finite Automata and regular languages
Push down Automata and Context free languages
Push down Automata
Turing Machines and Computability
Decidability, undecidability and reducibility
Computational Complexity & NP-Completeness
3

Books
Text Book: Hopcroft, John E.; Motwani, Rajeev & Ullman, Jeffrey D., Introduction to
Automata Theory, Languages, and Computation, Third Edition, Pearson Education Inc.,
New Delhi, 2007.

## Reference Book: Sipser, Michael, Introduction to the Theory of Computation, Second

Edition, Cengage Learning India Pvt. Ltd., New Delhi, 2007

Marks Distribution
Quiz 1: 10%
Mid Semester: 25%
Quiz 2: 10%
*End Semester: 50%
+Class performance: 5%
*End Semester covers whole syllabus starting from
today itself
+Class performance is evaluated based on attendance
and assignments

Source Program

Preprocessor

Expands macros

## Modified source program

Compiler
Target assembly program

Assembler
Relocatable machine code

library files
relocatable objects

6

## We will show later in class

How to build compilers for programming languages
Some computational problems cannot be solved
Some problems are hard to solve

Mathematical Preliminaries

Mathematical Preliminaries
Sets
Relations
Graphs
Proof Techniques

SETS
A set is a collection of elements

A {1, 2, 3}
B {train, bus, bicycle, airplane}
We write

1 A
ship B
10

Set Representations
C = { a, b, c, d, e, f, g, h, i, j, k }
C = { a, b, , k }

finite set

S = { 2, 4, 6, }

infinite set

## S = { j : j > 0, and j = 2k for some k>0 }

S = { j : j is nonnegative and even }
11

A = { 1, 2, 3, 4, 5 }

U
A

6
1

7
10
Universal Set:

2
4

3
5

## All possible elements

U = { 1 , , 10 }

12

Set Operations
A = { 1, 2, 3 }

B = { 2, 3, 4, 5}
A

Union

A U B = { 1, 2, 3, 4, 5 }
Intersection
U

B = { 2, 3 }

Difference
A-B={1}
B - A = { 4, 5 }

A-B
13

Complement
Universal set = {1, , 7}
A = { 1, 2, 3 }
4

A = { 4, 5, 6, 7}

A
1
5

A
2

3
7

A=A
14

Integers
1

odd

2
3

even

6
7

15

DeMorgans Laws

AUB=A

B=AUB

16

## Empty, Null Set:

={}
SU
U

S-

=S
=

= Universal Set

=S
-S=

17

Subset
A = { 1, 2, 3}

B = { 1, 2, 3, 4, 5 }
B

Proper Subset: A

B
B

A
18

Disjoint Sets
A = { 1, 2, 3 }

B = { 5, 6}
B=

19

Set Cardinality
For finite sets
A = { 2, 5, 7 }
|A| = 3

20

Powersets
A powerset is a set of sets
S = { a, b, c }
Powerset of S = the set of all the subsets of S
2S = {

, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} }

Observation: | 2S | = 2|S|

( 8 = 23 )
21

Cartesian Product

A = { 2, 4 }

B = { 2, 3, 5 }

A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 4) }

22

RELATIONS
R = {(x1, y1), (x2, y2), (x3, y3), }
xi R yi

23

Equivalence Relations
Reflexive:

xRx

Symmetric:

xRy

Transitive:

x R Y and y R z

yRx
xRz

Example: R = =
x=x
x=y
x = y and y = z

y=x
x=z
24

GRAPHS
A directed graph
e
node

b
edge

d
c

Nodes (Vertices)
V = { a, b, c, d, e }
Edges
E = { (a, b), (b, c), (c, a), (b, d), (d, c), (e, d) }25

Labeled Graph
6
a

1
5

e
6

2
d

26

Walk
e
b
d

a
c

## Walk is a sequence of adjacent edges

(e, d), (d, c), (c, a)
27

Path
e
b
d

a
c

## Path is a walk where no edge is repeated

Simple path: no node is repeated
28

Cycle

base
b
2

d
c

## Cycle: a walk from a node (base) to itself

Simple cycle: only the base node is repeated
29

Euler Tour
8
b

4
a

base
e
1
2

## A cycle that contains each edge once

30

Hamiltonian Cycle
5
b

4
a

base
e
1
2

31

e

b
d

a
c

32

Step 1
e
b

f
d

a
c
(c, a)
(c, e)

33

Step 2
e
b
d

a
(c, a)

(c, e)
(c, e), (e, b)
(c, e), (e, d)

34

Step 3
e
b
d

a
(c, a)

(c, e)

## (c, e), (e, d)

(c, e), (e, d), (d, f)

35

root

Trees

parent
leaf
child
Trees have no cycles
36

root

Level 0

Level 1
Height 3

leaf
Level 2

Level 3
37

Binary Trees

38

PROOF TECHNIQUES
Proof by induction

39

Induction
We have statements P1, P2, P3,
If we know
for some k that P1, P2, , Pk are true
for any n >= k that
P1, P2, , Pn imply Pn+1
Then
Every Pi is true
40

Proof by Induction
Inductive basis
Find P1, P2, , Pk which are true
Inductive hypothesis
Lets assume P1, P2, , Pn are true,
for any n >= k
Inductive step
Show that Pn+1 is true

41

Example
Theorem: A binary tree of height n
has at most 2n leaves.
Proof:
let l(i) be the number of leaves at level i
l(0) = 1

l(3) = 8

42

Inductive basis
l(0) = 1

## (the root node)

Inductive hypothesis
Lets assume l(i) <= 2i for all i = 0, 1, , n
Induction step
we need to show that l(n + 1) <= 2n+1

43

Induction Step

Level
n

n+1

44

Induction Step

Level
n

## hypothesis: l(n) <= 2n

n+1
l(n+1) <= 2 * l(n) <= 2 * 2n = 2n+1

45