Agente Carro

20
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ÓN FUNDAMENTOS DE INTELIGENCIA ARTIFICIAL

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 of Agente Carro

Page 1: Agente Carro

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

Page 2: Agente Carro

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.

Page 3: Agente Carro

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.

Page 4: Agente Carro

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.

Page 5: Agente Carro

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.

Page 6: Agente Carro

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.

Page 7: Agente Carro

MAPAS DE LOS DIFERENTES PUNTOS DE LA CUIDAD POR LOS CUALES PUEDE MOVERSE EL AGENTE

Page 8: Agente Carro

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

Page 9: Agente Carro

DESCRIPCIÓN REAS DEL AGENTE

Page 10: Agente Carro

FUNCIONAMIENTO DE LA SIMULACIÓN

La plataforma de desarrollo es NetBeans que es un framework para lenguaje java.

Page 11: Agente Carro

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. 

Page 12: Agente Carro

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.

Page 13: Agente Carro

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

Page 14: Agente Carro

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.

Page 15: Agente Carro

ONTOLOGÍA

Page 16: Agente Carro

TRIPLETAS DEL MODELO DE DATOS

Page 17: Agente Carro

RDF

Page 18: Agente Carro

MODELO RDF DEL AGENTE CARRO

Page 19: 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.

Page 20: Agente Carro

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/rdf­skos­owl.asp.

[3] Gestión del Conocimiento [En línea] / aut. CONOCIMIENTO GESTIÓN DEL. ­ 1. ­ 2 de Febrero de 2010. ­ http://www.gestiondelconocimiento.es/rdf­skos­owl.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 // CAEPIA­2003. ­ Tarragona : [s.n.], 2003.

http://www.informatik.uni­trier.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), IST­199­10211. ­ 15 de Enero de 2010. ­ http://leap.crm­paris.com.

[9]  www.clip.dia.fi.ump.es

[10]    Sitio  Validador  RDF  [En  línea] /  aut.  W3C. ­ http://www.w3.org/RDF/Validator/ARPServlet.