Discrete II: Theory of Computation
Fall 2018
 

U.C.F.

Charles E. Hughes
Department of Computer Science
University of Central Florida


email: charles.e.hughes@knights.ucf.edu 

Structure: TR 1330-1445 (1:30PM - 2:45PM), BA1-119; 29 class periods, each 75 minutes long.
Go To Week 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

Instructor: Charles Hughes; Harris Engineering Center 247C; 823-2762
Office Hours: TR1515-1630 (3:15PM - 4:45PM)
GTA: Amirfarhad Nilizadeh (af.nilizadeh@knights.ucf.edu)
Office Hours: MF 10:00AM-11:45AM; HEC-308
Text: Sipser, Introduction to the Theory of Computation 2nd/3rd Ed., Cengage Learning, 2005/2013+Notes
Secondary References: Hopcroft, Motwani and Ullman, Introduction to Automata Theory, Languages and Computation 3rd Ed., Prentice Hall, 2006.
Prerequisites: COT 3100; COP3503

Web Pages:
Base URL: http://www.cs.ucf.edu/courses/cot4210/Fall2018
Notes URL: http://www.cs.ucf.edu/courses/cot4210/Fall2018/Notes/COT4210Notes.pdf

Quizzes and Assignments: Approximately 10.

Exams: 2 midterms and a final.

Material: I will draw heavily from Chapters 0-7 of Sipser. Some material will also come from Hopcroft et al.. You are responsible for material discussed in notes and in in-class discussions. Not all of this is addressed in either of these texts. I highly recommend attending class, interacting with me and listening very carefully when I say a topic is important to me; hint, hint about exam questions ;-)

Important Dates: Exam#1 -- September 27; Withdraw Deadline -- October 26; Exam#2 -- October 25; Final -- Tuesday, December 4, 1300-1550 (1:00PM-3:50PM)

Evaluation (Tentative):
Mid Terms -- 100 points each
Final Exam -- 175 points
Quizzes and Assignments -- 75 points
Bonus -- 50 points added to the weighting of your best exam
Total Available: 500
Grading will be A ≥ 90%,A- ≥ 88%,B+ ≥ 85%,B ≥ 80%, B- ≥78%,C+ ≥ 75%,C ≥ 70%,C- ≥ 60%,D ≥ 50%,F < 50%


Weeks#1: (8/21, 8/23) -- Notes pp. 2-69 (Chapters 0 and 1 of Sipser); Syllabus
  1. Ground rules
  2. Sets, sequences, relations and functions (review)
  3. Ordinals, cardinals and infinities
  4. Graphs
  5. Languages
  6. Set/Language recognizers and generators
  7. Introduction to computability: historical and motivation perspective
  8. Basic notions of automata theory, formal languages, computability and complexity
  9. Brief introduction to Chomsky Hierarchy (sets context for much of course)
  10. Proof techniques
  11. Complexity theory: basic goals; big question is P=NP?
  12. Discussions about non-determinism versus determinism
  13. Formal definition of a Determinitic Finite (State) Automaton (DFA)
    A = (Finite State Set, Finite Input Alphabet, Transition Function, Start State, Final States), 
      where transtion function maps (Current State, Current Input Symbol) to Next State
    Can represent Transition Function by State Transition Table or State Transtion Diagram (preferred)
  14. Determinitic Finite (State) Automaton (DFA): what and why?
    Sequential circuits: Checkers for odd parity , 2's complement , 3 mod 5 ; pattern matchers: password checker, vending machine; lexical analyzers; simple game/simulation behaviors.
    Formal definition and examples
    State transition diagrams versus state transition tables
  15. More about sequential circuits and automata
  16. Non-deterministic Finite State Auomaton (NFA)
  17. Closure Properties (Complement, Union, Intersection, Exclusive Union)
  18. Some hand-written notes for this week

Assignment #1

It is a survey that is online in webcourses. It will be graded, but that's five free points if you complete it on time (11:59PM Friday, 8/24).

Due: One Minute before Midnight Friday, 8/24

Assignment #2

See page 44 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: Thursday, 8/30 at 1:30PM (Key)

