Syllabus
The following is a more detailed and up-to-date version of the UPC syllabus of the course.
- Introduction
- Basic mathematical notions
- sets and tuples
- relations and functions
- Formal languages
- strings and languages
- concatenation
- Kleene star
- homomorphisms
- Common proof techniques
- proofs by contradiction
- proofs by cases
- proofs by induction
- Pigeonhole principle
- Cantor Diagonalization
- almost all languages do not have a finite description
- almost all languages do not have a finite description
- Basic mathematical notions
- Regular languages
- Deterministinc Finite Automata (DFA)
- Equivalent models
- Non-deterministic Finite Automata (NFA) and \lambda-NFAs
- regular expressions (regex)
- equivalence between DFA/NFA/\lambda-NFA/regex
- Arden’s Lemma
- Minimization of DFAs (Moore’s algorithm)
- Closure properties of regular languages w.r.t.
- union, intersection, and complement
- concatenation and Kleene star
- reverse
- homomorphism and inverse of homomorphism
- Proofs of non-regularity
- \{a^nb^n \mid n\in \mathbb N\} is not regular
- pumping lemma for regular languages
- distinguishing extensions
- Context-free languages
- Context-free grammars (CFGs)
- Parsing trees and ambiguity
- Depuration of CFGs and Chomsky Normal Form
- CYK algorithm
- Closure properties of context-free languages w.r.t.
- union, concatenation, and Kleene star
- reverse
- homomorphism
- intersection with a regular language
- Push-down automata (PDAs)
- equivalence with CFGs
- deterministic PDAs
- uniquely-accepting PDAs
- Pumping lemma for context-free languages
- \{a^nb^nc^n \mid n\in \mathbb N\} is not context-free
- Decidable and semidecidable languages
- Deterministic (1-tape) Turing Machines (DTM)
- language recognized and function computed by a DTM
- Equivalent models
- nondeterministic Turing Machines
- TMs with multiple tapes
- Church-Turing Thesis
- Gödel numbering of TMs
- Universal Turing Machine
- \mathbf{R}/\mathbf{RE}/\mathbf{coRE}
- projection theorem
- \mathbf{R}=\mathbf{RE}\cap \mathbf{coRE}
- closure properties of \mathbf{R}/\mathbf{RE}/\mathbf{coRE}
- \mathbf{RE}\neq \mathbf{R}
- Many-one reductions
- Rice’s Theorem
- Natural problems not in \mathbf{R}
- Deterministic (1-tape) Turing Machines (DTM)
- Elements of complexity theory
- \mathbf{P}/\mathbf{NP}/\mathbf{coNP}/\mathbf{EXP}
- \mathbf{NP}-completeness
- \mathtt{SAT} and Cook-Levin’s Theorem
- polynomial-time reductions
- Time hierarchy theorem and \mathbf{P}\neq \mathbf{EXP}