Clases de Algoritmos
Tipos de algoritmos según su función
Técnicas de diseño de algoritmos
- Algoritmos voraces
(greedy): seleccionan los elementos más prometedores del conjunto de
candidatos hasta encontrar una solución. En la mayoría de los casos la
solución no es óptima.
- Algoritmos paralelos:
permiten la división de un problema en subproblemas de forma que se
puedan ejecutar de forma simultánea en varios procesadores.
- Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios.
- Algoritmos determinísticos: el comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
- Algoritmos no determinísticos:
el comportamiento del algoritmo tiene forma de árbol y a cada paso del
algoritmo puede bifurcarse a cualquier número de pasos inmediatamente
posteriores, además todas las ramas se ejecutan simultáneamente.
- Divide y vencerás:
dividen el problema en subconjuntos disjuntos obteniendo una solución
de cada uno de ellos para después unirlas, logrando así la solución al
problema completo.
- Metaheurísticas:
encuentran soluciones aproximadas (no óptimas) a problemas basándose en
un conocimiento anterior (a veces llamado experiencia) de los mismos.
- Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
- Ramificación y acotación:
se basa en la construcción de las soluciones al problema mediante un
árbol implícito que se recorre de forma controlada encontrando las
mejores soluciones.
- Vuelta atrás
(backtracking): se construye el espacio de soluciones del problema en
un árbol que se examina completamente, almacenando las soluciones menos
costosas.
Temas relacionados
Disciplinas relacionadas
No hay comentarios:
Publicar un comentario