l Teaching: Advanced Algorithm Design (AAD) (Geppino Pucci)


Lectures Diary, Academic Year 2024/25





September 30, 2024

NP Completeness (CLRS, Ch. 34)

  • Course Introduction.
  • Syllabus.
  • Problem classes: undecidable, intrinsically exponential, intractable, polynomial.
  • Abstract problems and decision problems. Reduction from optimization to decision problems. Example: SHORTEST UNWEIGHTED PATH.


October 1, 2024
  • Encodings. Abstract and concrete problems. Reasonable encodings
  • Formal Languages. Concrete problems and associated languages.
  • Poly-time decision of languages. Definition of P.
  • Verifiability. Example: HAMILTON
  • Poly-time verifiability of languages. Definitiom of NP.


October 2, 2023
  • Theorem: P is a subset of NP
  • Reducibility. Example: verifier for HAMILTON
  • Poly-time reducibility: characteristics of reduction functions.
  • Theorem: if L1 < L2 and L2 is in P, then also L1 is in P
  • Classes NPH and NPC.
  • Corollary: if L is both in NPC and in P, then P=NP.


October 7, 2024
  • The BC-SAT problem: definition.
  • Poly-time verifier for BC-SAT
  • Reduction from any language in NP to BC-SAT (Cook's Theorem, high level idea)
  • The FORMULA-SAT (SAT) problem: definition.
  • Non poly-time reduction from BC-SAT to SAT.


October 8, 2024
  • Poly-time reduction from BC-SAT to SAT.
  • The 3CNF-SAT problem: definition and reduction from BC-SAT.
  • The CLIQUE problem: definition.


October 9, 2024
  • The CLIQUE problem: reduction from 3CNF-SAT.
  • The VERTEX-COVER and INDEPENDENT-SET problems: definitions and reductions from CLIQUE.
  • The SUBSET SUM problem: definition.


October 14, 2024
  • The SUBSET SUM problem: reduction from 3CNF-SAT

Exercise session: NP-completeness

  • Any NP language is decidable (in exponential time)
  • The HALTING problem is in NPH
  • If L1 < L2 and L2 is in NP, the L1 is in P.
  • BC-TESTING is in NPH
  • KNAPSACK is in NPH


October 15, 2024

Exercise session: NP-completeness

  • Complementary languages and the class Co-Np
  • DOMINATING SET is in NPH
  • LONG-PATH is in NPH
  • Construction of a solution starting from an oracle for the decision problem. Application to SUBSET_SUM.


October 16, 2024

Approximation Algorithms (CLRS, Cap. 35)

  • Definition of approximation algoritm
  • PTAS and FPTAS
  • 2 approximation algorithm for MINIMUM VERTEX-COVER


October 21, 2024
  • MIN VC approximation cannot be used for MAX-CLIQUE
  • Greedy approaches to MIN VC without approximation guarantees
  • MINIMUM WEIGHTED VERTEX COVER: fair pricing approach
  • MINIMUM WEIGHTED VERTEX COVER: ILP rounding approach


October 22, 2024
  • Primal-dual relationship between the two MWVC approaches
  • Decision TSP: NP-completeness
  • Inapprossimability of general TSP
  • Decision TRIANGLE TSP (TSP with metric function): NP-completeness
  • MST-based 2-approximation of TRIANGLE-TSP: algorithm


October 23, 2024
  • MST-based 2-approximation of TRIANGLE-TSP: algorithm
  • Christofides' 3/2-approximation of TRIANGLE-TSP: algorithm and analysis


October 28, 2024
  • State-of-the-art results on TRIANGLE-TSP and EUCLIDEAN-TSP
  • SET-COVER: NP-completeness of decision problem and greedy algorithm.
  • (ln n)-approximation bound


October 29, 2024
  • SET-COVER: finer, charging-based analyisis
  • An FPTAS for SUBSET-SUM: The exact exhaustive algorithm.


October 30, 2024
  • An FPTAS for SUBSET-SUM: the list trimming algorithm and its analysis
  • Definition of randomized algorithm and randomized approximation algorithm


November 4, 2024
  • MAX-SAT. Definition, NP-completeness and 8/7 randomized approximation algorithm

Exercise session: Approximation Algorithms

  • RESOURCE SELECTION: 2-approximation based on linear relaxation
  • MAX-CUT: deterministic 2-approximation
  • MAX-CUT: randomized 2-approximation


November 5, 2024

Exercise session: Approximation Algorithms

  • Impossibility of an FPTAS for TRIANGLE TSP
  • SUBSET-SUM: greedy 2-approximation
  • INDEPENDENT SET: greedy max-degree approximation
  • LOAD-BALANCING, 2-approximation and hints to 3/2-approximation


November 6, 2024

Number-Theoretic Algorithms (CLRS, Cap. 31)

  • Divisibility: definitions and properties
  • Greatest Common Divisor (gcd) and Bezout identity.
  • Euclid algorithm: correctness and complexity.
  • Extended Euclid Algorithm


November 11, 2024
  • Modular arithmetic: the quotient structure Zn: group properties wrt sum
  • The subset Z*n and group properties wrt multiplication
  • Computation of the multiplicative inverse via EXTENDED-EUCLID
  • Euler function, Euler theorem and Fermat little theorem


November 12, 2024
  • Chinese Reminder Theorem: statement, proof, corollaries and applications
  • Definition of cryptosystem and public key cryptosystem
  • Communication and authentication protocols


November 13, 2024
  • RSA details: computing public and private key. Recursive and iterative algorithms for modular exponentiation.
  • RSA correctness: public and secret encoding are one the inverse of the other.
  • RSA: complexity considerations


November 18, 2024
  • RSA attacks.
    1. Decomposition of n=pq if p and q are very close. tra loro.
    2. Attacks for choices of public keys sharing the same exponent.
    3. Attacks for choices of public keys sharing the same modulus.
    4. Attacks based on authentication. Digital digests and one-way hash functions.
  • Introduction to primality.


November 19, 2024
  • Base-a pseudoprimes and simple deterministic test for random inputs: probabilistic analysis based on Pomerance Theorem in the distribution of base-2 pseudoprimes.
  • Compositeness certificates based on non base-a pseudoprimality or nontrivial square roots of unity.


November 20, 2024
  • Miller-Rabin test: randomized search for a compositeness certificate.
  • Miller-Rabin test: running time
  • Miller-Rabin test: correctness analysis for non-Carmichael numbers.

Exercise session: Number-Theoretic Algorithms

  • Integer division algorithm: computing quotient and reminder in quadratic time.


November 25, 2024

Exercise session: Number-Theoretic Algorithms

  • Uniqueness of the multiplicative inverse
  • Efficient computation of the least common multiple
  • Integer linear combinations with two unknowns
  • Bezout cofficients and solutions of integer linear combinations


November 26, 2024

Randomized Algorithms

  • Introduction to randomized algorithms: Monte Carlo and Las Vegas algorithms.
  • Analysis in expectation and in high probability
  • Markov inequalities and their implications.
  • Chernoff bounds on the tails of sums of bernoulli variables.


November 27, 2024
  • Introduction to Randomized Quicksort: intuition on its computational efficiency
  • Chernoff Bounds, Application 1: Analysis in high probability of Quicksort


December 2, 2024
  • Average case complexity of Randomized Quicksort via Markov Inequality for bounded variables.
  • Chernoff Bounds, Application 2: Correctness probability amplification
  • Chernoff Bounds, Application 3: The Monte Carlo method
  • Montecarlo counting for approximating pi = 3.1415...


December 3, 2024
  • Min-cut on multigraphs: definition
  • Contraction w.r.t. an edge
  • Karger Min-Cut algorithm: description and running time


December 4, 2024
  • Karger Min-Cut algorithm: probability of correctness and its amplification.
  • Karger-Stein Min-Cut algorithm: description of the recursive strategy and running time , recurrence on correctness probability.
Last update: November 27, 2024 Go to index