| Person in charge: | Maria Jose Serna Iglesias (mjserna |
| Others: | Christian Blum (cblum Jose Diaz Cort (diaz |
| Credits | Dept. | Type | Requirements |
|---|---|---|---|
| 7.5 (6.0 ECTS) | LSI |
|
ADA
- Prerequisite for DIE , DCSYS EST - Prerequisite for DIE , DCSYS , DCSFW |
| Person in charge: | Maria Jose Serna Iglesias (mjserna |
| Others: | Christian Blum (cblum Jose Diaz Cort (diaz |
Widen the range of algorithmic techniques and deepen into its theoretical base. Deepen into the design and evaluation of algorithms. Present the probabilistic algorithms as an algorithm design tool. Present algorithmic tools to deal with computationally difficult problems, like approximation algorithms and local search based methods. Present the algorithmic engineering as a selection of the data structures and the most suitable algorithmic techniques for solving a concrete problem.
Estimated time (hours):
| T | P | L | Alt | Ext. L | Stu | A. time |
| Theory | Problems | Laboratory | Other activities | External Laboratory | Study | Additional time |
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 6,0 | 4,0 | 0 | 0 | 0 | 10,0 | 0 | 20,0 | |||
|
Greedy algorithms. Theoretical foundations. Applications.
Dynamic programming. Theoretical foundations. Applications. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 7,0 | 5,0 | 0 | 0 | 0 | 13,0 | 0 | 25,0 | |||
|
Component connections. Short paths. Floyd-Warshall and Johnson algorithms. Matching algorithms.
|
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 4,0 | 0 | 0 | 0 | 7,0 | 0 | 14,0 | |||
|
Hash tables. Hash functions. Perfect hashing.
|
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 9,0 | 6,0 | 0 | 0 | 0 | 15,0 | 0 | 30,0 | |||
|
Review of probabilities. Verification of polynomial identities.
Monte-Carlo and Las Vegas algorithms. Extension of probability. Primality test. Concentration points. Examples in the analysis of random algorithms. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 9,0 | 6,0 | 0 | 0 | 0 | 10,0 | 0 | 25,0 |
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 6,0 | 3,0 | 0 | 0 | 0 | 7,0 | 0 | 16,0 | |||
|
Solutions and search space. The foundations of local search. Hill Climbing. Probabilistic variations of local search: Metropolis and Simulated annealing. Experimental evaluation of the performance. Iterated local search. Tabu search.
|
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 6,0 | 0 | 0 | 0 | 0 | 4,0 | 0 | 10,0 | |||
|
Definition and application context. Examples. GRASP (Greedy randomized adaptive search procedures). Ant colony optimization. Evolutive algorithms. Hybridiztion of metaheuristics with exact methods. Experimental evaluation of metaheuristics.
|
||||||||||
| Total per kind | T | P | L | Alt | Ext. L | Stu | A. time | Total |
| 49,0 | 30,0 | 0 | 0 | 0 | 69,0 | 0 | 148,0 | |
| Avaluation additional hours | 6,0 | |||||||
| Total work hours for student | 154,0 | |||||||
There will be two kinds of classes: theoretical sessions and practical sessions. On average, three hours a week is dedicated to theory and three hours a week to exercises. The teacher will allocate the hours in accordance with the subject matter.
The theory classes take the form of lectures in which the teacher sets out new concepts or techniques and examples illustrating them.
The practical classes are used to carry out exercises in which students take an active part. Teachers set the exercises in advance. Students are required to submit the exercises and then discuss the various solutions/alternatives in class.
Written submission at problem sessions (Pro). Final exam (Fin).
The final grade will be calculated in accordance with the following formula:
max(Fin, 0.7 * Fin + 0.3*Pro).
Basic background on analysis and design of algorithms