Inteligencia Artificial Manual SBR

27
Inteligencia Artificial 1 Manual SBR Este proyecto consta de una herramienta denominada SBR mediante la cual el usuario podrá realizar principalmente las siguientes actividades: Crear un nuevo dominio. Modificar el dominio existente. Simular el encadenamiento hacia delante. Simular el encadenamiento hacia atrás. Entendiéndose por dominio el “tema” por así decirlo sobre el que queremos que trabaje la aplicación, ofreciendo así una gran flexibilidad y proporcionando una visión más atractiva al usuario ya que todo usuario podrá adaptar la aplicación a uno de sus temas favoritos, cine, coches, animales... Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.

Transcript of Inteligencia Artificial Manual SBR

Page 1: Inteligencia Artificial Manual SBR

Inteligencia Artificial

1

Manual SBR Este proyecto consta de una herramienta denominada SBR mediante la cual el usuario

podrá realizar principalmente las siguientes actividades:

Crear un nuevo dominio.

Modificar el dominio existente.

Simular el encadenamiento hacia delante.

Simular el encadenamiento hacia atrás.

Entendiéndose por dominio el “tema” por así decirlo sobre el que queremos que trabaje la

aplicación, ofreciendo así una gran flexibilidad y proporcionando una visión más atractiva al

usuario ya que todo usuario podrá adaptar la aplicación a uno de sus temas favoritos, cine,

coches, animales...

Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una

visión global de la aplicación.

Page 2: Inteligencia Artificial Manual SBR

Inteligencia Artificial

2

1. Visión Global Inicialmente la aplicación muestra la siguiente apariencia:

Figura 1.1: Pantalla inicial

En el menú situado en la parte superior de la ventana tenemos las siguientes opciones:

i. Dominio

Figura 1.2: Pantalla Inicial 2

Page 3: Inteligencia Artificial Manual SBR

Inteligencia Artificial

3

a. Nuevo: El usuario pulsará esta opción cuando quiera crear un dominio desde cero.

b. Cargar: Se ofrece la posibilidad de utilizar un archivo que ha sido creado

previamente con la aplicación sobre un dominio determinado.

c. Guardar: El usuario podrá guardar la configuración del dominio actual.

d. Salir: Típica opción que permite abandonar la aplicación.

ii. Encadenamiento

Figura 1.3: Pantalla inicial 3

a. BC: Esta opción nos llevará a la parte de la aplicación dedicada al

encadenamiento hacia atrás. (Backward Chain)

b. FC: En este caso iremos a la sección del encadenamiento hacia delante (Forward

Chain).

iii. BH

Nos permite visualizar y modificar todo lo referente a los atributos del dominio y a sus

valores.

iv. Reglas

En este caso podremos Editar/Modificar toda la parte relacionada con las reglas.

Para facilitar la comprensión del manejo de la aplicación vamos a utilizar un ejemplo sencillo

mediante el cual vamos a realizar las tareas principales de la aplicación.

Ejemplo:

Atributos / Valores:

Color: amarillo, morado.

Forma: larga, redonda.

Frutal: árbol.

Semilla: hueso , múltiple.

Page 4: Inteligencia Artificial Manual SBR

Inteligencia Artificial

4

Fruta: plátano, ciruela, cereza.

Reglas:

R0: Si Forma=Larga Y Color=Amarillo Entonces

Fruta=Plátano.

Prioridad:10

R1: Si Frutal=árbol Y Color=Morado Y Semilla=Hueso

Entonces Fruta=ciruela.

Prioridad:10

Valores asignados a los atributos como datos :

o Color=Amarillo.

o Forma=Larga.

Page 5: Inteligencia Artificial Manual SBR

Inteligencia Artificial

5

2. Nuevo Dominio

En este sección de la aplicación el usuario se encontrará con la siguiente ventana:

Figura 2.1 : Pantalla Configura con la pestaña BH seleccionada.

La pestaña que tenemos actualmente activa en la correspondiente a la base de hechos, mediante

la cual el usuario podrá realizar todas las operaciones sobre los atributos/Valores del dominio que

esta creando.

