Crèdits
6
Tipus
- MIRI: Obligatòria d'especialitat (Computació Avançada)
- MEI: Optativa
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
CS
Mail
conrado@cs.upc.edu
Un algoritme aleatori és un algorisme que fa eleccions aleatòries com a part de la seva lògica. L'anàlisi probabilística dels algorismes calcula la complexitat computacional dels algoritmes o el problema assumint una certa distribució probabilística del conjunt de totes les entrades possibles.
El curs té dos temes principals. El primer tema presenta eines i tècniques bàsiques de la teoria de la probabilitat i de l'anàlisi probabilística recurrents en aplicacions algorítmiques. El segon tema tracta d'àrees específiques d'aplicació. Les eines i les tècniques es intercalaran amb aplicacions que il·lustren en entorns concrets.
Professorat
Responsable
- Conrado Martínez Parra (conrado@cs.upc.edu)
Hores setmanals
Teoria
2
Problemes
2
Laboratori
0
Aprenentatge dirigit
0.32
Aprenentatge autònom
9.325
Competències
Computació avançada
Genèriques
Raonament
Bàsiques
Objectius
-
Conèixer les principals tècniques i problemes d'aleatorització
Competències relacionades: CTR6, CEE3.1, CEE3.2, CG1, -
Examinar les condicions en què es poden utilitzar algoritmes aleatoris. Realitzar una anàlisi i extreure les propietats fonamentals, de diferents dominis, per avaluar la idoneïtat i l'aplicabilitat de mètodes aleatoris.
Competències relacionades: CTR6, CG3, CG5, CB6,
Continguts
-
Introducció
Exemples motivadors; algorismes aleatoris; anàlisi probabilística; Algorismes de Monte Carlo, algorismes de Las Vegas. -
Eines i tècniques probabilístiques
Esdeveniments i probabilitats; variables aleatòries i mitjanes; moments i desviacions; desigualtats de cua; boles i papereres; grafs aleatoris; Cadenes de Markov i passejos aleatoris. -
Ordenació i cerca
Randomized quick sort; randomized quick select; randomized selection by sampling. -
Estructures de dades
Hashing; universal hashing, cuckoo hashing, Bloom filters. -
Tècniques algebraiques
Fingerprinting; database consistency; pattern matching; primality testing. -
Optimització, aproximació,mostreig i comptatge
Activitats
Activitat Acte avaluatiu
Desenvolupament dels temes del temari (II)
Teoria
10h
Problemes
10h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
25h
Tasca de laboratori
Disseny, implementació i documentació d'un treball pràctic sobre un dels temes desenvolupats a l'assignatura
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
20h
Presentacions orals (I)
Presentació oral d'un article o tema relacionat amb l'assignaturaSetmana: 14 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h
Presentacions orals (II)
Setmana: 15 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h
Metodologia docent
Hi haurà dos tipus de classes: sessions teòriques i sessions pràctiques. De mitjana, dues hores setmanals es dedica a la teoria i dues hores a la setmana a exercicis. El professorat assignarà les hores d'acord amb el tema.Les classes teòriques prenen la forma de conferències en què el professor exposa nous conceptes o tècniques i exemples que els il·lustren.
Les classes pràctiques s'utilitzen per realitzar exercicis en què els alumnes participen activament. El professorat proposarà exercicis amb antelació. Es demana als estudiants que presentin els exercicis i que tractin les diferents solucions / alternatives a la classe.
Mètode d'avaluació
Nota = 0.7 E + 0.3 OPP = Examen parcial (qualificat entre 0 i 10)
F = Examen final (qualificat entre 0 i 10)
E = max(0.4 P + 0.6 F, F)
OP = Presentació oral d'un article o tema concret relacionat amb l'assignatura, junt amb un resum escrit i el material audiovisual de la presentació (qualificat entre 0 i 10); els articles i/o temes serà escollit per l'estudiant d'entre les propostes realitzades pel professor
Bibliografia
Bàsic
-
Probability and computing: randomization and probabilistic techniques in algorithms and data analysis
- Mitzenmacher, M.; Upfal, E,
Cambridge University Press,
2017.
ISBN: 9781107154889
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004118909706711&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
Complementari
-
Probability models for computer science
- Ross, Sheldon M,
Harcourt : Academic Press,
cop. 2002.
ISBN: 9780125980517
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003271789706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Algorithms and Data Structures for Massive Datasets
- Medjedovic, Dzejla; Tahirovic, Emin; Dedovic, Ines,
Manning,
2022.
ISBN: 9781638356561
https://web-p-ebscohost-com.recursos.biblioteca.upc.edu/ehost/ebookviewer/ebook?sid=bddc5e1c-9751-4594-94a5-527efabc667d%40redis&vid=0&format=EK -
Mining of massive datasets
- Leskovec, Jurij; Rajaraman, Anand; Ullman, Jeffrey D,
Cambridge University Press,
2020.
ISBN: 9781108476348
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193679706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Capacitats prèvies
- Coneixements bàsics d'algorismes i estructures de dades: algorismes d'ordenació, algorismes sobre grafs, arbres binaris de cerca, taules de hash, cost d'algorismes, nocions de complexitat, esquemes algorítmics, ...- Coneixements de, si més no, un llenguatge de programació, preferentment C++ o Python.