Definición de algoritmo

En el árabe es donde podemos encontrar el origen etimológico del término algoritmo que ahora vamos a analizar en profundidad. Más exactamente se halla en el nombre del matemático Al-Khwarizmi, que nació en la Edad Media en una de las zonas de lo que hoy se conoce como Uzbiekistán, en Asia central.

En Bagdad fue donde este desarrolló gran parte de su carrera y es que hasta allí se trasladó para, por orden del califa, crear un centro superior de investigaciones científicas que se dio en llamar Casa de la Sabiduría. Diversos tratados de álgebra o astronomía fueron algunos de los trabajos que realizó dicho sabio que también ha dado lugar a la creación de otra serie de términos científicos tales como álgebra o guarismo.

Tal fue la importancia que tuvo dicho personaje histórico que actualmente está considerado no sólo como el padre del álgebra sino también como quien se encargó de introducir nuestro sistema de numeración.

Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema. Se trata de una serie de instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permiten arribar a un resultado o solución.

Según los expertos en matemática, los algoritmos permiten trabajar a partir de un estado básico o inicial y, tras seguir los pasos propuestos, llegar a una solución. Cabe resaltar que, si bien los algoritmos suelen estar asociados al ámbito matemático (ya que permiten, por citar casos concretos, averiguar el cociente entre un par de dígitos o determinar cuál es el máximo común divisor entre dos cifras pertenecientes al grupo de los enteros), aunque no siempre implican la presencia de números.

Además de todo lo expuesto, en el ámbito matemático, y cuando estamos decididos a llevar a cabo la descripción de uno de esos algoritmos hay que tener en cuenta que se puede efectuar mediante tres niveles. Así, en primer lugar, nos encontramos con el de alto nivel, lo que es la descripción formal y finalmente la tarea de implementación.

Asimismo tampoco podemos pasar por alto que los algoritmos se pueden expresar a través de lenguajes de programación, pseudocódigo, el lenguaje natural y también a través de los conocidos como diagramas de flujo.

Un manual de instrucciones para el funcionamiento de un electrodoméstico y una serie de órdenes del jefe a un empleado para desarrollar una cierta tarea también pueden incluir algoritmos.

Esta amplitud de significado permite apreciar que no existe una definición formal y única de algoritmo. El término suele ser señalado como el número fijo de pasos necesarios para transformar información de entrada (un problema) en una salida (su solución). De todas formas, algunos algoritmos carecen de final o no resuelven un problema en particular.

Existen ciertas propiedades que alcanzan a todos los algoritmos, con excepción de los denominados algoritmos paralelos: el tiempo secuencial (los algoritmos funcionan paso a paso), el estado abstracto (cada algoritmo es independiente de su implementación) y la exploración acotada (la transición entre estados queda determinada por una descripción finita y fija).

Cabe mencionar por último que los algoritmos son muy importantes en la informática ya que permiten representar datos como secuencias de bits. Un programa es un algoritmo que indica a la computadora qué pasos específicos debe seguir para desarrollar una tarea.

Definición siguiente →