Final Exam Review - Computer Science at Siena College

Download Report

Transcript Final Exam Review - Computer Science at Siena College

Final Exam Review
Cummulative
Chapters 0, 1, 2, 3, 4, 5 and 7
Chapter 0: Discrete Math Review
•
•
•
•
•
•
Sets, Sequences
Venn Diagrams
Boolean Logic
Equivalence Relations
Concept of an Equivalence Class
Symbols, Alphabets, Strings & Languages
Chapter 0: Discrete Math Review
• Proof by Induction
• Proof by Contradiction (Pumping Lemma)
• Proof by Construction
(Machine Construction and formal definitions)
Chapter 1: Regular Languages
• Describing FSA’s with set/sequence
descriptions
• Language Description (words and sets)  FSA
– FSA  Language description
• Language Description  Regular Expression
– Regular Expression  Language description
• How are the 3 regular operations
implemented with FSA’s
Chapter 1: Regular Languages
•
•
•
•
FSA  Regular Expression
Non-determinism: 3 forms
NFA  DFA
Pumping Lemma for proving that a language is
not Regular
Chapter 2: Context Free Languages
• Context Free Grammars (CFG)
• Push-down Automata (PDA)
• Language descriptions  CFG
– CFG  Language Description
• Language description  PDA
– PDA  Language Description
• Non-determinism in PDA’s
Chapter 2: Context Free Languages
• CFG  PDA
• PDA  CFG
• Pumping Lemma to prove that a language is
NOT Context-free (and also NOT Regular)
• Implications of adding 2 or more stacks
Chapter 3: Turing Machines
• Turing Machines = Algorithms
• Turing Machines = Recursively Enumerable
Languages
• Turing Machine Tape can be implemented
with 2 stacks
•
Chapter 3: Turing Machines
• Language Description  Turing Machine
• Turing Machine  Language Description
• Computability
– 2 or more tapes adds no power
• Complexity
– 2 or more tapes can add efficiency
Chapter 4 & 5
• Turing Decidable vs. Turing Recognizable
• Un-decidable Problems
– ATM
• The Halting Problem
• Review Theorems in these Chapters
Chapter 7: P vs. NP
• Examples of Polynomial Problems
– PATH Problem
• Examples of NP Problems
– Hamiltonian PATH
• Decider vs. Verifier
• Understanding NP
– Polynomial Verification with a Non-deterministic
Turing Machine  Exponential Computation O(kn)
Chapter 7: P vs. NP
• NP-Complete Problems
• New Problem <==> Satisfiability Problem
• X <==> Y Polynomial-time reduction
• The input of one problem X can be transformed into
the input of another problem Y such that solving
problem Y also yields a solution for problem X