School of Computer
Science, Tel Aviv University
Fall 2004-2005
Computational Models
(or more accurately - introduction to the theory of computation)
0368.2200
http://www.cs.tau.ac.il/~bchor/CM05/compute.html
Mondays
13:00-16:00, Dach Lecture Hall
Lecturer:
Benny Chor
Teaching
Assistant: Gadi Kimmel
Solutions to Moed A Exam (scanned, 5MB)
Moed A
Grades Moed B Grades
(Remark: Same factor applied to Moed A and B)
Contact Info:
|
|
Email
|
Phone
|
Office
|
Office Hours
|
Lecturer
|
Prof. Benny Chor
|
benny@cs.tau.ac.il
|
640-5977
|
Schreiber 223
|
By
e-appointment
|
Teaching Assistant
|
Dr. Gad
Kimmel
|
kgad@tau.ac.il
|
640-5394
|
Schreiber 011
|
By e-appointment
|
Grader (Bodek)
|
Alexander Medvedovsky
|
medv@post.tau.ac.il
|
|
Mail Box 400
|
By e-appointment
|
Course Outline
The course deals with fundamental questions of computer science:
- What
is a computer ?
- What
can computers do (and what can they not
do)?
- Why are
some problems computationally hard, while very similar ones are
computationally easy?
These questions were mostly raised during the 20th century,
and they accompanied and guided the actual development of computers.
Many of these and related questions were resolved, but some (especially those
dealing with computational hardness) retained their status
as "key open problems" into the 21st century.
Prerequisites
The course is a required course
for Computer Science students, and "extended intro to Computer
Science" is a prerequisite.
Students from other disciplines are encouraged to contact the instructor.
Course Requirements and Important Dates:
- 6
homework assignments. (Best 5 out of 6 will be part of the grade. Only
parts of each assignment will be graded.)
- Midterm
exam: Friday, Nov. 26. Material:
Lectures 1-5, Chapters 0 to 2. Grades.
- Final
exam. Closed book except for 4 double-sided pages of your choice.
Course Timetable (schedule and material of future
lectures are tentative):
The
course consists roughly of three parts: Lectures 1-5 deal with languages
and automata theory, lectures 5-10 with computability theory, and lectures
11-14 with complexity theory.
Lecture
___________
|
Date
______
|
Subject
______________________________________
|
Reference(s)
__________________
|
Recitation
___________
|
1
|
18/10/04
|
Administrativia and introduction. Mathematical terminology. Finite automata and regular languages - examples.
|
Chapter 0.
Chapter 1, Section 1.1
|
Mathematical
background
|
2
|
25/10
|
Nondeterminism finite state automata; Regular expressions;
Equivalence of regular languages and regular expressions.
|
Chapter 1, Sections 1.1-1.3
|
DFAs
|
3
|
1/11
|
The pumping lemma. Non regular languages.
Context free grammars. Chomsky normal form.
|
Chapter 1 and 2, Sections 1.4, 2.1, 2.2
|
Additional closure properties of regular languages
|
4
|
8/11
|
Push down automata. NonDeterminism
adds power to PDAs. Equivalence of PDAs and CFGs. Pumping lemma
for context free languages.
|
Chapter 2, Sections 2.2-2.3
|
Examples: Pumping lemma for (non) regular languages. CFL~PDA
|
5
|
15/11
|
NonDeterminism adds power to PDAs (revised);
Closure properties of CFLs; Algorithmic Aspects of PDAs and CFLs. Turing machines.
|
Chapter 2, Sections 2.2-2.3. Chapter 3, Section 3.1
|
Examples: Pumping lemma for PDAs.
|
6
|
22/11
|
Turing machines. Algorithms. Multi-Tape TMs; RAMs; Nondeterministic TMs. Church-Turing thesis.
Printer friendlier version.
|
Chapter 3, Sections 3.1-3.3
|
More TM examples.
TM with two sided infinite tape.
|
7
|
29/11
|
Hilbert's tenth problem.
Encodings. Universal TM. Diagonalization.Proof
of undecidability of the halting problem by diagonalization.
Printer friendlier version.
|
Chapter 3, Section 3.3,
Chapter 4, Sections 4.1-4.2
|
More TM examples.
Addition on TM.
|
8
|
6/12
|
Computable functions. Reductions. Proofs of undecidability via reductions by computation histories and by mapping
reductions.
Printer friendlier version.
|
Chapter 5, Sections 5.1, 5.3
|
|
9
|
13/12
|
Rice Theorem. Kolmogorov
Complexity. RE completeness.
Turing reductions. Godel incompleteness theorem.
Printer friendlier version.
|
Chapter 6, 6.2, 6.3, 6.4.
|
|
10
|
20/12
|
Undecidable tiling, or domino, problems
(old fashioned chalk dust presentation)
Recursion theorem (printable version)
Unrestricted Grammars - David Galles
slides (printable version)
|
Chapter 5, 5.2
Chapter 6, 6.1
|
Rice Theorem
Kolmogorov complexity
|
11
|
27/12
|
Time complexity – introduction. DTIME and NTIME.
Time dependence on models. The class P. (printable version)
|
Chapter 7, Sections
7.1- 7.2
|
The Recursion Theorem
|
12
|
3/1/2005
|
The class NP. Polynomial time Reductions. NP
completeness, Cook-Levin theorem: SAT is NP-complete.
(printable version)
|
Chapter 7, Sections
7.3-7.4
|
Additonal languages in NP
|
13
|
10/1
|
Additional Reductions (IP, HamPath, Bounded Tiling).
On search vs. decision problems. Approximation
Algorithms. (printable version)
Reduction from 3SAT to Hamiltonian path (a separate ps
file)
|
Chapter 7,
Sections
7.4-7.5
Chapter 10, Section 10.1
|
Additional reductions:
3 coloring and set cover
are NP complete
|
14
|
17/1
|
Approaches to dealing with computational intractability:
1) fixed parameter algorithms, 2) randomization. (13MB file!). (printable version)
|
Chapter 10,
Section 10.2.
The view from Mars
|
Review of course material.
|
Presentations are based on those prepared by Prof.
Maurice Herlihy for a similar course
given at Brown University.
Problem Sets
Problem Set 1 -
Published Oct. 18, due Nov. 9,
2004. Partial solution.
Problem Set 2 -
Published Nov. 9, due Nov. 23,
2004. Partial solution.
Problem Set 3 - Published
Dec. 1, due Dec. 16, 2004. Partial solution.
Problem Set 4 - Published
Dec. 17, due Dec. 30, 2004. Partial solution.
Problem Set 5 - Published
Jan. 6, due Jan. 20, 2005. Complete solution.
Early Printer Friendly
Handouts
http://www.cs.tau.ac.il/~tavorhai/CompuModels.htm
(courtesy of Haim Tavor).
Administrativia
Each week (including 1st week)
there will be a 3 hours lecture, preceeded by a 1
hour recitation. There will be 6 homework problems. Homework submission
is in singles only (no pairs, triplets,
quartets, quintets etc.). External sources (books, journal articles, web pages)
can be used but should be clearly quoted. Assignments due two weeks after publishing. Grading will apply to
part of the problems in each assignment. Solving assignments
independently is key to understanding the material and to success in exams, and
is strongly encouraged. Research done at the Technion
shows that outright copying may be harmful to your health.
Grade: 10-15% based on homework assignments, 20-25% based on
midterm, 60-70% on final exam. Midterm component weighted only if it
contributes non-negatively to final outcome.
Textbook
Introduction to the
Theory of Computation, M. Sipser, PWS
Publishing Co., 1997.
Reference Books
- Computational
Complexity, C. Papadimitriou, Addison-Wesley Publishing Co.,
1994.
- Elements
of the Theory of Computation, H. Lewis and C. Papadimitriou, Prentice-Hall,
1981.
- Introduction
to Automata Theory, Languages, and Computation, J. Hopcroft
and J. Ullman, Addison-Wesley Publishing Co.,
1979.
Other On-line Resources
Last year course
David Galles course at USF: http://www.cs.usfca.edu/~galles/cs411/
Exams from previous years (and
previous instructors) in Tel-Aviv Univ. This includes Fall 2003/4
exams from my last year's course.
Mid-term exams from previous years (and previous
instructors) in Tel-Aviv Univ.
A virtual Turing machine you can possibly run.
Other Interesting On-line Resources