En este proyecto se ha producido un acercamiento hacia la inteligencia artificial mediante
la creación de un algoritmo de búsqueda informado que proporciona una ruta óptima entre
dos puntos.
Por algoritmo de búsqueda informado entendemos aquél que para realizar los cálculos que
proporcionan la ruta óptima utiliza un cierto conocimiento previo que hace que la ruta sea
en un cierto sentido guiada. No se puede hablar de búsqueda propiamente guiada porque en
tal caso no habría que realizar ningún tipo de búsqueda, ya que el camino sería obtenido
trivialmente.
El hecho de que sea informado quiere decir que tiene una cierta información que le permite
intuir hasta cierto punto cual es el camino óptimo.
El algoritmo concreto que se ha utilizado ha sido el de búsqueda A* que proporciona la
seguridad de que si hay camino, entonces va a encontrarlo y devolver el óptimo. Además,
entre los algoritmos que garantizan esta propiedad, es el más eficiente.
La cuestión de la eficiencia es fundamental, ya que estos algoritmos consumen mucho
tiempo si se aplican a sistemas grandes y resolver un problema de forma eficiente puede
convertir un problema inabordable en factible.
[ABSTRACT]
In this project we have approached to artificial intelligence by means of the implementation
of an informed search algorithm that produces an optimal path between a source point and a
target point.
An informed search algorithm is an algorithm which makes the computations to provide the
optimal path having a certain knowledge that makes it in some sense, to be guided to the
optimal path. It is not exactly a guided search because in that point it would be unnecessary
to search a path. It will be got immediately.
Informed search means that the algorithm is provided with certain clues that make it
understand where it should go to find the best path.
The concrete algorithm that has been implemented is called A* algorithm which assure that
if there is a path, the algorithm is going to find them and, overall, the optimal path is going
to be found.
Moreover, among all the algorithms that fulfils this property, A* is the most efficient one.
The efficiency problem is crucial. These kinds of algorithms need much time if they are
asked to solve a complex system and the chance of solving a problem in an efficient way
can transform it from an unsolvable problem to a resoluble one