Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Study Plan
This information is intended exclusively for students already enrolled in this course.If you are a new student interested in enrolling, you can find information about the course of study on the course page:
Laurea magistrale in Ingegneria e scienze informatiche - Enrollment from 2025/2026The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.
1° Year
Modules | Credits | TAF | SSD |
---|
2° Year activated in the A.Y. 2011/2012
Modules | Credits | TAF | SSD |
---|
Tre insegnamenti a scelta tra i seguenti
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
Tre insegnamenti a scelta tra i seguenti
Modules | Credits | TAF | SSD |
---|
Legend | Type of training activity (TTA)
TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.
Algorithms (2010/2011)
The teaching is organized as follows:
Learning outcomes
Module: ALGORITMI
-------
The goal of this course is to introduce some advanced paradigms for algorithms development and analysis in order to determine good approximate solutions for hard optimization problems.
Module: COMPLESSITÀ
-------
In this courses, the relevant notions in complexity theory are introduced. Main themes are the relationship between complexity classes and Np-completeness theory. The scope of the courses is to give formal instruments useful in the analysis of the difficulty of computational problems.
Program
Module: ALGORITMI
-------
Main concepts recall about computational problems: definition, instances, encoding, precise and approximate models. Optimization computational problem.
Main concepts recall about algorithms: computational resources, input encoding, input size/cost, computational time. Worst and average analysis. Computational time and growth order.
Computational time vs. hardware improvements: main relations. Efficient algorithms and tractable problems.
Divide et impera paradigm
-------------------------
Definition and application to some problems.
Greedy paradigm
---------------
Definition and application to some problems. Matroids and greedy algorithms.
Huffman Codes
Backtracking technique
----------------------
Definition and application to some problems (main examples: Graham Scan and Knuth-Morris-Pratt algorithm).
Branch & Bound technique
------------------------
Definition and application to some problems.
Dynamic programming paradigm
----------------------------
Definition and application to some problems.
Memoization and Dynamic programming.
Probabilistic algorithms
------------------------
Definition and few application examples.
Numerical probabilistic algorithms, Monte Carlo algorithms and Las Vegas algorithms. Examples: Buffon's needle, Pattern Matching and Universal hashing.
Local search tecnique
---------------------
Definition and application to some problems.
Approximations algorithms
-------------------------
Definition and some examples.
Simulated annealing.
Tabù search.
Module: COMPLESSITÀ
-------
This is a condensed version of the program. The detailed program (with useful notes for the students) is available in the pdf file "Diario delle Lezioni"
1)Introduction
Computational models, computational resources, tractable problems and feasible algorithms.
2) Computational models and time complexity classes
Deterministic Turing Machine with 1 and k strings
Class TIME(f(n)).
Relationship between k-MdT e 1-MdT (theorem).
Random Access Machine.
Simulation theorems TM-RAM.
Thesis of sequential calculus.
Linear speed-up theorem and consequences.
The class P.
Examples of problems in P.
Non deterministic Turing machine(NTM).
Class NTIME(f(n)).
Relationship between NTM and TM.
The class NP.
Examples of problems in NP.
Characterization of problem in NP with polynomial verifier.
The class EXP.
4)Space complexity
.
Input-output TM.
Classes SPACE(f(n)) and NSPACE(f(n)).
Compression Theorem
Classes L e NL.
Examples of problems in L and NL.
Relationship between space and time onf I/O TM
5)Relationship between complexity classes
Proper function.
The reachability method.
Theorems: inclusions between time and space classes. Universal TM.
Lemmata for Time Hierarchy Theorem.
Time Hierarchy Theorem. Corollary P ⊂ EXP.
Space Hierarchy Theorem. Corollary L ⊂ PSPACE.
Gap's Theorem.
Savitch's Theorem with Corollary. Corollary PSPACE=NPSPACE.
6)Reduction and completeness
Reduction and logarithmic reduction.
Examples of reduction: HAMILTON PATH ≤log SAT, PATH ≤log CIRCUIT VALUE, CIRCUIT SAT ≤log SAT.
Examples of reduction by generalization.
Property of reduction: reflexivity and transitivity.
C-Completeness for a language.
Closure of a class C with respect to reduction.
L, NL, P, NP, PSPACE and EXP are closed w.r.t ≤log.
Table method. Computational table
CIRCUIT VALUE is P-complete.
Cook's theorem.
Examples of NP-complete problems.
7)Some notions on the complement of non deterministic classes
coC
NP and coNP
Bibliography
Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|
Christos H. Papadimitriou | Computational complexity | Addison Wesley | 1994 | 0201530821 |
Examination Methods
Module: ALGORITMI
-------
Written test/ open questions
Module: COMPLESSITÀ
-------
Written test with open questions.