csc312 automata theory lecture # 1 introduction

65
CSC312 Automata Theory Lecture # 1 Introduction

Upload: agrata

Post on 14-Jan-2016

60 views

Category:

Documents


0 download

DESCRIPTION

CSC312 Automata Theory Lecture # 1 Introduction. Administrative Stuff. Instructor: Dr. Mudasser Naseer [email protected] Cabin # 1, Faculty Room C7 Lectures: Sec-B: Wed 1630, Thu 1800 hrs. Sec-C: Wed 1800, Thu 1630 hrs. Office Hrs: Tue & Thu 1400 – 1600 hrs - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSC312 Automata Theory Lecture # 1 Introduction

CSC312

Automata Theory

Lecture # 1

Introduction

Page 2: CSC312 Automata Theory Lecture # 1 Introduction

Administrative Stuff

• Instructor: Dr. Mudasser Naseer

[email protected] # 1, Faculty Room C7

• Lectures: Sec-B: Wed 1630, Thu 1800 hrs.

Sec-C: Wed 1800, Thu 1630 hrs.

•Office Hrs: Tue & Thu 1400 – 1600 hrs

(or by appointment)

•Prerequisite: CSC102 - Discrete Structures

Page 3: CSC312 Automata Theory Lecture # 1 Introduction

Course OrganizationText Book:i) J. E. Hopcroft, R. Motwani, & J. D. UllmanIntroduction to Automata Theory,Languages, and Computation, Third Edition,Pearson, 2008.

ii) Denial I. A. Cohen Introduction to Computer Theory, First Edition, John Wiley & Sons, 1986.

Instruments:There will be 2~3 assignments, 4~5 quizzes, Weights: Assignments 10%

Quizzes 15%S-I 10%

S-II 15%Final Exam 50%

Page 4: CSC312 Automata Theory Lecture # 1 Introduction

Course Outline

Study and mathematically model various abstract computing machines that serve as models for computations and examine the relationship between these automata and formal languages. Regular expressions, NFAs. Core concepts of Regular Languages and Finite Automata; Decidability for Regular Languages; Non-regular Languages; Context-free Languages and Pushdown Automata; Decidability for Context-free Languages; Non-context-free Languages; Turing Machines and Their Languages are important part of the course. Transducers (automata with output).

Page 5: CSC312 Automata Theory Lecture # 1 Introduction

Schedule of LecturesLect.# Topics/Contents

1 Introduction to Automata theory, Its background, Mathematical Preliminaries, Sets, Functions, Relations, Graphs, Proof Techniques

2 Formal Languages, Introduction to defining languages, alphabet, language, word, null string, length of a string, reverse of a string, Palindrome, Kleene closure.

3 Defining languages recursively, Recursive definitions of languages like EVEN, INTEGERS, POSITIVE, POLYNOMIALS, ARITHMETIC EXPRESSIONS

4 Theorems relating to recursive definitions and their proofs.

5 Formal definition of Regular Expressions, Defining languages with regular expressions, Languages associated with regular expressions.

6 Equality of Regular Expressions, Introducing the language EVEN-EVEN.

7 More examples related to regular expressions. 8 Introducing Finite Automata., Defining languages using Finite Automata.

Constructing Finite Automata for different languages. 9 Recognizing the language defined by the given Finite Automata.

10 More examples related to Finite Automata. 11 Sessional I

Page 6: CSC312 Automata Theory Lecture # 1 Introduction

Schedule of Lectures (Cont…)Lect.# Topics/Contents

12 Transition Graphs with examples, Generalized Transition Graphs, Non-determinism in case of Transition Graphs.

13 Non-deterministic FA’s. Differences between FA, TG and NFA.

14 Finite Automata with output, machines and Mealy machines with examples. 1’s Complement machine, Increment machine.

15 Transducers as models of sequential circuits, Theorems for Converting Moore machines into Mealy machines and vice versa.

