Laboratorio 1 Agentes Inteligentes PDF

Title Laboratorio 1 Agentes Inteligentes
Author Laura granados
Course Inteligencia Artificial
Institution Universidad Tecnológica de Panamá
Pages 42
File Size 3.5 MB
File Type PDF
Total Downloads 16
Total Views 151

Summary

Download Laboratorio 1 Agentes Inteligentes PDF


Description

Laboratorio Nº 1 – Agentes Inteligentes Asignatura

Inteligencia Artificial

Profesor

José Carlos Rangel Ortiz

Tema

Programación de Agentes Inteligentes con la plataforma JADE en Java

Código

8452

Recursos    

Computadora con Java instalado Entrono de Programación para Java Plataforma de agentes JADE Guía de Laboratorio

Entregables   

Informe de laboratorio con las capturas de pantalla de la ejecución de cada parte del laboratorio Subir el informe a la plataforma Moodle en formato PDF Nombrar el archivo siguiendo el formato de nombres especificado por el Docente

Enunciado de la experiencia o procedimiento: La Inteligencia Artificial tiene como objetivo el estudio de entidades inteligentes. Un agente inteligente, es una entidad capaz de percibir su entorno, procesar tales percepciones y responder o actuar en su entorno de manera racional, es decir, de manera correcta y tendiendo a maximizar un resultado esperado. En la práctica un agente es un programa de software que puede ser implementado en un lenguaje de programación. Los agentes necesitan un entorno de ejecución para poder vivir. En este laboratorio los estudiantes conocerán la plataforma JADE para la programación de los agentes. Los estudiantes deberán tener los conocimientos básicos en el lenguaje de Programación JAVA. Podrán utilizar los entornos IDE Eclipse, NetBeans o cualquier otro. Adicional los estudiantes tendrán disponible la documentación de la plataforma JADE (Java Agent DEvelopment Framework). Al finalizar la experiencia, los estudiantes estarán familiarizados con la plataforma JADE para la programación de agentes utilizando el lenguaje de programación JAVA. Deberán entregar cada problema propuesto por la línea de comando (MS-DOS) y en la plataforma NETBEANS / ECLIPSE. A continuación, se explica el procedimiento para realizar el laboratorio siguiendo las indicaciones de la guía de laboratorio.

Inteligencia Artificial | Laboratorio 1

Primera Parte Utilización de la Terminal o Consola de Comandos Configuración: Instalación y Configuración de la Plataforma JADE  

      



Instalar el JDK X.X.X_X en la carpeta de Java. Configurar la variable Path del Sistema que apunta al JDK con la siguiente cadena “C:\Program Files\Java\jdkX.X.X ……..Se adiciona la cadena antes de cualquier otro valor. Se adiciona la cadena y se separa con un “;” sin borrar el contenido previo de la variable. En algunos casos se requiere reiniciar la PC. El software de JADE se debe descargar del sitio web http://jade.tilab.com. Para poder acceder a la zona de descargas debe registrarse. El archivo básico de la zona de descargas es el binario y normalmente lleva el siguiente nombre JADE-bin-Y.X.zip Descomprima el archivo JADE-bin-Y.X.zip El contenido de la carpeta JADE que se encuentra al descomprimir los archivos. La puede copiar al directorio raíz (Ejemplo Disco Duro C) La compilación de un programa en Jade se puede realizar con la ayuda de un script que contenga las instrucciones básicas para la compilación. Para ello, se debe crear el archivo CompileJade.bat (nombre sugerido). Este archivo debe crearse en el directorio JADE. A continuación edite el archivo y agregue lo siguiente, lo cual debe estar en una sola línea del archivo.

Para compilar un programa en JADE, debera por lo tanto escribir en la consola lo siguiente:

2

Inteligencia Artificial | Laboratorio 1



Esto generará un archivo .class que será utilizado por el siguiente script para ejecutar el agente.





Para ejecutar la plataforma JADE, se debe crear un archivo runjade (el nombre del archivo es una sugerencia) con extensión .bat (Runjade.bat). Este archivo debe crearse en el directorio JADE. A continuación, debe editar el archivo Runjade.bat y adicionar las siguientes líneas.



Debe ejecutarse la plataforma de la siguiente forma:

3

Inteligencia Artificial | Laboratorio 1

I.

Programando un Agente Básico

La compilación y ejecución para este agente sería de la siguiente manera: COMPILACIÓN

EJECUCIÓN

4

Inteligencia Artificial | Laboratorio 1

//Captura de la ejecución del primer problema

5

Inteligencia Artificial | Laboratorio 1

II.

Programando un Agente recibiendo un parámetro de entrada

