Você está na página 1de 9

UNIVERSIDAD NACIONAL DE LOJA

“CARRERA DE INGENIERÍA EN SISTEMAS”

Inteligencia Artificial
Tema

NOMBRE:
Mariuxi Montero
Leonardo Caraguay
Angel Quizhpe
CURSO:
9NO “B”
MATERIA:
Inteligencia Artificial
TUTOR:
Ing. Oscar Cumbicuas
FECHA:
03/06/2018

LOJA – ECUADOR
2018
1. Objetivos

 Implementar la simulación de un agente inteligente en el lenguaje de


programación java.
 Identificar la importancia de los agentes en la Inteligencia Artificial.
 Describir el REAS del entorno de trabajo de un sistema de agente
viajero.

2. Introducción:
Como ya sabemos la inteligencia artificial tiene el objetivo de estudiar
entidades inteligentes, el estudio de estas entidades debe darse mediante
un orden y clasificación de las diferentes entidades racionales que existen
o pueden crearse para ser más clara. Los agentes inteligentes se
desenvuelven en diferentes entornos dependiendo de la finalidad de
estos, es por esta razón que es necesario conocer las especificaciones del
entorno de trabajo, y los tipos de entornos de trabajo, conceptos que son
indispensables para poder crear e identificar a los diferentes tipos de
agentes, determinar a qué entornos pertenecen, y cuáles son los
actuadores y sensores que estos agentes poseen. A continuación,
realizaremos una simulación de un agente inteligente el cual consiste en
la demostración del “problema del agente viajero”, el cual demostraremos
el REAS de su entorno y lo simularemos en el lenguaje de programación
JAVA.

3. Desarrollo:

Antes de empezar a desarrollar nuestro agente empezaremos dando


algunos conceptos que son fundamentales para la construcción de
nuestro agente.

¿Qué es un agente?
Un agente es un sistema situado en algún entorno, dentro del cual
percibe y actúa de forma autónoma y flexible alcanzando el conjunto de
objetivos para el que fue diseñado.
Es un sistema que está situado y que forma parte de un determinado
entorno, que percibe este entorno y que actúa en él continuamente y con
su propia planificación, persiguiendo el objetivo de cambiar su propia
percepción[1].
Todo agente tiene una función u objetivo. Por ejemplo, un agente humano
de bolsa tiene el objetivo de comprar y vender acciones respondiendo a
los estímulos iniciados por su cliente y captados por sus sentidos. Una
aspiradora tiene la función de aspirar cuando capta que ha sido
encendida y no aspirar cuando es apagada[2].

Un agente inteligente o racional trata de maximizar el valor de una


medida de rendimiento, dada la secuencia de percepciones que ha
observado hasta el momento. Repitamos lo dicho ejemplificándolo.

¿Qué es un entorno de trabajo?


Se podría definir al entorno de trabajo como las condiciones que ocurren
dentro del cumplimiento laborar, pero enfocando éste concepto a la
Inteligencia Artificial y al diseño de agentes inteligentes o racionales,
entorno de trabajo es representado por los problemas, los cuales serán
solucionados por los agentes.
Especificación del entorno de trabajo
La inteligencia artificial debe tomar en cuenta siempre el entorno en el
que los agentes se desenvolverán por lo cual se especifica el REAS que
significa lo siguiente:
1. Rendimiento. - Cualidades deseables del agente, medidas de
rendimiento, objetivos, metas.
2. Entorno. – Aquel sobre el cual actuará o se moverá el agente.
3. Actuadores. - Herramientas o elementos para efectuar el trabajo,
acción a realizar.
4. Sensores. – Cómo percibe el ambiente el agente, con qué lo
percibe.
Tipos de Agentes.
Los cuatro tipos básicos de agentes adoptan los principios que subyacen
en casi todos los sistemas inteligentes, estos son:
 Agentes reactivos simples.
 Agentes reactivos basados en modelos.
 Agentes basados en objetivos y metas.
 Agentes basados en utilidad.
En la mayoría de las ocasiones, los agentes no son desarrollados de forma
independiente sino como entidades que constituyen un sistema. A este
sistema se le denomina multi-agente. En este caso los agentes no pueden
interactuar entre ellos. Las interacciones más habituales como son
informar o consultar a otros agentes permiten a los agentes “hablar” entre
ellos, tener en cuenta lo que realiza cada uno de ellos y razonar acerca
del papel jugado por los diferentes agentes que constituyen el sistema.
La comunicación entre agentes se realiza por medio de un lenguaje de
comunicación de agentes (ACL – Agent Communication Language)[3].
Agentes y Sistemas Multiagente.
Un sistema basado en agentes, es aquel que utiliza el concepto de agente
como mecanismo de abstracción.
Un sistema multiagente es aquel que se diseña e implementa pensando
en que estará compuesto por varios agentes que interactuarán entre sí.

Características de los Sistemas Multiagentes.


Existe una colección de agentes, definido cada uno de ellos por sus
propias habilidades:
Adquisición de datos.
Comunicación.
Planificación.
Actuación.
El conjunto de todos los agentes tiene asignada una misión.
La misión puede descomponerse en diferentes tareas
independientes, de forma que
se puedan ejecutar en paralelo.
El conjunto de agentes debe ser capaz de asignarse las tareas
apropiadas a cada
uno en función de la adecuación del agente a esa tarea y la
realización de la misión en común.
Cada agente tiene un conocimiento limitado. Esta limitación puede ser
tanto:
Del conocimiento del entorno.
De la misma del grupo.
De las intenciones de los demás agentes a la hora de realizar sus propias
tareas.
Cada agente tiene una mayor facilidad para hacer determinadas tareas,
en función de:
Lo que conoce.
La capacidad de proceso.
La habilidad requerida.
4. Procedimiento:
En esta sección abordaremos la construcción de nuestro agente “Agente
Viajero”, mismo que definiremos su entorno de trabajo REAS y lo
simularemos en el lenguaje de programación Java.
Para la simulación de nuestro agente es importante tener conocimiento
de los conceptos de un Agente Viajero:

