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 -a un dispositivo físico, o a un robot- qué pasos específicos debe seguir para desarrollar una tarea.
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 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).
No hay comentarios:
Publicar un comentario