Algorithms and Complexity
Academic Year 2024/2025 - Teacher: PIETRO MAUGERIExpected Learning Outcomes
Applying knowledge and understanding: students will acquire the ability to solve problems of medium difficulty, requiring the design and analysis of advanced algorithmic solutions.
Making judgements: students will be able to evaluate the quality of an algorithmic solution in terms of efficiency and reuse capacity.
Communication skills: students will acquire the necessary communication skills and expressive ability in communicate problems regarding the algorithmic studies, also to non-expert interlocutors.
Learning skills: students will have the ability to adapt the knowledge acquired also in new contexts and to advance his/her knowledge through the consultation of specialist sources in the algorithmic field.
Course Structure
Classroom-taught lessons
Should teaching be offered in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.
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.ssa Daniele
Required Prerequisites
Knowledge of elementary data structures and algorithms for their manipulation (lists, queues, stacks, trees, etc.), and elementary algorithms and programming and dynamic and greedy programming methodologies.
Elements of discrete mathematics, of mathematical analysis, and basic programming knoledge.
Attendance of Lessons
Detailed Course Content
General description
Various advanced data structures (such as B-trees, splay trees, binomial heaps, and Fibonacci heaps) and relative operations will be presented and analysed, by means also of the technique of amortized analysis. We shall also study, design, and analyse graph algorithms for the efficient solution of various optimizations problems.
SYLLABUS
Amortized analysis
Stack with multipop and binary counter.
Aggregation method, accounting method, and potential method.
Dynamic tables with insertions and deletions.
Advanced data structures
B-trees: applications, height, search, insertions and deletions
Splay trees: search, insertions and deletions, amortized analysis of m operations with n insertions; top-down splay trees
Data structures for disjoint sets: union by rank, paths compression,
algorithm Union-Find, Knuth notation, Ackermann function and its inverse
Binomial heaps: binomial trees, operations of insertion, find minimum and delete minimum, decrease key, key deletion, union
Fibonacci heaps: unordered binomial trees, operations of insertion, find
minimum and delete minimum, decrease key, key deletion, union,
amortized analysis
Shortest paths from a single source in digraphs
Shortest paths graph, minimum paths tree, generic algorithm for shortest
paths from a single source, Bellman-Ford algorithm, Dijkstra's
algorithm, linear algorithm on acyclic graphs.
All-pairs shortest-paths in digraphs
Floyd-Warshall algorithm, transitive closure of a digraph, Johnson's algorithm for sparse digraphs
Minimum spanning trees
Red and blue rules, color invariant, Boruvka algorithm, Kruskal algorithm, Prim algorithm, clustering of maximum spacing
Flow networks and applications
Real and net flow in a flow network, properties of net flows, flow
networks with multiple sources and sinks, notation of implicit
summation, Ford-Fulkerson methods, residual capacities and networks,
augmenting paths, cuts in flow networks, Max-flow/min-cut Theorem,
analsysis of the Ford-Fulkerson method, maximum matching in bipartite
graphs, Edmonds-Karp algorithm and it complexity analysis,
edge-connectivity.
Course Planning
Subjects | Text References | |
---|---|---|
1 | Amortised analysis. Stack with multipop and binary counter.. Aggregation, accounting, and potential methods. Dynamic Tables with insertions and deletions. | Chapter 17.1-17.4 of 1) and integrative handouts |
2 | Splay trees: search, insertions and deletions , amortised analysis of m operations that include n insertions; top-down splay trees | Chapter 11.5 of 2) and integrative handouts |
3 | B-trees: applications, height, search, insertions and deletions. | Chapter 18.1-18.4 of 1) integrative handouts |
4 | Binomial heaps: binomial trees, insertion, minimum and minimum extraction, key decrease, key deletion, union of two binomial heaps | Integrative handouts |
5 | Fibonacci heaps: non-ordered binomial trees, insertion, minimum and minimum extraction, key decrease, key deletion, union of two Fibonacci heaps, amortised analysis | Chapter 19.1-19.4 of 1) and integrative handouts |
6 | Data structures for disjoint sets: union by rank, path compression, Union-Find algorithm, Knuth notation, Ackermann function and its inverse | Chapter 21.1-21.3 of 1) and integrative handouts |
7 | Shortest paths from a single source. Minimum path graph, minimum path tree, generic algorithm for shortest paths from a single source, Bellman-Ford algorithm, Dijkstra algorithm, linear algorithm for acyclic graphs. | Integrative handouts and Chapter 24 of 1) |
8 | All-pairs shortest-paths problem in oriented graphs. Floyd-Warshall algorithm, transitive closure, Johnson algorithm for sparse graphs. | Integrative handouts and Chapter 25 of 1) |
9 | Minimum spanning trees. Red and blue steps, color invariant, Boruvka algorithm, Kruskal algorithm and Prim algorithm, maximum separation clustering | Integrative handouts and Chapter 23 of 1) |
10 | Network flow and applications | Chapter 26.1-26.3 and integrative handouts |
Learning Assessment
Learning Assessment Procedures
The
final exam is essentially written. The verbalization may be preceded by
a short discussion on the written assignment and, in doubtful cases, by
a short oral test.
Verification of learning can also be carried out electronically, should the conditions require it.
Student with disabilities and/or SLD should reach in due time with regards to the exam date, the teacher of the course, the CinAp referent teacher at DMI (prof.ssa Daniele) and CInAP to asses their willingness of taking the exam availing of the appropriate compensatory measures.
Examples of frequently asked questions and / or exercises
http://www.dmi.unict.it/~cantone/ESAMI/ESAMI_ALGORITMIeCOMPLESSITA/AeC-sample-2016.pdf