Muchos de los desafíos y decisiones que enfrentamos hoy en día se pueden entender y abordar de manera más efectiva, entendiendo y utilizando los principios de los algoritmos de la informática.

Con el exceso de información disponible, es más importante que nunca saber cómo encontrar la información más relevante y filtrar la innecesaria. También, con la creciente complejidad de las decisiones que enfrentamos, es crucial tener una manera de abordar estas decisiones de manera lógica y efectiva.

El libro Algoritmos para la vida cotidiana: La ciencia de la informática aplicada a las decisiones humanas explora la idea de que los algoritmos utilizados en la informática pueden ofrecer lecciones valiosas sobre cómo abordar problemas y tomar decisiones en la vida cotidiana.

Los autores, Brian Christian y Tom Griffiths, examinan varios algoritmos clave de la informática y muestran cómo estos pueden aplicarse a problemas y decisiones comunes en la vida diaria, como organizar una casa, planificar un viaje o elegir una carrera profesional.

Por ejemplo, el libro explora cómo los algoritmos de búsqueda pueden ayudar a encontrar la mejor opción entre varias alternativas, o cómo los algoritmos de aprendizaje automático pueden ser aplicados a problemas de toma de decisiones complejos.

Principales ideas de Algoritmos para la vida cotidiana

  • Los algoritmos ayudan tanto a los humanos como a las computadoras a resolver problemas.
  • La mayoría de las veces, los algoritmos pueden decirnos cuándo dejar de presionar nuestra suerte.
  • Los algoritmos matemáticos pueden ayudarte a decidir cuándo es el momento de explorar algo nuevo.
  • No siempre necesitas ayuda para ordenar tus archivos, pero si la necesitas, los algoritmos pueden ayudarte.
  • Cuando se trata de organizar datos, hay muchas cosas que puedes aprender de las computadoras.
  • Los algoritmos pueden ayudarnos a programar nuestras vidas, pero también tienen sus límites.
  • Los algoritmos adecuados pueden ayudarte a predecir el futuro.
  • Los algoritmos nos ayudan a intercambiar mensajes y manejar la sobrecarga de datos.
  • Existen algoritmos para ayudar a descubrir qué harán las personas y guiarlas a la hora de tomar decisiones.
  • Es importante saber que los algoritmos tienen sus límites.
Algorithms to Live By | Brian Christian & Tom Griffiths | Talks at Google

Los algoritmos ayudan tanto a los humanos como a las computadoras a resolver problemas.

Si eres alguien que intenta estar al tanto de la tecnología actual, probablemente ya sepas que las computadoras usan algoritmos todo el tiempo para resolver problemas. Pero es posible que te hayas preguntado: «¿Qué es exactamente un algoritmo?»

En realidad, la palabra se remonta al siglo IX, cuando fue utilizada por primera vez por el matemático persa Muhammad al-Khwarizmi. Pero el uso de algoritmos se remonta a unos cuatro mil años atrás, a la civilización sumeria.

En pocas palabras, un algoritmo es una serie finita de pasos que ayudan a resolver un problema y es una técnica que utilizamos todo el tiempo.

Incluso una receta puede considerarse como un algoritmo: se siguen una serie de instrucciones para obtener el resultado deseado, una comida deliciosa. Lo mismo puede decirse del patrón que sigues para tejer una bufanda o armar algún mueble de Ikea.

Y cuando estás armando una lista de pros y contras para decidir si aceptar o no una oferta de trabajo o tomar una decisión importante, también estás siguiendo lo que se conoce como un algoritmo intuitivo.

Por su propia naturaleza, los algoritmos intuitivos que utilizan los humanos no son precisos. Los utilizamos en tiempos de incertidumbre para tomar la mejor decisión posible, como sopesar los beneficios potenciales frente a los riesgos de lanzarse a una nueva inversión empresarial.

Por lo tanto, estos algoritmos intuitivos pueden parecer bastante subjetivos y aleatorios en comparación con los algoritmos matemáticos que utiliza una computadora, aunque básicamente brindan la misma solución.

Asume la desagradable tarea de buscar apartamento. La mayoría de las personas inician este proceso con una serie de criterios en mente: una cantidad mínima de espacio, una cierta distancia de la escuela o el trabajo, un monto máximo de alquiler. Cuando se cumplen estas condiciones, es cuando se da el siguiente paso y se firma el contrato de arrendamiento.

