¿Qué es un algoritmo?

Sabemos que Facebook, Google y Amazon tienen algoritmos que nos proporcionan actualizaciones, resultados de búsqueda y recomendaciones de productos, pero ¿qué significa eso realmente? ¿Qué es un algoritmo? ¿Puedes escribir una? ¿Qué parecería si lo hicieras? Ya que ellos dirigen tantas partes de nuestra vida diaria, es importante tener un sentido básico de lo que está sucediendo exactamente bajo el capó – y realmente no es tan intimidante como parece a menudo.

Definición informal: los algoritmos son sólo recetas

En su forma más básica, un algoritmo es simplemente un conjunto de pasos bien definidos que se pueden seguir, generalmente tomando algunas entradas y produciendo un conjunto diferente de salidas. Una receta de magdalenas puede ser un algoritmo. También lo son las instrucciones para llegar a la casa de un amigo, tocar una partitura o el proceso de buscar una palabra en un diccionario.

Raymond Queneau incluso imprimió un libro de diez sonetos con líneas que pueden mezclarse y combinarse sin problemas para crear 100.000.000.000.000 de poemas originales. La forma en que se implementan estos algoritmos varía ampliamente, pero no es necesario estar familiarizado con ningún lenguaje de programación para entender la lógica básica que hay detrás de ellos. Por ejemplo, el siguiente es un algoritmo para dar instrucciones sencillas para caminar.

Sabemos que Google y Amazon tienen algoritmos que nos dan actualizaciones, resultados de búsqueda y recomendaciones de productos, pero ¿qué significa eso realmente? ¿Qué es un algoritmo?

  1. Después de salir de su puerta, gire a la derecha.
  2. Camine por la calle hasta que llegue a Market Street
  3. Cuando llegues a Market Street, gira a la derecha.
  4. Camine derecho hasta que vea un edificio de ladrillos.
  5. Entra por la puerta principal.

Ese es un algoritmo muy simple que usa muchas entradas que los humanos pueden procesar fácilmente; ya sabemos sobre caminar, calles, materiales, entrada y todas esas otras cosas. Si estuviéramos creando un algoritmo direccional para un robot, tendría que ser mucho más largo y específico, que es lo que hace que muchos algoritmos parezcan tan confusos para los humanos.

Más formalmente: los algoritmos son fórmulas claras e inequívocas

Sabemos que Google y Amazon tienen algoritmos que nos dan actualizaciones, resultados de búsqueda y recomendaciones de productos, pero ¿qué significa eso realmente? ¿Qué es un algoritmo?

Un algoritmo que probablemente utilizas todos los días es el algoritmo PageRank de Google, que examina cientos de factores de una página web, los ejecuta a través de su fórmula y le asigna una puntuación. Los resultados de la búsqueda que usted ve en respuesta a su término de búsqueda son un resultado directo de esa puntuación. Funciona tan bien porque sigue un conjunto de reglas claramente definidas que le dicen qué buscar, qué ignorar y qué hacer con la información que encuentra.

Para visualizar un proceso de búsqueda muy simple, aquí hay un algoritmo de búsqueda lineal que busca el número 3 en una lista de números.

list =[1, 3, 5]

  1. Compruebe cada elemento de la lista.
  2. Tan pronto como uno de los elementos sea igual a tres, vuelva a su posición.
  3. Si tres no está en la lista, devuelve «¡Tres no está en la lista!»

Siguiendo estos pasos, la computadora mirará el primer número, que es uno. Como no es igual a tres, sigue adelante y comprueba el siguiente número. Como ese número es el tres, devuelve algo como «El número tres es el segundo elemento de la lista».

En código Python, un algoritmo de clasificación lineal se vería como la siguiente imagen.

Sabemos que Google y Amazon tienen algoritmos que nos dan actualizaciones, resultados de búsqueda y recomendaciones de productos, pero ¿qué significa eso realmente? ¿Qué es un algoritmo?

Sabemos que Google y Amazon tienen algoritmos que nos dan actualizaciones, resultados de búsqueda y recomendaciones de productos, pero ¿qué significa eso realmente? ¿Qué es un algoritmo?

Todo lo que ese código está haciendo es tomar una lista de números, mirar cada elemento de la lista y comprobar si coincide con el término de búsqueda. Si nada lo hace, sólo devuelve «Falso». Este es un algoritmo extremadamente simple, pero ya sea una línea de código o un millón, todos los algoritmos existentes operan con el mismo principio básico: tomar información, procesarla de acuerdo con alguna lógica preestablecida y obtener resultados.

Algoritmos cotidianos

La mayoría de los algoritmos que se utilizan en nuestra vida diaria no son de código abierto. No sabemos exactamente cómo Google determina qué resultados de búsqueda mostrar o cómo Facebook reúne tus noticias, pero aún así podemos ver los resultados de esos cálculos. Sin embargo, son importantes, y tenemos una idea bastante clara de la lógica básica que hay detrás de ellas.

Sabemos que Google y Amazon tienen algoritmos que nos dan actualizaciones, resultados de búsqueda y recomendaciones de productos, pero ¿qué significa eso realmente? ¿Qué es un algoritmo?

  • Google PageRank funciona observando el número y la calidad de los enlaces que conducen a y desde una página web, aunque hay un gran número de criterios secretos que se actualizan constantemente para mejorar los resultados y evitar que nadie juegue en el sistema.
  • El feed de noticias de Facebook mide la fuerza de tu relación con personas y grupos en función de tu actividad y, a continuación, utiliza estos y otros factores para generar tu feed de noticias.
  • Amazon y Netflix usan algoritmos de recomendación que miran los datos de los usuarios, calculan las cosas que cada usuario podría querer, y muestran al usuario esas cosas.
  • El sistema ORION de UPS es un enorme (1000+ páginas!) algoritmo, pero puede calcular la ruta más eficiente para cualquier entrega teniendo en cuenta todo tipo de datos en tiempo real y parámetros operativos, como las ventanas de entrega solicitadas.
  • Las aplicaciones de inteligencia artificial , como los coches de autoconducción, el reconocimiento facial, el procesamiento del lenguaje natural, el análisis predictivo y muchas más, se basan en algoritmos que pueden tomar datos visuales, de audio o digitales, averiguar lo que está sucediendo y obtener resultados adecuados.
  • Los algoritmos de publicidad están en todas partes. Mientras que los humanos son los que crean los anuncios que ves, es un algoritmo que decide en última instancia si eres el público adecuado.

Todo es un algoritmo

Una vez que sabes cómo es un algoritmo, no puedes dejar de notarlo. No sólo están en nuestra tecnología, como, después de todo, están en nuestros cerebros. Todo lo que hacemos es el resultado de recibir entradas, procesarlas y producir salidas. La mayoría de estos procesos se almacenan dentro de una caja negra que se reordena constantemente, pero están ahí, entre bastidores, ayudándonos a caminar, entender el lenguaje y tomar decisiones sobre las cosas. Los humanos están equipados para entender los algoritmos a un nivel instintivo, así que incluso si los algoritmos informáticos están escritos en matemáticas y código indescifrables, todos ellos pueden ser traducidos a términos que entendemos.

Crédito de la imagen: Mandelbrot set image , Los sitios web se enlazan para ilustrar PageRank , CTP TheoryOfComputation Linear Search , Barras de color del algoritmo de ordenación de cáscara

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *