Discrete
II:
Theory of Computation
Fall 2019 |

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%
Weeks#1: (8/27) --
Notes pp. 2-38
(Chapters 0 and 1 of Sipser); 8/29 is a 7:30 football game, which
results in class cancellation; Syllabus
- 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 #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/30).
Due: One Minute before Midnight
Friday, 8/30
Assignment #2
See page 34 of Notes
For a starter, see page 33 of Notes and look
carefully at hint
Due: Wednesday, 9/11 at 11:59PM (Key)

Week#2: (9/3, 9/5) -- Hurricane Dorian
Week#3: (9/10, 9/12) -- Notes pp. 39-73
(Chapter 1 of Sipser)
- 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 #3
See page 73 of Notes
Sample
assignment with no answers
Sample
assignment with answers
Due: Tuesday 9/17 by 11:59PM (Key)
Week#4:
(9/17, 9/19) -- Notes pp. 74-117 (Chapter 1 of Sipser); Samples
- 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 {0n1n | 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 of Notes
Sample
assignment with no answers
Sample
assignment with answers
Due: Tuesday 9/24 by 11:59PM (Key)

Week#5: (9/24, 9/26) - Notes pp. 119-142 (Chapter 1 and a bit of
Chapter 2 of Sipser); Samples
- 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)

Week#6: (10/1, 10/3)
-- Notes pp. 143-191 ; Chapter 2 of Sipser
- 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
Due: Thursday 10/10 by 11:59
PM (Key)
Week#7: (10/8,
10/10) -- Notes pp. 192-201; Chapter 2 of Sipser
- 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

Week#8: (10/15, 10/17) -- 10/15 In-Class Review; 10/17 (Midterm); Notes pp. 186-191;
- 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
Week#10: (10/29, 10/31) -- Notes pp. 252-315; Chapters 4, 5 of Sipser
- 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

Week#11: (11/5, 11/7) -- Notes pp. 316-345; Chapters 4, 5 of Sipser
- 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)
Week#12: (11/12, 11/14) -- Notes pp. 346-375; Chapters 4, 5 of Sipser
- 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 = L2? undecidable for CFL since can
reduce Is L = Sigma*? to Is L = L2?
- There is a more complex proof that we cannot decide
if there is an n such that L = Ln
- 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
Due: 11/21 by 11:59 PM (Key)

Week#13: (11/19, 11/21) -- Notes pp. 376-441More on Chapters 5 and 6 of Sipser
- 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
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
© UCF Last Updated December 3,
2019