La palabra algoritmo
proviene del nombre del matemático llamado Abu Abdullah Muhammad bin
Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el
alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi,
Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX.
Su trabajo consistió en preservar y difundir el conocimiento de la
antigua Grecia y de la India. Sus libros eran de fácil comprensión, de
ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas
corrientes de pensamiento, sino el de simplificar las matemáticas a un
nivel lo suficientemente bajo para que pudiera ser comprendido por un
amplio público. Cabe destacar cómo señaló las virtudes del sistema
decimal indio (en contra de los sistemas tradicionales árabes) y cómo
explicó que, mediante una especificación clara y concisa de cómo
calcular sistemáticamente, se podrían definir algoritmos
que fueran usados en dispositivos mecánicos similares a un ábaco en vez
de las manos. También estudió la manera de reducir el numero de
operaciones necesarias que formaban el 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. Al-Khorezmi fue sin duda el primer pensador algorítmico.
Ya en el siglo XIX, se produjo el primer algoritmo escrito para un
computador. La autora fue Ada Byron, en cuyos escritos se detallaban la
máquina analítica en 1842. Por ello que es considerada por muchos como
la primera programadora aunque, desde Charles Babbage, nadie completó su
máquina, por lo que el algoritmo nunca se implementó.
La idea de resolver un problema o de disponer de un algoritmo
es bastante antigua, tal es así, que existía la errada creencia que no
había problema que no se pudiera resolver y en base a ello, el
matemático David Hilbert quiso descubrir un algoritmo para los
algoritmos. Hoy en dia gracias a los trabajos de Kurt Gödel, Alonzo
Church (calculo lamba), Alan Turing (maquina de turing), se sabe que
dentro del universo de problemas, una pequeña parte es computable, luego
que el objetivo que perseguia David Hilbert no era computable, es lo
que se ha denominado como la computabilidad de los algoritmos.