Discrete
II:
Theory of ComputationFall 2019 |

Department of Computer Science

University of Central Florida

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

**Structure**: TR 1630-1745
(4:30PM - 5: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:** TR1400-1530
(2:00PM - 3:30PM)

**TA: **Stephen Powell, stephenmpowell@knights.ucf.edu

TA Office Hours:
MW1500-1630 (3:00PM-4:30PM) in HEC-308

**TA: **Trevor Bland, tbland96@knights.ucf.edu

TA Office Hours:
F1000-1200 (10:00AM-12:00PM) in 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

Youtube Channel: https://www.youtube.com/watch?v=TOsMcgIK95k

**Web Pages**:

Base URL: http://www.cs.ucf.edu/courses/cot4210/Fall2019

Notes URL: http://www.cs.ucf.edu/courses/cot4210/Fall2019/Notes/COT4210Notes.pdf

**Quizzes and Assignments**:
Around 10.

**Exams**: Midterm and 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:** Midterm --
Thursday, October 17; Withdraw Deadline -- November 1; Final --
Thursday, December 5, 1600-1850 (4:00PM-6:50PM)

**Evaluation (Tentative)**:

Mid Term -- 150 points each

Final Exam -- 200 points

Assignments -- 75 points

Bonus -- 75 points added to the weighting of your better 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%

**Ground rules**- For you to look at
as part of a review of discrete math (see Preliminaries)

- Sets, sequences, relations and functions
- Ordinals, cardinals and infinities
- Graphs
- Languages
- Proof techniques
- Sets, sequences, alphabets and
languages

- Foward passes (little detail but sets context for course)
- Set/Language recognizers and
generators

**Basic notions of automata theory, formal languages, computability and complexity**- Brief introduction to Chomsky Hierarchy (sets context for much of course)
**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: stationary sentinel.

- 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)

Assignment #1It 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/30).

Due: One Minute before Midnight Friday, 8/30

Assignment #2See page 34 ofNotes

For a starter, see page 33 of Notes and look carefully at hint

Due: Wednesday, 9/11 at 11:59PM (Key)

- Closure Properties (Complement, Union, Intersection, Difference, Exclusive Union)
- Discussions about non-determinism versus determinism
- Non-deterministic Finite State Auomaton (NFA)
**Non-determinism (NFA)**

Closure under concatenation, Kleene *

Choosing the right model for various closure properties

Formal definition and examples**The epsilon (lambda) closure of a set of states****Equivalence of DFAs and NFAs (subset of all states construction)****Regular Expressions (closure of primitive sets under union, concatenation and star)****Every language defined by a Regular Expression is accepted by an NFA****Every language accepted by a DFA is defined by a Regular Expression**

**Approach#1: Rij(k) construction from DFA or NFA****Approach#2: State Ripping similar to text****Generalized NFA (GNFA)****Approach#3: Languages defined by Regular Equations (not in text) and NFAs without lambda transitions (see RegularEquations)**- Some hand-written notes for this week

Assignment #3See page 73 ofNotes

Sample assignment with no answers

Sample assignment with answers

Due: Tuesday 9/17 by 11:59PM(Key)

- Continuation of Regular Equations
- Existence of minimal state machine for any Regular Language
**Minimizing the states of a DFA (compatible vs incompatible, aka indistinguishable vs distinguishable states)****Minimization example using notion of incompatible/distinguishable states****Right model for closure of Regular Languages under Intersection, Complement, and Reversal****Closure of Regular Languages under Substitution, Homomorphism, and Quotient**- Meta approach to closure based on Substitution within Class and Intersection with Regular
**Closure of Regular Languages under Prefix, Postfix, Substring**- Classic non-regular languages {0
^{n}1^{n}| n is greater than or equal to 0} - Pumping Lemma for Regular Languages
- Proofs that certain languages are not regular using Pumping Lemma
**Right-invariant equivalence relationships and Myhill-Nerode Theorem**- Proofs that certain languages are
not regular using
**Myhill-Nerode Theorem** - More proofs that certain languages are not regular
using Pumping Lemma and Myhill-Nerode
- Some hand-written notes for
this week