//Línea para la ejecución del Agente Runjade -gui Nombre:examples.AgClase.AgHolaMundo(Mensaje) //Línea para la ejecución del Agente desde PowerShell Runjade.bat -gui ‘Nombre:examples.AgClase.AgHolaMundo(Mensaje)’

//Captura de la ejecución

6

Inteligencia Artificial | Laboratorio 1

III.

Programando un Agente con Comportamiento Sencillo

7

Inteligencia Artificial | Laboratorio 1

//Captura de la ejecución

8

Inteligencia Artificial | Laboratorio 1

IV.

Programando un Agente con Comportamiento Cíclico

9

Inteligencia Artificial | Laboratorio 1

//Captura de la ejecución

10

Inteligencia Artificial | Laboratorio 1

V.

Programando un Intercambio de Mensaje entre Agentes

11

Inteligencia Artificial | Laboratorio 1

12

Inteligencia Artificial | Laboratorio 1

Lanzamiento de los agentes por medio de la Línea de Comandos Observación: El orden de los agentes es importante a la hora de ejecutarlo. Primero se lanza el agente que recibe y luego el agente que envía el mensaje entre paréntesis. En este caso el AgEnvia recibe como argumento el nombre del agente al cual debe enviar el mensaje. Abrir un terminal y escribir lo siguiente RunJade -gui “recibe:examples.AgClase.AgRecibeMensaje;envia:examples.AgClase.AgEnviaMensaje(recibe)” **Este ejemplo solo puede ser ejecutado mediante la CMD usando este comando. No es posible ejecutarlo desde una consola de PowerShell. Se muestra la comunicación de los agentes AgRecibeMensaje y AgEnviaMensaje a través del agente Sniffer

13

Inteligencia Artificial | Laboratorio 1

Segunda Parte Utilización de Entornos de Programación con JADE En esta sección se introduce a la utilización de la plataforma Jade en un IDE de Java, se presentan ejemplos utilizando Eclipse y Netbeans, pero se deja a voluntad del estudiante cual será la plataforma que utilizará para el laboratorio, por lo cual puede seleccionar cualquier otra IDE. El laboratorio contiene un ejemplo básico de configuración y los siguientes pasos consisten en lanzar todos los agentes que se lanzaron utilizando la consola. Existen dos maneras de lanzar agentes Jade utilizando un IDE, haciendo uso de una clase Main o mediante el uso de los argumentos de lanzamiento de la aplicación. Se presentan ejemplos de ambos casos. Adicionalmente se introduce la plataforma de repositorios Maven para Java, la cual nos facilita la importación de librerías a nuestros proyectos, utilizando solo unas líneas de texto. “Maven, es un proyecto realizado por apache.org, que permite (de manera fácil) importar todas las librerías y dependencias requeridas para un provecto. De esta manera, ya no es necesario juntar todos los .jar que necesites, dependencias y versiones de las dependencias para correr tu proyecto.” 1 Es además una plataforma ampliamente extendida entre las empresas de desarrollo, las cuales lo utilizan no solo para librerías de terceros sino para las librerías internas creadas y usadas para sus proyectos. Si el IDE seleccionado no permite el trabajo con Maven, o si el estudiante tiene algún tipo de problema para su configuración, puede utilizar los .jar de la librería y adjuntarlos como librería externa a su proyecto, lo cual es una función estándar incluida en la mayoría de los IDE que permiten el trabajo con Java.

1 http://decodigo.com/java-crear-proyectos-maven-en-netbeans-y-eclipse

14

Inteligencia Artificial | Laboratorio 1

VI.

Jade en Eclipse

Al abrir Eclipse seleccionamos “New” y la Opción “Other”

Dentro de la nueva ventana que se despliega seleccionaremos la opción de proyectos “Maven” y dentro de esta “Maven Project”

15

Inteligencia Artificial | Laboratorio 1

Seleccionamos “Next” y marcamos la opción “Create a Simple Project”

La siguiente ventana nos permite asignar el nombre a nuestro proyecto

16

Inteligencia Artificial | Laboratorio 1

El significado de los recuadros es el siguiente:   

GroupId: Este será el identificador del grupo de tu proyecto. En otras palabras, el paquete más descriptivo del programa. En este caso, usaremos “ia.labs”. ArtifactId: Este será el nombre del proyecto. Para este ejemplo, usaremos “agentes” Version: aquí se escribe la versión del programa. (se puede dejar así)

Los demás campos se pueden dejar vacíos o con los valores por default ya que no afectan nuestro ejemplo.

Una vez terminado esto, nuestro explorador de proyecto tendrá nuestro recién creado proyecto

Maven trabaja con un archivo “pom.xml” donde se definen las diferentes dependencias que necesita nuestro proyecto. Abrimos el archivo y encontraremos o siguiente:

17

Inteligencia Artificial | Laboratorio 1

