notes2805 - Lecture Notes Introduction to Theory of...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Lecture Notes Introduction to Theory of Computation (COMP 2805) Anil Maheshwari Michiel Smid School of Computer Science Carleton University E-mail: { anil,michiel } @scs.carleton.ca April 1, 2010 ii Contents Preface vi 1 Introduction 1 1.1 Purpose and motivation . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Complexity theory . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Computability theory . . . . . . . . . . . . . . . . . . . 2 1.1.3 Automata theory . . . . . . . . . . . . . . . . . . . . . 3 1.1.4 This course . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Mathematical preliminaries . . . . . . . . . . . . . . . . . . . 4 1.3 Proof techniques . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Direct proofs . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.2 Constructive proofs . . . . . . . . . . . . . . . . . . . . 9 1.3.3 Nonconstructive proofs . . . . . . . . . . . . . . . . . . 10 1.3.4 Proofs by contradiction . . . . . . . . . . . . . . . . . . 11 1.3.5 The pigeon hole principle . . . . . . . . . . . . . . . . . 12 1.3.6 Proofs by induction . . . . . . . . . . . . . . . . . . . . 13 1.3.7 More examples of proofs . . . . . . . . . . . . . . . . . 15 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Finite Automata and Regular Languages 21 2.1 An example: Controling a toll gate . . . . . . . . . . . . . . . 21 2.2 Deterministic finite automata . . . . . . . . . . . . . . . . . . 23 2.2.1 An example of a finite automaton . . . . . . . . . . . . 26 2.2.2 Another example of a finite automaton . . . . . . . . . 28 2.3 Regular operations . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Nondeterministic finite automata . . . . . . . . . . . . . . . . 33 2.4.1 A first example . . . . . . . . . . . . . . . . . . . . . . 33 2.4.2 A second example . . . . . . . . . . . . . . . . . . . . . 36 iv Contents 2.4.3 A third example . . . . . . . . . . . . . . . . . . . . . . 37 2.4.4 Definition of nondeterministic finite automaton . . . . 38 2.5 Equivalence of DFAs and NFAs . . . . . . . . . . . . . . . . . 40 2.5.1 An example . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6 Closure under the regular operations . . . . . . . . . . . . . . 47 2.7 Regular expressions . . . . . . . . . . . . . . . . . . . . . . . . 51 2.8 Equivalence of regular expressions and regular languages . . . 55 2.8.1 Every regular expression describes a regular language . 55 2.8.2 Converting a DFA to a regular expression . . . . . . . 58 2.9 The pumping lemma and nonregular languages . . . . . . . . . 63 2.9.1 Applications of the pumping lemma . . . . . . . . . . . 66 2.10 Higmans Theorem . . . . . . . . . . . . . . . . . . . . . . . . 70 2.10.1 Dicksons Theorem . . . . . . . . . . . . . . . . . . . . 71 2.10.2 Proof of Higmans Theorem . . . . . . . . . . . . . . . 72 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3 Context-Free Languages 83 3.1 Context-free grammars . . . . . . . . . . . . . . . . . . . . . . 83Context-free grammars ....
View Full Document

Page1 / 220

notes2805 - Lecture Notes Introduction to Theory of...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online