Algoritmos, ¿que son y por qué deberíamos interesarnos en ellos?
¡Si! En este artículo vamos a hablar sobre algoritmos, ¡pero espera! ✋ No te asustes ni te vayas. Y lo entiendo, la palabra algoritmo es un tanto intimidante, y hasta puede causar cierto miedo. Es una de las típicas palabras que conocemos hasta cierto punto su concepto, pero al momento de intentar dar una definición, se nos complica un poco. Es por eso que la intención de este artículo es brindar una definición, y un concepto sencillo y fácil de recordar. Si al finalizar la lectura de este artículo, consideras que cumplí mi objetivo inicial, házmelo saber. Para comenzar, podemos intentar dar una definición a esta palabra.
¿Qué es un algoritmo?
Aquí va mi definición de algoritmo: Los algoritmos, no son más que una secuencia de instrucciones, que tienen como principal objetivo resolver un problema o una necesidad en concreto. Y si nos detenemos un segundo en esta definición, rápidamente llegaremos a la conclusión de que los algoritmos están en todos lados, y es que en la vida cotidiana estamos rodeados de secuencias de instrucciones. La receta para preparar tu comida preferida, conducir el automóvil, ponerte tus zapatos al comenzar tu día, o al preparar el desayuno. En todos ellos tenemos algoritmos. En todos ellos tenemos una secuencia de pasos lógica y secuencial que nos permite llegar a un resultado en concreto.
Si tomamos en cuenta lo anterior, podemos graficar a los algoritmos de la siguiente manera:
Pero, pongamos a prueba este gráfico, con uno de los ejemplos que mencionamos: La receta de cocina. Y es que para muchos de nosotros cocinar se torna en un desafío, y claramente representa un problema no tener la receta para preparar nuestro plato preferido. Es por eso que para preparar nuestra comida favorita, inexorablemente debemos tener los ingredientes necesarios a nuestra disposición, y además, una secuencia de pasos lógica y ordenada, para llegar a dicho fin. Dicho esto, ya podemos identificar varios elementos importantes. En nuestro ejemplo, nuestro input serán los ingredientes; nuestro algoritmo será la receta; y al combinar ambos obtendremos un resultado: Comida favorita lista para saborear.
Si tomamos la estructura que mencionamos con anterioridad, también podemos llegar a otra conclusión. Y es que la persona que sigue la receta (algoritmo), y que además, cuenta con todos los ingredientes a su disposición (input), no necesita ser un experto en la cocina. De hecho la persona no puede tener ningún conocimiento en esa área, pero aún así, si sigue detalladamente la serie de instrucciones dadas para llegar a un resultado, podrá tener el resultado (output) esperado. Por ese mismo motivo concluimos que: Los algoritmos nos permiten llegar a obtener resultados sin entender inclusive, lo que estamos haciendo o lo que queremos lograr.
Llegado a este punto, podemos mencionar tres características imprescindibles e importantes de los algoritmos. Un algoritmos debe ser:
-
1) Preciso: Los algoritmos deben ser precisos e indicar el orden de realización de cada paso.
-
2) Definido: Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado una y otra vez.
-
3) Finito: Si se sigue un algoritmo, se debe terminar en algún momento, o sea, debe tener un número finito de pasos.
En este punto del artículo, aprendimos a definir a los algoritmos, analizamos su estructura, comprendimos su alcance y consideramos sus características. Y llegó el momento de responder a la segunda pregunta que planteamos en el titulo del articulo.
¿Por qué debería interesame en los algoritmos?
En la sociedad moderna, constantemente estamos interactuando con nuestro computador, nuestros celulares, smartwatch, tablets, y un sin fin de aparatos electrónicos. Aparatos que en definitiva, cambiaron la forma en la que realizamos nuestras tareas diarias, la manera en la que nos entretenemos, la manera en la que aprendemos, la forma en la que comercializamos productos y servicios, y hasta la manera de relacionarnos con otros. Y si bien estos aparatos pueden tener muchas diferencias y similitudes entre sí, hay un aspecto que es ineludible. Para que estos aparatos puedan funcionar correctamente y como esperamos que lo hagan, necesitan nada más y nada menos que algoritmos.
Como decíamos, un algoritmo es una serie de instrucciones específicas. Si lo mencionamos así, quizás pensemos que los algoritmos son limitados. Pero hay algo que es cierto, y es que la unión hace la fuerza. Y en este caso, no es la excepción. Los algoritmos juntos pueden realizar tareas muy complejas. Y eso es justo lo que vemos en la actualidad. El conjunto de algoritmos nos permite determinar nuestra ubicación, para guiarnos a nuestro destino. Es el conjunto de algoritmos lo que nos permite pedir la hamburguesa extrema de nuestro restaurante preferido y que en cuestión de minutos podamos disfrutarlo. Es el conjunto de algoritmos lo que nos permite ver pelis y series que nos recomendó Netflix. Y así podemos poner un sin fin de ejemplos cotidianos.
Desde lo profesional, somos los programadores quienes mediante algoritmos, damos solución a diversos problemas que se plantean según el contexto en el que nos encontremos. Y gracias a un conjunto de instrucciones es que podemos llegar a construir cosas impensadas. Y si, nuestros antecesores jamás hubieran creído que un aparato construido por diferentes materiales y piezas conectadas entre sí, como lo es un smartphone, nos facilitaran acciones del dia a dia, como lo naturalizamos hoy.
Y cómo estos dispositivos no entienden el lenguaje humano, lo que nos permite acercarles la serie de pasos e instrucciones y que estos, puedan ejecutarlo sin inconvenientes, son los lenguajes de programación. Y por supuesto, implica un gran desafío diseñar las instrucciones para solucionar cierto problema en particular. Cuanto más, implementarlo en un lenguaje de programación.
Será entonces, la misión constante, de quienes diseñan e implementan algoritmos, que estos sean sencillos, pero elegantes, simples, pero complejos , y que estos algoritmos nos ayuden a automatizar procesos, nos ayuden en la toma de decisiones y se adapten a nuestras realidades.
Muchas gracias por llegar hasta acá. ❤️
Saludos. 👋