Algoritmo
Un algoritmo es un conjunto de operaciones y decisiones que, a partir de unas reglas determinadas, da como resultado un producto.
Es decir, dependiendo de la información y las variables que se introduzcan en el esquema o fórmula del algoritmo, dará un resultado u otro, pudiendo algunos algoritmos tener infinidad de posibilidades.
Sin embargo, la verdadera utilidad de un algoritmo es que el resultado sea lo más preciso y determinado posible, para así, poder utilizar el producto que ha generado. Este tipo de operaciones se dan en situaciones en las que las tareas puedan ser programas y los escenarios puedan acotarse a un abanico de posibilidades que el creador del algoritmo conozca bien.
Un ejemplo de algoritmo podría ser el cálculo de precio de los billetes de avión. Las aerolíneas en sus páginas web trabajan con un algoritmo que hace variar el precio en función de la demanda y las fechas de los vuelos. De este modo, automáticamente se van adaptando las tarifas en función de las necesidades de la empresa.
Características de un algoritmo
Como se ha mencionado, un algoritmo genera un resultado a partir de una serie de operaciones que se alimenta de datos y escenarios. Este resultado, de forma frecuente, suele ser la solución a un problema.
Para ello, un algoritmo debe funcionar mediante tres sencillas partes: una entrada, un proceso y una salida.
Con la entrada se dan a conocer las variables, a lo que en términos culinarios diríamos los ingredientes. Después, el proceso se refiere a la forma de tratar los datos y utilizarlos, esto podría extrapolarse a la forma de cocinar los ingredientes.
Finalmente, la salida consistiría en el resultado final, el cual y siguiendo con la misma comparativa culinaria, vendría siendo el emplatado con el producto listo para servir al cliente.
Por otra parte, y dado el proceso y esquema presentados, para que un algoritmo funcione de forma adecuada debe poseer un número limitado de operaciones, ser exacto o proveer un intervalo en el resultado final, y abarcar en su abanico de posibilidades todos los escenarios relacionados con el problema. Si alguno de estos tres factores no se da, el algoritmo podría incurrir en errores de entrada, procesamiento o salida de datos no deseados.
Tipos de algoritmos
En el enorme espectro que abarca las diferentes clases de algoritmo, generalmente se pueden dividir en tres grandes criterios para diferenciarlos entre sí:
- Código de comunicación. En este apartado, se pueden subdividir de 2 formas. Por un parte, podríamos basarnos en un entorno verbal (cualitativo), y por otro, en un entorno numérico (cuantitativo).
- Fin principal. Se pueden dar principalmente algoritmos con fines de selección (ordena o cataloga según unas características) o de búsqueda (una clase de producto deseado).
- Funcionamiento. Según la forma en la que puedan encontrarse los resultados, los algoritmos podrán ser generalmente probabilísticos (resultados estimatorios), deterministas (resultados finitos y exactos), voraces (de varios posibles resultados, se escoge el más acorde a la posible solución) o paralelos (proveen de un resultado que desescala el problema, pero no lo resuelve), entre otros.
En definitiva, se puede afirmar que, si bien los mencionados son las principales formas de clasificar un algoritmo, no son ni mucho menos las únicas. Los criterios y sus subtipos podrán variar su uso general según sea el objeto del algoritmo.
Ejemplos de uso del algoritmo
Cabe destacar, que un algoritmo no tiene por qué ser únicamente de carácter computacional, de hecho, aunque estos últimos se hayan hecho más conocidos, ya existían con anterioridad, sin el factor digital o computacional.
Luego, algunos de los ejemplos en los que se pueden encontrar el uso de algoritmos son:
- A nivel académico o deportivo. En este caso se refiere a los procesos que tratan de clasificar y tratar estudiantes o deportistas potenciales. Esto se basa en las características de cada individuo, desde sus aptitudes mentales, a las físicas. El resultado es, por tanto, distinto. No piensan igual un poeta que un matemático, ni es lo mismo un delantero, que un portero. Han pasado por procesos distintos y el resultado es diferente.
- En entornos complejos de tecnologías de software. El ejemplo más típico y el que más representatividad posee. Los algoritmos que utilizan la tecnología computacional y el big data son las más recurrentes.
- Aplicaciones mecánicas sencillas. Abarca desde un mecanismo sencillo de encender y apagar la luz para poder levantar un puente mecánico de un río. En esencia, son frecuentemente dicotómicos.