viernes, 21 de marzo de 2014

¿Qué es un algoritmo?

En la vida cotidiana, es común encontrar en cada momento un problema que requiere una solución. Desde el momento en que nos despertamos requerimos solucionar situaciones que a menudo requieren de una secuencia de pasos específica para su solución. Cepillarnos los dientes, preparar el desayuno y hasta el mismo hecho de levantarnos requiere de una estructura de instrucciones y pasos finitos y precisos. A esta secuencia se le llama algoritmo.

Según Molero (s/f), el término algoritmo proviene del nombre del matemático llamado Muhammad ibn Musa al-Jwarizmi que vivió entre los siglos VIII y IX, quien escribió entre los años 800 y 825 la obra Quitab Al Jabr Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del cero. Alcanzó gran reputación por el enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir números decimales; la traducción al latín del apellido en la palabra algorismus derivó posteriormente en algoritmo (Buelvas, 2009).

En el caso específico de las ramas de la informática y la computación, su concepto se remonta al año 1975 con el profesor Niklaus Wirth (padre del Lenguaje de Programación Pascal) quien lo definía como "una descripción de acciones que deben ser ejecutadas y una descripción de los datos que son manipulados por esas acciones" (Joyanes, 1992). De acuerdo a ello, su estructura fundamental está conformada por dos elementos: datos y acciones.


Ahora bien, si se va a un concepto más general, Capouya (2009) define un algoritmo como "una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas". Joyanes (1992), es aún más preciso al afirmar que es "una forma de describir la solución de un problema". Esta secuencia puede puede representarse "bien sea a mano o, más frecuentemente, en una máquina” (Brassard y Bratley, 2000; citado por Buelvas, 2009) y debe cumplir con las siguientes características (Castillo, 2009):
  • Preciso: el orden de los pasos debe ser exacto y cumplir exactamente con los objetivos propuestos - la solución al problema planteado.
  • Definido: si el mismo algoritmo es resuleto dos veces, en ambas ocaciones su resultado debe ser el mismo.
  • Finito: debe tener un inicio y un fin; es decir, tiene un número determinado de pasos.
En todo caso, y de acuerdo a lo anterior, un algoritmo consiste en una secuencia precisa y bien definida de operaciones o pasos que resuelven un problema en un tiempo finito, bien sea de forma escrita como a través de una máquina.

Para ilustrar estos conceptos, obsérvese el siguiente video:


 


Referencias:

No hay comentarios:

Publicar un comentario