agente carro
DESCRIPTION
Presentación del trabajo desarrollado en la materia de Fundamentos de Inteligencia Artificial, con la tutela del Ing. Nelson Piedra.El agente carro se dirige dentro de los principales puntos de la ciudad de loja, su objetivo es llegar a su destino escogiendo la ruta más corta.TRANSCRIPT
SIMULACIÓN DE UN AGENTE CARRO QUE VA DE UN PUNTO A OTRO, APLICANDO EL ALGORITMO A* EN LA BÚSQUEDA DE LA MEJOR RUTA
María Esther Ruilova Rojas
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA
ESCUELA DE CIENCIAS DE LA COMPUTACIÓNFUNDAMENTOS DE INTELIGENCIA ARTIFICIAL
RESUMEN
En el presente proyecto se da una solución a un problema de búsqueda de rutas para dirigirse de un punto a otro. Se empleó el algoritmo de búsqueda A* ya que es uno de los algoritmos más óptimos y completos, es decir, siempre encontrará una solución en caso de que exista.
Posee una base de conocimiento: de nodos dentro de la ciudad, distancias en línea recta, y distancias entre nodos.
INTRODUCCIÓN
Desde hace muchos años la Inteligencia Artificial se ha enfrentado al reto de crear agentes inteligentes, capaces de no sólo hacer lo que les diga su creador sino también capaces de aprender de sus percepciones para tomar decisiones adecuadas e inteligentes.
Pero ¿cómo poder hacer esto? Dentro del estudio de la Inteligencia Artificial existen familias de algoritmos que permiten que los agentes encuentren su objetivo de forma más eficaz y eficiente, logrando de esta forma ahorrar recursos de tiempo y espacio; los algoritmos de búsqueda informada manejan heurísticas que nos permiten establecer lineamientos para llevar a cabo dicha búsqueda. La Inteligencia Artificial ha contribuido en muchos campos, como son:
Básicamente, el presente proyecto se basó en la simulación de un Carro Repartidor el cuál se mueve a través de las principales calles de la ciudad de Loja, desde cualquier punto hacia otro, estableciendo las distancias entre puntos y las distancias en línea recta hacia cada uno de los puntos Se ha aplicado el algoritmo A*, que es un algoritmo que se caracteriza por encontrar siempre una solución en caso que exista.
PROBLEMÁTICA
El presente agente, se basa en encontrar la ruta más corta desde un punto origen a un punto objetivo, tomado en cuenta las distancias en línea recta desde San Sebastián (punto origen) hacia cualesquier punto y las distancias entre los diferentes puntos conectados. Como se mencionó antes, el entorno son las principales calles de la ciudad de Loja establecidas previamente.El agente carro podrá desplazarse desde cualquier punto origen hacia otro, sin excepción alguna.
OBJETIVOS
El objetivo del presente trabajo es simular un agente inteligente aplicando técnicas de inteligencia artificial, especialmente algoritmos de búsqueda informada, A*, y que dicho agente llegue a su objetivo con el menor costo basándose en la heurística establecida.
Determinar por qué los algoritmos de búsqueda informada son más efectivos que los de búsqueda no informada.
ESPECIFICACIÓN DEL PROYECTO
EntornoEl agente carro repartidor se desenvolverá en un entorno
totalmente observable y determinista, esto, ya que efectuará la búsqueda dentro de un entorno conocido (en este caso, las principales calles de la ciudad de Loja), para llegar a su destino.
Como las rutas están predefinidas, el agente se desenvolverá en un ambiente estático.
MAPAS DE LOS DIFERENTES PUNTOS DE LA CUIDAD POR LOS CUALES PUEDE MOVERSE EL AGENTE
Tipo de agenteEl agente implementado es del tipo reactivos
basado en objetivos. El usuario debe indicarle al agente los puntos de origen y destino. Además debe contemplar los costos del camino que incluyen las distancias entre los puntos más las distancias en línea recta hacia ese punto objetivo.
Es una gente individual, ya que es un agente único, el cual debe valerse por sí mismo para llegar a su destino escogiendo la mejor ruta
DESCRIPCIÓN REAS DEL AGENTE
FUNCIONAMIENTO DE LA SIMULACIÓN
La plataforma de desarrollo es NetBeans que es un framework para lenguaje java.
Al ejecutar el proyecto: Consta de una ventana distribuida en dos partes. La parte superior denominada búsquedas y permite al usuario determinar el lugar de origen y el lugar de destino, seguido está la opción tipo de búsquedaque contiene la Búsqueda A*, seguidamente un botón Buscar camino que da inicio a la búsqueda del algoritmo.
En la parte inferior de la ventana llamada Mapa ciudad, presenta el mapa con los puntos desde y hacia donde puede dirigirse el agente (marcadas de color rojo).
Además se puede observar los enlaces entre los diferentes puntos que se encuentran dentro de la ciudad de Loja.
Así mismo, se efectuó el cálculo de las distancias en línea recta hacia todos los puntos para poder tomar como referencia cualquier punto dentro de la ciudad. Se lo hizo en función a los primeros valores calculados los cuales fueron tomados como referencia. Estos valores se anexan al final en su respectiva tabla de anexos.
INTERFAZ PROTOTIPO
Clase principal donde se genera un vector para los nodos que son los puntos a visitar de la ciudad, y se hace la declaración de variables
La clase BúsquedaAStar, es la encargada de ejecutar el recorrido tomando la mejor ruta para llegar al objetivo. Está compuesta por los métodos:
Buscar: que llama a la función inicializar() para obtener los nodos objetivo y destino y crear nuevas instancias de ListaOrdenada para cargar los nodos.
Nodos iguales recibe los nodos N1 (visitados) y N2 (destino), hace una comparación entre ellos para ver si son iguales y de esta manera terminar a búsqueda en caso de que lo sean, retornando el objetivo para posteriormente marcar el recorrido resultante.
generarSucesoresDirigidos: toma el nodo actual para buscar los nodos adyacentes, los mismos que serán expandidos en la función PropagaG.
En estimación hace los cálculos de ambas distancias (línea recta y de punto a punto) para hacer el análisis posteriormente.
ONTOLOGÍA
TRIPLETAS DEL MODELO DE DATOS
RDF
MODELO RDF DEL AGENTE CARRO
CONCLUSIONES Como se podrán dar cuenta, en el apartado de aplicaciones, si bien es
cierto, que mantienen temas diferentes, todos llegan a un común denominador, que es el de encontrar la mejor ruta para efectuar determinada actividad. Tomando en cuenta que deben minimizar el uso de recursos para maximizar sus medidas de rendimiento.
El agente carro repartidor, va desde un punto a otro, cuya funcionen de utilidad es el menor costo del camino. Gracias a la búsqueda que efectúa el algoritmo A*, logra esto en el menor tiempo y con el menor de recursos consumibles.
No existe regla general acerca del uso de determinado algoritmo, más bien, depende de la necesidad que se tenga, y de las acciones que va a realizar.
El funcionamiento correcto del agente, depende fundamentalmente, en definir correctamente el REAS (Medidas de Rendimiento, Entrono, Actuadores y Sensores) para el agente, seguidamente, el establecer que técnicas de Inteligencia Artificial serán utilizadas para su implementación.
Posee una base de conocimiento, la misma que fue valida en la página oficial de la W3.
REFERENCIAS BIBLIOGRÁFICAS [1] Inteligencia Artificial [2. Agentes Inteligentes] / aut. RUSSELL STUART NORVIG
PETER // Un Enfoque Moderno. Madrid : Pearson, 2003. Vol. II.
[2] Gestión del Conocimiento [En línea] / aut. CONOCIMIENTO GESTIÓN DEL. 1. 2 de Febrero de 2010. http://www.gestiondelconocimiento.es/rdfskosowl.asp.
[3] Gestión del Conocimiento [En línea] / aut. CONOCIMIENTO GESTIÓN DEL. 1. 2 de Febrero de 2010. http://www.gestiondelconocimiento.es/rdfskosowl.asp.
[4] Imágenes en la web semántica: [Tesina. Universidad Carlos III de Madrid] / aut. TORES RODRIGUEZ N. // Estándares, aplicaciones y organización de sitios en la red.. Madrid : [s.n.], 2003.
[5] Agentes Inteligentes en el Tercer Milenio [Conferencia] / aut. MORENO ANTONIO UNIVERSIDAD ROVIRA I VIRGILI // CAEPIA2003. Tarragona : [s.n.], 2003.
http://www.informatik.unitrier.de/~ley/db/conf/caepia/caepia2003.html
[6] IHMC CmapTools [En línea] / aut. IHMC // Sitio oficial. http://cmap.ihmc.us/.
[7] PROTÉGÉ [En línea]. Stanford California. – Sitio oficial. http://protege.stanford.edu/.
[8] LEAP [En línea]. Lightweight Extensible Agent Platform (LEAP), IST19910211. 15 de Enero de 2010. http://leap.crmparis.com.
[9] www.clip.dia.fi.ump.es
[10] Sitio Validador RDF [En línea] / aut. W3C. http://www.w3.org/RDF/Validator/ARPServlet.