¿Agente viajero?
También conocido como problema del viaje del comercio (TSP). El agente
viajero, parte de un nodo origen (Ciudades, Almacenes, centros de
producción, centros de distribución, etc.), y deben recorrerse todos los
nodos de la red (Bodegas, Hogares, Empresas, Oficinas, Barrios, etc.),
volviendo al origen, de modo de minimizar la longitud del viaje, se debe
recorrer todos sin pasar más de una vez por cada lugar, volviendo al lugar
inicial. Se trata de encontrar en qué orden recorrer los nodos de la red,
de modo de minimizar la distancia total recorrida.
Este método busca minimizar costo, tiempo o distancia, dependiendo de
qué es lo que se busca minimizar.
El problema del agente viajero tiene una variación importante, y esta
depende de que las distancias entre un nodo y otro sean simétricas o no,
es decir, que la distancia entre A y B sea igual a la distancia entre B y A,
puesto que en la práctica es muy poco probable que así sea[4].

Métodos de solución
La complejidad del cálculo del problema del agente viajero ha despertado
múltiples iniciativas por mejorar la eficiencia en el cálculo de rutas. El
método más básico es el conocido con el nombre de fuerza bruta, que
consiste en el cálculo de todos los posibles recorridos, lo cual se hace
extremadamente ineficiente y casi que se imposibilita en redes de gran
tamaño. También existen heurísticos que se han desarrollado por la
complejidad en el cálculo de soluciones óptimas en redes robustas, es por
ello que existen métodos como el vecino más cercano, la inserción más
barata y el doble sentido. Por último, se encuentran los algoritmos que
proporcionan soluciones óptimas, como el método de branch and bound
(ramificación y poda), que trabaja el problema como un algoritmo de
asignación y lo resuelve por medio del método simplex.

Para la simulación de nuestro agente en el lenguaje de programación se


ha utilizado el método de la fuerza bruta. El método de la fuerza bruta no
implica la aplicación de ningún algoritmo sistemático, tan solo consiste
en explorar todos los recorridos posibles. Considerando la siguiente red
simétrica, los caminos posibles se reducen a la mitad:
Posibles rutas
A - B - D - C - A = 9 + 15 + 4 + 7 = 35 km
A - B - C - D - A = 9 + 10 + 4 + 8 = 31 km
A - C - B - D - A = 7 + 10 + 15 + 8 = 40 km

Rutas simétricas
A - D - C - B - A = 8 + 4 + 10 + 9 = 31 km
A - C - D - B - A = 7 + 4 + 15 + 9 = 35 km
A - D - B - C - A = 8 + 15 + 10 +7 = 40 km

Construcción del entorno de trabajo (REAS)

AGENTE MEDIDAS DE ENTORNO ACTUADORES SENSORES


RENDIMIENTO
Sistema  Minimizar  Rutas  Mapas  Búsqueda
de costo  Distanci  Vehículos de
Agente  Minimizar as  Nodos lugares
viajero tiempo  Lugares  Cálculos  Mouse y
 Minimizar matemáticos teclado
distancia para
entrada
de datos
 Pantalla
A continuación, procederemos a diseñar el simulador del Agente Viajero
1. Creamos en Netbeans un proyecto como AgenteViajero.
2. Diseñamos una interfaz, tal como se muestra en la figura:

3. Al dar clic en la interfaz del mapa creara los nodos el cual, forma el
ambiente para poder realizar los cálculos al presionar en Aceptar,
como se muestra en la figura:
4. A continuación, se muestra la ejecución del código:

En las anteriores imágenes observamos cómo se muestra los cálculos del


Agente viajero, el cual se realiza un recorrido completo que conecte todos
los nodos de una red visitándolos tan solo una vez y volviendo al punto
de partida, y que además minimice la distancia total de la ruta, o el
tiempo total del recorrido.
5. Conclusiones:
Luego de realizar el trabajo se establece las siguientes conclusiones:
 Lo primero que se concluye es que: primordialmente con los
agentes se debe determinar el entorno de trabajo, un entorno de
trabajo se encuentra constituido por el REAS (Rendimiento,
Entorno, Actuadores y Sensores), los entornos de trabajo se deben
describir de la manera más completa posible, un agente puede
poseer más de una medida de rendimiento, entorno, actuador y
sensor, además de esto cabe destacar que un agente puede ser
parte de varios tipos de entorno de trabajo.

 Existen entornos considerados ideales, en los cuales un agente no


tendría mayor problema en desenvolverse, algunos agentes se
desenvuelven en estos entornos y otros sin embargo se
desenvuelven en ambientes con un nivel mayor de dificultad, lo
cual indica que es necesario que un programador o diseñador de
un agente inteligente tenga el conocimiento necesario acerca de
los entornos de trabajo para de esta manera aseguré el máximo
rendimiento de un agente inteligente.

6. Bibliografía:
[1] Á. Arroyo Castillo, “Agentes Inteligentes,” pp. 1–35, 2005.
[2] “Agentes Inteligentes en Java,” pp. 1–13, 2017.
[3] Jose Velasco, Inteligencia artificial. 2013.
[4] M. A. Erasmo López, Salas Óscar, “El Problema Del Agente Viajero:
Un Algoritmo Determinístico Usando Búsqueda Tabú,” Rev.
Matemática, vol. 21, no. 1, pp. 127–144, 2014.

Você também pode gostar