16 Regular Languages, Closure properties (i.e. , Concatenation and Kleene closure) of Regular Languages with examples. Complements and Intersections of Regular Languages, Theorems relating to regular languages and the related examples.

17 Decidability, decision procedure, Blue-paint method, Effective decision procedure to prove whether two given RE’s or FA’s are equivalent.

18 Non-Regular Languages, The pumping Lemma, Examples relating to Pumping Lemma.

19 Myhill-Nerode theorem, Related Examples, Quotient Languages.

20 Context-Free Grammars, CFG’s for Regular Languages with examples. 21 CFG’s for non-regular languages, CFG’s of PALINDROME, EQUAL and

EVEN-EVEN languages, Backus-Naur Form. 22 Parse Trees, Examples relating to Parse Trees, Lukasiewicz notation,

Prefix and Postfix notations and their evaluation. 23 Sessional II

Page 7: CSC312 Automata Theory Lecture # 1 Introduction

Schedule of Lectures (Cont…)Lect.# Topics/Contents

24 Ambiguous and Unambiguous CFG’s, Total language tree. Regular Grammars, Semi-word, Word, Working String, Converting FA’s into CFG’s.

25 Regular Grammars, Constructing Transition Graphs from Regular Grammars. Killing null productions.

26 Killing unit productions, Chomsky Normal form with examples, Left most derivations.

27 Pushdown Automata, Constructing PDA’s for FA’s, Pushdown stack. Nondeterministic PDA.

28 Examples related with PDA, PDA for Odd Palindrome, Even Palindrome, PalindromeX.

29 Proving CFG = PDA with examples. Constructing PDA from CFG in CNF and making trace table for any word.

30 Context Free Languages, their closure properties, , Concatenation and Kleene Closures using CFG’s and PDA’s.

31 Top down parsing, Bottom up parsing with examples, Turing machines, Examples of Turing Machines with trace tables, Converting FA’s into Turing machines.

32 The subprogram Insert, The subprogram Delete, Constructing Turing machine for the language EQUAL using Insert subprogram.

Page 8: CSC312 Automata Theory Lecture # 1 Introduction

Some basics• Automaton = A self-operating machine or

mechanism (Dictionary definition), plural is Automata.

• Automata = abstract computing devices• Automata theory = the study of abstract

