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
To guarantee equal opportunities and in compliance with the laws in force, interested students can ask for a personal interview in order to plan any compensatory and / or compensatory measures, based on the didactic objectives and specific needs. It is also possible to contact the referent teacher CInAP (Center for Active and Participated Integration - Services for Disabilities and / or SLD) of our Department, prof. Patrizia Daniele.
Required Prerequisites
- Elements of discrete mathematics and continuous mathematics
- Intuitive concept of an algorithm
- Elements of mathematical logic
Attendance of Lessons
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]