Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
CS
Web
https://www.cs.upc.edu/~balqui/paa.html
i es fa una introducció a la complexitat computacional.
Professorat
Responsable
- Jose Luis Balcázar Navarro ( jose.luis.balcazar@upc.edu )
Altres
- Jordi Delgado Pin ( jdelgado@cs.upc.edu )
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6
Competències
Transversals
Bàsiques
Específiques
Genèriques
Objectius
-
Aprendre a analitzar algorismes i conèixer les notacions asimptòtiques.
Competències relacionades: CG2, CG4, CE02, CE03, CE12, -
Saber classificar els problemes segons la seva complexitat temporal i espaial.
Competències relacionades: CG4, CG8, CT4, CT6, CB2, CE02, CE03, CE12, CE13, -
Conèixer esquemes algorítmics fonamentals com ara programació dinàmica, algoritmes voraços, tècniques combinatories i de formalització de restriccions lineals, identificar quan n'és idoni l'aplicació i plantejar i resoldre els programes adients.
Competències relacionades: CG4, CT6, CB2, CE02, CE03, CE04, CE10, CE13, -
Conèixer els models teòrics de computació, així com els seus límits.
Competències relacionades: CG4, CT4, CB1, CB2, CE02, CE13,
Continguts
-
Disseny d'algoritmes combinatoris
Com son i com s'apliquen els algoritmes voraços, les restriccions lineals i la programació dinàmica. -
Models de computació
Models de propòsit específic: autòmats finits, autòmats a pila. Models de propòsit general: màquines de Turing, sistemes acceptables de programació, funcions recursives parcials. -
Decidibilitat
Problemes decidibles, indecidibles i semi-decidibles. La reduïbilitat com a eina per classificar problemes. Indecidibilitat de tota propietat no trivial sobre el comportament dels programes. Propietats de les funcions computables. -
Complexitat computacional
Complexitat concreta i complexitat abstracta. Classes de complexitat. Relació amb esquemes de cerca combinatòria. NP-completesa a la IA i a altres dominis. Programació lineal i programació entera.
Activitats
Activitat Acte avaluatiu
Conceptes bàsics d'algoritmes, anàlisi i complexitat
Recapitulació d'algoritmes coneguts de PA2 / ABIA. Conceptes fonamentals de Problema Computacional Combinatòric i d'Algoritme Combinatòric. Ccomplexitat d'un problema computacional.Objectius: 1 3
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h
Algoritmes voraços
Concepte, exemples i característiques dels algoritmes voraços.- Teoria: Planificació de tasques. Algoritmes per camins mínims. Algoritmes de Kruskal y Prim per arbres d'expansió mínims. Particions (Union-find). Codis de Huffman.
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
Algoritmes de Programació Dinàmica
Concepte, exemples i característiques dels algoritmes de programació dinàmica.- Teoria: Concepte, exemples i característiques dels algoritmes de programació dinàmica. Principi d'optimalitat. Memoització. Arbres binaris de cerca òptims. Algoritme de Floyd-Warshall per camins mínims. Problema de la motxilla. Altres exemples.
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
Llenguatges Formals
Alfabets, llenguatges, gramàtiques. La jerarquia de Chomsky. Autòmats finits. Gramàtiques incontextuals i autòmats a pila. Ambigüitat.- Teoria: Alfabets, llenguatges, gramàtiques. La jerarquia de Chomsky. Autòmats finits. Gramàtiques incontextuals i autòmats a pila. Ambigüitat.
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
Expressions regulars
Concepte; equivalència amb autòmats i Lema d'Arden; operacions sobre expressions regulars. Expressions regulars esteses: exemples d'útilitat.Objectius: 4
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h
Funcions computables i decidibilitat
Computabilitat: màquines de Turing, sistemes acceptables de programació. Propietats de les funcions computables. Problemes decidibles.Objectius: 4
Continguts:
Teoria
2h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Propietats de les funcions computables. Indecidibilitat. Semidecidibilitat.
Propietats de les funcions computables: s-m-n (avaluació parcial), recursió. Indecidibilitat del problema de parada. Reduïbilitat com a eina per argumentar indecidibilitat. Semidecidibilitat i propietats principals. Productivitat.Objectius: 4
Continguts:
Teoria
5h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Complexitat computacional
Complexitat computacional. Complexitat abstracta i complexitat concreta. L'enfocament axiomàtic.Complexitat en temps i en espai. Les classes logarítmiques i polinòmiques: robustesa. Indeterminisme. Teorema de Savitch.Objectius: 2 4
Continguts:
Teoria
5h
Problemes
0h
Laboratori
8h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Algoritmes probabilistics.
Métodes Monte-Carlo versus Las Vegas. Factorització i criptografia. Classes de complexitat probabilístiques. Desrandomització. Amplitud versus probabilitat: algoritme de Grover, introducció a la computació quàntica.Objectius: 2 4
Continguts:
Teoria
6h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Metodologia docent
Les classes es distribueixen en sessions de teoria i problemes. Les sessions de teoria s'exposaran els conceptes de l'assignatura fent ús del material de suport que els alumnes sempre tindran disponible, alguns conceptes s'exemplificaran sempre promovent la interacció dels alumnes per aclarir els possibles dubtes i discussió.Les sessions pràctiques es resoldran problemes proposats pel professor que permetran aprofundir en els conceptes, tècniques i mètodes exposats a teoria. En tot moment, s'animarà als estudiants a participar en la resolució dels problemes tant de manera individual com en petits grups per discutir les alternatives possibles.
Els problemes podran ser tant amb paper i llàpis com sobre màquina, amb l'ajut de software adient disponible sense cost.
Mètode d'avaluació
Part de la secció d'Algorítmica (inicial del curs) requerirà per la seva avaluació una pràctica de dimensió modesta que es presentarà al començament del tema Programació Dinàmica i s'avaluarà a la seva entrega (nota P).Addicionalment hi haurà la nota del parcial (E) i la de l'examen final (nota F). La nota del curs s'obtindrà mitjançant el següent criteri:
max(F*0.8, (E*0.3 + F*0.5)) + P*0.2
Reavaluació
Només es poden presentar a l'examen de reavaluació qui prèviament s'hagi presentat a l'examen final i l'hagi suspès. La nota màxima de reavaluació és un 7.
Bibliografia
Bàsic
-
Introduction to the theory of computation
- Sipser, M,
Cengage Learning,
2013.
ISBN: 9781133187790
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004025429706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Llenguatges, gramàtiques i autòmats: curs bàsic
- Cases, R.; Màrquez, L,
Edicions UPC,
2003.
ISBN: 8483017288
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002699299706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Els Límits de la computació: indecidibilitat i NP-completesa
- Serna, M. et al.,
Edicions UPC,
2004.
ISBN: 9788483017845
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004025469706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Fundamentals of algorithmics
- Brassard, G.; Bratley, P,,
Prentice-Hall International,
1996.
ISBN: 9780130734877
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001368999706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementari
-
The algorithm design manual
- Skiena, S.S,
Springer,
2020.
ISBN: 9783030542559
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005126274506711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Randomized Algorithms
- Motwani, R., Raghavan, P.,
Cambridge University Press,
1995.
ISBN: 0521474655
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001320239706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Data structures and algorithms with Python
- Lee, K. D., Hubbard, S.,,
Springer,
2014.
ISBN: 9783319130712
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004152009706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Introduction to automata theory, languages, and computation
- Hopcroft, J.E.; Motwani, R.; Ullman, J.D.,
Pearson/Addison Wesley,
2007.
ISBN: 0321462254
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003933959706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- (Futura) Página de la asignatura, en construcción. https://www.cs.upc.edu/~balqui/paa.html