Rices Theorem
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
alphabet).
Examples:
The set of all nite languages
The set of all innite languages
The set of all conte
THE PUMPING LEMMA FOR
REGULAR LANGUAGES
The Pumping Lemma is a useful result for proving that languages are
not regular.
(Note that I cant think up a DFA for the language isnt a proof that its
not regular.)
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
Turing Machines
variants: 1-way & 2-way tape, multitape, [non]deterministic
Par tial Recursive Functions
Markov Algorithms
are computationa
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,
re
Recursive and Recursively Enumerable Sets
Partial recursive functions can be used to classify sets of natural
numbers.
Turing machines can be used to classify sets of natural numbers and sets
of strings.
Well focus on sets of natural numbers.
The denition
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
COMPUTATIONAL PARADIGMS
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.
(What g
Chapter 0: Mathematical Preliminaries
SET NOTATION
Some important sets
N
Z
Q
R
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
U
the empty set
universe (u
The Bounds of Practical Computing: NP-Completeness
Polynomial-time complexity
The boundary between "computable in a reasonable time" and "not computable in
a reasonable time" can be estimated by "[not] computable in polynomial
time".
Denition:
A language
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
Input:
A propositional logic expression using only the operators and, or, and not
Decision:
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
en