|
CS410: Formal Lang/Abst Machines
This course
studies the theoretical underpinnings of modern computer science, focusing
on three main models of computation: DFA, PDA, and Turing Machines.
Students determine model capabilities and limitations: what is and is not
computable by each of them. Complexity issues related to the various models
will also be discussed.
Pre: CS 310 and MATH 375
Course Information
Lecturer:
Yanwei
Wu, --@mnsu.edu 389-2831
Office Hours: click here
or by appointment (send email).
Office: 224 Wissink Hall
Start Date : Aug-24-09; End date Dec-12-09. See MSU
academic calendar for Fall 2009.
ClassTime : M, W,F
9:00-9:50 AM
Classroom : TR C317
Midterm:
10/19/2009, class time (tentative). Final exam TUE, Dec 8, 2009, 8:00AM
to 10:00AM, in the -- See MSU 2009 fall final
schedule for more details.
Course Syllabus [Class Syllabus here] [Class Slides here]
1. Basic Mathematical Objects and
Concepts.
(a)
Sets, Logic, Functions, Relations and Languages
(b)
Mathematical Proofs
2. Regular Language and Finite
Automata
(a)
Formal deŻnitions of automata, regular expressions and equivalence
with
automata
(b)
Non-deterministic FA and their equivalence to deterministic FA
(c)
Pumping Lemma to show that a language is not regular
3. Context-Free Language and
Push-down Automata
(a)
Formal deŻnition of push-down automata and equivalence with context-
free
grammars
(b)
Pumping Lemma to show that a language is not context-free
4. Turing Machines and Their
Languages
(a)
Formal deŻnition of a Turing machine
(b)
Various models of TMs and their equivalence
5. Unsolvable Problems and
Computable Functions
(a)
The Halting problem
(b)
Mapping reducibility
(c)
Undecidable problems in language models
(d)
Recursive Function Theory
6. Introduction to Computational
Complexity
(a)
The classes P and NP
(b)
NP-Completeness and the Cook's theorem
(c)
Polynomial reducibility
(d)
NP-Complete problems
Course Assignments
5 Homeworks.
Homework 1: hw1.pdf hw1.tex
hw1_solution.pdf
Homework 2: hw2.pdf hw2.tex
hw2_solution.pdf
Homework 3: hw3.pdf hw3.tex
hw3_solution.pdf
Homework 4: hw4.pdf hw4.tex
hw4_solution.doc
Homework 5: hw5.pdf hw5.tex
Course Books
TEXT BOOK:
Title:
Introduction to Languages and the Theory of Computation
Author:
Martin
Publisher:
McGraw-Hill
ISBN: 9780136097204
GOOD BOOKs:
(1)
Introduction to Theory of Computing, M. Sipser. (recommended)
(2)
Introduction to Automata Theory, Languages and Computation, J. Hopcroft,
J.D. Ullman and R. Motwani.
(3)
Complexity Theory, by Papadimitriou
(4)
Elements of the Theory of Computation, by Lewis and Papadimitriou
Course Grading and Requirements:
For all
students:
Assignments
(40%), Midterm (30%), Final Examination (30%).
Exams: you will be responsible
for all material covered in lectures, homework, and assigned readings.
The format of
the exams will be announced shortly—
Homeworks:
1. You may take an automatic
extension by handing in the assignment on the specified extended due date
(within a week of the original due date) and time but with 10% deduction on
this homework grade.
2. No late assignments
handed in after the extended deadline will be accepted. Requests for an
additional extension will almost always be denied.
3. In this course you are
allowed to discuss the problems with your classmates, and to work together.
If you choose to do so, please indicate the name(s) of the people with whom
you have worked. Otherwise, it will be treated as cheating! Keep in mind
that you may discuss assignment problems, general proof strategies, or
general algorithms with other students in the course, but you cannot
collaborate in the detail development or actual writing of problem
sets. When you submit the hardcopy of your solution, please help us by
stapling all written pages, labeling them with your name, and clearly
labeling each problem. You don't want us to lose part of your assignment or
not see your answers, do you?.
|