machines (or more appropriately, abstract 'mathematical' machines or systems, and the computational problems that can be solved using these machines.• Mathematical models of computation• Finite automata• Push-down automata• Turing machines

Page 9: CSC312 Automata Theory Lecture # 1 Introduction

History• 1930s : Alan Turing defined machines more

powerful than any in existence, or even any that we could imagine – Goal was to establish the boundary between what was and was not computable.

• 1940s/150s : In an attempt to model “Brain function” researchers defined finite state machines.

• Late 1950s : Linguist Noam Chomsky began the study of Formal Grammars.

• 1960s : A convergence of all this into a formal theory of computer science, with very deep philosophical implications as well as practical applications (compilers, web searching, hardware, A.I., algorithm design, software engineering,…)

Page 10: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 10

Computation

CPU memory

Page 11: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 11

CPU

input memory

output memory

Program memory

temporary memory

Page 12: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 12

CPU

input memory

output memoryProgram memory

temporary memory

3)( xxf

compute xx

compute xx 2

Example:

Page 13: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 13

CPU

input memory

output memoryProgram memory

temporary memory

3)( xxf

compute xx

compute xx 2

2x

Page 14: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 14

CPU

input memory

output memoryProgram memory

temporary memory3)( xxf

compute xx

compute xx 2

2x

42*2 z82*)( zxf

Page 15: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 15

CPU

input memory

output memoryProgram memory

temporary memory3)( xxf

compute xx

compute xx 2

2x

42*2 z82*)( zxf

8)( xf

Page 16: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 16

Automaton

CPU

input memory

output memory

Program memory

temporary memory

Automaton

Page 17: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 17

Different Kinds of Automata

Automata are distinguished by the temporary memory

• Finite Automata: no temporary memory

• Pushdown Automata: stack

• Turing Machines: random access memory

Page 18: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 18

input memory

output memory

temporary memory

Finite

Automaton

Finite Automaton

Example: Vending Machines

(small computing power)

Page 19: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 19

input memory

output memory

Stack

Pushdown

Automaton

Pushdown Automaton

Example: Compilers for Programming Languages

(medium computing power)

Push, Pop

Page 20: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 20

input memory

output memory

Random Access Memory

Turing

Machine

Turing Machine

Examples: Any Algorithm

(highest computing power)

Page 21: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 21

Finite

Automata

Pushdown

Automata

Turing

Machine

Power of Automata

Less power More power

Solve more

computational problems

Page 22: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 22

Mathematical Preliminaries

• Sets

• Functions

• Relations

• Graphs

• Proof Techniques

Page 23: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 23

}3,2,1{AA set is a collection of elements

SETS

},,,{ airplanebicyclebustrainB

We write

A1

Bship

Page 24: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 24

Set Representations

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

C = { a, b, …, k }

S = { 2, 4, 6, … }

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

S = { j : j is nonnegative and even }

finite set

infinite set

Page 25: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 25

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

Universal Set: all possible elements U = { 1 , … , 10 }

1 2 3

4 5

A

U

6

7

8

910

Page 26: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 26

Set Operations

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

• Union

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

• Intersection

A B = { 2, 3 }

• Difference

A - B = { 1 }

B - A = { 4, 5 }

U

A B2

31

4

5

2

3

1

Venn diagrams

Page 27: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 27

A

• Complement

Universal set = {1, …, 7}

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

12

3

4

5

6

7

A

A = A

Page 28: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 28

02

4

6

1

3

5

7

even

{ even integers } = { odd integers }

odd

Integers

Page 29: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 29

DeMorgan’s Laws

A U B = A B

U

A B = A U BU

Page 30: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 30

Empty, Null Set:= { }

S U = S

S =

S - = S

- S =

U= Universal Set

Page 31: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 31

Subset

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

A B

U

Proper Subset: A B

UA

B

Page 32: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 32

Disjoint Sets

A = { 1, 2, 3 } B = { 5, 6}

A B =

UA B

Page 33: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 33

Set Cardinality

• For finite sets

A = { 2, 5, 7 }

|A| = 3

(set size)

Page 34: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 34

Powersets

A powerset is a set of sets

Powerset of S = the set of all the subsets of S

S = { a, b, c }

2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} }

Observation: | 2S | = 2|S| ( 8 = 23 )

Page 35: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 35

Cartesian Product

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

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

|A X B| = |A| |B|

Generalizes to more than two sets

A X B X … X Z

Page 36: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 36

FUNCTIONSdomain

12

3

a

bc

range

f : A -> B

A B

If A = domain

then f is a total function

otherwise f is a partial function

f(1) = a4

5

Page 37: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 37

Let A & B be sets. A binary relation “R” from A to B

R = {(x1, y1), (x2, y2), (x3, y3), …}

Where and

R ⊆ A x B

xi R yi to denote

e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1

RELATIONS

Axi Byi

Rba ),(

Page 38: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 38

Equivalence Relations

• Reflexive: x R x

• Symmetric: x R y y R x

• Transitive: x R y and y R z x R z

Example: R = ‘=‘

• x = x

• x = y y = x

• x = y and y = z x = z

Page 39: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 39

Equivalence ClassesGiven an equivalence relation R on a set A and an element , the equivalence class of is the set

Example:

R = { (1, 1), (2, 2), (1, 2), (2, 1),

(3, 3), (4, 4), (3, 4), (4, 3) }

Equivalence class of 1 = {1, 2}

Equivalence class of 3 = {3, 4}

x A

| ( , )x y A x y R x

Page 40: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 40

GRAPHSA directed graph

• Nodes (Vertices)

V = { a, b, c, d, e }

• Edges

E = { (a,b), (b,c), (b,e),(c,a), (c,e), (d,c), (e,b), (e,d) }

node

edge

a

b

c

d

e

Page 41: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 41

Labeled Graph

a

b

c

d

e

1 3

56

26

2

Page 42: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 42

Walk

a

b

c

d

e

Walk is a sequence of adjacent edges

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

Page 43: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 43

Path

a

b

c

d

e

Path is a walk where no edge is repeated

Simple path: no node is repeated

Page 44: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 44

Cycle

a

b

c

d

e

12

3

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

Simple cycle: only the base node is repeated

base

Page 45: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 45

Euler Tour

a

b

c

d

e1

23

45

6

7

8 base

A cycle that contains each edge once

Page 46: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 46

Hamiltonian Cycle

a

b

c

d

e1

23

4

5 base

A simple cycle that contains all nodes

Page 47: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 47

Finding All Simple Paths

a

b

c

d

e

origin

Page 48: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 48

(c, a)

(c, e)

Step 1

a

b

c

d

e

origin

Page 49: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 49

(c, a)

(c, a), (a, b)

(c, e)

(c, e), (e, b)

(c, e), (e, d)

Step 2

a

b

c

d

e

origin

Page 50: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 50

Step 3

a

b

c

d

e

origin(c, a)

(c, a), (a, b)

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

(c, e)

(c, e), (e, b)

(c, e), (e, d)

Page 51: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 51

Step 4

a

b

c

d

e

origin

(c, a)

(c, a), (a, b)

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

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

(c, e)

(c, e), (e, b)

(c, e), (e, d)

Page 52: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 52

Treesroot

leaf

parent

child

Trees have no cycles

Page 53: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 53

root

leaf

Level 0

Level 1

Level 2

Level 3

Height 3

Page 54: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 54

Binary Trees

Page 55: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 55

PROOF TECHNIQUES

• Proof by induction

• Proof by contradiction

Page 56: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 56

Induction

We have statements P1, P2, P3, …

If we know

• for some b that P1, P2, …, Pb are true

• for any k >= b that

P1, P2, …, Pk imply Pk+1

Then

Every Pi is true

Page 57: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 57

Proof by Induction• Inductive basis

Find P1, P2, …, Pb which are true

• Inductive hypothesis

Let’s assume P1, P2, …, Pk are true,

for any k >= b

• Inductive step

Show that Pk+1 is true

Page 58: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 58

Example

Theorem: A binary tree of height n

has at most 2n leaves.

Proof by induction:

let L(i) be the maximum number of

leaves of any subtree at height i

Page 59: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 59

We want to show: L(i) <= 2i

• Inductive basis

L(0) = 1 (the root node)

• Inductive hypothesis

Let’s assume L(i) <= 2i for all i = 0, 1, …, k

• Induction step

we need to show that L(k + 1) <= 2k+1

Page 60: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 60

Induction Step

From Inductive hypothesis: L(k) <= 2k

height

k

k+1

Page 61: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 61

L(k) <= 2k

L(k+1) <= 2 * L(k) <= 2 * 2k = 2k+1

Induction Step

height

k

k+1

(we add at most two nodes for every leaf of level k)

Page 62: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 62

Remark

Recursion is another thing

Example of recursive function:

f(n) = f(n-1) + f(n-2)

f(0) = 1, f(1) = 1

Page 63: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 63

Proof by Contradiction

We want to prove that a statement P is true

• we assume that P is false

• then we arrive at an incorrect conclusion

• therefore, statement P must be true

Page 64: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 64

Example

Theorem: is not rational

Proof:

Assume by contradiction that it is rational

= n/m

n and m have no common factors

We will show that this is impossible

2

2

Page 65: CSC312 Automata Theory Lecture # 1 Introduction

Courtesy Costas Busch - RPI 65

= n/m 2 m2 = n2

Therefore, n2 is evenn is even

n = 2 k

2 m2 = 4k2 m2 = 2k2m is even

m = 2 p

Thus, m and n have common factor 2

Contradiction!

2