Este documento presenta un taller sobre programación orientada a agentes e inteligencia artificial. El taller cubre temas como qué es un agente inteligente, comportamientos de agentes, comunicación de agentes, y tipos de agentes como agentes reactivos, deliberativos y proactivos. El taller utiliza el framework Java Agent Development (JADE) para crear agentes en Java.
La empresa sostenible: Principales Características, Barreras para su Avance y...
Programación Orientada a Agentes - Inteligencia Artificial (Ing. Henry P. Paz Arias Mg.SC.)
1. Taller: Programaci´on Orientada a Agentes - Inteligencia
Artificial
I Congreso de Tecnolog´ıas de la Informaci´on y Comunicaci´on
CIS - UNL- 2014
Ing. Henry-Patricio, Paz-Arias Mg. Sc.
hpaz@unl.edu.ec
Junio 05, 2014
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 1 / 15
2. 1 ¿Qu´e es un agente inteligente? - JADE
2 Comportamientos de agentes
3 Comunicaci´on de agentes
4 Agentes Reactivos
5 Agentes Deliberativos
6 Agentes Proactivos
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 2 / 15
3. ¿Qu´e es un agente inteligente?
¿Qu´e es un agente?
Entidad de Software que act´ua racionalmente de acuerdo a sus
percepciones.
Java Agent Development Framework (JADE)
Un agente JADE es una instancia de una clase JAVA definida por el
usuario que extiende de la clase Agent (jade.core.Agent).
Estructura Agente JADE
import jade.core.Agent;
public class MiAgente extends Agent {
protected void setup() {
System.out.println(”El agente se ha iniciado.”); }
protected void takeDown() {
System.out.println(”Agente terminado.”); } }
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 3 / 15
4. Programar Agentes
1 Crear AgentController y AgentContainer.
2 Crear el m´etodo contenedor.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 4 / 15
5. Programar Agentes
1 Crear AgentController y AgentContainer.
2 Crear el m´etodo contenedor.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 4 / 15
6. Programar Agentes (Cont...)
3 Crear el m´etodo iniciar agentes.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 5 / 15
7. Comportamientos de agentes
Comportamiento C´ıclico
1.- Crear una clase y extender la clase CyclicBehaviour.
2.- Agregar comportamiento al agente.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 6 / 15
8. Comportamientos de agentes (Cont...)
Comportamiento Simple
1.- Crear una clase y extender la clase SimpleBehaviour.
2.- Agregar comportamiento al agente.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 7 / 15
9. Comunicaci´on de agentes
La comunicaci´on de agentes en JADE se establece mediante FIPA-ACL
(Foundation for Intelligent Physical Agents - Agent Management y Agent
Communication Language), debe existir un emisor y un receptor.
Mensaje del Emisor
El emisor es el encargado de emitir el primer mensaje desde su
comportamiento, con la siguiente estructura.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 8 / 15
10. Comunicaci´on de agentes (Cont...)
La comunicaci´on de agentes en JADE se establece mediante FIPA-ACL
(Foundation for Intelligent Physical Agents - Agent Management y Agent
Communication Language), debe existir un emisor y un receptor.
Mensaje al Receptor
El receptor es el encargado de receptar el mensaje desde su
comportamiento, con la siguiente estructura.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 9 / 15
11. Comunicaci´on de agentes (Cont...)
Tipos de mensajes ACL.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 10 / 15
12. Comunicaci´on de agentes (Cont...)
Tambi´en se puede pasar objetos entre agentes. Estos objetos deben ser
SERIALIZADOS. Crear una clase implementando de Serializable.
El objeto se debe fijar con el m´etodo setContentObj(objetoSerializable) en
la estructura del mensaje.
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 11 / 15
13. Agentes Reactivos
Reacci´on inmediata ante los cambios del ambiente - Recepta y emite un
resultado (Sin deliberar)
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 12 / 15
14. Agentes Deliberativos
Antes de tomar una decisi´on se debe deliberar en base a Creencias -
Deseos - Intenciones
Creencias Actuales - HashMap
¿Qu´e deseo? - Object
¿Qu´e intenciones voy a utilizar para cumplir mis deseos? - M´etodos
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 13 / 15
15. Agentes Proactivos
La proactividad es una actitud en la que el agente asume el pleno control
de su conducta de modo activo. La proactividad no significa s´olo tomar la
iniciativa, sino asumir la responsabilidad de hacer que las cosas sucedan;
decidir en cada momento lo que queremos hacer y c´omo lo vamos a hacer.
Figure: Patron para agentes proactivos (http://goo.gl/9fknYG)
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 14 / 15
16. Gracias por su participaci´on
I Congreso de TIC CIS - UNL- 2014 Taller: POA Junio 05, 2014 15 / 15