Week#2: (8/28, 8/30) -- Notes pp. 70-101 (Chapter 1 of Sipser)
  1. Notion of output, not just checking (will follow up later)
  2. Non-determinism (NFA)
    Closure under concatenation, Kleene *
    Choosing the right model for various closure properties
    Formal definition and examples
  3. The epsilon (lambda) closure of a set of states
  4. Equivalence of DFAs and NFAs (subset of all states construction)
  5. Regular Expressions (closure of primitive sets under union, concatenation and star
  6. Every language defined by a Regular Expression is accepted by an NFA
  7. Every language accepted by a DFA is defined by a Regular Expression (ripping states out)
  8. Approach#1:  Rij(k) construction from DFA or NFA
  9. Approach #2: State Ripping similar to text Generalized NFA (GNFA)
  10. Approach#3: Languages defined by Regular Equations (not in text) and NFAs without lambda transitions
  11. Some hand-written notes for this week

Assignment #3

See page 83 of Notes
Sample assignment with no answers
Sample assignment with answers

Due: Thursday 9/6 by 1:30PM (Key)

 


Week#3: (9/4, 9/6) -- Notes pp. 102-122 (Chapter 1 of Sipser); Samples
  1. Existence of minimal state machine for any Regular Language
  2. Minimizing the states of a DFA (compatible vs incompatible, aka indistinguishable vs distinguishable states)
  3. Minimization example using notion of incompatible/distinguishable states
  4. Decidable Properties -- membership, emptiness, everything, finiteness, equivalence
  5. Right model for closure of Regular Languages under Intersection, Complement, and Reversal
  6. Closure of Regular Languages under Substitution, Homomorphism, and Quotient
  7. Meta approach to closure based on Substitution within Class and Intersection with Regular
  8. Closure of Regular Languages under Prefix, Postfix, Substring
  9. Classic non-regular languages {0n1n | n is greater than or equal to 0}
  10. Pumping Lemma for Regular Languages
  11. Proofs that certain languages are not regular using Pumping Lemma
  12. Some hand-written notes for this week
  13. Assignment #4

    See page 114-115 of Notes
    Sample assignment with no answers
    Sample assignment with answers

    Due: 9/13 by 1:30PM (Key); (Key for 4.1) redone -- first one had a loop on 0 at D; should be 1 on D


Week#4: (9/11. 9/13) - Notes pp. 123-156 (Chapter 1 of Sipser); Samples
  1. Right-invariant equivalence relationships and Myhill-Nerode Theorem
  2. Proofs that certain languages are not regular using Myhill-Nerode Theorem
  3. More proofs that certain languages are not regular using Pumping Lemma and Myhill-Nerode
  4. Transducers (automata with output); Mealy and Moore Models
  5. Post, Thue rewriting systems
  6. Basic notion of grammars and languages generated by grammars
  7. Chomsky hierarchy (Type 3 through Type 0 grammars and languages) -- see page 36 of Notes
  8. Notions of derivation and the language generated by a grammar
  9. Regular (right linear, Type 3) grammars
  10. Every language generated by a regular grammar is regular
  11. Every regular language is generated by a type 3 grammar
  12. The right and left linear grammars generate equivalent classes of languages
  13. Can extend regular grammars to include strings rather than single characters
  14. Grammars and closure properties (union, concatenation, Kleene *)
  15. Reachable states from some given state
  16. Reaching states to some given state
  17. Min and Max closure of Regular Languages
  18. Some handwritten notes for this week
  19. End of Exam#1 Material
  20. Exam#1 Topics pp. 152-156 in Notes
  21. Prior Exam#1  -- Complete this for discussion on 9/25 (key)
  22. Another Prior Exam#1 -- Complete this for discussion on 9/25 (key)
  23. Review 9/24 in HEC-101 from 10:00 to 12:00

    Assignment #5

    See page 136 of Notes
    Sample assignment with no answers
    Sample assignment with answers

    Due: 9/20 by 1:30PM (Key)


Week#5: (9/18, 9/20) --  Notes pp. 157-171 (Relevant but not covered in Chapter 1 of Sipser); pp. 157-171, Chapter 2 of Sipser
  1. Context free grammars and context free languages
  2. Sample grammars: {a^n b^n}; {w w(reversed)}; {w | #a(w) = #b(w)}
  3. Derivations (leftmost/rightmost)
  4. Parsing (parse trees; top down/bottom up)
  5. Notion of ambiguity (inherent versus due to a specific grammar)
  6. Definition of ambiguity -- some string leads to two or more
    1. Parse trees
    2. Leftmost derivations
    3. Rightmost derivations
  7. Parsing problems (left recursion bad for top-down; right recusion bad for bottom-up)
  8. DCFLs (unambiguous CFLs) versus DCFGs (unambiguous CFGs)
  9. LR(k) languages versus grammars; LL(k) languages versus grammars
    1. LR(1) languages = DCFLs; LR(k) grammars properly contained in DCFGs
    2. LL(k) languages properly contained in LL(k+1) languages
    3. LL(k) grammars properly contained in DCFGs
    4. In the limit as k goes to infinity LL(k) languages = DCFLs
  10. Removing left or right recursion to accommodate top-down or bottom-up
  11. Examples of syntax directed parsing
  12. Some handwritten notes for this week


Week#6: (9/25, 9/27) -- 9/24: GTA Review Monday, HEC-101, 10:00 to 12:00; 9/25: In-Class Review; 9/27: Exam 
  1. Exam#1 Topics pp. 152-156 in Notes
  2. Review and go over sample questions
  3. MidTerm 1  (Chapter 1; Notes pp. 1-156; Assignments 1-5; Handwritten notes through week 4)


Week#7: (10/2, 10/4) -- Notes pp. 172-201, Chapter 2 of Sipser 
  1. Chomsky Normal Form (CNF)
  2. Chomsky Normal Form (CNF) and the algorithm to convert a CFG to a CNF
  3. Eliminate lambda rules and accommodate for nullable non-terminals
  4. Eliminate unit rules (chains of non-terminals)
  5. Eliminate non-productive non-terminals (no terminal string can be generated from them)
  6. Eliminate unreachable non-terminals (cannot get to them from S)
  7. On rhs's of length >1, replace each terminal with symbol that derives it directly
  8. Recursively change rhs of length k, k>2, to two rules, one with rhs of length 2 and the other of length k-1
  9. Cocke-Kasami-Younger (CKY) polynomial time CFG parser
  10. Pumping Lemma for CFLs
  11. Constructive proof of Pumping Lemma for CFLs
  12. Non-CFLs {a^n b^n c^n }, {ww | w is a string over Sigma* }
  13. Closure properties for CFLs (intersection with regular, substitution)
  14. Non-closure (intersection and complement)
    1. Intersection of {a^n b^n c^m} and {a^m b^n c^n}
    2. Complement
  15. Complement of {ww | w is a string over Sigma* } is a CFL
  16. Solvable Decision Problems about CFLs and CFGs
  17. Solvable Decision Problems for CFL, L
    1. Is w in L?
    2. Is L empty (non-empty)?
    3. Is L finite (infinite)?
  18. Some handwritten notes for this week
  19. Assignment #6

    See page 192 of Notes
    Sample assignment with no answers
    Sample assignment with answers

    Due: 10/11 by 11:59 PM (Key) Comments


Week#8: (10/9, 10/11) -- Notes pp. 202-225; Chapter 2 of Sipser
  1. Pushdown automata (PDA) non-determinstic vs deterministic
  2. Notion of instantaneous description (ID)
  3. Equivalence of a variety of PDA formalizations
    1. Bottom of stack marker versus none at start
    2. Ability to push none or one, versus many characters on stack
    3. Recognition by accepting state, by empty stack and by both
    4. Chomsky Normal Form (CNF) and the algorithm to convert a CFG to a CNF
  4. Shorthand notation for PDA
  5. Examples PDAs
  6. Top down parsing of a CFL by PDA
  7. Bottom up parsing of CFL by PDA
  8. Using just pop and push operations in a PDA
  9. Converting PDA to CFG
  10. Example to show PDA language is a CFL by two different methods
  11. Greiback Normal Form (GNF) and linear parsing (with great guessing)
  12. Max and Min non-closure
  13. Using substitution and intersection with regular to get many more,
    e.g., prefix, suffix , substring and quotient with regularNon-determinism in PDAs
  14. Some handwritten notes for this week
  15. Context Sensitive Grammars (CSG) and Languages (CSL)
  16. Phrase Structured Grammars (CSG) and Languagess (re)
  17. This ends the material for Exam#2
  18. Exam#2 Topics pp. 223-225 in Notes
  19. Midterm Exam#1 Key
  20. Earlier Semester's Exam#2  -- Complete this for discussion on 10/23 (key)
  21. Another Sample Exam#2 -- Complete this for discussion on 10/23(key)
  22. Some handwritten notes for this week
  23. Some more handwritten notes for this week

    Assignment #7

    See page 220 of Notes
    Sample assignment with no answers
    Sample assignment with answers

    Due: 10/23 by 11:59 PM (Key)


Week#9: (10/16, 10/18) -- Notes pp. 213-297 (some is just for your reading); Chapter 2 of Sipser

  1. Some clean up of topics in Exam#2
  2. Solved/Unsolved, Solvable/Unsolvable, Enumerable (semi-decidable)/Non-Enumerable
  3. Hilbert 10th
  4. Cantor and diagonalization -- countable versus uncountable
  5. Countability of machines/programs in any model of computation
  6. Counting argument that there are undecidable problems
  7. Halting Problem defined
  8. Notations for convergence and non-convergence
  9. Halting Problem -- undecidabibility using diagolization
  10. Turing Machines and Variants of Turing Machines
  11. Turing Machines as enumerators/recognizers
  12. Register Machines
  13. Factor Replacement Systems (FRS) as simple models of computation
  14. The necessity of order with FRSs
  15. Discussion of determinism versus non-determinism in models of computation
  16. Some handwritten notes for this week

Week#10: (10/23, 10/25) -- 10/22: GTA Review Monday, HEC-101, 10:00 to 12:00; 10/23 In-Class Review; 10/25 (Midterm2); Notes pp. 223-225;
  1. Help Session on Monday, 10/22 from 10 to noon at  HEC-101
  2. In Class Review Session on Tuesday, 10/23
  3. Closure Review Sheet (Key)
  4. MidTerm 2 on Thursday, 10/25
  5. Note: 10/26 is the Withdraw Deadline


Week#11: (10/30, 11/1) -- Notes pp. 298-338; Chapters 4, 5 of Sipser
  1. Primitive (incomplete) and mu recursive (complete) functions
  2. Numbering machines
  3. Universal Machine
  4. The Halting Problem -- classic undecidable but recognizable (semi-decidable, enumerable) problem
  5. Diagonalization proof for Halting Problem
  6. Set of Procedures can be enumerated by a 1-1 onto function
  7. Halt is semi-decidable
  8. The set of algorithms (TOTAL) is non-re
  9. Diagonalization proof for non-re nature of set of algorithms
  10. Enumeration Theorem (enumeration of RE sets)
  11. Reducibility as a technique to show undecidability
  12. Reducibility as a technique to show non-re-ness
  13. Reducing Halt to TOTAL
  14. Using reducibility to show properties of HasZero= { f | for some x, f(x) = 0 }
  15. Using reducibility to show properties of Zero = { f | for all x, f(x) =0 }
  16. RE sets and their complex hierarchy
  17. Many-one reducibility and equivalence
  18. Notion of (many-one) re-complete sets (HALT is one such set)
  19. One-one reducibility and one-one degrees
  20. Turing reducibility and Turing degrees
  21. Notion of RE Completeness
  22. Showing K0 = HALT is RE Complete (in RE and as hard as any other RE problem)
  23. The sets K is RE-complete
  24. Showing HasZero is RE Complete (in RE and HALT reduces to it)
  25. Rice's Theorem (weak and strong forms)
  26. Proofs of Rice's Theorem (textual and visual)
  27. Applying Rice's
  28. Some handwritten notes for this week

    Assignment #8

    See page 350 of Notes
    Sample assignment with no answers
    Sample assignment with answers

    Due: 11/13 by 11:59PM (Key)



Week#12: (11/6, 11/8) -- Notes pp. 339-398; Chapters 4, 5 of Sipser 
  1. Examples of applying Rice's Theorem (all three forms)
  2. STP predicate (STP(f,x,t) iff f(x) converges in t steps or fewer)
  3. VALUE(f,x,t) = f(x) if STP(f,x,t), else 0
  4. Note that STP and VALUE are actually primitive recursive
  5. Finally, proof that re and semi-decidable are same
  6. If S and its complement are RE, then S is decidable
  7. Quantification as a tool to identify upper bound complexity
  8. Picture of relationships of REC, RE, RE Complete, Co-RE, non-RE/non-co-RE, non-Recursive
  9. Post Correspondence Problem (PCP)
  10. Applications of PCP (Undecidability of Ambiguity of CFLs and Non-emptiness of Intersection of CFLs)
  11. Application of PCP to Undecidability of Non-emptiness of CSLs
    1. This can be done by a CSG that produces strings iff PCP has a solution
    2. It can also be shown by fact that intersection of two CFLs is a CSL
  12. Is L = Sigma* is undecidable (comes from complement of terminating traces being a CFL)?
    1. Is L = L2? undecidable for CFL since can reduce Is L = Sigma*? to Is L = L2?
    2. There is a more complex proof that we cannot decide is there is an n such that L = Ln
  13. More Unsolvable Decision Problems for CFL, L
    1. Is L = L', where L' is some other CFL? Just set L' = Sigma*
    2. Is L intersect L' empty (non-empty); straight from PCP reduction to non-empty intersection
    3. Is L intersect L' finite (infinite); if PCP mapping gets one overlap then there are an infinite number
  14. Midterm Exam#2 Key
  15. Some more handwritten notes for this week
  16. A few more notes from this week

Assignment #9

See page 368 of Notes
Sample assignment with no answers
Sample assignment with answers

Due: 11/20 by 11:59 PM (Key)


Week#13:  (11/13, 11/15) --  Notes pp. 399-444 Chapters 5  and 6 of Sipser 
  1. Introduction to Complexity Theory
  2. Verifiers versus solvers
  3. NP as verifiable in deterministic polynomial time
  4. P as solvable in deterministic polynomial time
  5. NP as solvable in non-deterministic polynomial time
  6. Million dollar question: P = NP ?
  7. Some NP problems that do not appear to be in P: SubsetSum, Partition
  8. Concepts of NP-Complete and NP-Hard
  9. Canonical NP-Complete problem: SAT (Satisfiability)
  10. Construction that maps every problem solvable in non-deterministic polynomial time on TM to SAT
  11. SAT reduction to 3SAT
  12. 3SAT as a second NP-Complete problem
  13. 3SAT reduction to SubsetSum reduction
  14. SubsetSum equivalence (within a polynomial factor) to Partition
  15. 3SAT reduction to 0-1 Integer Linear Programming
  16. Vertex Cover
  17. Independent Set
  18. K-Color
  19. Register Allocation
  20. Some handwritten written notes for this week

    Assignment #10

    See page 445 of Notes
    Sample assignment with no answers
    Sample assignment with answers


    Due: 11/29 by 11:59PM (Key)



Week#14: (11/20) --  Chapter 7 of Sipser; Final Exam Review

  1. Go over SumSome = { f | range of f has three distinct values, x,y,z where z=x+y}
  2. Go over above with quantification, reduction and Rice's
  3. Go over Finite Range = { f | range of f is finite }
  4. Go over above with quantification, reduction and Rice's
  5. Go over probelms on Pages 26 and 9 of Final Review
  6. Some handwritten notes for this week


Week#15:  (11/27, 11/29) Notes pp. 445-479; Final Exam Reviews (Tuesday and Thursday at regular room and time)

  1. Scheduling on multiprocessor systems
  2. Questions from Notes pp. 364-367
  3. Sample Final
  4. Final Exam Topics (Notes pp. 474-479)
  5. Closure Review
  6. Closure Review Key
  7. Final Exam Sample without key
  8. Final Exam Review with Sample Exam Key
  9. Second Final Exam Sample without Key
  10. Second Final Exam Sample with Key
  11. Final Review
  12. Additional Help Session on Monday (see below)
  13. Following material will not be on exam and not even be discussed (Notes pp. 480-547)
    1. Details of Equivalence of Computational Models
    2. Hamiltonian Circuit
    3. Travelling Salesman
    4. Tiling (undecidable in plane; NP-Complete in polynomial size limited plane)

Review Sessions: This whole week and  Monday, December 3, 5:00PM to 7:00PM, in HEC-101

Final Exam; Tuesday, December 4, 1300 - 1550 (1:00PM - 3:50PM); BA1-119



© UCF Last Updated December 3, 2018