En aquest mòdul final, els estudiants aplicaran els coneixements adquirits al llarg del curs per desenvolupar un projecte complet que resolgui un problema real utilitzant algorismes avançats. Aquest projecte servirà com a culminació del curs i permetrà als estudiants demostrar la seva comprensió i habilitat en l'aplicació pràctica dels conceptes apresos.
Objectius del Projecte
- Aplicar Coneixements: Utilitzar els algorismes i tècniques apreses en els mòduls anteriors per resoldre un problema complex.
- Desenvolupar Solucions Eficients: Crear solucions que siguin no només correctes, sinó també eficients en termes de temps i espai.
- Documentar el Procés: Mantenir una documentació clara i detallada del procés de desenvolupament, incloent-hi l'anàlisi del problema, el disseny de l'algorisme, la implementació i les proves.
- Presentar Resultats: Preparar una presentació que expliqui el problema, la solució proposada, els resultats obtinguts i les conclusions.
Passos per Desenvolupar el Projecte
- Selecció del Problema
Els estudiants poden triar un problema d'una de les següents categories, o proposar-ne un de nou amb l'aprovació del professor:
- Optimització: Problemes que requereixen trobar la millor solució possible sota certes restriccions.
- Grafs: Problemes relacionats amb la representació i manipulació de grafs, com ara camins mínims, flux màxim, etc.
- Cerca i Ordenació: Problemes que impliquen la cerca eficient d'elements o l'ordenació de grans volums de dades.
- Aprenentatge Automàtic: Problemes que es poden abordar amb tècniques d'aprenentatge automàtic, com la classificació, la regressió o el clustering.
- Anàlisi del Problema
- Descripció del Problema: Proporcionar una descripció detallada del problema que es vol resoldre.
- Requisits i Restriccions: Identificar els requisits del problema i qualsevol restricció que s'hagi de tenir en compte.
- Dades d'Entrada i Sortida: Definir clarament les dades d'entrada i sortida del problema.
- Disseny de l'Algorisme
- Selecció de Tècniques: Triar les tècniques algorítmiques més adequades per resoldre el problema.
- Pseudocodi: Escriure el pseudocodi de l'algorisme proposat.
- Anàlisi de Complexitat: Analitzar la complexitat temporal i espacial de l'algorisme.
- Implementació
- Llenguatge de Programació: Seleccionar el llenguatge de programació més adequat per implementar l'algorisme.
- Codi Font: Escriure el codi font de l'algorisme.
- Comentaris i Documentació: Incloure comentaris i documentació per facilitar la comprensió del codi.
- Proves i Validació
- Casos de Prova: Definir una sèrie de casos de prova per validar el funcionament de l'algorisme.
- Resultats Esperats: Especificar els resultats esperats per a cada cas de prova.
- Execució de Proves: Executar les proves i comparar els resultats obtinguts amb els resultats esperats.
- Depuració: Corregir qualsevol error detectat durant les proves.
- Documentació Final
- Informe del Projecte: Redactar un informe detallat que inclogui tots els passos anteriors, així com una discussió dels resultats obtinguts i les conclusions.
- Codi Font: Adjuntar el codi font complet de l'algorisme.
- Presentació: Preparar una presentació que resumeixi el projecte i els seus resultats.
Criteris d'Avaluació
El projecte serà avaluat segons els següents criteris:
- Claredat i Precisió: La descripció del problema i la solució proposada són clares i precises.
- Correcció: L'algorisme implementat resol correctament el problema plantejat.
- Eficiència: L'algorisme és eficient en termes de temps i espai.
- Documentació: La documentació és completa i ben organitzada.
- Presentació: La presentació és clara, ben estructurada i cobreix tots els aspectes del projecte.
Consells Addicionals
- Planificació: Planifica el teu temps de manera efectiva per assegurar-te que pots completar totes les fases del projecte.
- Revisió per Parells: Si és possible, fes que un company revisi el teu treball per detectar errors o millores.
- Recursos Addicionals: No dubtis a utilitzar recursos addicionals, com ara llibres, articles acadèmics i fòrums en línia, per aprofundir en els conceptes necessaris per al teu projecte.
Conclusió
Aquest projecte final és una oportunitat per consolidar i demostrar els teus coneixements en algorismes avançats. Pren-te el temps necessari per comprendre profundament el problema que has triat i desenvolupar una solució robusta i eficient. Bona sort!
Algoritmes Avançats
Mòdul 1: Introducció als Algoritmes Avançats
Mòdul 2: Algoritmes d'Optimització
- Programació Lineal
- Algoritmes d'Optimització Combinatòria
- Algoritmes Genètics
- Optimització de Colònia de Formigues
Mòdul 3: Algoritmes en Grafs
- Representació de Grafs
- Cerca en Grafs: BFS i DFS
- Algoritmes de Camins Mínims
- Algoritmes de Flux Màxim
- Algoritmes d'Aparellament en Grafs
Mòdul 4: Algoritmes de Cerca i Ordenació
Mòdul 5: Algoritmes d'Aprenentatge Automàtic
- Introducció a l'Aprenentatge Automàtic
- Algoritmes de Classificació
- Algoritmes de Regressió
- Xarxes Neuronals i Deep Learning
- Algoritmes de Clustering
Mòdul 6: Casos d'Estudi i Aplicacions
- Optimització en la Indústria
- Aplicacions de Grafs en Xarxes Socials
- Cerca i Ordenació en Grans Volums de Dades
- Aplicacions d'Aprenentatge Automàtic en la Vida Real