CSCI 546/646 : Intro. to Theory of Computation : Winter 2009
Professor Ernesto Gomez
phone: 880-5429
office: jb337
email:
egomez@csci.csusb.edu
office hours:
TBA
(or by appointment)
Announcements:
DUE DATES and final deliverables:
Monday 23 March is last class meeting. Any homework still due should be handed in at
this class meeting or before. We will discuss questions/doubts on the takehome final.
TERM PROJECT/PAPER - due Friday March 27.
THE FINAL - due Friday March 27.
Wednesday February 25 - no regular class - we will instead meet in CE 110 (College of Education) from
12-2 for the following seminars:
Yair Censor
and
Herman Gabor
NOTES FOR MONDAY FEBRUARY 16 - reducibility
NOTES/ASSIGNMENT FOR MONDAY FEBRUARY 9 -
TM Languages
Syllabus and schedule are still subject to change, as of 1/10/2009.
Term assignment - see link at bottom of this page. Modifications: Paper should be
about 4 to 8 pages rather than 6-12. References should be 3 or more for 546, 5
or more for 646.
Searching for papersr in the Pfau Library: (you must be either on the campus network
or use a VPN to access this from outside - see library web pages for how to do this).
From main Pfau Library page (http://www.lib.csusb.edu) select "Articles or Journals".
Use the "By Subject" link to select "Computer Science". Use the ACM, IEEE or Springer
links to search (ACM will find articles in IEEE or Springer and take you to them also).
SOME NEW LINKS:
The Complexity Zoo
Computational Complexity Theory - A modern Approach, Sanjeev Arora and Boaz Barak, Department of Computer Science, Pri(drnceton University, January 2008 - downloadable pdf of an excellent book !
The LEGO Turing Machine
Useful search terms (consider these as starting points, but you are not limited to them).
Random Turing Machine
Quantum Turing Machine
Analog Turing Machine
NP Completenes
PSPACE Completenes
Parallel Computation Hypothesis
Interactive Proof Systems
Also look for authors:
Aho, Babai, Chaitin, Chomsky, Deutsch, Feynman, Minsky, Papadimitriou, Penrose,
Turing, Ullman - any of the authors referenced in text or who turn up in your searches.
Text: Michael Sipser, "Introduction to the Theory of Computation",
Second Edition, Thomson
Additional references:
John E. Hopcroft and Jeffrey D. Ullman,
"Introduction to Automata Theory, Languages and Computation",
Addison-Wesley
John C. Martin, "Introduction to Languages and the
Theory of Computation - Second Edition", McGraw-Hill
Other references:
Raymond Greenlaw, H.James Hoover, Walter L. Ruzzo;
"Limits to Parallel Computation", Oxford University Press
Herken (ed.);
"The Universal Turing Machine - A Half-Century Survey",
Springer-Verlag (on reserve in the library)
Marvin L. Minsky, "Computation: Finite and Infinite Machines",
Prentice Hall Series in Automatic Computation
"Godel's Proof - (Revised Edition)", Ernest Nagel and James R. Newman,
edited by Douglas Hofstadter,New York University Press 2001
Related stuff:
Douglas Hofstadter, "Goedel, Escher, Bach: An eternal golden braid"
Fascinating book about Turing machines, artificial intelligence, music,
Escher's drawings, history - won the Pulitzer prize.
Roger Penrose, "The Emperor's New Mind"
Argues that digital computers and Turing machines are not the most
general computational device - points out holes in our present understanding
of quantum physics that maybe could lead to computation beyond Turing
machines, and could be what happens in the brain. Very readable - and
controversial!
Description:
This course will introduce the theory of computation. We introduce
the Turing machine as our basic computational model, and present
some alternative models which are shown to be equivalent. We will
consider decidable and undecidable problems. We will further
classify problems according to time and space complexity, and
establish the existence of problem classes such as P and NP.
Students will learn how to construct a Turing machine and use it
in proofs; how to demonstrate undecidability; how to show that
two problems are equivalent. They will acquire an understanding of
the limits of digital computation.
There is no lab component to this course, but assigned work may
include programming assignments.
This course combines the advanced undergraduate level CSCI546 and
the graduate level CSCI646. Although the material to be covered is
the same for both, students registered in CSCI646 will be required
to demonstrate a greater depth of knowledge and understanding in
assignments and tests. Students in CSCI646 will be assigned additional
reading and written report on one of a selection of journal or conference
papers relating to theory of computation, Turing Machines or complexity.
This will be optional for students registered in CSCI546.
List of papers: (link pending
Term Project/paper: