Técnicas de los algoritmos

• Algoritmos greedy: Informalmente, podemos decir que este tipo de algoritmos selecciona los elementos del conjunto de candidatos en un determinado orden hasta encontrar una solución; es decir, calcula la solución al problema tomando en cada paso la opción más prometedora. En la mayoría de los casos la solución no es óptima. • Algoritmos paralelos • Algoritmos probabilísticos • Algoritmos determinísticos • Algoritmos no determinísticos • Divide y vencerás (divide & conquer, en inglés): este tipo de algoritmos 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. • Heurísticas: algoritmos que encuentran soluciones 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 espacial aumentando el coste computacional. • Ramificación y acotación: también conocidos como ramificación y poda, branch and bound. Este método 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: al igual que el método ramificación y acotación, vuelta atrás (backtracking, en inglés) se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas. Temas relacionados • Cota superior asintótica • Cota inferior asintótica • Cota ajustada asintótica • Complejidad computacional Disciplinas relacionadas • Ciencias de la Computación • Complejidad computacional • Informática • Inteligencia artificial • Investigación operativa • Matemáticas • Programación