El término proviene del matemático árabe Al’Khwarizmi, que escribió un tratado sobre los números. Este texto se perdió, pero su versión latina, Algoritmi de Numero Indorum, sí se conoce.

El trabajo de Al’Khwarizmi permitió preservar y difundir el conocimiento de los griegos (con la notable excepción del trabajo de Diofanto) e indios, pilares de nuestra civilización. Rescató de los griegos la rigurosidad y de los indios la simplicidad (en vez de una larga demostración, usar un diagrama junto a la palabra Mira). Sus libros son intuitivos y prácticos y su principal contribución fue simplificar las matemáticas a un nivel entendible por no expertos. En particular muestran las ventajas de usar el sistema decimal indio, un atrevimiento para su época, dado lo tradicional de la cultura árabe.

La exposición clara de cómo calcular de una manera sistemática a través de algoritmos diseñados para ser usados con algún tipo de dispositivo mecánico similar a un ábaco, más que con lápiz y papel, muestra la intuición y el poder de abstracción de Al’Khwarizmi. Hasta se preocupaba de reducir el número de operaciones necesarias en cada cálculo. Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre.

Los babilonios que habitaron en la antigua Mesopotania, empleaban unas pequeñas bolas hechas de semillas o pequeñas piedras, a manera de “cuentas” y que eran agrupadas en carriles de caña. Más aún, en 1.800 A.C. un matemático babilónico inventó los algoritmos que le permitieron resolver problemas de cálculo numérico.

En 1850 A.C., un algoritmo de multiplicación similar al de expansión binaria es usado por los egipcios.

La teoría de las ciencias de la computación trata cualquier objeto computacional para el cual se puede crear un buen modelo. La investigación en modelos formales de computación se inició en los 30’s y 40’s por Turing, Post, Kleene, Church y otros. En los 50’s y 60’s los lenguajes de programación, compiladores y sistemas operativos estaban en desarrollo, por lo tanto, se convirtieron tanto en el sujeto como la base para la mayoría del trabajo teórico.

El poder de las computadoras en este período estaba limitado por procesadores lentos y por pequeñas cantidades de memoria. Así, se desarrollaron teorías (modelos, algoritmos y análisis) para hacer un uso eficiente de ellas. Esto dio origen al desarrollo del área que ahora se conoce como “Algoritmos y Estructuras de Datos”. Al mismo tiempo se hicieron estudios para comprender la complejidad inherente en la solución de algunos problemas. Esto dió origen a lo que se conoce como la jerarquía de problemas computacionales y al área de “Complejidad Computacional”.

Posted in Programming Languages at Agosto 31st, 2007. Trackback URI: trackback
Tags:

No Responses to “Algunas Notas sobre la Historia de los Algoritmos”

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>