Discrete
II: Theory of Computation
Fall 2017 |
email:
charles.e.hughes@knights.ucf.edu
Structure: TR 1330-1445 (1:30PM - 2:45PM), CB2-105; 30 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:30PM)
GTA: Anthony Wehrer (awehrer@knights.ucf.edu)
Office Hours: W 3:00PM-4:15PM; F 4:00PM-5:15PM; 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/Fall2017
Notes URL: http://www.cs.ucf.edu/courses/cot4210/Fall2017/Notes/COT4210Notes.pdf
Quizzes and Assignments: 10 or so.
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 -- Tentatively September 28; Withdraw
Deadline -- October 30; Exam#2 -- Tentatively November 2; Final --
Tuesday, December 5,
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 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/22, 8/24) -- Notes pp. 2-66 (Chapters 0 and 1 of
Sipser); Syllabus
- Ground rules
- Sets, sequences, relations and
functions (review)
- Ordinals, cardinals and infinities
- Graphs
- Languages
- Set/Language recognizers and generators
- Introduction to computability: historical and motivation perspective
- Basic notions of automata theory, formal languages,
computability and complexity
- Brief introduction to Chomsky
Hierarchy (sets context for much of course)
- Proof techniques
- Some
history of the genesis of the theory of computation (Hilbert, Godel,
Turing, Post, Kleene)
- Complexity theory: basic goals; big question is P=NP?
- Discussions
about non-determinism versus determinism
- 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)
- Determinitic Finite (State) Automaton (DFA): what and why?
Sequential circuits; pattern matchers; lexical analyzers; simple
game/simulation behaviors
Formal definition and examples
State transition diagrams versus state transition tables
- Non-deterministic Finite State Auomaton (NFA)
- Some hand-written notes for this week
Assignment #1
See page 13 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: Midnight Friday, 8/25 (Key)
Assignment #2
See page 44 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: Thursday, 8/31 at 1:30PM (Key)
Week#2: (8/27, FOOTBALL)
-- Notes pp. 67-83 (Chapter 1 of Sipser)
- DFA closure (complement, union, intersection, difference, exclusive or)
- Non-determinism (NFA)
Closure under concatenation, Kleene *
Formal definition and examples
- The epsilon (lambda) closure of a set of states
- Equivalence of DFAs and NFAs (subset of all states
construction)
- A little lost time for my being in lockdown :)
- Some hand-written notes for this week
Assignment #3
See page 83 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: 9/21 by 1:30PM (Key)
Week#3: (9/5, Irma #1) -- Notes pp. 84-103
(Chapter
1 of Sipser); Samples
- 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 (ripping states out)
- 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
- Some handwritten notes for this week
Week#4: (Irma #2, Irma#3)
-
- Stay safe
- Clean up Irma's mess
Week#5: (9/19, 9/21)
-- Notes pp. 104-145 (Chapter
1 of Sipser); Samples
- Right-invariant equivalence relationships and
Myhill-Nerode Theorem
- Existence of
minimal state machine for any Regular Language
- Minimizing the states of a DFA (indistinguishable vs
distinguishable states)
- Minimization example using notion of distinguishable
states
- Additional minimization example using notion of distinguishable
states
- Decidable Properties -- membership, emptiness, everything, finiteness, equivalence
- 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
- Reachable states from some given state
- Reaching states to some given state
- Min and Max
- 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
- Proofs that certain languages
are not regular using Myhill-Nerode Theorem
- 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
- 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
- Transducers (automata with
output); Mealy and Moore Models
- End of Exam#1 Material
- Some handwritten notes for this week
- Exam#1 Topics pp. 140-145 in Notes
- Prior Exam#1
-- Complete this for
discussion on 9/26 (key)
- Another Prior Exam#1 -- Complete this for
discussion on 9/26 (key)
- Review 9/27, 3:00PM-5:00PM, HEC-101A
Assignment #4
See page 114-115 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: 9/26 by 1:30PM (Key)Assignment #5
See page 136 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: 9/28 by 1:30PM (Key)
Week#6: (9/26, 9/28) -- Notes pp. 145-171,187-192; Chapter
2 of Sipser;
Review 9/27, 3:00PM-5:00PM, HEC-101A
- Post, Thue rewriting systems
- Basic notion of grammars and
languages generated by grammars
- Chomsky hierarchy (Type 3
through Type 0 grammars and languages) -- see page 36 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)
- 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
- Parsing problems (left recursion bad for top-down; right recusion bad for bottom-up)
- DCFLs (unambiguous CFLs) versus DCFGs (unambiguous CFGs)
- 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
- Chomsky Normal Form (CNF)
- Cocke-Kasami-Younger (CKY) polynomial time CFG
parser
- Some handwritten notes for this week
- More Handwritten Notes
- Even More Handwritten Notes
Assignment #6
See page 192 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: 10/19 by 1:30PM (Key) Comments
Week#7: Notes pp. 140-144, 10/3 (Chapter 1 of Sipser, review), 10/5 (Midterm1)
- Exam#1 Topics pp. 140-144 in Notes
- Review and go over sample questions
- MidTerm
1 (Chapter 1; Notes pp. 1-145; Assignments
1-5)
Week#8: (10/10, 10/12) --
Notes pp.
172-186,193-212; Chapter 2 of Sipser
- 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
- Pumping Lemma for CFLs
- 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)
- 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)?
- 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
- Some handwritten Notes for Week 8 and start of Week 9.
Week#9: (10/17, 10/19) -- Notes pp. 213-241;
Chapter
2 of Sipser
- Examples 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
- Greiback Normal Form (GNF) and linear parsing (with great guessing)
- 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
- Some handwritten notes for this week
- Context Sensitive Grammars (CSG) and Languages (CSL)
- Phrase Structured Grammars (CSG) and Languagess (re)
- This ends the material for Exam#2 (Page 225 of Notes)
- Midterm Exam#1 Key
- 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
- Some handwritten notes for this week
Assignment #7
See page 220 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: 10/26 by 1:30PM (Key)
Week#10: (10/24, 10/26) -- Notes pp. 242-315; Chapter 3 of Sipser
- Turing Machines as enumerators/recognizers
- Register Machines
- Factor Replacement Systems (FRS) as simple models of
computation
- The necessity of order with FRSs
- Discussion of determinism versus non-determinism in models of computation
- Primitive (incomplete) and mu recursive (complete) functions
- 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)
- Exam#2 Topics pp. 223-225 in Notes
- Last Semester's Exam#2
-- Complete this for
discussion on 10/31 (key)
- Another Sample Exam#2 -- Complete this for
discussion on 10/31 (key)
- Some handwritten notes for this week
Week#11: (10/30, 10/31, 11/2) -- Notes pp. 223-225; 10/30 Help Session in HEC-101A from 11:00AM to 1:00PM on Monday;10/31 In-Class Help Session; 11/2 (Midterm2)
- Help Session on Monday, 10/30, HEC-101A; from 11:00AM-1:00PM
- In Class Review Session on Tuesday
- Closure Review Sheet (Key)
- MidTerm 2 on Thursday, 11/2
Week#12: (11/7, 11/9) -- Notes pp. 311-368; Chapters 4, 5 of Sipser
- Note: 11/6 is the
Withdraw Deadline
- 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
- Showing K0 = HALT is RE Complete (in RE and as hard as any other RE problem)
- The sets K is RE-complete
- Showing HasZero is RE Complete (in RE and HALT reduces to it)
- Some handwritten notes for this week
- 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
- Quantification as a tool to identify upper bound complexity
- Finally, proof that re and semi-decidable are same
- If S and its complement are RE, then S is decidable
- Picture of relationships of REC, RE, RE Complete, Co-RE, non-RE/non-co-RE, non-Recursive
- Post Correspondence Problem (PCP)
- Some more handwritten notes for this week
Assignment #8
See page 350 of Notes
Sample assignment with no answers
Sample assignment with answers
Due: 11/20 by 12:00PM (Key)
Assignment
#9
Due: 11/28 by 1:30PM (Key)
Week#13: (11/14, 11/16) -- Notes pp. 369-444 Chapters 5 and 6 of Sipser
- Applications of PCP (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 is 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
- 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
- Midterm Exam#2 Key
Week#14: (11/21) -- Notes pp. 445-479;
Chapter
7 of Sipser; Final Exam Review
- Vertex Cover
- Independent Set
- K-Color
- Register Allocation
- Scheduling on multiprocessor
systems
- Questions from Notes pp. 364-367
- Sample Final
- Final Exam Topics (Notes
pp. 474-479)
- Some handwritteb notes for this week
Assignment
#10
Due: 11/30 by 1:30PM (Key)
Week#15: (11/28, 11/30) Final Exam Reviews (Tuesday and Thursday at regular room and time)
- Closure Review
- Closure Review Key
- Final Exam Sample without key
- Final Exam Review with Sample Exam Key
- Second Final Exam Sample without Key
- Second Final Exam Sample with Key
- Final Review
- Additional Help Session on Monday, December 4, HEC-101A, 5:00PM to 7:00PM
- Following material will not be on exam and not even be discussed (Notes pp. 480-547)
- Details of Equivalence of Computational Models
- Hamiltonian Circuit
- Travelling Salesman
- Tiling (undecidable in plane; NP-Complete in polynomial size limited plane)
Review Sessions: This whole week and Monday, December 4, HEC-101A, 5:00PM to 7:00PM
Final Exam; Tuesday, December 5, 1300 - 1550 (1:00PM - 3:50PM)
© UCF Last Updated December 2, 2017