CS
7220
Computability and Complexity
Syllabus: Spring 2015
Time: 5:00-6:20
Tuesday, Thursday
Room: 020 Rike Hall
Instructor: Professor Sudkamp
Office Hours: Immediately following class
and by
appointment
email:
thomas.sudkamp@wright.edu
Study Table: Mr. Ray Kulhanek
8:00
– 9:30 Monday, Wednesday
152C Russ
Engineering
The objective of this course is to establish
basic properties of algorithmic computability and computational complexity. In
particular, the relationship between complexity defined by Turing machines and
that of `high-level' algorithmic systems will presented. Upon completion of this course, students
should be able to demonstrate mastery of the following topics:
CS 7220 Learning Outcomes
·
Demonstrate that problems are
undecidable using problem reduction
·
Measure time and space complexity
of algorithms and languages
·
Establish NP-completeness of
problems
·
Understand implications of
intractability
.
Completion of CS 3200 or an equivalent
background is assumed prerequisite knowledge for this course. Students should
be familiar with use of grammars to define the syntax of formal languages and
acceptance of strings by finite state machines.
The chapters of the third edition of the
text Languages and Machines: An
Introduction to the Theory of Computer Science covered in this course are
given below. The material on Turing machines and decidability may be review for
some students and will be covered rapidly.
For students not familiar with these topics, attendance at the study tables
is highly recommended.
Topics:
Chapter 1.
1.1 Set
Theory
1.4 Countable
and Uncountable Sets
1.5
Diagonalization and Self-Reference
Chapter 8.
8.1
The standard Turing machine
8.2 Turing machines as language acceptors
8.6 Multi-tape machines
8.7 Nondeterministic Turing machines
Chapter 11.
11.1 Representation of Decision Problems
11.2 Decision Problems and Recursive Languages
11.3 Problem Reduction
11.4 Church Turing Thesis
11.5 A Universal Machine
Chapter 12.
12.1 The Halting Problem for Turing Machine
12.2 Problem Reduction and Undecidability
12.3 Additional Halting Problem Reductions
Chapter 14. Time Complexity
14.1 Measurement of Complexity
14.2
Rates of Growth
14.3 Time Complexity of a Turing Machine
14.4 Complexity of Turing Machine Variations
14.5 Linear Speed-Up
14.6 Properties of Time Complexity of Languages
Chapter 15. P, NP, and Cook’s Theorem
15.1 Time Complexity of Nondeterministic Turing Machines
15.2 The Classes P and NP
15.3 Problem Representation and Complexity
15.4 Decision Problems and Complexity
15.5 The Hamiltonian Circuit Problem
15.6 P = NP?
15.7 The Satisfiability Problem
Chapter 16. NP Complete Problems
16.1
Reduction and NP-Complete Problems
16.2
The 3-Satisfiability Problem
16.3 Reductions from 3-Satisfiability
16.4 Reduction and Subproblems
15.5 Optimization Problems
Chapter 17 Space Complexity
17.1
Derivative Complexity Classes
17.2
Space Complexity
17.3 Relations between Space and Time Complexity
16.4 P-Space, NP-Space, and Savitch’s Theorem
Exams
and Grades: Two midterm exams and a final exam will
be given in this course. The exams and
assignments will have the following weight in the determination of the course
grade:
Midterm
exams: 33% of the
grade for each exam
Midterm
dates: February 19, April 9
Final
Exam: 34% of grade for the final
Final date: April
28
The Final Exam will be comprehensive and
be given during the scheduled final period for the class: April 28th
5:45-7:45. There will be no make-up exams other than for
documented emergencies. Be sure to
arrange your schedule to be available for the exam periods. The exams will be open
book: no electronic devises or other information permitted.
Homework consisting of reading assignments
and problems will be given regularly.
Successful completion of these assignments will prepare you for the
examinations. Class time and study table
will be used to discuss these problems.
Course grades will be determined by the
following scale:
A: 100-90%
B: 89-80%
C: 79-70%
D: 69-60%
F: otherwise
There will be no curving with the
exception of matching potential natural breaks in the distribution—but do not
count on this.
Study
Table: A study table will be held on Monday and
Wednesday evenings. This will be used to
review material, collaborate on homework problems, and discuss the course
content. All students are encouraged to
attend.
Office
Hours: My office hours for the Spring semester are immediately after class on Tuesday and
Thursday. I will also be pleased to make
appointments with you at other times if you need to see me but cannot make my
office hours.
I can also be reached by email. Email may be used to obtain the answers to
simple questions, such as "what did we cover in class" or "what
was today's homework assignment".
Email, however, is not a proper vehicle for obtaining help on the
technical topics of the course. Technical
assistance needs to be given in a face-to-face manner so I can learn where you
are having difficulties and then help you to overcome them.