Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Standard view
Full view
of .

Introduction
1.1 Purpose and motivation
1.1.1 Complexity theory
1.1.2 Computability theory
1.1.3 Automata theory
1.1.4 This course
1.2 Mathematical preliminaries
1.3 Proof techniques
1.3.1 Direct proofs
1.3.2 Constructive proofs
1.3.3 Nonconstructive proofs
1.3.4 Proofs by contradiction
1.3.5 The pigeon hole principle
1.3.6 Proofs by induction
1.3.7 More examples of proofs
2.1 An example: Controling a toll gate
2.2 Deterministic ﬁnite automata
2.2.1 A ﬁrst example of a ﬁnite automaton
2.2.2 A second example of a ﬁnite automaton
2.2.3 A third example of a ﬁnite automaton
2.3 Regular operations
2.4 Nondeterministic ﬁnite automata
2.4.1 A ﬁrst example
2.4.2 A second example
2.4.3 A third example
2.4.4 Deﬁnition of nondeterministic ﬁnite automaton
2.5 Equivalence of DFAs and NFAs
2.5.1 An example
2.6 Closure under the regular operations
2.7 Regular expressions
2.8.1 Every regular expression describes a regular lan-
2.8.2 Converting a DFA to a regular expression
2.9 The pumping lemma and nonregular lan-
2.9.1 Applications of the pumping lemma
2.10 Higman’s Theorem
2.10.1 Dickson’s Theorem
2.10.2 Proof of Higman’s Theorem
Exercises
Context-Free Languages
3.1 Context-free grammars
3.2 Examples of context-free grammars
3.2.1 Properly nested parentheses
3.2.2 A context-free grammar for a nonregular lan-
3.2.4 A context-free grammar that veriﬁes addition
3.3 Regular languages are context-free
3.3.1 An example
3.4 Chomsky normal form
3.4.1 An example
3.5 Pushdown automata
3.6 Examples of pushdown automata
3.6.1 Properly nested parentheses
3.6.2 Strings of the form 0n
3.6.3 Strings with b in the middle
3.8 The pumping lemma for context-free lan-
3.8.1 Proof of the pumping lemma
3.8.2 Applications of the pumping lemma
4.1 Deﬁnition of a Turing machine
4.2 Examples of Turing machines
4.2.1 Accepting palindromes using one tape
4.2.2 Accepting palindromes using two tapes
4.3 Multi-tape Turing machines
4.4 The Church-Turing Thesis
5.1 Decidability
5.1.1 The language ADFA
5.1.5 The Halting Problem
5.2 Countable sets
5.2.1 The Halting Problem revisited
5.3 Rice’s Theorem
5.3.1 Proof of Rice’s Theorem
5.4 Enumerability
5.4.1 Hilbert’s problem
5.4.2 The language ATM
5.5 Where does the term “enumerable” come
5.6 Most languages are not enumerable
5.6.1 The set of enumerable languages is countable
5.6.2 The set of all languages is not countable
5.6.3 There are languages that are not enumerable
5.8.1 EQTM is not enumerable
5.8.2 EQTM is not enumerable
6.1 The running time of algorithms
6.2 The complexity class P
6.2.1 Some examples
6.3 The complexity class NP
6.3.1 P is contained in NP
6.3.2 Deciding NP-languages in exponential time
6.3.3 Summary
6.4 Non-deterministic algorithms
6.5 NP-complete languages
6.5.1 Two examples of reductions
6.5.2 Deﬁnition of NP-completeness
6.5.3 An NP-complete domino game
6.5.4 Examples of NP-complete languages
0 of .
Results for:
P. 1
Theory of Computation

# Theory of Computation

Ratings:
(0)
|Views: 13|Likes:
Theory of programming and computation.
Theory of programming and computation.

Published by: peralozac123 on Nov 25, 2013

### Availability:

Read on Scribd mobile: iPhone, iPad and Android.
See more
See less

11/26/2013

pdf

text

original

You're Reading a Free Preview
Pages 5 to 114 are not shown in this preview.
You're Reading a Free Preview
Pages 119 to 136 are not shown in this preview.
You're Reading a Free Preview
Pages 141 to 162 are not shown in this preview.
You're Reading a Free Preview
Pages 167 to 168 are not shown in this preview.
You're Reading a Free Preview
Pages 173 to 246 are not shown in this preview.

## Activity (0)

You've already reviewed this. Edit your review.
No activity yet
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->