Algoritmo

El mundo digital está lleno de cosas asombrosas, hay carros que se manejan solos, celulares que convierten nuestra voz en texto, robots que compran y venden acciones en la bolsa. ¿Cómo ha llegado a ser posible todo esto?, se debe a la creación de sensores, microcrips, wifi, gps y demás, pero gran parte de esto se debe a los algoritmos.
¿Qué es un algoritmo?
Un algoritmo es una secuencia de instrucciones para llevar a cabo algo, donde hay un estado inicial “input” y que siguiendo a la letra una secuencia de pasos, se produzca siempre un resultado, un “output”.
Ejemplo: una receta de cocina es un algoritmo, el input son los ingredientes y el output es la cena terminada, a través del algoritmo sabemos cómo pasar de un estado a otro.
Los algoritmos nos permiten obtener resultados sin entender lo que estamos haciendo, pero también nos permiten comunicar tareas complejas sin explicar el por qué. Esto siempre lo hemos necesitado, ahora es particularmente útil porque tenemos un interlocutor que no entiende absolutamente nada pero es perfectamente capaz de seguir millones de instrucciones por segundo, la computadora.
La programación es el arte de convertir las cosas que hacemos o las que quisiéramos hacer en una secuencia de instrucciones que un ordenador pueda procesar en un algoritmo y para eso se utiliza lenguajes lógicos con variables, funciones, ciclo, entre otras cosas.
La computadora, la que sigue instrucciones, puede darse el lujo de no entender lo que está haciendo, pero el que diseña las instrucciones (los programadores) tiene que llegar a un nivel de comprensión muy profundo.
Si es difícil darle instrucciones a un ser humano, alguien que puede descifrar las cosas por sus propios medios, alguien que interpreta información dependiendo del contexto, ahora nos imaginamos el reto que es darle instrucciones a una computadora.
Ejemplo: a una persona le puedo decir echa agua en una tetera, pon la tetera en la cocina, prende la cocina, cuando haga un ruido apaga la tetera y sirve el agua en una taza. En cambio a una computadora se le tiene que decir qué es la tetera, dónde está, qué quiere decir sobre la cocina y montón de cosas más.
Diseñar un algoritmo es una labor creativa y cada respuesta que encontramos para un problema en particular es una solución que podemos replicar infinitas veces, el resultado es que todo el tiempo estamos interactuando con algoritmos y lo interesante es que esos algoritmos no solo nos hacen la vida más fácil, como mandar un e-mail o realizar pagos en línea, sino que también modifican nuestras decisiones, un algoritmo te recomienda libros en Amazon, otro te entrega resultados en Google y un tercero te dice por dónde manejar tu auto, todo esto se logra con instrucciones.
Lo más interesante de los algoritmos es que nos dicen muchas cosas, son una solución de cómo automatizar tareas, pero también es una forma de manipular lo que nos rodea a través de la computación y además poner en evidencia la forma en que interpretamos el mundo.