¿Cuáles son las ventajas y desventajas de los algoritmos y la heurística en la resolución de problemas?

¿El problema? En general, no se pueden aplicar para producir soluciones para la mayoría de los problemas informáticos. La mayoría son aquellos que implican la representación de conceptos, reales e imaginarios, y las relaciones entre ellos. Para estos, no se aplica un “algoritmo”.

Ni un algoritmo ni una heurística lo ayudarán aquí, aparte de potencialmente como parte de un sistema que modela el dominio del problema en consideración. Por ejemplo, un algoritmo o heurística no lo ayudará a modelar el funcionamiento de un ascensor. Sin embargo, existe un algoritmo estándar utilizado para el movimiento de los ascensores entre los pisos solicitados.

Del mismo modo, un sistema de entrega de paquetes puede usar un algoritmo para determinar la ruta más eficiente. Sin embargo, ese algoritmo, si bien es importante, es solo una pequeña parte de un sistema completo de entrega de paquetes.

Fuera de estos sistemas de tipo “representacional”, la utilidad de los algoritmos (y la heurística) en sí mismos es más importante con los problemas representados por programas que se consideran como una función matemática o un conjunto de ecuaciones, que describen una relación o relaciones entre entrada y salida. Problemas más tradicionalmente vistos en informática y ciencia de datos.

Nota: a los fines de esta respuesta, un algoritmo no se define como un simple procedimiento.