Utilizando en ejemplo detallado en el punto 1, introducimos los atributos para ello pulsamos el

botón añadir, y nos encontramos con la siguiente ventana.

Page 6: Inteligencia Artificial Manual SBR

Inteligencia Artificial

6

Figura 2.2 : Pantalla Añadir/Modificar atributo 1

Comenzamos con el atributo fruta, para ello escribimos en el primer Edit el nombre del atributo ,

Color, ahora tenemos que introducir los distinto valores que posee para ello escribimos amarillo

en el edit que esta debajo del Label que pone “Valor Posible”.

De tal manera que nos quede así:

Figura 2.3 : Pantalla Añadir/Modificar atributo 3

Pulsamos el botón y pasamos a añadir el otro valor, morado, de la misma manera, quedando

de la siguiente manera:

Page 7: Inteligencia Artificial Manual SBR

Inteligencia Artificial

7

Figura 2.4 : Pantalla Añadir/Modificar atributo 3

Para el valor rojo procederíamos de la misma manera.

Si nos fijamos tenemos un edit que tiene asignado como valor por defecto “Desconocido” , si

quisiéramos modificar ese valor tan solo tendríamos que hace clic sobre el valor del comboBox

que quisiéramos tener.

Por Ejemplo Amarillo y tendríamos lo siguiente:

Figura 2.5 : Pantalla Añadir/Modificar atributo 4

Finalmente pulsamos el botón Aceptar , y vemos que la pestaña ha sido modificada, presentando

el siguiente aspecto:

Page 8: Inteligencia Artificial Manual SBR

Inteligencia Artificial

8

Figura 2.6 : Pantalla Configura con la pestaña Atributo seleccionada.

Con el resto de atributos procederemos de la misma manera, pero para ellos dejaremos como

valor por defecto “Desconocido”.

Tras introducir todos los atributos podremos visualizar lo siguiente:

Figura 2.7 : Pantalla Configura con la pestaña BH seleccionada y con los atributos.

Page 9: Inteligencia Artificial Manual SBR

Inteligencia Artificial

9

Ahora sólo queda por indicar que el valor que queremos asignar como dato a Forma es larga ,

para ello tenemos que pulsar sobre la celda correspondiente al atributo Forma, indicada en la

siguiente figura con fondo amarillo.

Figura 2.8 : Pantalla Configura con la pestaña BH seleccionada e indicando el valor a modificar

Al pulsar sobre esa celda nos aparece el siguiente diálogo:

Figura 2.9 : Valores del atributo seleccionado

Seleccionamos el valor Larga y pulsamos sobre el botón aceptar.

Page 10: Inteligencia Artificial Manual SBR

Inteligencia Artificial

10

Ahora el usuario podrá ver como el valor que posee el atributo forma ya no es desconocido sino

Larga.

Figura 2.10 : Pantalla Configura con la pestaña BH seleccionada y con los atributos 2.

Los otros dos botones, para este ejemplo no nos hacen falta , no obstante hay que comentar su

funcionalidad:

El botón Modificar se puede activar al seleccionar un atributo de la columna atributos, y pulsando

sobre él, por ejemplo, seleccionemos Tipo Semilla y pulsemos Modificar.

Page 11: Inteligencia Artificial Manual SBR

Inteligencia Artificial

11

Figura 2.11 : Pantalla Configura con la pestaña BH seleccionada la ventana cargada con los datos

del atributo seleccionado.

Mediante esta nueva ventana podemos añadir más valores al atributo o modificar el valor

asignado.

Como para nuestro ejemplo no queremos modificar nada, pulsamos el botón cancelar.

El otro botón que queda es el de “Todos a Desconocido” cuya función es poner como valor a todos

los atributos “Desconocido”.

Page 12: Inteligencia Artificial Manual SBR

Inteligencia Artificial

12

Vamos a ver la pestaña de reglas:

Figura 2.12 : Pantalla Configura con la pestaña reglas seleccionada.

En esta ventana cabe destacar las dos tablas IF y THEN donde la primera va a contener la

información de la parte del antecedente de la regla y la segunda del consecuente.

Concretando en el ejemplo. Tenemos que introducir las dos reglas detalladas en el apartado 1:

R0: Si Forma=Larga Y Color=Amarillo Entonces

Fruta=Plátano.Prioridad:10

R1: Si Frutal=árbol Y Color=Morado Y Semilla=Hueso Entonces

Fruta=ciruela.

Prioridad:10

Comenzamos con R0.

Tenemos que introducir Forma=Larga , para ello seleccionamos de la lista desplegable “Atributo”

Forma .

Page 13: Inteligencia Artificial Manual SBR

Inteligencia Artificial

13

Figura 2.13 : Pantalla Configura con la pestaña reglas seleccionada y mostrando los atributos disponibles para configurar la regla.

Ahora tenemos que indicar el valor para ello seleccionamos el valor Larga y pulsamos el botón

(el situado más arriba pues ahora estamos trabajando con el IF), inmediatamente podemos

observar que en la tabla del IF se nos ha incorporado dicho par de la siguiente manera:

Figura 2.14 : Pantalla Configura con la pestaña reglas seleccionada y atributo del If.

Procederemos de la misma manera para Color=Amarillo.

Page 14: Inteligencia Artificial Manual SBR

Inteligencia Artificial

14

Para el consecuente el mecanismo es el mismo , la única diferencia es que en vez de pulsar el

botón situado en la parte superior , pulsamos es que se encuentra más abajo.

Tras haber introducido el antecedente y el consecuente de la regla actual tendremos la siguiente

situación:

Figura 2.15: Pantalla Configura con la pestaña reglas seleccionada y atributos del If y Then

Llegados a este punto sólo queda por introducir la prioridad que en esta caso en 10.Tras

introducirla pulsamos el botón Añadir y vemos como en la tabla inferior se muestra la regla que

acabamos de construir.

Page 15: Inteligencia Artificial Manual SBR

Inteligencia Artificial

15

Figura 2.16 : Pantalla Configura con la pestaña reglas seleccionada y mostrando regla

añadida

Para la siguiente regla procederemos de la misma manera. Obteniendo finalmente la siguiente

situación:

Figura 2.17 : Pantalla Configura con la pestaña reglas seleccionada y mostrando las regla

añadidas

Page 16: Inteligencia Artificial Manual SBR

Inteligencia Artificial

16

Ya hemos terminado de introducir todo el dominio, pero han quedado dos botones por comentar :

Modificar: Nos permite modificar una regla tanto el antecedente, como el consecuente como su

prioridad.

Eliminar: Nos da la posibilidad de quitar una regla de nuestro dominio.

Salimos de la ventana pulsando el aspa situado en la parte superior derecha.

Ahora que tenemos el dominio definido podemos guardarlo en un fichero para ello utilizaremos la

opción comentada en el apartado de Visión Global.

Page 17: Inteligencia Artificial Manual SBR

Inteligencia Artificial

17

3. Modificar el dominio existente

Para la explicación de este apartado vamos a utilizar el fichero guardado con el dominio

definido en el punto 2.

Lo primero que tenemos que hacer es Cargar el dominio, tal y como se explicó, en el punto uno.

Para modificar el problema existente utilizaremos las opciones de la ventana principal de BH y

Reglas.

Figura 3.1 : Pantalla inicial resaltando las opciones para modificar un dominio existente.

Vamos a modificar la base de hechos añadiendo un atributo más, por ejemplo:

Num Semillas : 1, >1.

Para ello pulsaremos sobre la opción BH, donde veremos una pantalla como la de la figura:2.10, a

continuación para poder añadir un atributo nuevo a la base de hechos tenemos que pulsar sobre

el botón añadir y nos aparecerá una ventana como la de la figura:2.2, llegados a este punto

procederemos de la misma manera como hicimos al insertar un atributo nuevo cuando estábamos

configurando un nuevo dominio.

Page 18: Inteligencia Artificial Manual SBR

Inteligencia Artificial

18

La otra opción que tenemos para modificar el problema es la relativa a las reglas, imaginemos

que queremos modificar la regla R1 , quedando de la siguiente manera:

