course diary

I assume students to be very familiar with the language of mathematics (sets, functions, proofs, ...). Hence, chapter 0 of [S] will be assumed. I strongly suggest all students to read that chapter to be sure that all those definitions are already in their background (and study them if they are not).

Sept. 25th, 2023: Introduction to the course. Alphabets, strings and languages; regular languages and (deterministic) finite state automata.

Book: [S] chapt.'s 0.1, 0.2 and 1.1

Sept. 27th, 2023: Non-deterministic automata and their equivalence to DFA; closure properties of regular languages.

Book: [S] chapt. 1.2

Oct. 2nd, 2023: Regular expressions and their equivalence with finite automata.

Book: [S] chapt. 1.3

Oct. 4th, 2023: Regular grammars and their equivalence with finite automata; coincidence of right-linear and left-linear grammars.

Book: [HU] chapt. 9.1

Oct. 9th, 2023: The pumping lemma for regular languages; proofs of non-regularity for some languages.

Book: [S] chapt. 1.3

Oct. 11th, 2023: Exercises on the first 5 classes

Oct. 16th, 2023: Context-free languages: CF grammars, PDA, and their equivalence. Determinism in the setting of CF languages, and comparison with the power of non-determinism.

Book: [S] chapt's 2.1 and 2.2

Oct. 18th, 2023: Pumping lemma for context-free languages; proofs of non-context-freedom for some languages.

Book: [S] chapt 2.3

Oct. 23rd, 2023: Context-sensitive languages and a few examples of context-sensitive grammars; type 0 grammars; Chomsky hierarchy.

Book: [HU] chapt's 9.2 (without equivalence with TMs) and 9.3 (without equivalence with LBA)

Oct. 25th, 2023: Turing machines: formal definition and its variants (non-deterministic and multi-tape).

Book: [S] chapt's 3.1 and 3.2

Oct. 30th, 2023: Equivalence between Turing machines and Type 0 grammars. Definition of linear bounded automata (LBA); proof of their equivalence with CS grammars.

Book: [HU] chapt's 9.2 and 9.3

Nov. 6th, 2023: Exercises on the second 5 classes

Nov. 8th, 2023: Church-Turing thesis; definition of algorithm; problems as languages; decision vs optimization problems.

Book: [S] chapt 3.3

Nov. 13th, 2023: Decidability and Decidable problems for formal languages.

Book: [S] chapt 4.1 (and the decidability of membership problem for LBA in chapt. 5.1 -- lemma 5.8 and thm. 5.9)

Nov. 15th, 2023: Undecidability and undecidable problems for formal languages.

Book: [S] chapt 4.2 and 5.1; Rice's theorem is in exercise 5.28 and its solution

Nov. 20th, 2023: Time complexity, complexity relations among models and time complexity classes; Classes P and NP; representing the input and polynomially-related encodings.

Book: [S] chapt 7.1, 7.2, and 7.3; [CLR] chapt 34.1 and 34.2

Nov. 22nd, 2023: NP-completeness: definition; polynomial reducibility and techniques for proving NP-completeness; Cook-Levin theorem.

Book: [S] chapt 7.4; [CLR] chapt 34.3 (NO circuit satisfiability).

Nov. 27th, 2023: NP-completeness proofs by reductions: 3-CNF-SAT, SUBSET-SUM, CLIQUE, VERTEX-COVER.

Book: [CLR] chapt 34.4 and 34.5 (also [S] chapt 7.5).

Nov. 29th, 2023: Other NP-completeness proofs by reductions: HAM-PATH, U-HAM-PATH, HAM-CYCLE, TSP.

Book: [CLR] chapt 34.5 and [S] chapt 7.5 (in particular, the NP-completeness proof for HAM-PATH has been taken from [S]).

Dec. 4th, 2023: Approximation algorithms, approximation ratio, approximation scheme, PTAS. Greedy algorithm and 2-approximation for vertex cover. 2-approximation for the traveling salesman with triangular inequality; impossibility for an approximation for the general traveling salesman problem.

Book: [CLR] chapt 35.1 and 35.2 (the greedy algorithm for vertex cover is essentially covered by 35.3; however, I suggest to read paragraph 6.1 from  https://courses.engr.illinois.edu/cs473/fa2018/lec/lec/06_approx_I.pdf).

Dec. 11th, 2023: PTAS for the subset sum problem.

Book: [CLR] chapt 35.5.

Dec. 13th, 2023: Space complexity. PSPACE and PSPACE-completeness: the TQBF problem. L and NL; NL-completeness: the PATH problem; NL = coNL. 

Book: [S] chapt 8 (no Formula-game, no generalized-geography, no proof of thm. 8.27).

Dec. 18th, 2023: Exercises on the last classes.

Dec. 20th, 2023: Simulation of the exam (both written and oral).