El siguiente paso será crear dos ámbitos en el este archivo donde agregaremos el repositorio y la dependencia de la librería Jade.

Dentro de estos ámbitos agregamos lo siguiente

18

Inteligencia Artificial | Laboratorio 1

Esta información se puede obtener de la página de Jade, en la sección de Developers

Una vez terminamos la edición se puede cerrar el archivo y procederemos a crear las clases para nuestro proyecto. Primer crearemos la clase para nuestro agente. Para ello damos click derecho en el proyecto y seleccionamos “NewClass”.

19

Inteligencia Artificial | Laboratorio 1

Dentro de la ventana de opciones definimos el nombre como: “AgBasico” y seleccionamos “Finish”

Dentro de esta nueva clase creada procedemos a copiar el siguiente código fuente

Nota: Su código puede mostrar errores a pesar de estar copiado igual, esto se debe a que todavía no se ha ejecutado el programa y por lo tanto el IDE no ha descargado la librería que requiere. Por lo cual hasta que no se realice una ejecución se podrán mostrar errores relativos a que las clases Agent y sus métodos.

20

Inteligencia Artificial | Laboratorio 1

El siguiente paso será la creación de una clase main para lanzar nuestro agente. Para ello damos click derecho en el proyecto y seleccionamos “NewClass”.

En esta ocasión además del nombre de nuestra clase, le indicamos a eclipse que cree el método main dentro del código.

Dentro de la clase recién creada copiaremos el siguiente código

21

Inteligencia Artificial | Laboratorio 1

Este código nos permite lanzar el agente, así como también la ventana de administración de agentes de Jade. Concretamente la parte resaltada en amarillo es la línea donde indicamos el agente que deseamos lanzar (la clase en la cual se basa), así como también el nombre que le asignamos. Si todo se ha hecho bien al ejecutar obtendremos lo siguiente:

Nota: Para evitar problemas al volver a lanzar un agente se recomienda cerra el RMA (ventaja de administración de JADE) utilizando la opción dentro de la propia ventana. Para esto seleccionar File → Shut Down Agent Platform. Nota: Para lanzar los agentes de los problemas #2 y #5 utilizando la clase main, por favor refierase a la última página de este documento.

22

Inteligencia Artificial | Laboratorio 1

Lanzado agente sin utilizar una clase main en Eclipse Para lanzar un agente sin hacer uso de una clase main, se pueden hacer uso de los Run Arguments del proyecto. En este caso se procede a una forma similar al utilizar la consola de comandos. Se debe indicar que la clase principal será “jade.Boot” y especificar argumentos relativos a nuestro agente. En Eclipse esto se logra a través de los “Run Configurations” a los cuales accedemos de la siguiente manera (Click Derecho en el Proyecto):

23

Inteligencia Artificial | Laboratorio 1

Luego se despliega la siguiente pantalla

Debemos proceder a crear la configuración de lanzamiento, para lo cual seleccionamos el icono marcado con el numero 1 en la imagen. Luego le asignamos un nombre a nuestra configuración (Paso 2). Debemos seleccionar el proyecto al cual está relacionado (Paso 3) Como último paso en esta ventana indicamos la clase principal de nuestro proyecto, en este caso será el jade.Boot de Jade (Paso 4).

24

Inteligencia Artificial | Laboratorio 1

Lo siguiente consiste en especificar como se llamará nuestro agente y además indicar con que clase se creará. Lo cual se hace en la pestaña “Arguments” de la misma ventana. En esta escribimos los argumentos que se muestran en la imagen. La ubicación de la clase dependerá de las carpetas creadas para el proyecto.

25

Inteligencia Artificial | Laboratorio 1

Si toda la configuración esta correcta el resultado de la ejecución debe ser la siguiente cuando seleccionamos el botón “Run” de la ventana.

26

Inteligencia Artificial | Laboratorio 1

Dependencias de Maven en Eclipse Esta sección no es obligatoria de realizar, solo es para mostrar otra funcionalidad de Maven dentro de Eclipse. Eclipse dispone de una asistente para incluir las dependencias sin necesidad de buscarlas directamente en la página de repositorios de Maven. Para ellos es posible utilizarlo cuando se tiene el archivo “pom.xml” abierto como se muestra en la imagen.

Seleccionando la opción “Add” nos despliega el buscador de dependencias.

27

Inteligencia Artificial | Laboratorio 1

En el espacio señalado podemos escribir el nombre de la librería en la cual estamos interesados y el asistente procederá a mostrar las coincidencias.

Seleccionamos la que nos interesa y el asistente la agregara directamente al proyecto. NOTA: En el caso de Jade debido a que la librería se encuentra en el repositorio de la compañía, al agregar la dependencia de esta forma solo nos añadirá la información de la versión mas no la del repositorio, por lo cual esta se debe realizar de manera manual como se ha hecho en pasos anteriores. Para las demás librerías si funcionará con solo seleccionar y agregar.

