El Cerebro de la Tecnología son los Algoritmos
Lo primero que se puede decir en este artículo, “El cerebro de la Tecnología son los Algoritmos”, es que trabajan mejor en equipo, pero… y, qué son los Algoritmos que últimamente escuchamos tanto de ellos y que tienen a los creadores de contenido como en una carrera de obstáculos?
Para que te quedes hasta el final, y cómo ya sabemos que aquí los términos técnicos se traducen al castellano simple… Puedo decir que los algoritmos permiten definir una serie de pasos a seguir para alcanzar el resultado que se desea, es decir juegan en conjunto para que con su ayuda obtengas el resultado que esperas en determinada acción o proceso.
Te traigo un pequeño ejemplo de la vida cotidiana donde no sabías que existen los algoritmos, para que estés familiarizado con lo que viene a continuación:
- Abrir la nevera
- Tomar un huevito 🥚 crudo
- Agarrar el sartén 🍳
- Colocar aceite en el sartén
- Encender el fuego 🔥
- Llevar el sartén al fuego
- Esperar que se caliente el aceite
- Romper el huevito
- Lanzar el huevito al sartén con el aceite ya caliente 🍳
- Definir si quieres el huevito bien cocido o blandito
- Esperar que se fría el huevito
- Retirar el huevito ya listo del sartén
- Servir el huevito en el plato
Si te das cuenta es una serie de pasos que realizas para obtener un resultado, en este caso un huevito frito.
Dejando claro esto, podemos continuar hablando acerca de qué es un algoritmo informático, sus características y tipos de algoritmos…
Qué es un algoritmo informático
Se trata de conjuntos ordenados y finitos de pasos, que permiten resolver un problema o tomar una decisión, es la secuencia de instrucciones que pueden llevarse a cabo en ciertos procesos con los que se obtiene una respuesta a determinadas necesidades y decisiones.
En programación, un algoritmo supone el paso previo de iniciar a escribir un código. Primero se debe encontrar la forma de obtener la solución al problema (definir el algoritmo informático), para luego, a través del código, poder indicarle a la máquina qué acciones queremos que lleve a cabo. De este modo, un programa informático no sería mas que un conjunto de algoritmos ordenados y codificados en un lenguaje de programación para poder ser ejecutados en una compu 🖥.
Veamos partes de un algoritmo informático:
Lo integran 3 partes:
- Input (entrada) - Información inicial que damos al algoritmo que le servirá para ofrecer la solución esperada.
- Proceso - Conjunto de pasos a desarrollar con la información suministrada en la entrada, para alcanzar la solución de la situación.
- Output (salida) Resultados, dados como conclusión de la transformación de la información de entrada durante el proceso.
Si te das cuenta, todo algoritmo, sea informático, matemático o cotidiano consiste en integrar una serie de pasos e información para que finalmente den como resultado la solución o respuesta a una necesidad o decisión.
Veamos algunas características que identifican a un algoritmo…
- Precisos - Deben ser claros, precisos y concisos en su objetivo, no pueden ser ambiguos o subjetivos.
- Ordenados - Su secuencia debe ser clara y precisa para así poder llegar a la solución.
- Finitos Debe existir un número determinado de pasos para llegar a su conclusión.
- Concretos Su resultado debe estar enfocado en las funciones que cumple y desempeña.
- Definidos El mismo algoritmo, con los mismos elementos de entrada (Input) debe arrojar siempre los mismos resultados.
Por último, pero no menos importante te mencionaré los tipos de algoritmo que puedes encontrar…
Existen variadas clasificaciones de acuerdo a algunos criterios, pueden ser cuantitativos y cualitativos si se aplican por medio de cálculos matemáticos o secuencias lógicas. De otra parte, encontramos a los computacionales o no computacionales, es decir si dependen o no de una computadora para su ejecución.
Vamos a identificarlos o agruparlos según su función (qué hace) y su estrategia para llegar a la solución (cómo lo hace).
Según su sistema de signos
Estos contienen algoritmos verbales, computacionales y matemáticos; vendrían siendo:
- Cualitativos - Se formulan paso a paso, de manera escrita u oral, por ejemplo recetas de cocina.
- Cuantitativos - Se basan en instrucciones numéricas, con ellos encontramos mediante cálculos o ecuaciones los resultados, por ejemplo, si quieres saber cuántas semanas hay en 250 días, defines los datos de entrada para que en el proceso transforme esta información y te dé el resultado final ——- número de semanas.
Según sus funciones
- Ordenamiento - Reorganizan los elementos de un listado según una relación de orden. Se puede realizar por inserción, mezcla, selección, burbuja y por ordenamiento rápido.
- Búsqueda - Se encargan de seleccionar elementos específicos que cumplan con determinado perfil.
- Encaminamiento - Transmiten la información mediante pasos sincronizados, se basan en teorías comunicacionales adaptativas y estáticas.
Según su estrategia
- Probabilísticos - Se fundamentan en la aletoriedad como parte de su lógica, se utilizan en situaciones con limitaciones de tiempo o memoria, existen dos tipos principales de estos algoritmos:
Algoritmo Montecarlo: Dependiendo de la información de entrada, es probable que no acierte. Puede reducir su probabilidad de error aumentando el tiempo de cálculo.
Algoritmo Las Vegas: Se ejecuta en un periodo de tiempo establecido, si encuentra la solución en este tiempo, ésta será la correcta, aunque es posible que el tiempo se agote y no encuentre la solución.
- Heurísticos - Se procura dar la rápidamente una solución que no es resuelta mediante vías convencionales, sus resultados son aproximados y carecen de precisión.
- Determinísticos - Son algoritmos predictivos y su frecuencia es lineal. Permiten determinar el máximo común divisor entre dos números.
- Estocásticos - Son algoritmos cuyo comportamiento no es determinista, cuando los parámetros usados para caracterizar el modelo son variables aleatorias que tienen unos comportamientos estimados pero no se conoce con certeza previa cuál será el valor que tomen.
Podemos concluir que los algoritmos nos ayudan a conocer resultados, mediante el proceso aplicado, del comportamiento de un segmento de la población (llamense clientes, prospectos, seguidores, usuarios, etc) de un planteamiento o pregunta creada para luego del resultado tomar decisiones, como nuevas estrategias de venta, nuevos productos, cursos, materiales y todo lo que deseemos implementar.
Los algoritmos son tu aliado, no tu enemigo – Andrea Duarte