COMPUTABILITA' E COMPLESSITA'Module COMPLESSITA'
Academic Year 2025/2026 - Teacher: Domenico CANTONEExpected Learning Outcomes
Knowledge and understanding: Students will acquire the fundamental notions related to time complexity classes, with particular focus on the class NP and the concept of NP-completeness. The propositional satisfiability problem (SAT) and Cook’s Theorem will also be studied in depth. Finally, computational issues associated with several classical problems will be examined, including 3-SAT, n-SAT, Vertex Cover, Clique, Independent Set, Hitting Set, Set Cover, Subset Sum, and Knapsack.
Making judgements: Students will be able to rigorously evaluate the computational class of an algorithmic problem.
Communication skills: Students will acquire the necessary communication skills and an appropriate expressive ability to present and discuss topics related to computational complexity, including with non-expert audiences.
Learning skills: Students will be able to apply and adapt the knowledge acquired to new contexts, as well as independently update their expertise through the consultation of specialist sources in the field of computational complexity.
Course Structure
Classroom-taught lessons
Required Prerequisites
- Elements of discrete mathematics and continuous mathematics
- Intuitive concept of an algorithm
- Elements of mathematical logic
Attendance of Lessons
For a complete understanding of the course topics and the techniques illustrated, attending the lessons regularly is highly recommended.
Detailed Course Content
Asymptotic notations (overview), Time complexity classes.
The class NP and NP-completeness.
The Boolean satisfiability problem (SAT).
Cook’s Theorem.
Catalog of NP-complete problems (indicative): 3-SAT, n-SAT, VertexCover, CLIQUE, IndependentSet, HamiltonianPath, HamiltonianCircuit, LongestSimplePath, SetCover, HittingSet, SubgraphIsomorphism, TravelingSalesman, 3-DimensionalMatching, Partition, SubsetSum, Knapsack.
This list is illustrative rather than exhaustive: some problems may be only briefly covered, and additional ones not explicitly mentioned may also be included during the course.
Space complexity of Turing machines.
Textbook Information
1) N.J. Cutland. Computability: an introduction to recursive function theory, Cambridge University Press, Cambridge, UK, 1986. [Main textbook]
2) M.D. Davis, R. Sigal, E.J. Weyuker. Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science, Academic Press, New York, 1994. [Recommended reading]