Este es esencialmente el mismo método que utilizan los algoritmos informáticos y en los próximos apartados exploraremos cómo estos métodos pueden funcionar para usted.

La mayoría de las veces, los algoritmos pueden decirnos cuándo dejar de presionar nuestra suerte.

Si has estado buscando un piso en un mercado competitivo, probablemente sepas lo difícil que puede ser decidir cuándo aceptar una oferta y dejar de buscar.

Nuestro juicio a menudo se ve empañado por lo primero que se nos presenta, que tendemos a percibir como la mejor opción disponible. Y, con la misma facilidad, la segunda opción puede parecer la mejor opción.

Estos problemas son exactamente para lo que está diseñado el algoritmo de parada óptima.

Matemáticamente hablando, si hay 100 opciones, la parada óptima dice mirar las primeras 37 sin tomar ninguna de ellas. En lugar de eso, mírelos para establecer un estándar, como excluir los apartamentos que están en la planta baja y tienen baños pequeños.

Luego, después de los primeros 37, debes saltar al primero que cumpla con estos estándares. Si bien esta estrategia no garantiza que obtendrás lo mejor, estas probabilidades óptimas son mucho mejores que simplemente hacer una suposición.

Y no sólo se aplica a los apartamentos; Ya sea que esté buscando un automóvil, un trabajo o una pareja potencial, el número mágico es siempre el 37 por ciento.

Desafortunadamente, las matemáticas no siempre nos dicen el momento adecuado para detenernos.

Veamos un simple lanzamiento de moneda. Supongamos que desea apostar al resultado utilizando la estrategia «triple o nada», lo que significa que triplica la apuesta con cada lanzamiento pero también corre el riesgo de perder todo lo que ha ganado hasta ahora.

Entonces, si comienzas con cuatro dólares y tus probabilidades son 50/50, la mitad de las veces terminarás sin nada y la otra mitad con doce dólares, por lo que, en promedio, esperarías tener seis dólares en tu cuenta. bolsillo. En la siguiente ronda, con una apuesta inicial de doce dólares, las probabilidades siguen siendo las mismas, pero puedes esperar terminar con dieciocho dólares, y así sucesivamente.

Con estas probabilidades y promedios, las matemáticas puras sugerirían que sigas apostando debido a la creciente cantidad de dinero que puedes esperar ganar. Pero claro, tarde o temprano lo perderías todo y el juego terminaría. Por tanto, un algoritmo puramente matemático no funciona en todas las situaciones.

Los algoritmos matemáticos pueden ayudarte a decidir cuándo es el momento de explorar algo nuevo.

Sigamos con los juegos de azar por un minuto y miremos uno de los juegos más populares en cualquier casino: la máquina tragamonedas.

Mientras que algunas personas están felices de sentarse en una sola máquina tragamonedas todo el día con la esperanza de ganar el premio mayor, otras prefieren explorar sus opciones, recopilar información e intentar usarla en su beneficio. Este mismo dilema básico de cuánto tiempo permanecer con una opción perdedora antes de seguir adelante se aplica a diversas situaciones de la vida, como las citas o las inversiones. ¿Pero cuál es la estrategia ganadora?

En matemáticas, preguntas como esta se llaman problemas de bandidos de múltiples brazos y tienen varias respuestas diferentes.

El enfoque más sencillo para mejorar sus probabilidades en las máquinas tragamonedas se llama “quedarse ganando, perder turno”, pero puede que no sea la mejor estrategia.

Todo lo que tienes que hacer es quedarte con una máquina mientras estés ganando y cambiar a otra una vez que pierdas. Pero este enfoque puede ser engañoso, ya que una pérdida única no es el mejor indicador de cómo será tu suerte.

Un método mejor es el algoritmo del límite superior de confianza.

Así es como se usa: Primero, encuentra la máquina que ofrezca el mejor valor esperado para jugar. En este caso, la única información que tienes es el contador del premio mayor, por lo que eliges el que tiene el premio mayor. Mientras juegas, realiza un seguimiento del resultado real (en este caso, cuánto dinero estás ganando) y observa si está mejorando o empeorando gradualmente de lo que esperabas. Si el resultado real te decepciona continuamente, es entonces cuando pasas a la siguiente máquina con el segundo premio mayor. Etcétera.

Dado que este algoritmo tiene en cuenta el hecho de que una buena máquina aún puede generar una pérdida ocasional, aumenta sus posibilidades de ganar.

Otra fuente de inspiración para resolver los problemas de los bandidos con múltiples brazos proviene de los ensayos clínicos adaptativos en la industria farmacéutica. Cuando los médicos prueban diferentes medicamentos para una dolencia, evalúan continuamente a sus sujetos y realizan cambios sobre la marcha en su plan de pruebas, incluso antes de que finalice el ensayo. Si un medicamento no parece funcionar, lo suspenderán inmediatamente y se concentrarán en otros medicamentos que sí fueron útiles. Siempre están listos para explotar nueva información incluso antes de que se obtengan los resultados finales.

No siempre necesitas ayuda para ordenar tus archivos, pero si la necesitas, los algoritmos pueden ayudarte.

¿Alguna vez ha sentido que no puede encontrar nada que busca una vez que limpian su escritorio u oficina? Bueno, si eres el tipo de persona que prefiere cierta cantidad de caos organizado, entonces te alegrará escuchar el siguiente consejo.

No te preocupes por mantener todo siempre limpio y ordenado.

Después de todo, la razón principal para tener todo ordenado y ordenado es que sea más fácil encontrar algo cuando lo necesites. Y clasificar tus pilas de papel puede llevar mucho tiempo y energía que podrías emplear mejor en otras cosas, ¡especialmente si ya sabes exactamente dónde está cada cosa!

Pero digamos que tu desordenado sistema de archivos te hace parecer un acaparador y quieres una mejor manera de ordenar las cosas. Por suerte para ti, existen algoritmos solo para esto.

Comencemos con el método menos eficiente, la clasificación por burbujas. Esto funciona organizando un par de cosas a la vez, una y otra vez, hasta que todo esté ordenado.

Supongamos que desea ordenar alfabéticamente su enorme colección de libros sobre zombis: primero, vaya al área de sus estantes desorganizados donde pertenecen los libros que comienzan con A, mire los dos primeros elementos que ya están allí y ponga esos dos en orden. Ahora es posible que tengas “Albatross Zombies” seguido de “Alligator Zombies”.

Ahora pase al siguiente libro, “Aardvark Zombies”, y clasifíquelo según el último elemento del par anterior, “Alligator Zombies”. Ahora, su estante debería consistir en: “Albatross Zombies” seguido de “Aardvark Zombies” seguido de “Alligator Zombies”. Luego repite esto hasta que haya revisado todos sus libros y comience de nuevo tantas veces como sea necesario hasta que toda su colección esté ordenada, lo que significa que ya no necesitará cambiar los lugares de ningún libro.

Evidentemente, si tienes la casa llena de libros, esta no es la forma más sencilla de hacer las cosas. Una mejor manera de hacerlo es utilizar la clasificación por inserción: saque todos los libros del estante y simplemente vuelva a colocarlos, uno por uno, asegurándose siempre de que cada uno vaya en el lugar correcto en comparación con los libros que ya ha guardado.

Aún mejor para colecciones masivas es el método de clasificación por combinación: divida todo en varias pilas, ordénalas de la A a la Z y luego combine las pilas.

Cuando se trata de organizar datos, hay muchas cosas que puedes aprender de los ordenadores.

Ahora que sus estantes están en orden, pasemos a esas pilas de papeles en su escritorio y a todas las notas e información que tiene a mano. Probablemente se trate de cosas importantes, como facturas pendientes o cartas que necesitan una respuesta urgente: documentos que requieren fácil acceso.

Los ordenadores tienen una forma bastante útil de manejar cosas que deben recuperarse rápidamente. Almacenan sus datos en una unidad de disco duro o en una unidad de estado sólido. Cada uno tiene sus propias ventajas.

Si bien los discos duros pueden almacenar más datos, las unidades de estado sólido (SSD) son más rápidas para entregarle esos datos. Hoy en día, muchos dispositivos combinan estas unidades, almacenan cosas importantes en un SSD rápido y utilizan un disco duro para almacenar archivos grandes.

Pero la información más importante y utilizada con mayor frecuencia se almacena en la caché , la preciada capa superior de memoria a la que se puede acceder más rápidamente.

Los ordenadores utilizan un algoritmo simple para decidir qué se almacena en el caché. Se llama Menos utilizado recientemente (LRU) y básicamente almacena lo que usó por última vez en la parte superior, en la capa superior del caché.

Este algoritmo es una forma sencilla para que tu ordenador adivine qué archivo podría ser necesario en el futuro. Afortunadamente, también funciona bien en el mundo analógico para facturas, cartas importantes y cosas que necesitas tener a mano y en mente.

Esto significa que todo el desorden en tu escritorio puede permanecer donde está, porque, probablemente, tu desorden organizado ya tiene todos los elementos usados ​​recientemente y las cartas más importantes justo encima.

Nuestro cerebro también funciona de manera similar: si cierta información no se utiliza durante mucho tiempo, nos resulta difícil recordarla.

Por lo tanto, si te estás preparando para un examen o una reunión importante por la mañana, lee tus notas justo antes de irte a dormir. La información será más fácilmente accesible cuando te despiertes.

Los algoritmos pueden ayudarnos a programar nuestras vidas, pero también tienen sus límites.

Además de ordenar los archivos, otra clave para la productividad es organizar el tiempo y descubrir cómo hacer todo. Cada día tiene sus desafíos. Puede resultar difícil encontrar tiempo para cumplir con todos los plazos y no olvidar llevar al perro al veterinario.

Afortunadamente, existen muchos algoritmos que se ocupan de este tipo de problemas de programación.

Por ejemplo, si está haciendo malabares con varias tareas y no está seguro de por dónde empezar, utilice el algoritmo de fecha de entrega más temprana y comience siempre con la tarea que tenga la fecha límite más cercana.

Si el tiempo se acaba y sabes que no vas a poder hacer todo, sigue el algoritmo de Moore y sáltate la tarea que requiera más tiempo; De esta manera, realizarás más tareas en general.

Pero hagas lo que hagas, ten cuidado con la inversión de prioridades. Esto sucede cuando tareas menores consumen todo tu tiempo y energía y no se hace nada importante.

Desafortunadamente, no existen soluciones mágicas para la gestión del tiempo. Los estudios han demostrado que la mayoría de los problemas de programación que enfrentamos no se pueden resolver con una solución rápida y sencilla.

Y, por supuesto, la programación en sí misma puede consumir gran parte de tu día, así que asegúrate de limitar la cantidad de tiempo que dedicas a organizar tu tiempo.

Probablemente esto suene bastante complicado, pero en caso de duda, existe un método sencillo que puede utilizar para sacar el máximo partido en el menor tiempo posible:

Concéntrate en una cosa a la vez e ignora los correos electrónicos u otras solicitudes que recibas mientras lo haces. Cambiar constantemente su atención de la tarea a su bandeja de entrada y viceversa consume mucho tiempo y es abrumador, porque cada cambio sobrecarga su memoria de trabajo y requiere que comience de nuevo. Así que concéntrate en una tarea a la vez e ignora todas y cada una de las distracciones. Ni siquiera te preocupes por la extensión de tu lista de tareas pendientes; todo se hará a su debido tiempo.

Con esto en mente, deberías poder lograr más y aumentar su productividad sin siquiera preocuparse por dónde empezar.

Los algoritmos adecuados pueden ayudarte a predecir el futuro.

A la mayoría de nosotros nos encantaría poder ver el futuro, pero ¿qué pasa con la siguiente mejor opción: predecir lo que probablemente sucederá?

Con la ayuda de algoritmos, predecir resultados probables no es tan descabellado.

Este tipo de pronóstico se remonta a la Inglaterra del siglo XVIII, cuando el reverendo Thomas Bayes descubrió un método básico para predecir la probabilidad de acontecimientos futuros, como sacar un billete de lotería ganador, teniendo en cuenta ciertos acontecimientos anteriores.

Intentemos aplicar la lógica de Bayes a los billetes raspaditos de lotería actuales. Imagina que compraste tres rascadores y quieres utilizarlos para saber qué proporción de los billetes en circulación ofrecen algún tipo de premio. La idea de Bayes fue que hay que empezar formulando hipótesis sobre la prevalencia de ganadores entre todos los billetes en circulación y, utilizando esto como suposición, calcular la probabilidad de los resultados que realmente se ven en los tres billetes.

Por ejemplo, si sus tres boletos son ganadores, podría asumir razonablemente que todos los boletos en circulación ofrecen un premio. Después de todo, si todos los boletos son ganadores, entonces debería presenciar que tres de cada tres boletos ganan el 100 por ciento de las veces. Pero si solo la mitad de los boletos fueran ganadores, entonces su triple suerte solo habría tenido un 12,5 por ciento de posibilidades de sucederle. Por lo tanto, es mucho más probable que todos los boletos sean ganadores.

Por supuesto, cuanta más información recopile, más precisa será su próxima hipótesis.

Pero, a lo largo de los años, las matemáticas se han desarrollado y nos han brindado herramientas más precisas para hacer mejores predicciones.

Lo que ayuda significativamente a esas predicciones es comprender el patrón de distribución de un fenómeno.

Por ejemplo, existe la famosa «curva de campana», modelada según una distribución normal, que se aplica a muchos fenómenos. Al predecir la edad promedio de un grupo aleatorio de personas, se puede suponer que pocas personas son extremadamente jóvenes o mayores; la mayoría cae en algún lugar en el medio de la campana. De esta manera, si vas a tener una cita a ciegas, puedes estar razonablemente seguro de que no cenarás con un nonagenario.

Otras situaciones siguen la distribución de la ley de potencias, que es bastante diferente.

En estos casos, alcanzamos el promedio medio cuando la mayoría de las observaciones están por debajo y sólo unas pocas observaciones enormes están por encima. Un excelente ejemplo de esto es la distribución de la riqueza. En términos generales, hay mucha gente pobre y sólo unos pocos elegidos poseen la mayor parte de la riqueza mundial.

Los algoritmos nos ayudan a intercambiar mensajes y manejar la sobrecarga de datos.

He aquí un experimento mental clásico: dos generales se están preparando para lanzar un ataque conjunto contra una ciudad ubicada en un valle fortificado. El único problema es que cada general está en una colina con un valle que los separa, y antes de poder atacar deben acordar la hora exacta. Sin embargo, la única forma de transmitir un mensaje es enviar a alguien a través del valle, donde es probable que capturen a sus mensajeros. Entonces, ¿cómo pueden determinar un tiempo y saber que el otro lo ha aceptado?

Este tipo de problema es algo que los científicos informáticos reflexionaron para idear algoritmos que ayuden a garantizar que los mensajes lleguen a su destino de forma segura.

El primer método que idearon se llama retransmisión hasta avería. La idea sería enviar mensajero tras mensajero, con la esperanza de que uno finalmente logre pasar sin ser capturado.

Esto es esencialmente lo que hacemos cuando seguimos enviando mensajes de texto o llamando a un amigo hasta que finalmente responde.

Pero, por supuesto, hoy en día nos enfrentamos principalmente a otros problemas además de los mensajeros interceptados. Digamos que cada vez que vas a revisar tu correo electrónico recibes un error que dice que el servidor está sobrecargado.

En este caso, el método Exponential Backoff puede ayudar. En lugar de presionar frenéticamente la actualización, espere un par de minutos hasta que el tráfico disminuya. Y si después de eso sigue recibiendo el error, duplique el tiempo de espera a cuatro minutos antes de volver a intentarlo y siga duplicándolo hasta que pase.

Lo ideal sería que todos los que intentaran utilizar el servidor siguieran este método, ya que ayudaría a garantizar una resolución rápida.

Pero la mejor solución sería prevenir el problema de sobrecarga en primer lugar, un método llamado Aumento Aditivo, Disminución Multiplicativa (AIMD).

Este algoritmo le ayuda a determinar la cantidad máxima de datos que puede manejar una red. Comienza enviando solo un paquete de datos; luego envía el doble de la cantidad cada vez hasta que alcanza el punto de sobrecarga.

Luego intenta determinar el límite enviando la cantidad más alta antes de que ocurriera el error y aumentando los paquetes posteriores en una pequeña cantidad hasta alcanzar el límite.

Existen algoritmos para ayudar a descubrir qué harán las personas y guiarlas a la hora de tomar decisiones.

¿Alguna vez has oído hablar del dilema del prisionero? Imagínate que tú y un socio han robado con éxito un banco. Más tarde, la policía los lleva a ambos para interrogarlos y los coloca en habitaciones separadas. Sabes que no tienen pruebas suficientes para condenarlos a ninguno de los dos por el robo, así que si mantienes la boca cerrada, todo lo que pueden hacer es darte una sentencia de un año por un cargo menor. Después de eso, saldrás y podrás disfrutar de tu botín.

Pero aquí está el giro: la policía os ofrece a ti y a su socio un trato: si testifica contra su pareja y él permanece en silencio, usted quedará libre y él irá a la cárcel durante diez años. Sin embargo, si ambos se vuelven contra el otro, cada uno recibirá una sentencia de cinco años. ¿A qué te dedicas?

Esta es una pregunta estratégica clásica que representa la teoría de juegos , que explora cómo responderían las personas racionales ante tal situación.

En el caso de los prisioneros, es casi seguro que se volverían unos contra otros, en cuyo caso cada uno recibiría una sentencia de cinco años.

En este escenario hay una recompensa máxima clara: incriminar a la otra persona, no enfrentarse a penas de cárcel y tener la posibilidad de quedarse con todo el dinero. Incluso si tu pareja también habla, una sentencia de cinco años es mejor que los diez años que te recibirían si permaneces en silencio.

Pero al final, como cada persona acabaría testificando contra la otra, son los policías los que ganan.

Otra rama de la teoría de juegos es el diseño de mecanismos más sencillo. En lugar de establecer opciones con la esperanza de obtener una determinada reacción, obliga a las personas a comportarse de una manera deseable.

Por ejemplo, muchos empleadores enfrentan el problema de que los empleados no aprovechan su tiempo de vacaciones. Y los empleadores saben que los empleados que han descansado bien se desempeñan mucho mejor que los que tienen exceso de trabajo. La empresa Evernote llegó incluso a ofrecer a su personal un bono de mil dólares por tomarse un tiempo libre, pero ni siquiera esto funcionó.

Cuando aplica el diseño de mecanismos a este problema, no necesita encontrar formas de convencer a sus empleados. Todo lo que necesitas hacer es preguntarte cómo hacer que se tomen sus vacaciones.

Y la respuesta es sencilla: ¡Haz que las vacaciones sean obligatorias!

Como puedes ver, los algoritmos tienen aplicaciones en muchos campos. Finalmente, en el último apartados, analicemos sus limitaciones.

Es importante saber que los algoritmos tienen sus límites.

Cuando intentas modelar algo complicado, los modelos complejos generalmente son mejores que los simples.

Por ejemplo, si está desarrollando un modelo para explicar la causa de la obesidad, querrá uno complejo que tenga en cuenta muchos factores, desde una mala alimentación hasta la genética y la falta de ejercicio. Un modelo simple podría centrarse únicamente en la dieta, lo que sería insuficiente.

Sin embargo, también surgen problemas cuando los modelos se vuelven demasiado complejos. Este es un riesgo al considerar problemas del mundo real, donde siempre habrá incertidumbre y errores en los datos. Lo más probable es que comience con un conjunto de datos de muestra e intente construir un algoritmo que haga predicciones basadas en él. La tentación es agregar variables al algoritmo hasta que explique perfectamente todos los datos, incluidos los errores. Esto se conoce como sobreajuste y crea problemas cuando se intenta aplicar el mismo algoritmo a diferentes datos. Básicamente, el modelo se ha adaptado tan rigurosamente a los datos de la muestra que ha perdido toda flexibilidad y no funcionará bien con ningún otro dato.

Por ejemplo, al considerar la obesidad, en los datos de su muestra podría notar que ciertas áreas del país tienen más obesidad que otras. Pero esto bien podría ser una coincidencia, y si modifica su modelo para enfatizar la importancia de la ubicación de una persona, empeorará el poder predictivo del modelo cuando lo aplique a nuevos datos donde la ubicación es intrascendente.

Cuando te das cuenta de que no existen algoritmos perfectos, puedes relajar un poco tus estándares y optar por lo suficientemente bueno en lugar de perfecto.

Considera el problema del viajante de comercio, que pregunta: ¿Cómo puedo encontrar la mejor ruta entre múltiples puntos sin tener que ir a ningún lado dos veces? Si se extiende este problema a todo un estado o país, se vuelve indescriptiblemente complejo.

En una situación como esta, la solución más eficaz es relajar los estándares. Deja que tu vendedor visite diferentes lugares al menos dos veces. Terminarás cerca de encontrar una buena solución en un tiempo razonable, incluso si no es perfecta. Como has aprendido de estos apartados, si comprendes sus límites y posibilidades, los algoritmos se pueden aplicar en muchas áreas de la vida.

Imagen de Mohamed Hassan en Pixabay

Post relacionados: