Disseny d'Algoritmes [104359]
Bernal del Nozal, Jorge
Sánchez Pujadas, Javier Sánchez
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Título variante: Algorithm Design
Título variante: Diseño de Algoritmos
Fecha: 2021-22
Resumen: Partint de la base que els alumnes tenen uns coneixements bàsics sobre programació i estructures de dades adquirits en assignatures anteriors, es pretén que l'alumne sigui capaç d'analitzar, dissenyar i implementar algoritmes basant-se en les tècniques de disseny d'algoritmes existents. Per complir amb aquest objectiu, l'alumne adquirirà els coneixements sobre: · Especificació formal de problemes. Com passar d'una descripció d'un problema a una especificació vàlida per al desenvolupament d'un algoritme que el resolgui. 1 · Proves formals per validar programes. Disseny basat en contractes. Precondicions, postcondicions i invariants. · Paradigmes per al disseny d'algorismes. Algorismes de cerca, Greedy, recursivitat, backtracking, branch & bound, programació dinàmica, algoritmes probabilístics, etc. El desenvolupament d'un algoritme comença per formalitzar l'enunciat d'un problema. A partir d'aquest enunciat es dissenya un algoritme que solucioni el problema, però això no és suficient, també és important considerar quant trigarà l'algorisme en donar-nos la solució. Així que ens interessa a crear algoritmes el més ràpids possibles. D'aquesta manera podrem crear programes que solucionin problemes el més grans possibles en temps acceptables. Aquesta rapidesa s'aconsegueix dissenyant algoritmes que minimitzin el nombre d'operacions a realitzar per resoldre un problema i desenvolupant una implementació eficient de les operacions de l'algoritme. Això suposarà que en aquesta assignatura l'alumne adquirirà coneixements sobre algorísmica i implementació eficient d'algoritmes.
Resumen: On the basis that students have some basic knowledge about programming and data structures acquired in previous subjects, the student is expected to be able to analyze, design and implement algorithms based on algorithm design techniques existing ones To meet this goal, the student will acquire the knowledge about: · Formal specification of problems. How to move from a description of a problem to a valid specification for the development of an algorithm that resolves it. · Formal tests to validate programs. Design based on contracts. Preconditions, postconditions and invariants. 1 · Paradigms for the design of algorithms. Search algorithms, greedy recursion, backtracking, branch & bound, dynamic programming, probabilistic algorithms, etc. The development of an algorithm begins to formalize the statement of a problem. From this statement, an algorithm is designed to solve the problem, but this is not enough, it is also important to consider how long the algorithm will take when giving us the solution. So we are interested in creating algorithms as fast as possible. In this way we can create programs that solve problems as large as possible in acceptable times. This rapidity is achieved by designing algorithms that minimize the number of operations to be performed to solve a problem and develop an efficient implementation of the operations of the algorithm. This will mean that in this subject the student will acquire knowledge about algorithmics and efficient implementation of algorithms.
Resumen: Partiendo de la base de que los alumnos tienen unos conocimientos básicos sobre programación y estructuras de datos adquiridos en asignaturas anteriores, se pretende que el alumno sea capaz de analizar, diseñar e implementar algoritmos basándose en las técnicas de diseño de algoritmos existentes. Para cumplir con este objetivo, el alumno adquirirá los conocimientos sobre: Especificación formal de problemas. Cómo pasar de una descripción de un problema a una especificación válida para el desarrollo de un algoritmo que lo resuelva. Pruebas formales para validar programas. Diseño basado en contratos. Precondiciones, postcondiciones e invariantes. Paradigmas para el diseño de algoritmos. Algoritmos de búsqueda, greedy, recursividad, backtracking, 1 Paradigmas para el diseño de algoritmos. Algoritmos de búsqueda, greedy, recursividad, backtracking, branch & bound, programación dinámica, algoritmos probabilísticos, etc. El desarrollo de un algoritmo empieza por formalizar el enunciado de un problema. A partir de este enunciado se diseña un algoritmo que solucione el problema, pero esto no es suficiente, también es importante considerar cuánto tardará el algoritmo en darnos la solución. Así que nos interesa crear algoritmos lo más rápidos posibles. De esta forma podremos crear programas que solucionen problemas lo más grandes posibles en tiempos aceptables. Esta rapidez se consigue diseñando algoritmos que minimicen el número de operaciones a realizar para resolver un problema y desarrollando una implementación eficiente de las operaciones del algoritmo. Esto supondrá que en esta asignatura el alumno adquirirá conocimientos sobre algorítmica e implementación eficiente de algoritmos.
Derechos: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, fins i tot amb finalitats comercials, sempre i quan es reconegui l'autoria de l'obra original. Creative Commons
Lengua: Català, anglès, castellà
Titulación: Grau en Enginyeria de Dades [2503758]
Plan de estudios: Enginyeria de Dades [1394]
Documento: Objecte d'aprenentatge



Català
6 p, 108.8 KB

Anglès
6 p, 108.2 KB

Castellà
6 p, 110.4 KB

El registro aparece en las colecciones:
Materiales académicos > Guías docentes

 Registro creado el 2021-07-09, última modificación el 2023-07-29



   Favorit i Compartir