**Assignment #4**

See page 96-97 ofNotes

Sample assignment with no answers

Sample assignment with answers

**Due: Tuesday 9/24 by 11:59PM (Key)**

** **

**Reachable states from some given state****Reaching states to some given state****Min and Max closure of Regular Languages**

**Transducers (automata with output); Mealy and Moore Models**- Decision and closure properties of regular languages
- Summary of results to-date on regular
languages

**Basic notion of grammars and languages generated by grammars****Chomsky hierarchy (Type 3 through Type 0 grammars and languages) -- see page 20 of****Notes****Notions of derivation and the language generated by a grammar****Regular (right linear, Type 3) grammars****Every language generated by a regular grammar is regular****Every regular language is generated by a type 3 grammar****The right and left linear grammars generate equivalent classes of languages****Can extend regular grammars to include strings rather than single characters****Grammars and closure properties (union, concatenation, Kleene *)****Context free grammars and context free languages****Sample grammars: {a^n b^n}; {w w(reversed)}; {w | #a(w) = #b(w)}****Derivations (leftmost/rightmost)****Parsing (parse trees; top down/bottom up)****Parsing problems (left recursion bad for top-down; right recusion bad for bottom-up)****DCFLs (unambiguous CFLs) versus DCFGs (unambiguous CFGs)****Notion of ambiguity (inherent versus due to a specific grammar)****Definition of ambiguity -- some string leads to two or more****Parse trees****Leftmost derivations****Rightmost derivations**

**Some handwritten notes for this week****Assignment #5****See page 118 of****Notes**

**Sample assignment with no answers**

Sample assignment with answers

**Due: Tuesday 10/1 by 11:59PM (Key)**

**LR(k)****languages versus grammars****; LL(k)****languages versus grammars****LR(1) languages = DCFLs; LR(k) grammars properly contained in****DCFGs****LL(k) languages****properly contained in LL(k+1) languages****LL(k) grammars properly contained in****DCFGs****In the limit as k goes to infinity LL(k) languages = DCFLs****Removing left or right recursion to accommodate top-down or bottom-up**- Examples of syntax directed parsing
**Chomsky Normal Form (CNF)****Chomsky Normal Form (CNF) and the algorithm to convert a CFG to a CNF****Eliminate lambda rules and accommodate for nullable non-terminals****Eliminate unit rules (chains of non-terminals)****Eliminate non-productive non-terminals (no terminal string can be generated from them)****Eliminate unreachable non-terminals (cannot get to them from S)****On rhs's of length >1, replace each terminal with symbol that derives it directly****Recursively change rhs of length k, k>2, to two rules, one with rhs of length 2 and the other of length k-1****Cocke-Kasami-Younger (CKY) polynomial time CFG parser****Constructive proof of Pumping Lemma for CFLs****Non-CFLs {a^n b^n c^n }, {ww | w is a string over Sigma* }****Closure properties for CFLs (intersection with regular, substitution)****Max and Min non-closure****Using substitution and intersection with regular to get many more,**

e.g., prefix, suffix , substring and quotient with regularNon-determinism in PDAs**Non-closure (intersection and complement)****Intersection of {a^n b^n c^m} and {a^m b^n c^n}****Complement**

**Complement of {ww | w is a string over Sigma* } is a CFL****Solvable Decision Problems about CFLs and CFGs****Solvable Decision Problems for CFL, L**

**Is w in L?****Is L empty (non-empty)?****Is L finite (infinite)?****Closure Review Sheet (Key)****This ends the material for Midterm****Midterm Topics pp. 186-191 in****Notes**- Some handwritten notes
for this week

**Assignment #6**

**See page 170 of****Notes**

**Sample assignment with no answers**

Sample assignment with answers

**Due: Tuesday 10/8 by 11:59 PM (Key)****Assignment #7**

**See page 181 of****Notes**

**Sample assignment with no answers**

Sample assignment with answers

**Pushdown automata (PDA) non-determinstic vs deterministic****Notion of instantaneous description (ID)****Equivalence of a variety of PDA formalizations**

**Bottom of stack marker versus none at start****Ability to push none or one, versus many characters on stack****Recognition by accepting state, by empty stack and by both****Chomsky Normal Form (CNF) and the algorithm to convert a CFG to a CNF****Shorthand notation for PDA****Example PDAs****Top down parsing of a CFL by PDA****Bottom up parsing of CFL by PDA****Using just pop and push operations in a PDA****Converting PDA to CFG****Example to show PDA language is a CFL by two different methods****Closure Review Sheet (Key)****Midterm Topics pp. 186-191 in****Notes****Sample Midterm (key) -- Complete this for discussion on 10/15**- Midterm1 (key) and Midterm2 (key) from Last
Year

- Sample
Pumping Lemma Proof

- Some handwritten notes
for this week

**In Class Review Session on Tuesday, 10/15**- Some Handwritten Notes on
Midterm1 Review

**MidTerm on Thursday, 10/17**

**Note: 11/1 is the Withdraw Deadline**

**Week#9:
****(10/22, 10/24) -- ****Notes ****pp.
209-251 (some is just for your reading); ****Chapter
2 of Sipser****
**

**Solved/Unsolved, Solvable/Unsolvable, Enumerable (semi-decidable)/Non-Enumerable****Hilbert 10th****Cantor and diagonalization -- countable versus uncountable****Countability of machines/programs in any model of computation****Counting argument that there are undecidable problems****Halting Problem defined****Notations for convergence and non-convergence****Halting Problem -- undecidabibility using diagolization****Turing Machines and Variants of Turing Machines****Turing Machines as enumerators/recognizers****Register Machines****A bit about how Register Machines can simulate Turing Machines**

**Factor Replacement Systems (FRS) as simple models of computation****The necessity of order with FRSs****A bit about how FRS can simulate Register Machines****Discussion of determinism versus non-determinism in models of computation****Some handwritten notes for this week**

**Notions of Instantaneous Descriptor for Register machines and FRSs****Primitive (incomplete) and mu recursive (complete) functions****Pairing Functions****Ackermann's Function and Union/Find**

**Numbering machines****Universal Machine****The Halting Problem -- classic undecidable but recognizable (semi-decidable, enumerable) problem****Diagonalization proof for Halting Problem****Set of Procedures can be enumerated by a 1-1 onto function****Halt is semi-decidable****The set of algorithms (TOTAL) is non-re****Diagonalization proof for non-re nature of set of algorithms****Enumeration Theorem (enumeration of RE sets)****Reducibility as a technique to show undecidability****Reducibility as a technique to show non-re-ness****Reducing Halt to TOTAL****Using reducibility to show properties of HasZero= { f | for some x, f(x) = 0 }****Using reducibility to show properties of Zero = { f | for all x, f(x) =0 }****RE sets and their complex hierarchy**

**Many-one reducibility and equivalence**

**Notion of (many-one) re-complete sets (HALT is one such set)****One-one reducibility and one-one degrees****Turing reducibility and Turing degrees****Notion of RE Completeness****Midterm Exam Key****Some Handwritten Notes****Note that Friday, November 1 is last day to withdraw**

**Showing K0 = HALT is re-complete (in RE and as hard as any other RE problem)****The set K is also re-complete****HasZero is also re-complete (in RE and HALT reduces to it)****Rice's Theorem (weak and strong forms)****Proofs of Rice's Theorem (textual and visual)**

**Applying Rice's****Examples of applying Rice's Theorem (all three forms)****STP predicate (STP(f,x,t) iff f(x) converges in t steps or fewer)****VALUE(f,x,t) = f(x) if STP(f,x,t), else 0****Note that STP and VALUE are actually primitive recursive**

**Finally, proof that re and semi-decidable are same****If S and its complement are RE, then S is decidable****Quantification as a tool to identify upper bound complexity****Picture of relationships of REC, RE, RE-Complete, Co-RE, non-RE/non-co-RE, non-Recursive****Some handwritten notes for this week****Assignment #8**

**See page 328 of****Notes**

**Sample assignment with no answers**

Sample assignment with answers

**Due: 11/14 by 11:59PM (Key)**

**Quantification as a tool to identify upper bound complexity****Picture of relationships of REC, RE, RE-Complete, Co-RE, non-RE/non-co-RE, non-Recursive****Operations on pairs of sets, e.g., intersection of a non-empty recursive and an re set**

**Semi-Thue Systems**

- Simulating Turing Machines

- Grammars and RE Sets

**Post Correspondence Problem (PCP)**- Semi-Thue Word Problem and PCP

**Applications of PCP to Undecidability of Ambiguity of CFLs and Non-emptiness of Intersection of CFLs****Application of PCP to Undecidability of Non-emptiness of CSLs****This can be done by a CSG that produces strings iff PCP has a solution**

**It can also be shown by fact that intersection of two CFLs is a CSL****Is L = Sigma* is undecidable (comes from complement of terminating traces being a CFL)?**

**Is L = L**^{2}? undecidable for CFL since can reduce Is L = Sigma*? to Is L = L^{2}?**There is a more complex proof that we cannot decide if there is an n such that L = L**^{n}

**More Unsolvable Decision Problems for CFL, L**

**Is L = L', where L' is some other CFL? Just set L' = Sigma*****Is L intersect L' empty (non-empty); straight from PCP reduction to non-empty intersection****Is L intersect L' finite (infinite); if PCP mapping gets one overlap then there are an infinite number****Some handwritten notes for this week**

**Assignment #9 **

See page 345 ofNotes

Sample assignment with no answers

Sample assignment with answers

**Due: 11/21 by 11:59 PM (****Key****)**

**Introduction to Complexity Theory****Verifiers versus solvers****NP as verifiable in deterministic polynomial time****P as solvable in deterministic polynomial time****NP as solvable in non-deterministic polynomial time****Million dollar question: P = NP ?****Some NP problems that do not appear to be in P: SubsetSum, Partition****Concepts of NP-Complete and NP-Hard****Canonical NP-Complete problem: SAT (Satisfiability)****Construction that maps every problem solvable in non-deterministic polynomial time on TM to SAT****SAT reduction to 3SAT****3SAT as a second NP-Complete problem****3SAT reduction to SubsetSum reduction****SubsetSum equivalence (within a polynomial factor) to Partition****3SAT reduction to 0-1 Integer Linear Programming****Vertex Cover****Independent Set****K-Color****Some handwritten written notes for this week**

**Assignment #10**

**See page 423 of****Notes**

**Sample assignment with no answers**

Sample assignment with answers

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

**Week#14:
****(11/26) -- ****Notes**** ****pp. 436-457**** ****Final Exam Reviews (Tuesday,
11/26, and Tuesday, 12/3)**** ****
**

**More on K-Color****Register Allocation****Scheduling on multiprocessor systems****Catch up on any missing material**

**Go over SumSome = { f | range of f has three distinct values, x,y,z where z=x+y}**- Go over above with quantification, reduction and Rice's
- Go over Finite Range = { f |
range of f is finite }

- Go over above with quantification, reduction and Rice's
**Some handwritten notes for this week****Go over problems on Final Review****Questions from Notes pp. 341-344****Final Exam Topics (Notes pp. 452-457)**

**Week#15: ****
****(12/3)** **Notes ****pp.
452-457 ****Final Exam Reviews (Tuesday, 11/26, and Tuesday, 12/3)
**

**Final Exam Topics (Notes pp. 452-457)****Final Exam Sample without key****Final Exam Review with Sample Exam Key****Final Review****Following****material will not be on exam and not even be discussed (****See Supplemental)**

**Details of Equivalence of Computational Models****Hamiltonian Circuit****Traveling Salesman****Tiling (undecidable in plane; NP-Complete in polynomial size limited plane)**

**Review
Sessions:
This week and last week
**

**
Final Exam****;
Thursday, December 5, 1600 - 1850 (4:00PM - 6:50PM); BA1-119**