Un«Algoritmo» se define en informática como un sistema de cálculo que devuelve un resultado basado en la comprobación de la veracidad de determinadas condiciones.
En otras palabras, elalgoritmo puede definirse así como un procesamiento de datos que tiene lugar según una serie de pasos definidos y devuelve un resultado inequívoco a un problema.
Si tuviéramos que dibujar un algoritmo, podríamos pensar en él como en un diagrama de flujo: el orden que damos a las instrucciones es crucial para que el resultado sea el esperado.
Hoy en día, el término «algoritmo» vuelve a estar en el candelero, ya que se asocia con frecuencia a la«Inteligencia Artificial«, el«Aprendizaje Automático» y la automatización del marketing.
Sobre todo en este último caso, los sistemas no solo ejecutan lo que se les proporciona, sino que al ejecutarlo mejoran y reescriben el propio algoritmo.
En este contexto, se suele hacer referencia a un tipo concreto de algoritmos, los predictivos. Trabajan y aprenden a partir de los datos recogidos, para predecir tendencias futuras.
Existen diferentes tipos de algoritmos, pero hay características comunes que podemos identificar en ellos:
- Atomicidad – los pasos del esquema no deben ser descomponibles;
- falta de ambigüedad: las etapas del sistema deben poder interpretarse sin ambigüedades;
- finitud: debe haber un número definido de pasos;
- terminación – el algoritmo debe tener lugar en un tiempo definido;
- eficacia: sólo hay que conseguir un resultado.
Algoritmo es un concepto fundamental de la informática y las primeras nociones y referencias se encuentran incluso en documentos que datan del siglo XVII a.C.
. Sin embargo, el término tal y como lo conocemos hoy deriva de una transcripción latina del nombre de un matemático persa, al-Khwarizmi.
La formalización matemática más famosa es sin duda la de la máquina de Turing, que data de los años treinta.