R1: Si Clase frutal=árbol Y Color=Rojo Y Tipo semilla=Hueso

Entonces Fruta=ciruela.

Prioridad:10.

si pulsamos la opción de Reglas nos aparecerá una ventana como la de la figura:2.17, si

quisiéramos modificar una regla existente tan solo tendríamos que seleccionar la regla a modificar

y pulsar el botón modificar, obteniendo una imagen como esta:

Figura 3.2: Estado de configurar al pulsar modificar R1

Ahora lo único que nos quedaría por hacer el quitar el atributo Color del If y Fruta de ciruela y

volver a seleccionarlos con sus valores, cuando ya hayamos insertado los nuevos valores

pulsamos el botón Añadir y nos quedaría el listado de reglas tal que así:

Page 19: Inteligencia Artificial Manual SBR

Inteligencia Artificial

19

Figura 3.3: Listado de las reglas tras insertar la modificación.

Page 20: Inteligencia Artificial Manual SBR

Inteligencia Artificial

20

4. Simular el encadenamiento hacia delante

Una de las opciones más importante que ofrece esta aplicación es la relativa a la

simulación del encadenamiento tanto hacia delante como hacia atrás pues de esa manera el

usuario además de calcular el nuevo conocimiento derivado tiene la opción de ver cómo la

aplicación llega hasta esa conclusión.

Vamos a utilizar el dominio definido en el apartado uno , para ello el usuario deberá cargarlo

previamente.

Comencemos por el encadenamiento hacia delante, por se el concerniente a este punto.

Para poder ejecutar esta opción tenemos que ir en la ventana principal a Encadenamiento y

de ella a FC (ForwardChain).Tal y como se muestra en la figura siguiente:

Figura 4.1: Inicio de FC.

Page 21: Inteligencia Artificial Manual SBR

Inteligencia Artificial

21

Tras pulsar la opción señalada anteriormente nos aparecerá la siguiente ventana:

Figura 4.2: Selección del objetivo para FC (1).

Debido a que estamos en el encadenamiento hacia delante el usuario puede escoger entre

establecer un objetivo previo o ninguno, con esta última opción lo que se está indicando es que se

derive el máximo conocimiento posible.

Seleccionemos como objetivo Fruta y pulsemos el botón aceptar, nos encontraremos con lo

siguiente:

Figura 4.3: Pantalla del encadenamiento hacia delante ciclo 0.

Page 22: Inteligencia Artificial Manual SBR

Inteligencia Artificial

22

Antes de comenzar la ejecución vamos a explicar el significado de los componentes más

relevantes de la pantalla.

Esta pantalla tiene cuatro grandes zonas destinadas a la visualización de información que son:

I. Matching: Encargada de mostrar al usuario la información de las reglas que en ciclo

actual se encuentran satisfechas.

II. Resolución de Conflictos: En caso de tener varias reglas satisfechas nos indicará cual

ha sido seleccionada para ejecutarse y nos explicará el motivo de esta selección. La

aplicación utilizará el criterio de la primera mejor y en caso de empate seleccionar aquella

regla con menor índice.

III. Disparar: Nos muestra el conocimiento derivado al disparar la regla.

IV. BC: Proporciona información sobre los atributos conocidos y su valor.

Comencemos con la simulación , para ello tenemos que pulsar el botón , a continuación la

aplicación nos muestra el ciclo 1.

Figura 4.4: Pantalla del encadenamiento hacia delante ciclo 1.

Para este dominio solo contábamos con dos reglas entre las cuales la única satisfecha es la R0,

por lo que la resolución de conflictos en esta paso no tiene un papel muy importante, aún así nos

indica que ha sido escogida por tener mayor prioridad (ya que no existe otra satisfecha con

mayor prioridad).También nos indica el nuevo conocimiento derivado como es fruta plátano , que

Page 23: Inteligencia Artificial Manual SBR

Inteligencia Artificial

23

coincide con nuestro objetivo, y en la BC ya aparece incorporado a la lista de atributos conocidos

con sus respectivos valores.

Ahora tenemos dos posibilidades:

-Pulsar el botón con lo que tendríamos la figura 4.3 , ya que estamos en el ciclo 1 y al pulsar

este botón lo que hacemos es poder visualizar el ciclo anterior.

-Pulsar el botón y obtendríamos:

Figura 4.5: Pantalla del encadenamiento hacia delante ciclo 2.

Llegados a este punto lo único que podemos hacer es visualizar los ciclo anteriores o seleccionar

en el menú archivo situado en la parte superior Reiniciar , con lo que volveríamos a la figura 4.2 o

Salir y pasaríamos a la pantalla inicial de la aplicación.

Observación: Hay que tener en cuenta que los hechos derivados en una ejecución, tanto para el

encadenamiento hacia atrás como para el encadenamiento hacia atrás, pasan a formar parte de

la base de conocimientos. Por lo que si quisiéramos hacer el mismo ejemplo para el

encadenamiento hacia atrás tendríamos que poner a desconocido en la base de conocimientos los

atributos derivados, en esta caso solo sería fruta.

Page 24: Inteligencia Artificial Manual SBR

Inteligencia Artificial

24

5. Simular el encadenamiento hacia atrás.

Vamos a utilizar el dominio definido en el apartado uno , para ello el usuario deberá cargarlo

previamente.

Comencemos por el encadenamiento hacia delante, por se el concerniente a este punto.

Para poder ejecutar esta opción tenemos que ir en la ventana principal a Encadenamiento y de

ella a FC (ForwardChain).Tal y como se muestra en la figura siguiente:

Figura 5.1: Pantalla inicial.

Tras pulsar la opción señalada anteriormente nos aparecerá la siguiente ventana:

Page 25: Inteligencia Artificial Manual SBR

Inteligencia Artificial

25

Figura 5.2: Selección del objetivo para BC (1)

Con esta ventana lo que se pretende es que el usuario seleccione el o los objetivos que desea,

para esta ejecución , como mínimo deberá seleccionar uno , no existiendo máximo establecido.

Para materializar la explicación del manejo de esta parte vamos a indicar a la aplicación que solo

queremos Fruta como objetivo para ello hacemos clic sobre Fruta y pulsamos el botón ,

quedándonos de la siguiente manera:

Figura 5.3: Selección del objetivo para BC (2)

El otro botón se utiliza en el caso de que queramos quitar un atributo que lo habíamos

seleccionado previamente.

Pulsamos el botón aceptar y nos encontramos con :

Page 26: Inteligencia Artificial Manual SBR

Inteligencia Artificial

26

Figura 5.4: Pantalla del encadenamiento hacia atrás, ciclo 0.

Antes de comenzar la ejecución vamos a explicar el significado de los componentes más

relevantes de la pantalla.

Esta pantalla tiene tres grandes zonas destinadas a la visualización de información que son:

V. Objetivos Reglas; Encargada de mostrar al usuario los objetivos y de las reglas que nos

permiten derivarlos , cuando se conozcan, y su estado *

VI. Traza: Explica al usuario todas las decisiones tomadas.

VII. BC: Proporciona información sobre los atributos conocidos y su valor.

En el ciclo 0 como aún no hemos comenzado la simulación Objetivos Reglas solo nos muestra el

objetivo, pues las reglas que nos permiten derivarlo aún no las conocemos.

Comencemos con la simulación , para ello tenemos que pulsar el botón , a continuación la

aplicación nos muestra el ciclo 1.

*El estado de los objetivos y de las reglas esta codificado mediante los colores que podemos

observar en la leyenda.

Page 27: Inteligencia Artificial Manual SBR

Inteligencia Artificial

27

Figura 5.5: Pantalla del encadenamiento hacia atrás, ciclo 1.

Como estamos trabajando con un ejemplo muy sencillo ya hemos llegado a la solución pues fruta

ya ha sido derivado por R0 (por eso esta en color verde), R1 como ni siquiera la llegamos a

examinar esta en negro.

Como en el encadenamiento hacia delante también podemos pulsar el botón para ver el ciclo

anterior. También mediante el menú archivo tenemos la opción de Reiniciar y salir.