28

Inteligencia Artificial | Laboratorio 1

VII.

Jade en Netbeans

Al abrir Netbeans seleccionamos “New Project”

Dentro de la nueva ventana que se despliega seleccionaremos la opción “Java with Maven” y dentro de esta “Java Application”

29

Inteligencia Artificial | Laboratorio 1

La siguiente ventana nos permite asignar el nombre a nuestro proyecto

El significado de los recuadros es el siguiente:   

GroupId: Este será el identificador del grupo de tu proyecto. En otras palabras, el paquete más descriptivo del programa. En este caso, usaremos “ia.labs”. ArtifactId: Este será el nombre del proyecto. Para este ejemplo, usaremos “agentes” Version: aquí se escribe la versión del programa. (se puede dejar así)

Los demás campos se pueden dejar vacíos o con los valores por default ya que no afectan nuestro ejemplo. Una vez terminado esto, nuestro explorador de proyecto tendrá nuestro recién creado proyecto

30

Inteligencia Artificial | Laboratorio 1

Maven trabaja con un archivo “pom.xml” donde se definen las diferentes dependencias que necesita nuestro proyecto. Abrimos el archivo y encontraremos o siguiente:

El siguiente paso será crear dos ámbitos en el este archivo donde agregaremos el repositorio y la dependencia de la librería Jade.

31

Inteligencia Artificial | Laboratorio 1

Dentro de estos ámbitos agregamos lo siguiente

32

Inteligencia Artificial | Laboratorio 1

Esta información se puede obtener de la página de Jade, en la sección de Developers

Una vez terminamos la edición se puede cerrar el archivo y procederemos a crear las clases para nuestro proyecto. Primer crearemos la clase para nuestro agente. Para ello damos click derecho en el proyecto y seleccionamos “NewJava Class”.

33

Inteligencia Artificial | Laboratorio 1

Dentro de la ventana de opciones definimos el nombre como: “AgBasico” y seleccionamos “Finish”

34

Inteligencia Artificial | Laboratorio 1

Dentro de esta nueva clase creada procedemos a copiar el siguiente código fuente

Nota: Su código puede mostrar errores a pesar de estar copiado igual, esto se debe a que todavía no se ha ejecutado el programa y por lo tanto el IDE no ha descargado la librería que requiere. Por lo cual hasta que no se realice una ejecución se podrán mostrar errores relativos a que las clases Agent y sus métodos. El siguiente paso será la creación de una clase main para lanzar nuestro agente. Para ello damos click derecho en el proyecto y seleccionamos “NewJava Main Class”.

35

Inteligencia Artificial | Laboratorio 1

Indicamos el nombre de esta clase, y verificamos que se agregue dentro del package de nuestro proyecto

36

Inteligencia Artificial | Laboratorio 1

Dentro de la clase recién creada copiaremos el siguiente código

Este código nos permite lanzar el agente, así como también la ventana de administración de agentes de Jade. Concretamente la parte resaltada en amarillo es la línea donde indicamos el agente que deseamos lanzar (la clase en la cual se basa), así como también el nombre que le asignamos. Si todo se ha hecho bien al ejecutar obtendremos lo siguiente:

37

Inteligencia Artificial | Laboratorio 1

Nota: Para evitar problemas al volver a lanzar un agente se recomienda cerra el RMA (ventaja de administración de JADE) utilizando la opción dentro de la propia ventana. Para esto seleccionar File → Shut Down Agent Platform. Nota: Para lanzar los agentes de los problemas #2 y #5 utilizando la clase main, por favor refiérase a la última página de este documento.

38

Inteligencia Artificial | Laboratorio 1

Lanzado agente sin utilizar una clase main en NetBeans Para lanzar un agente sin hacer uso de una clase main, se pueden hacer uso de los Run Arguments del proyecto. En este caso se procede a una forma similar al utilizar la consola de comandos. Se debe indicar que la clase principal será “jade.Boot” y especificar argumentos relativos a nuestro agente. En Netbeans esto se logra a través de las propiedades del proyecto, haciendo click derecho en el mismo

39

Inteligencia Artificial | Laboratorio 1

Luego se despliega la siguiente pantalla

En la Categoría “Run” indicamos la clase principal de nuestro proyecto, en este caso será el jade.Boot de Jade. Lo siguiente consiste en especificar como se llamará nuestro agente y además indicar con que clase se creará. Lo cual se hace en el cuadro de texto “Arguments” de la misma ventana. En esta escribimos los argumentos que se muestran en la imagen. La ubicación de la clase dependerá de las carpetas creadas para el proyecto.

40

Inteligencia Arti...


Similar Free PDFs