Agentes Inteligentes en Java

Documentos relacionados
Estructuras de datos utilizando JAVA

{ Instrucciones de uso para PROFESORES

Guía de configuración de servicio de Windows del Monitor de Servicios de Autofactura. pág. 1

La libreta de calificaciones:

Aranda AAM WEB NOMBRE DEL PRODUCTO Aranda:

Respaldo en Línea Guía y Manual de Usuario Final

Guía de uso básico de Qt

USO DEL ENTORNO DE NETBEANS PARA LA CONEXIÓN DE BASE DE DATOS

1. Instalar el componente en el sitio por Extensiones gestor de extensiones.

MANUAL CONFIGURACIÓN P2P HICLOUDCAM GVS SECURITY

TALLER DE TECNOLOGÍAS PARA LA EDUCACIÓN: PerúEduca Manual Para el Ingreso de Datos al Programa SIAGIE V3

GUÍA DE AYUDA No. 679

Dentro de las funciones básicas de un procesador de textos están; escribir, guardar e imprimir documentos.

Contenido GUÍA MOODLE DOCENTE... 2 Objetivos... 2 Objetivo General Objetivo Específico Guía para acceder al Moodle...

INSTRUCTIVO DE APLICATIVO UCNC MOVIL. Versión Dirigido a: Administradores del Aplicativo: UCNC Móvil


Contenido GUÍA MOODLE ESTUDIANTE... 2 Objetivos... 2 Objetivo General Objetivo Específico Guía para acceder al Moodle...

Hipervínculos y configuración de acciones

Tema: Entorno a C# y Estructuras Secuenciales.

Instructivo Diseñador de Reportes Quitar/Agregar Etiquetas

BANCO CENTRAL DE RESERVA DEL PERÚ

BANCO CENTRAL DE RESERVA DEL PERÚ

Ministerio de Economía, Industria y Comercio (MEIC) -Trámites Costa Rica- Manual de usuario: Administrador Institucional. Cliente

Manual del Usuario para Ingreso de Bienes MEF al catálogo Módulo de Logística

DISEÑO DE REPORTES CON IREPORT

Sistemas D3xD Restaurant

Microsoft Excel para la optimización del trabajo en la empresa

MANUAL DEL CURSO BASICO DE LA PLATAFORMA MOODLE PARA DOCENTES DE UNICIENCIA

Elaboración de contenidos educativos digitales. Guía sobre Prezi

GUÍA DE CONFIGURACIÓN DE CUENTAS DE EN THUNDERBIRD

Manual de

Cómo utilizar eficazmente el programador de tareas.

MANUAL DE USUARIO MANUAL DE USUARIO

THUNDERBIRD GABRIELA BETANCUR MONTOYA JOHN ALEXANDER OSORIO HENAO. Documentación de la capacitación sobre Mozilla Thunderbird.

GESTION CONTABLE FINANCIERO ELECTRÓNICO B19

INSTRUCCIONES DE ACTUALIZACIÓN PARA LEPFIT01. PRIMER PASO Descargar y descomprimir -

MANUAL DE USUARIO GESTION DE PROYECTOS

IMPORTACIÓN DE REGISTROS BIBLIOGRÁFICO AL PROGRAMA ABIES 2.0

Manual de ayuda de la herramienta de comunicación privada Correo Interno

INSTALACIÓN SIP-POPE MODULO REGISTRO PENITENCIARIO

MANUAL DE USUARIO. BUSINESS INTELLIGENT Confianza, calidad y tecnología

Configuración regional Windows XP, Vista, 7 y 8

descarga, instalación y compresión de archivos

PLAN DE FORMACIÓN VIRTUAL PRESENCIAL

CUENTAS POR PAGAR. Le muestra las diferentes opciones: Lista Cuentas por Pagar Vigentes

PMM EN TU EMPRESA.com

SECRETARÍA DE LA GESTIÓN PÚBLICA MANUAL DE USUARIO SISTEMA DE GESTIÓN DE DOCUMENTOS DESPACHO DEL C. SECRETARIO

Creación de Formularios y Consultas

CURSO INFORMÁTICA BÁSICA JEFATURA DE SISTEMAS ASESORÍA INSTITUCIONAL

MANUAL CORREO ELECTRÓNICO

Tutorial Java con acceso a datos

Análisis de Desempeño Adempiere 3.4

Laboratorio VI: Configuración de una Red Ad-Hoc

Tutorial 3. Conexión a Bases de Datos con NetBeans 5.0

En esta práctica se tratarán los puntos básicos para la definición de clases y creación de objetos.

Proyecto de Mantenimiento del Sistema Integral de Información Escolar en web de la Administración Federal de Servicios Educativos en el D.F.

Guía Respaldos. Para comenzar a realizar nuestro respaldo, damos doble clic en el icono Respaldos que se encuentra en el escritorio.

CREAR UN SETUP. Ahora vamos a crear nuestro proyecto de instalacion, para esto vamos a archivo y seleccionamos agregar y luego nuevo proyecto

Guía Respaldos sistema Documentos Digitales C2K

Manual de usuario CRM 2011

AULA VIRTUAL ESBA - ITCA

INFORMATIZACIÓN DE LA SALUD EN EL CALLAO (ISAC)

PRESENTACIÓN DE LA ASIGNATURA E INTRODUCCIÓN A LA PROGRAMACIÓN VISUAL

ValidaCOFA. Manual de usuario de. Guía de instalación y uso de la aplicación

Manual de Herramientas. Carpetas, Etiquetas Y Libros. Pág. 1

CAPTURA DE ORDEN Y/O REQUISICION DE FRUTAS Y VERDURAS

Guía de Usuario. Contactos. Agregar un nuevo contacto

MANUAL DE FIRMA ELECTRONICA OUTLOOK

SOFTWARE AKRIBIS THERM

Conexión segura al Laboratorio

Puesta en marcha de Aspel-NOI 7.0

Generando reportes gráficos con Jfreechart en Netbeans 5.5

Tutorial Moodle. Material para docentes de la UCC

Conocimientos previos

Cómo hacer una Carpeta (folder) en Moodle

INSTALACIÓN SIP-GA CONFIGURACION DEL SETUP BASE DATOS

Guía de la Plataforma LMS Moodle

CONTRALORÍA GENERAL DE CUENTAS MANUAL DE USUARIO SISTEMA PARA EL MANTENIMIENTO DE LA INFORMACIÓN DEL PORTAL WEB

Puesta en marcha de Aspel-NOI 8.0

CHILEMAT S.A. Despacho SAF 2.0. Manual de usuario Módulo Despacho

MANUAL DEL DOCENTE DE LA PLATAFORMA VIRTUAL de la UNAC

MANUAL DE USO DE SISTEMA WEBCONTROL PARA EMPRESAS CONTRATISTAS WEBCONTROL 3.0

CÓMO DESCOMPRIMIR UN ARCHIVO DESDE EL EXPLORADOR DE WINDOWS XP

MANUAL DE USUARIO DE SOLICITUDES EN FORMATO PKCS#10 CON TOKEN. Andes SCD S.A.

Evaluación de actividades mediante rúbrica de evaluación - Moodle

Transcripción:

1 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Facultad: Ingeniería Escuela: Computación Asignatura: Sistemas Expertos e Inteligencia Artificial Agentes Inteligentes en Java Contenido En esta práctica se estudian los Agentes Inteligentes en la Inteligencia Artificial, elementos que son útiles para la percepción de estímulos que provienen del entorno que nos rodea. Los agentes hacen uso de los sensores como medio para poder percibir y procesar esos estímulos. Objetivos Específicos Identificar los tipos de agentes a utilizar en la IA. Conocer la librería jade y su aplicación en el tema de los agentes. Implementar agentes inteligentes en Java utilizando la librería jade. Material y Equipo Guía de laboratorio N 3. Computadora con Netbeans 7 o superior. Dispositivo de almacenamiento. Introducción Teórica Se puede considerar a la Inteligencia Artificial (IA) como una disciplina orientada a la construcción de agentes inteligentes. Agente inteligente: son una entidad física o virtual con capacidad para percibir su entorno, procesar tales percepciones y responder o actuar en su entorno de manera racional, los agentes pueden percibir su medioambiente con la ayuda de sensores (permiten al agente obtener información de su entorno) y actuar en ese medio utilizando actuadores (elementos que reaccionan a un estímulo realizando una acción). Estructura de los Agentes La estructura de los agentes se concentra en el núcleo del problema y sobre cómo trabajan internamente. El objetivo de la inteligencia artificial es diseñar el programa del agente para que implemente la función de este. Asumiendo que el programa se ejecutará en un computador con sensores y actuadores, conocido como arquitectura.

2 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Agente = Arquitectura + Programa Arquitectura de un agente: es una metodología particular para construir agentes que especifica cómo el agente puede ser descompuesto en un conjunto de módulos componentes y cómo estos módulos pueden interactuar. El conjunto total de módulos y sus interacciones deben proveer una respuesta a la pregunta de cómo el dato monitoreado y el estado interno del agente determinan las acciones y estados internos futuros. Se tienen tres categorías principales: Arquitecturas deliberativas. Arquitecturas reactivas. Arquitecturas híbridas. Programas de Agente El Programa es un algoritmo que recibe las percepciones del agente y genera una secuencia de acciones. Librería JADE Es una librería que permite trabajar con agentes inteligentes. Un agente JADE cumple las siguientes características: Tiene un nombre único en el entorno de ejecución. Se implementa como un único hilo de ejecución (single-threaded). Tiene un método de inicio (setup) y otro de fin (takedown). El método protegido setup() sirve para inicializar el agente incluyendo instrucciones que especificarán ontología a utilizar y los comportamientos asociados al agente. Se invoca al comenzar la ejecución del agente. El método protegido takedown() sirve para eliminar recursos antes de la eliminación del agente. Este método es invocado cuando se realiza una llamada al método dodelete(), que es el que realmente da por finalizada la ejecución del agente. Ambos métodos deben ser sobreescritos. La clase Agent Es una súper clase común que permite a los usuarios crear software de agentes. Suministra métodos que permiten ejecutar las tareas básicas de los agentes como: o Pasar mensajes utilizando objetos ACLMessage, con correspondencia de patrones. o Dar soporte al ciclo de vida de un agente. o Planificar y ejecutar múltiples actividades de manera concurrente.

3 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Los programadores de aplicaciones basadas en agentes deben escribir sus propios agentes como subclases de Agent, añadiendo tantos comportamientos específicos como sea necesario y explotando las capacidades de la clase Agent. Procedimiento 1. Crear una carpeta en la unidad C con el nombre Jade. 2. Descargar de los recursos de la guía el archivo jade.rar 3. Guardar y descomprimir el archivo en la carpeta creada en la unidad C 4. Crear un proyecto en Netbeans con el nombre G3Agentes. 5. Agregar la librería jade en Netbeans realizando los siguientes pasos: a. Hacer clic en la opción Tools y luego en la opción Libraries b. Hacer clic en el botón New Library

4 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 c. Colocar como nombre a la librería JadeLib Hacer clic en el botón OK d. Seleccionar la librería previamente creada e. Hacer clic en la opción Add JAR/Folder. f. Agregar el archivo jade.jar, el cual se encuentra en la carpeta lib dentro de la carpeta jade

5 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 g. Agregar el archivo commons-codec-1.3.jar, el cual se encuentra en la carpeta commons-codec h. Hacer clic en OK luego de haber agregado los dos archivos.

6 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 i. Hacer clic derecho sobre Libraries y seleccionar la opción Add Library j. Seleccionar la librería JadeLib y hacer clic en Add Library 6. Ahora, vamos a crear nuestro primer agente con el típico Hola Mundo. Veamos qué hay que hacer y cuáles son las configuraciones necesarias. Al crear su proyecto vamos a digitar el siguiente código:

7 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 7. Para poder ejecutar la plataforma y poder ver al agente en acción, se realiza el siguiente procedimiento: a) Clic derecho en nuestro proyecto Seleccionar Propiedades. Luego aparecerá una ventana sobre la cual hacemos las siguientes acciones: 8. Ejecutamos el proyecto y si todo ha salido bien, se abrirá una ventana en donde se administran los agentes: Plataforma de Administración de los Agentes.

8 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Agente comprador de libros A continuación, vamos a implementar la clase Agent, pero haciendo uso del entorno FIPA, lo cual permite la interacción entre agentes. Para este ejemplo se proporcionará el respectivo código. Debe recordar que el proyecto necesita la librería JADE. Su proyecto debe lucir así: Ahora, Cómo ejecutar en entorno FIPA? Como no contamos con una clase main para la ejecución de java. Los que haremos es llamar a una clase dentro de lo que son los componentes de jade, es la clase para bootear jade y que ejecute FIPA. Luego se envían argumentos para interfaz gráfica (GUI). Lo descrito anteriormente lo hacemos en la raíz del proyecto:

9 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Al configurar, encontramos los siguientes parámetros, los cuales dejamos tal y como aparecen por defecto.

10 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Ahora ejecutamos nuestro proyecto. Obtenemos la siguiente ventana, la cual será nuestra plataforma de trabajo: En esta plataforma tenemos los agentes por defecto, pero comenzamos a crear nuestros propios agentes, en este caso agentes compradores y vendedores. Agregando un nuevo agente Ahora ingresamos el nombre del agente, así: En los puntos que están al lado derecho de la pestaña de la lista desplegable del Class Name, hacemos clic y agregamos lo siguiente:

11 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Después de haber seleccionado la clase, entonces nuestro cuadro de creación de agentes debe quedar de la siguiente forma: Hacemos clic en OK y veremos que se ha creado nuestro nuevo agente: Si vemos nuestra consola en NetBeans, nos damos cuenta que en el catálogo ya existe el primer libro y ya se ve incluido en el entorno el agente vendedor: Ahora vamos a generar comportamientos: Creamos un nuevo comprador. Para ello seguimos el mismo proceso anterior y el resultado lo podemos ver en la consola: Note que cada 60 segundo el agente comprador envía el mensaje, en el cual se indica los libros que desea comprar:

12 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Por qué no me aparecen vendedores? Sencillo, porque no hemos creado agentes vendedores. Para el caso, está tratando de encontrar agentes vendedores. En este ejemplo se ejecuta un vendedor con una interfaz para que él agregue a catálogos los libros que puede vender. A continuación, creamos un agente vendedor haciendo el mismo proceso que en la creación del vendedor, con la diferencia de que la clase a elegir es la de agente vendedor. Al seleccionar automáticamente se nos abre la interfaz para poder ingresar los libros al catálogo que probablemente están siendo solicitados por los compradores o quedan disponibles para ventas futuras: Agente vendedor que ofrece Libro de Java

13 Sistemas Expertos e Inteligencia Artificial / Guía III / Ciclo 01-2017 Como podemos observar, al momento de ofrecer los libros, automáticamente el agente comprador toma las opciones de compra que hay en el catálogo. Investigación Complementaria Crear 5 agentes, 4 de ellos con nombres de balnearios (por ejemplo: Los Chorros, Termos del Río, Apuzunga, Aventura Tropical) y nombre del servicio, lo que ofrecen (ejemplos: SPA, Alojamiento, Alojamiento_Y_SPA), el quinto agente, se corresponderá con un cliente que desea un listado de los servicios disponibles, (ej. El Balneario Los Chorros, ofrece las siguientes posibilidades: Alojamiento_Y_SPA). Para crear estos agentes, serán necesarias dos clases diferentes: una clase para los agentes que ofrecen servicios y otra clase para los agentes que solicitan servicios. Los agentes que ofrecen servicios deberán realizar las siguientes tareas: Mostrar por pantalla un saludo, su nombre, su AID y su estado. Pasar como argumentos el tipo y nombre de servicio, capturar estos argumentos y asignárselos al servicio. Registrar su servicio en las páginas amarillas. El agente que solicita servicios deberá realizar las siguientes tareas: Mostrar por pantalla un saludo, su nombre, su AID y su estado. Buscar y listar los tipos y nombres de los servicios que ofrece un agente determinado y mostrar el AID del agente que ofrece ese servicio. Finalmente, los agentes se despiden y eliminan sus registros de las páginas amarillas. Bibliografía https://cibernetica.wordpress.com/2007/05/23/%c2%bfque-es-un-agente-inteligente/ Inteligencia Artificial con Aplicaciones a la Ingeniería, Pedro Ponce Cruz.