Dr. Hasmik Gharibyan Computer Science Department California Polytechnic State University San Luis Obispo, CA, 93407 CSC445: Theory of Computation, Fall 2008 Final Exam Study Sheet The final is a comprehensive closed-book exam. The schedule of this exam is as follows: Section 1: 10:10 a.m. - 1 p.m., Monday, December 8, in your lecture room: 52-A11. Section 2: 10:10 a.m. - 1 p.m., Wednesday, December 10, in your lecture room: 11-104. Office hours (final’s week): Monday: 9-10 a.m.; Wednesday: 9-10 a.m. Types of assignments you can expect during this exam: Part1: Exercises on topics learned throughout the course (similar to homework exercises). 1. Give a recursive definition of the given set 2. Give a regular expression to specify the given set 3. Construct a context-free grammar for a given language 4. Specify the language of the given context-free grammar 5. Construct a regular grammar for a given language 6. Specify the language of the given regular grammar 7. Construct a DFA for the given language (it should be completely deterministic) Note: nondeterminism or incomplete determinism will be considered a serious mistake 8. Construct an NFA (or NFA-) for the given language 9. Prove that the given language is regular 10. Prove that the given language is not regular (using the Pumping Lemma for regular languages) – you may be asked to give the full proof and/or will be asked short-answer questions checking your understanding of the proof 11. Prove that the given language is context-free 12. Prove that the given language is not context-free (using the Pumping Lemma for context-free languages) – you will NOT be asked to give the full proof; however, you will be asked shortanswer questions checking your understanding of the proof 13. Construct a Standard PDA for the given language 14. Construct a Turing Machine-language acceptor for a given language 15. Construct a Turing Machine-function computer for a given number-theoretic function Part2. Short-answer questions on the material covered throughout the course (similar to quiz questions on the course web site). It includes everything covered in all 3 midterms (see study sheets of midterms 1,2,3 for the list of chapters/sections from the textbook and for the list of handouts). In this part there will be questions testing your knowledge of concepts and results (definitions, theorems, lemmas, corollaries) presented in the course. “Know” means: understand, remember, be able to state as is or explain in you own words, and be able to apply. Attention: There will be NO questions on the following: - Algorithm of removing nondeterminism (Algorithm 5.6.3) – this is the algorithm of constructing an equivalent DFA for the given NFA or NFA-. However, you should know the -closure and the t function. - Algorithm of constructing a regular expression from a finite automaton (Algorithm 6.2.2). Also, there won’t be questions on the expression graphs. - Algorithm for constructing a regular grammar from a finite automaton and Algorithm for constructing a finite automaton from a regular grammar (these are algorithms presented in Theorems 6.3.1 and 6.3.2). - Variations on the PDA: various acceptance criteria, atomic/extended PDA’s, deterministic PDA. - Variations of Turing Machines: various acceptance criteria, various types of Turing machines (multitape, multitrack, two-way, nondeterministic).