Grau en Disseny i Creació de Productes Interactius La Salle Campus Barcelona

Grau en Disseny i Creació de Productes Interactius - Menció en Disseny i Desenvolupament de Videojocs

Algorísmica avançada

Descripció
L’assignatura se centra en l’estudi de conceptes, tècniques, mètodes i metodologies d’algorísmica avançada. És una assignatura centrada en “la forma” i el rendiment del codi font o algorisme. Sabem que són diversos els algorismes que poden donar solució a un determinat problema, fins i tot podríem arribar a dir que hi ha gairebé tantes solucions com desenvolupadors afrontin el problema. La diferencia entre cadascuna de les solucions proposades, donant per suposat que totes elles assoleixen l’objectiu final, radica en l’ús i el grau d’eficiència que fan dels recursos computacionals disponibles (CPU, memòria, disc, ...). En aquest context, l’assignatura comença amb l’estudi de tècniques per a la quantificació objectiva del rendiment d’algorismes. Amb aquests mètodes, l’alumne és capaç de triar quina de les possibles solucions és la més eficient, i per tant adient, per resoldre un problema concret. D’altra banda, la recursivitat és una tècnica alternativa a la programació iterativa, amb unes característiques que la fan particular i especialment indicada per a resoldre determinats problemes. L’assignatura cobreix quins tipus de recursivitat existeixen, quins mecanismes entren en joc en el disseny d’aquest tipus d’algorismes, així com les implicacions a nivell d’ús de recursos computacionals que el seu ús implica. En aquesta àrea s’aprenen a dissenyar algorismes recursius simples i múltiples, i s’analitzen mètodes d’ordenació avançats. Un cop estudiats els conceptes anteriors, l’assignatura cobreix la resolució de problemes combinatoris i d’optimització. Aquests problemes han estat estudiats en profunditat en la literatura i són diversos els autors que han proposats tècniques de cerca específiques per obtenir solucions d’una forma eficient i elegant. En aquest camp, en l’assignatura s’estudien i s’aprenen a aplicar diverses tècniques per a la resolució de problemes combinatoris que requereixen d’una cerca exhaustiva en un espai de solucions. Un tipus de problemes, que fins aquest semestre, resultarien difícils d’abordar. Per a tots els conceptes tractats en l’assignatura, aquesta es troba íntimament relacionada amb: • Fonaments de programació • Eines de suport al desenvolupament • Àlgebra i lògica per a la programació • Programació orientada a objectes
Tipus assignatura
Optativa
Semestre
Primer
Crèdits
6.00

Professors Titulars

Professors Docents

Coneixements previs
Objectius

L’objectiu principal de l’assignatura és que l’alumne incrementi el seu nivell de coneixements en l’àrea de l’algorísmica. Essent capaç de discutir i triar algorismes des del punt de vista del seu rendiment, així com amb habilitats per resoldre problemes combinatoris i d’optimització complexes.

Pel que fa als resultats d’aprenentatge, aquests són:
• Quantificar, avaluar i analitzar el rendiment d’algorismes.
• Implementar algorismes recursius simples i múltiples.
• Aplicar tècniques de cerca en un espai de solucions.
• Aplicar tècniques per a la l’optimització d’un espai de solucions.

Continguts

A continuació es donen els descriptors de continguts i el detall dels capítols/temes que consta el temari de l’assignatura.

Descriptors de continguts proposats:
• Eficiència o càlcul del cost d’algorismes.
• Disseny d’algorismes recursius simples y múltiples.
• Mètodes d’ordenació avançats.
• Tècniques de cerca
• Tècniques d’optimització

El temari detallat és:

1. Eficiència dels algorismes

1.1 Introducció

1.2 Mesures asimptòtiques. Taxa de creixement

1.3 Càlcul del temps d’execució i del cost

2. Disseny recursiu

2.1 Introducció

 2.2 Etapes i disseny d’algorismes recursius

2.3 Transformació de recursiu simple a iteratiu

2.4 Tècnica d’immersió

2.5 Tècnica de “plegat” i “desplegat”

2.6 Recursivitat múltiple. Divide & Conquer

2.7 Ordenació amb Divide & Conquer: Mergesort i Quicksort

3. Backtracking

3.1 Terminologia i caracterització dels problemes

3.2 Esquemes recursiu i iteratiu

3.3 Metodologia de resolució

3.4 Trobar la millor de les solució

3.5 Millores en l’eficiència

4. Branch & Bound

4.1 Estratègia de cerca

4.2 Esquema algorísmic

5. Greedy

5.1 Estratègia

5.2 Esquema algorísmic

Metodologia

L’assignatura basa l’aprenentatge en les metodologies docents següents:
- Classes teòriques
- Classes de problemes i exercicis

Avaluació

Per tal de poder avaluar l’assignatura s’han definit uns sistemes d’avaluació i unes ponderacions respecte el 100% de la nota final de l’assignatura, aquests són:

Exàmens - 50 %
Exercicis, problemes i pràctiques - 40 %
Participació a classe - 5 %
Portafoli - 5 %

Criteris avaluació
Bibliografia bàsica
Material complementari