Objectius
|
|
|
- Entendre bé el concepte d’esquema algorítmic i la necessitat de disposar de diferents esquemes per poder obtenir algoritmes.
- Fer un estudi dels principals esquemes algoritmics (divideix i venç, backtracking, mètode voraç i tècniques probabilistes).
- Fer un estudi dels grafs i els algoritmes de manipulació.
- Formalitzar l’estudi d’algoritmes des del punt de vista teòric.
|
|
|
Prerrequisits
|
|
|
Recomentats: Introducció a les Estructures de Dades, Matemàtica Discreta.
|
|
|
Contingut (Programa)
|
|
|
1.- Introducció
- Nomenclatura
- Disseny d’algorismes (iteratiu, recursiu)
- Eficiència (mesures d’eficiencia, cas mig, cas pitjor, relacions)
- Estructures de dades (referències, estructures dinàmiques, classes definides)
2.- Introducció als esquemes: el tractament seqüencial.
- Concepte d’esqueme algorítmic
- Tractament seqüencial (recorregut, cerca)
- Exemples
3.- Divideix i venç.
- Introducció
- Càlcul de l’eficiencia
- L’esquema Divideix i venç
- Exemples d’aplicació
4.- Algoritmes voraços i grafs.
- Introducció
- Esquema voraç i la seva demostració
- Exemples
- Grafs i algoritmes de tractament de grafs
- Algoritmes voraços sobre grafs
- Algoritmes quasi-òptims
5.- Exploració de grafs: Backtraking, Branch and bound i altres.
- Introducció a l’exploració de grafs
- Backtracking (una solució, totes les solucions, solució òptima)
- Exemples d’aplicació
- Altres recorreguts de grafs (en amplada, Brach & Bound,…)
6.- Algoritmes probabilistes.
- Introducció
- Generació de valors aleatoris
- Algorismes numèrics
- Algorismes de Monte-Carlo
- Algorismes de Las Vegas
- Algorismes de Sherwood
- Estructures de dades i algorismes probabilistes
7.- Introducció a la calculabilitat
- Introducció
- Calculabilitat
- Indecibilitat
- Complexitat
- Exemples i problemes
|
|
|
Bibliografia
|
|
|
Bibliografia bàsica:
- Brassard, G.; Bratley, P.; ALGORITMIQUE. CONCEPTION ET ANALYSE; Masson, 1987 (Versió castellana de 1990).
- Brassard, G.; Bratley, P.; FUNDAMENTALS OF ALGORITHMICS; Prentice-Hall, 1996 (Versió castellana de 1997).
- Gonzalo, J.; Rodríguez, M.; ESQUEMAS ALGORITMICOS: ENFOQUE METODOLOGICO Y PROBLEMAS RESUELTOS; UNED, 1997.
- Horowitz, E.; Sahni, S.; COMPUTER ALGORITHMS IN C++; Computer Science Press, 1996.
Bibliografia complementària:
- Cormen, T.; Leiseson, C.; Rivest, R.; Stein, C.; INTRODUCTION TO ALGORITHMS; MIT Press, 2001.
- Coffin, S.; UNIX. Manual de referencia; McGraw-Hill, 1992.
- Preiss, B.R.; DATA STRUCTURES AND ALGORITMS; John Wiley and Sons, 1999.
- Stroustrup, B.; EL LENGUAJE DE PROGRAMACIÓN C++; Addison-Wesley, 2001 (versió original del 2000).
- Wirth, N.; ALGORITMOS Y ESTRUCTURAS DE DATOS; Prentice-Hall Hispanoamericana, 1987.
|
|
|
Mètodes docents
|
|
|
Classes de teoria: 2 hores/setmana (3 crèdits)
Classes de problemes i laboratori: 2 hores/setmana (3 crèdits)
|
|
|
|
|
|