Recall that a language is a set of strings (over a given alphabet).
Denition: A property of languages is a set of languages (over a given
The set of all nite languages
The set of all innite languages
The set of all conte
THE PUMPING LEMMA FOR
The Pumping Lemma is a useful result for proving that languages are
(Note that I cant think up a DFA for the language isnt a proof that its
Basic insight of pumping lemma:
A DFA has only s
The Bounds of Computability
1. The Church-Turing Thesis
All the models of computation discussed in this textbook
variants: 1-way & 2-way tape, multitape, [non]deterministic
Par tial Recursive Functions
Chapter 4: Markov Algorithms
A. A. Markov (1950s): Russian mathematician
Transduction paradigm: Computation as string rewriting
How a Markov Algorithm works:
Markov algorithm schema: a set of rules for rewriting strings.
Starting with the input string,
Recursive and Recursively Enumerable Sets
Partial recursive functions can be used to classify sets of natural
Turing machines can be used to classify sets of natural numbers and sets
Well focus on sets of natural numbers.
Chapter 3: An Introduction to Recursion Theory
Recursive Function Theory uses
Simple initial functions
Forms for building complicated functions out of simpler functions
Primitive recursive functions:
3 kinds of initial functions
2 forms for building f
Chapter 2: Varieties of Turing Machine
The TM with
a 2-way innite tape,
taking its input from the tape,
writing its output on the tape,
moving and writing in separate steps
is not the only TM model thats been designed.
Well look at several variations on T
Chapter 1: Turing Machines
A computation, or an algorithm, is an intuitive notion.
Well formalize that intuition in several ways in this class.
Some elements an algorithm should have:
Speciable in a nite-length description.
Chapter 0: Mathematical Preliminaries
Some important sets
the set of natural numbers: cfw_0, 1, 2, .
the set of integers: cfw_., -3, -2, -1, 0, 1, 2, 3, .
the set of rational numbers
the set of real numbers
the empty set
The Bounds of Practical Computing: NP-Completeness
The boundary between "computable in a reasonable time" and "not computable in
a reasonable time" can be estimated by "[not] computable in polynomial
The Clique Problem is NP-Complete
Proof: Reduce CNF-Satisability to Clique.
Given a CNF expression with k clauses, we construct a graph which has a k-clique
iff the expression is satisable.
Each vertex in the graph is a pair of numbers <i, j> that stands
The Satisability Problem
A propositional logic expression using only the operators and, or, and not
Is there an assignment of truth values to the propositional variables that
makes the expression true?
(I.e., is there an interpretation th
THE CHOMSKY HIERARCHY
(Reading: Section 12.7)
The Chomsky hierarchy, named for linguist Noam Chomsky who studied
formal grammars, describes a hierarchy of languages, ranging from the
very simple regular languages up through the very general recursively