Si no estamos paseando, ir de un sitio a otro de la forma más eficiente, por el camino más corto y más sencillo, siempre es una buena idea para ganar tiempo. Cualquier persona tenemos nuestras rutas habituales y algunas de ellas no son las más cortas sino las que más nos interesan. Elegimos ir por un sitio o por otro barajando y ponderando un montón de factores: la zona más sombría o con más árboles si hace mucho solo, la más iluminada y transitada si es por la noche, la que tenga más soportales si está lloviendo... Son múltiples factores que los seres humanos analizamos para tomar nuestras decisiones de una forma que nos parece natural.
Dentro de la Inteligencia Artificial existen algoritmos de búsqueda que nos facilitan las decisiones ya que nos ofrecen las conexiones más eficientes entre dos puntos, lo que en lenguaje común podríamos denominar la mejor ruta. Uno de estas fórmulas matemáticas es f(n)=g(n) +h´(n) el llamado Algoritmo A*. Este es un algoritmo de búsqueda informada de tipo heurístico lo que quiere decir que está basado en unas reglas que permiten escoger entre las distintas posibles rutas en el espacio que nos lleven hacia la solución más aceptable al problema que planteamos. En esta función, el valor h´(n) serán los valores heurísticos a evaluar desde n, que es el original, hasta el final y g(n) correspondería al costo real del recorrido para llegar a n. Que sea de tipo heurístico supone que tenga en cuenta más variables de información para llegar a tomar esta decisión sobre el espacio en el que está realizando la búsqueda y que pueda hacerlo de forma más rápida. Además, nos garantiza que, en el caso de que exista una solución, siempre dará con ella.
Este tipo de algoritmos de rutas más cortas basados en grafos se usan por ejemplo para mostrar las conexiones de amistades en las redes sociales como Facebook y Linkedin y también para el diseño de videojuegos en los que hay que buscar y elegir rutas. Pero su aplicación más utilizada por el gran público sigue siendo dentro de las apps de búsqueda de recorridos donde nos muestran las maneras más eficientes de ir de un punto a otro según los parámetros que vayamos marcándole.
Nos puede parecer que ir de un lugar a otro de la manera más eficaz y con menor coste es algo que una persona es capaz de calcular sin excesivo esfuerzo y que no es necesario una computadora para ello. Pero cuando el número de lugares que intervienen en la ruta o de recorridos que hay que diseñar es muy elevado (como en el caso de una empresa de mensajería) esto es mucho más sencillo de hacer por medio de estos algoritmos. ¡No me imagino yo a Amazon calculando todas sus entregas a mano!
Pero, como todo, esta formulación también tiene sus limitaciones y en este caso se encuentran en la heurística. Debido a la gran cantidad de datos y probabilidades que maneja, dependiendo de la calidad de las reglas heurísticas del algoritmo, este podrá encontrar la solución en un tiempo corto, pero si la herurística es mala, quizás ni siquiera consiga encontrar la solución. Almacenar todos estos datos necesita un espacio enorme que llevaría a que a mayor complejidad del problema por resolver, mayor necesidad de memoria. Este problema está en vías de solución porque ya se está trabajando en algunas variaciones del algoritmo para reducir la necesidad de espacio.
Comentarios
Publicar un comentario