CS 3719 (Theory of Computation and Algorithms)
Lecture 1
Antonina Kolokolova
January 6, 2011
This course will focus on the theory of computation, that is, problems that can (and cannot)
be solved computationally, and methods of doing so, when they exist.
CS 3719 (Theory of Computation and Algorithms)
Lecture 9
Antonina Kolokolova
January 25, 2011
1
Pushdown automata
Last class we have seen that some languages are not regular. And, moreover, the examples we
have seen are languages that can easily be compu
CS 3719 (Theory of Computation and Algorithms)
Lecture 10
Antonina Kolokolova
January 27, 2011
Let us do one more example of a Pushdown Automaton. In this case, we will consider a
language where non-determinism is really unavoidable: cfw_ai bj ck |i = j
CS 3719 (Theory of Computation and Algorithms)
Lecture 7
Antonina Kolokolova
January 20, 2011
Example 1. Here is an example of converting a 3-state NFA into a DFA, following the
procedure from the last class. The alphabet is = cfw_0, 1. The states of the
CS 3719 (Theory of Computation and Algorithms)
Lecture 6
Antonina Kolokolova
January 18, 2011
1
Closure under concatenation and star operations
Last time, we showed that the class of regular languages is closed under the Union operation
(lemma 2.) Now we
CS 3719 (Theory of Computation and Algorithms)
Lecture 2
Antonina Kolokolova
January 7, 2011
1
Preliminaries: Alphabets and languages
We will start by introducing some notation.
Here, dene an alphabet to be any nite non-empty set. Usually, we denote an
CS 3719 (Theory of Computation and Algorithms)
Lecture 4
Antonina Kolokolova
January 18, 2012
1
Undecidable languages
1.1
Church-Turing thesis
Lets recap how it all started. In 1990, Hilbert stated a list of problems for mathematicians
of the next centur
CS 3719 (Theory of Computation and Algorithms)
Lecture 5
Antonina Kolokolova
January 23, 2012
1
Reductions
Now we will proceed to show that many problems are undecidable (and some of them are not
semi-decidable, not co-semi-decidable or even neither semi
CS 3719 (Theory of Computation and Algorithms)
Lecture 11
Antonina Kolokolova
January 28, 2011
0.1
Regular languages vs. context-free languages
Last class we have seen an example of a nonregular language that is context-free. But are
there regular langua
CS 3719 (Theory of Computation and Algorithms)
Lecture 12
Antonina Kolokolova
February 1, 2011
Last class we saw that regular languages are a subclass of context-free languages. You may
be wondering what other main types of (grammar-dened) languages ther
CS 3719 (Theory of Computation and Algorithms)
Lecture 20
Antonina Kolokolova
February 24, 2011
0.1
Examples of reductions
Recall that A m B i there exists a computable function f such that x x A i
A
f (x) B . The notation suggests that A is at most as h
CS3719 Algorithms and Complexity
Instructor: Cao An Wang
Winter, 2014
OBJECTIVES OF THE COURSE
This course will study some abstract machine models and computability; methods for
analyzing time and space complexity of algorithms; and major algorithm design
CS 3719 (Theory of Computation and Algorithms)
Lecture 17
Antonina Kolokolova
February 15, 2011
0.1
Multi-tape Turing machine
Often it is convenient to describe a Turing machine using several tapes, each dedicated to a
specic function. For example, if we
CS 3719 (Theory of Computation and Algorithms)
Lecture 16
Antonina Kolokolova
February 11, 2011
Let us dene more formally what is a computation of a Turing machine. Recall that for
regular languages we dened a computation as a sequence of states; for gra
CS 3719 (Theory of Computation and Algorithms)
Lecture 13
Antonina Kolokolova
February 4, 2011
In the last lecture we proved one direction of the equivalence between the class of languages
accepted by pushdown automata and a class of languages generated
CS 3719 (Theory of Computation and Algorithms)
Lecture 14
Antonina Kolokolova
February 8 2011
1
Pumping lemma for CFLs
Just like we proved that certain languages are not regular by dening a property (pumping
lemma) which all regular languages satisfy, an
CS 3719 (Theory of Computation and Algorithms)
Lecture 15
Antonina Kolokolova
February 10 2011
1
Turing machines
Now we are moving on to the model of computation which we will use for the rest of the
class: the Turing machine.
Alan Turing was working on