encad hacia atras

53
Mg. Abraham Gamarra Moreno INTELIGENCIA ARTIFICIAL DISEÑO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRÁS AUTOR: GAMARRA MORENO, ABRAHAM ESTEBAN LIMA - PERÚ - Abril de 2007 -

Upload: andrei-ccahuana-ignacio

Post on 13-Dec-2015

40 views

Category:

Documents


0 download

DESCRIPTION

...

TRANSCRIPT

Mg. Abraham Gamarra Moreno

INTELIGENCIA ARTIFICIAL

DISEÑO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRÁS

AUTOR:

GAMARRA MORENO, ABRAHAM ESTEBAN

LIMA - PERÚ

- Abril de 2007 -

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás ii

CONTENIDO

DISEÑO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRÁS

1. Introducción ..................................................................................................... 1

2. Metodología general para el diseño de sistemas basado en reglas con encadenamiento hacia atrás ............................................................................ 1

3. Tarea 1: Definición del problema ..................................................................... 2

4. Tarea 2: Definición de los objetivos ................................................................. 4

5. Tarea 3: Diseño de las reglas .......................................................................... 5

5.1. Tablas de decisión................................................................................... 7

5.2. Reglas objetivo ........................................................................................ 7

5.3. Red de inferencia .................................................................................... 8

5.4. Prueba de reglas ..................................................................................... 9

5.5. Orden de búsqueda............................................................................... 10

5.6. Búsqueda exhaustiva versus búsqueda no exhaustiva ......................... 11

6. Tarea 4: Expandiendo el sistema................................................................... 12

6.1. Expansión del estado personal.............................................................. 13

6.2. Expansión de la edad ............................................................................ 15

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás iii

6.3. Problema con else................................................................................. 16

6.4. Expandiendo la estabilidad del trabajo .................................................. 17

6.5. Red de inferencia del estado personal .................................................. 19

6.6. Expandiendo el estado financiero.......................................................... 19

6.7. Red de inferencia del estado financiero ................................................ 21

7. Tarea 5: Refinar el sistema............................................................................ 21

7.1. Uso de variables para números............................................................. 22

7.2. Red de seguridad inteligente ................................................................. 23

7.3. Proveer hallazgos principales................................................................ 26

8. Tarea 6: Diseño de interfaz............................................................................ 27

8.1. Visualización introductoria ..................................................................... 27

8.2. Preguntas adecuadas............................................................................ 27

8.3. Indicaciones de pantalla ........................................................................ 28

9. Tarea 7: Evaluación del sistema .................................................................... 31

9.1. Revisión de la sesión............................................................................. 38

9.2. Apectos futuros...................................................................................... 39

10. Resumen del diseño de un sistema con encadenamiento hacia atrás .......... 42

11. Implementación del sistema experto para asesoría de inversión................... 43

11.1. Ejecución del sistema experto implementado en EXSYS PRO............. 43

BIBLIOGRAFIA .................................................................................................... 50

Mg. Abraham Gamarra Moreno

DISEÑO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRÁS

1. INTRODUCCIÓN En este trabajo se considerara las etapas que un ingenie-

ro de conocimiento realiza para desarrollar un sistema

experto basado en reglas con encadenamiento hacia atrás.

Este proceso se ilustrara con un pequeño problema de pla-

nificación de inversión personal.

2. METODOLOGÍA GENERAL PARA EL DISEÑO DE SISTEMAS BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRÁS

La primera tarea antes de realizar el diseño de un siste-

ma experto es el tener un conocimiento general del pro-

blema. Se debe determinar los objetivos del sistema, y

obtener información del experto con el fin de tener reco-

mendaciones validas.

Una característica común al diseño de cualquier sistema

experto es que es un proceso altamente iterativo. El pro-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 2

ceso cíclico continua en aumento mientras el sistema cre-

ce.

Este estilo de desarrollo cíclico es típico cuando se

construye un sistema con encadenamiento hacia atrás.

Hay siete tareas principales que se realizan cuando se

desarrolla un sistema con encadenamiento hacia atrás:

• Definir el problema

• Definir los objetivos

• Definir las reglas

• Expandir el sistema

• Refinar el sistema

• Diseño de la interfase

• Evaluación del sistema

De entrada estos pasos son aplicables a una pequeña parte

del sistema y luego mediante su iteración se expanden a

todo el sistema hasta que ha sido refinado y obtener el

rendimiento de un experto.

Para la explicación de cómo trabaja el sistema con enca-

denamiento hacia atrás nos valdremos de un ejemplo apli-

cado a la cartera de inversiones.

3. TAREA 1: DEFINICIÓN DEL PROBLEMA El primer paso para el desarrollo de cualquier sistema

experto debe ser aprender sobre el tema. Nuestra tarea en

este caso será desarrollar un sistema experto para ayudar

a tomar decisiones financieras a un cliente que desea in-

vertir. Para ello se debe reunir información acerca del

como trabaja una bolsa de inversiones.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 3

Los reportes, documentos, libros son buenas fuentes de

información para cualquier experto en proyectos. Estas

fuentes nos proporcionan un buen nivel para lograr el en-

tendimiento del tema y de su solución. A pesar de ello,

el de ser buenos puntos de partida, siempre es necesario

contar con la ayuda de un experto.

De tener la suerte de encontrar un buen experto, la si-

guiente tarea es sacarle información acerca del tema. Por

ejemplo, en nuestro caso seria necesario que nos diga en

que rubros se puede invertir.

El experto nos podría indicar que la cartera de inversio-

nes puede clasificarse en:

ACCIONES

Transferencias Empresas Comunes

BONOS

Del tesoro Corporaciones Municipales

FONDOS MUTUOS

Efectivo Bonos Acciones

AHORROS

Cuenta corriente Mercado monetario Cuentas de ahorro

PRODUCCIÓN

Agricultura Precio de metales Petróleo

INMUEBLES

Comercial Residencial Terrenos

Durante la explicación de esta lista el experto podría

incluir algunos comentarios de cómo formar la cartera de

inversiones. No obstante, es preferible tomar la informa-

ción por etapas.

Consejo de diseño: Durante la etapa de definición del

problema, no se debe interrumpir al experto por problemas

de detalles. Es preferible entender el problema en forma

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 4

general. Los detalles se pueden obtener después durante

discusiones posteriores con el experto.

Luego de elegir la cartera de inversiones es factible

continuar con el análisis de que medios de inversión se

van usar dentro de cada categoría, es decir, cuales son

los mas adecuados para cada cliente. Estos mecanismos de

refinamiento puede tratarse según el nivel de profundidad

a que se desee llegar en el análisis.

4. TAREA 2: DEFINICIÓN DE LOS OBJETIVOS Lo primero es definir los objetivos que el sistema va al-

canzar. Después de alternar con el experto se puede lle-

gar a la conclusión de que los dos objetivos principales

a lograr son:

1. Determinación de la composición de la cartera de in-

versiones.

2. Determinación de los medios de inversión dentro de

cada categoría.

Para mantener la simplicidad de nuestro sistema, escoge-

remos solamente el primer objetivo y se asumirá que el

segundo objetivo podría ser alcanzado en una revisión fu-

tura del sistema.

Una cartera de inversiones es simplemente la distribución

de la inversión en una o más categorías generales. Un

sistema de accesoria de inversiones podría necesitar una

gran cantidad de recomendaciones. Manteniendo nuestro

criterio de simplicidad, se asumirá que sólo se tiene

cuatro posibles alternativas:

Cartera 1: 100% de inversión en ahorros

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 5

Cartera 2: 60% en acciones, 30% en bonos, 10% en aho-

rros

Cartera 3: 20% en acciones, 40% en bonos, 40% en aho-

rros

Cartera 4. 100% de inversión en acciones

Consejo de diseño: Focalizar el diseño original en una

pequeña parte representativa del problema completo.

5. TAREA 3: DISEÑO DE LAS REGLAS Cada objetivo de nuestro sistema debe tener al menos una

regla. Es necesario obtener el conjunto de premisas para

satisfacer cada regla. La forma general de nuestras re-

glas será la siguiente:

IF Premisas 1 AND Premisas 2 . .0 . . THEN Cartera_i

En base a las premisas el experto efectúa la recomenda-

ción de una cartera determinada. Estos antecedentes se

obtienen luego de efectuar consultas al experto. Conside-

remos la siguiente interacción entre el ingeniero de co-

nocimiento (IC) y el experto en el área (EA):

IC: ¿Cómo escoger la cartera de inversión correcta para

el cliente?

EA: Cada inversión tiene un riesgo asociado con ella, de

modo, que yo necesito saber algo acerca del estado

personal y financiero del cliente. Cada una de estas

características es importante para recomendar una po-

sición agresiva o conservadora.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 6

IC: ¿De modo que Ud. recomienda un tipo determinado de

inversión basado el perfil personal y financiero del

cliente pensando en una posición agresiva o conserva-

dora?

EA: Sí.

IC: ¿No toma en cuenta otras consideraciones?

EA: Claro que sí. Si el cliente solo desea invertir una

pequeña cantidad de dinero, se asume que es realmente

conservador, e inmediatamente se le recomienda inver-

tir todo su dinero en ahorros.

IC: ¿Que cantidad Ud. considera como pequeña?

EA: Cualquier cantidad de dinero menor que $1000.

Esta discusión con el experto nos provee las principales

consideraciones atener en cuenta cuando se recomienda una

cartera de inversiones (nuestro objetivo):

• Condición personal del cliente (conservador o agre-

sivo)

• Estado financiero del cliente (conservador o agresi-

vo)

• Cantidad a invertir (pequeña o grande)

Ahora que se conoce las principales consideraciones, el

siguiente paso será determinar sus relación con la reco-

mendación correspondiente. Esto puede ser realizado a

través de discusiones con el experto, o elegirse otra

técnica que incluye una tabla de decisión.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 7

5.1. TABLAS DE DECISIÓN

Las tablas de decisión ofrecen una técnica de ad-

quisición de conocimiento que evita problemas nor-

malmente asociados con la técnica de entrevistas.

Una tabla de decisión provee un formato fácil de

llenar que el experto puede usar para realizar su

decisión.

CANTIDAD A INVERTIR

ESTADO PERSONAL

ESTADO FINANCIERO CONSEJO

Pequeña Cartera 1 No Pequeña Conservador Conservador Cartera 1 No Pequeña Conservador Agresivo Cartera 2 No Pequeña Agresivo Conservador Cartera 3 No Pequeña Agresivo Agresivo Cartera 4

Tabla 1. Tabla de decisión para las reglas objetivo.

Los factores de decisión para nuestras reglas se

muestras en las etiquetas en el extremo superior de

las primeras tres columnas. La etiqueta en la últi-

ma columna a la derecha es el consejo dado por el

experto.

5.2. REGLAS OBJETIVO

Podemos usar esta tabla para escribir nuestros ob-

jetivos. Si fuera muy grande la tabla, necesitaría-

mos usar herramientas de inducción. Dado que esta

tabla es pequeña, se pueden escribir las reglas por

simple inspección. Las siguientes reglas están re-

presentadas por el siguiente seudo código:

Regla 1

IF Cantidad de inversión del cliente < 1000 THEN La sugerencia ES invertir el 100% en ahorros

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 8

Regla 2 IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición conservadora AND El estado financiero del cliente sugiere \ una posición conservadora THEN La sugerencia ES invertir el 100% en ahorros

Regla 3 IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición conservadora AND El estado financiero del cliente sugiere \ una posición agresiva THEN La sugerencia ES invertir el 60% en acciones, 30% en bonos y el 10% en ahorros

Regla 4 IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición agresiva AND El estado financiero del cliente sugiere \ una posición conservadora THEN La sugerencia ES invertir el 20% en acciones, 40% en bonos y el 40% en ahorros

Regla 5 IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición agresiva AND El estado financiero del cliente sugiere \ una posición agresiva THEN La sugerencia ES invertir el 100% en acciones

5.3. RED DE INFERENCIA

Incluso en los estados tempranos de un proyecto es

útil dibujar una red de inferencia de las reglas

que se han hallado. La red de inferencia muestra

las relaciones lógicas entre las informaciones re-

presentadas en las reglas (Ilustración 1).

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 9

5.4. PRUEBA DE REGLAS

Después de formular las reglas del sistema, se de-

berá probar el sistema. En general después de for-

mular cualquier nuevo conocimiento en un sistema

experto, se deberá inmediatamente probar el siste-

ma.

Consejo de diseño: Luego de la formulación de cual-

quier nuevo conocimiento en un sistema experto, se

deberá inmediatamente probarlo, usando información

especifica al nuevo conocimiento.

Esto es particularmente importante durante las eta-

pas tempranas del desarrollo del sistema cuando de-

be probarse exhaustivamente el sistema. Probar las

reglas del sistema implica el correr varias veces

el sistema para diferentes combinaciones de res-

puestas.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 10

Estado

personal =

Agresivo

Estado

personal =

conservador

Inversión >=1000

Cartera

1

Inversión < 1000

Cartera 4

Cartera

3 Cartera

2

Or

And

And

And

And

Estado

financiero

= Agresivo

Estado

financiero =

conservador

Ilustración 1. Red de inferencia de las reglas objetivo

5.5. ORDEN DE BÚSQUEDA

Otro aspecto importante en la prueba del sistema,

en las primeras etapas del proyecto, es el orden en

que el sistema busca el conocimiento. La mayoría de

shells buscan reglas de competencia en el orden en

que son ingresadas. En nuestro sistema esto impli-

caría que la regla 1 es la que se debe buscar pri-

mero. Además, la primera pregunta que el sistema

debería realizar es que cantidad de dinero el

cliente desea invertir. Por ello es necesario efec-

tuar un buen ensamblaje de nuestros objetivos para

que no se pierda tiempo en preguntas innecesarias

cuando alguna pregunta clave del sistema podría es-

tar dando resultados concretos.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 11

5.6. BÚSQUEDA EXHAUSTIVA VERSUS BÚSQUEDA NO EX-HAUSTIVA

Un sistema con encadenamiento hacia atrás se puede

programar para que realice búsquedas exhaustivas o

no exhaustivas. Una búsqueda exhaustiva continua

buscando todas las reglas para alcanzar algún obje-

tivo, incluso si el objetivo se ha establecido por

el disparo de una de las reglas. Una búsqueda no

exhaustiva se detiene después de disparar sólo una

regla. El decidirse por alguna de estos procedi-

mientos depende del tipo de sistema y del modo en

que los expertos resuelvan los problemas en deter-

minados campos.

En nuestro caso, desearíamos que si se descubre que

el cliente tiene menos de $1000, entonces el siste-

ma se detenga incluso cuando fueran posibles otras

recomendaciones. La mayoría de shells realizan por

defecto una búsqueda no exhaustiva.

Si nuestro problema fuera encontrar todas las reco-

mendaciones de carteras posibles, entonces desea-

ríamos emplear técnicas de búsqueda exhaustivas.

Por ejemplo, si deseáramos una lista de recomenda-

ciones, y ordenarlas de acuerdo a un ranking aso-

ciado a un grado de probabilidad, entonces seria

necesario un tipo de búsqueda exhaustiva.

En este caso, el sistema buscaría los posibles va-

lores para la cartera recomendada. Según este pro-

cedimiento, un resultado que podría darse seria el

siguiente:

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 12

Recomendación de cartera de inversión Probabilidad60 % stocks, 30 % bonos, 10 % ahorros 90 % 100 % de inversión en stocks 85 % 20 % stocks, 40 % bonos, 40 % ahorros 70 % 100 % de inversión en ahorros 60 %

6. TAREA 4: EXPANDIENDO EL SISTEMA En este punto nuestro sistema tiene cinco reglas y puede

recomendar 4 carteras diferentes. Es totalmente funcio-

nal, pero no muy inteligente. El principal forma para me-

jorar la inteligencia de un sistema experto es expandir

su conocimiento. Aquí, hay dos opciones disponibles: am-

pliando o profundizando el conocimiento del sistema. Se

entiende por ampliar el conocimiento a “enseñar” al sis-

tema sobre problemas adicionales. En nuestro ejemplo, po-

demos enseñarle otras mixturas de las carteras de inver-

siones. Este tipo de expansión es bastante fácil y usual-

mente reservada para más adelante en el proyecto.

La otra opción de profundizar el conocimiento del sistema

se entiende como: “enseñar” más acerca de los problemas

ya conocidos. En nuestro ejemplo, deberíamos enseñarle

como determinar las premisas de las reglas objetivo. Esto

es una técnica de expansión comúnmente usada en las pri-

meras etapas del proyecto. Para apreciar porque se da es-

te caso, considere la siguiente respuesta al sistema de-

bido a la pregunta derivada de una de las reglas presen-

tes en el conjunto de reglas actual:

Sistema: ¿Sugiere una posición conservadora para el

estado personal del cliente?

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 13

Esto podría ser una pregunta difícil de contestar para el

usuario porque requiere alguna especialización en el pro-

blema.

En general, durante el desarrollo entero del sistema ba-

sado en reglas, Ud. debería estar averiguando que puede

expandirse en profundidad. Pregúntese usted mismo (o aun

mejor pregunte al usuario) si el usuario puede contestar

eficazmente la pregunta planteada por el sistema. Si la

respuesta es no, entonces añada conocimiento al sistema

que fuerce a buscar más información primitiva y fiable.

En la actualidad, nuestro sistema tiene tres problemas

que pueden ser expandidos en profundidad:

1. La cantidad de inversión del cliente

2. El estado personal del cliente

3. El estado financiero del cliente

La primera no necesita mayor expansión ya que el sistema

requiere hacer una pregunta sobre la cantidad a invertir.

Las otras, sin embargo, necesitan ser expandidas. Para

lograrlo necesitamos consultar otra vez al experto.

Consejo de diseño: Expanda un problema por vez. Esto per-

mite al experto enfocarse en un sólo problema y evita

problemas comúnmente encontrados cuando al experto se le

pide dirigirle a múltiples problemas.

6.1. EXPANSIÓN DEL ESTADO PERSONAL

Para expandir el estado personal tenemos dos pre-

guntas para el experto, una para cada posible va-

lor: conservador o agresivo.

IC: ¿Cómo Usted determina que el estado personal

del cliente tiene una posición conservador?

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 14

EA: Sugeriría una posición conservadora si el

cliente es viejo o su trabajo no es estable.

Proporcionaría la misma sugerencia si el clien-

te es joven, tiene trabajo estable, pero tiene

hijos.

Las dos heurísticas se pueden representar por:

Regla 6 IF El cliente ES viejo OR El trabajo del cliente ES no estable THEN El estado personal del cliente sugiere \ una posición conservadora

Regla 7 IF El cliente ES joven AND El trabajo del cliente ES estable AND El cliente tiene \ niños THEN El estado personal del cliente sugiere \ una posición conservadora

Ahora se tiene dos reglas de profundidad que condu-

cen a una de las premisas de las reglas objetivos.

La siguiente pregunta determina la posición agresi-

va del cliente:

IC: ¿Cómo Usted determina que el estado personal

del cliente tiene una posición agresiva?

EA: Sugeriría una posición agresiva si el cliente

es joven, su trabajo es estable, pero no tiene

hijos.

La nueva información es capturada en la siguiente

regla:

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 15

Regla 8 IF El cliente ES joven AND El trabajo del cliente ES estable AND El cliente tiene \ no niños THEN El estado personal del cliente sugiere \ una posición agresiva

De esta discusión con el experto se obtuvieron di-

ferentes reglas para soportar el proceso de infe-

rencia en profundidad. Sin embargo, también descu-

brimos nuevos problemas que necesitarían ser explo-

rados:

1. Edad del cliente: Joven, viejo

2. Trabajo del cliente: Estable, no estable

3. Tiene hijos el cliente: Verdadero o falso

Uno de ellos puede ser contestado directamente y no

tiene que ser explorado. Sin embargo, expandiremos

los otros dos, uno por vez.

6.2. EXPANSIÓN DE LA EDAD

Para expandir la edad preguntamos al experto:

IC: ¿A que punto Usted considera a alguien viejo?

EA: 40 años

IC: ¿A que punto Usted considera a alguien joven?

EA: Alguien menor de 40 años

De estas preguntas nosotros podemos escribir las

siguientes reglas:

Regla 9 IF Edad del cliente < 40 THEN El cliente ES joven

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 16

Regla 10 IF Edad del cliente >= 40 THEN El cliente ES viejo

Antes de continuar con la expansión de nuestro sis-

tema, echemos una mirada a una peligro que común-

mente caen muchos diseñadores del sistema.

6.3. PROBLEMA CON ELSE

Muchos ingenieros del conocimiento tienen instruc-

ción en la programación tradicional.

Antes de pasar al campo de los ingenieros de cono-

cimiento, estos programadores fueron cuadriculados

en la importancia de escribir procedimientos conci-

sos: “puede ser echo con una línea de código en vez

de dos”. Cuando desarrollamos un sistema experto no

se esta codificando procedimientos sino codificando

conocimientos. A menudo, intentar comprimir dos

piezas de conocimiento en una regla puede causar

problemas. Estos problemas se encuentran a menudo

con el uso de la sentencia ELSE.

Para ilustrar este punto, consideremos el problema

de la edad. Con la información proporcionada por el

experto sobre este problema se puede capturar esta

situación como:

IF Edad del cliente < 40 THEN El cliente ES joven ELSE El cliente ES viejo

Superficialmente la regla no tiene ningún error y

representa lógicamente el conocimiento del experto.

Sin embargo, asumamos que usamos esta regla pero

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 17

después decidimos añadir la siguiente regla que in-

troduce una nueva categoría de edad:

IF Edad del cliente < 50 AND Edad del cliente >= 40 ELSE El cliente ES de-edad-media

Ahora, si nosotros encontramos una persona cuya

edad es de 45, nuestro sistema concluirá que él es

tanto viejo como de edad media. El disparo de estas

dos reglas son el resultado de las inconsistencias

de las conclusiones. Reconocemos que la regla que

contienen la parte ELSE siempre se dispara.

Para evitar las inconsistencias del sistema es ne-

cesario llevar la cuenta de las reglas que usan EL-

SE. A menudo el uso de ELSE dificulta el manteni-

miento del sistema por lo que debe evitar su uso.

Consejo de diseño: Evitar la sentencia ELSE siempre

que sea posible.

6.4. EXPANDIENDO LA ESTABILIDAD DEL TRABAJO

Para expandir la estabilidad hacemos dos preguntas

al experto:

IC: ¿Cómo Usted determina la estabilidad del traba-

jo del cliente?

EA: Usualmente considero dos cosas: los años de

servicio del cliente en su actual compañía y la

tasa de despidos que la compañía esta experi-

mentando. Por ejemplo, si él ha trabajo en la

compañía entre 3 y 10 años, y la tasa de despi-

dos es bajo, entonces asumo las cosas como es-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 18

table. De hecho, si él ha trabajado allí por

más de 10 años, siento que las cosas están

bien.

De estas dos respuestas escribimos las siguientes

reglas:

Regla 11 IF Años de servicio del cliente ES 10 años o más THEN El trabajo del cliente ES estable

Regla 12 IF Años de servicio del cliente ES entre 3 y 10 años AND La tasa de despidos temporal ES baja THEN El trabajo del cliente ES estable

Continuamos la discusión con el experto y le pre-

guntamos:

IC: ¿Cómo Usted determina la inestabilidad del tra-

bajo del cliente?

EA: Si los años de servicio del cliente es de 3 a

10 años y la tasa de despidos es alta, entonces

asumo las cosas como inestables. De echo, si él

ha trabajado allí por menos de 3 años, siento

que las cosas no son realmente estables.

De estas respuestas podemos escribir las siguientes

dos reglas:

Regla 13 IF Años de servicio del cliente ES entre 3 y 10 años AND La tasa de despidos temporal ES alta THEN El trabajo del cliente ES no estable

Regla 14 IF Años de servicio del cliente ES menor que 3 años

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 19

THEN El trabajo del cliente ES no estable

6.5. RED DE INFERENCIA DEL ESTADO PERSONAL

Podemos añadir las nuevas reglas a la red original

de inferencia. La Ilustración 2 muestra la parte de

esta nueva red enfocado al estado personal del

cliente.

Cliente es

viejo

>=40

Or

Estado personal =

conservador

Estado personal =Agresivo

Trabajo no

estable Cliente es

joven Trabajo estable

Cliente tiene hijos

Cliente no tiene hijos

And And

Or

Servicio

< 3 Tasa de

despidos alto

And

Servicio 3 - 10 Tasa de

despidos bajo

Servicio

> 10

< 40

And

Ilustración 2. Red de inferencia para el estado personal

6.6. EXPANDIENDO EL ESTADO FINANCIERO

Para expandir el estado financiero del cliente pre-

guntamos al experto:

IC: ¿Cómo Usted sabe el estado financiero del

cliente para sugerir una posición conservadora?

EA: Sugeriría una posición conservadora si el total

de activos es menor que su total de pasivos.

También, si su total de activos excede su total

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 20

de pasivos pero son menor ... pienso ...

aproximadamente dos veces sus pasivos ... y ...

él tiene niños, entonces otra vez recomiendo

una posición conservadora.

De estas respuestas podemos escribir las siguientes

dos reglas:

Regla 15 IF Total de activos < Total de pasivos THEN El estado financiero del cliente sugiere \ una posición conservadora

Regla 16 IF Total de activos > Total de pasivos AND Total de activos < 2 * Total de pasivos AND El cliente tiene \ niños THEN El estado financiero del cliente sugiere \ una posición conservadora

Continuando nuestra discusión, preguntamos lo si-

guiente:

IC: ¿Cómo Usted sabe el estado financiero del

cliente para sugerir una posición agresiva?

EA: Sugeriría una posición agresiva si el total de

activos excede al total de pasivos por un fac-

tor igual a 2. Además, si su total de activos

excede su total de pasivos, pero fue menor a

dos veces esta cantidad, y él no tiene niños,

entonces otra vez recomiendo una posición agre-

siva.

De esta discusión podemos escribir las siguientes

reglas:

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 21

Regla 17 IF Total de activos > 2 * Total de pasivos THEN El estado financiero del cliente sugiere \ una posición agresiva

Regla 18 IF Total de activos > Total de pasivos AND Total de activos < 2 * Total de pasivos AND El cliente tiene \ no niños THEN El estado financiero del cliente sugiere \ una posición agresiva

6.7. RED DE INFERENCIA DEL ESTADO FINANCIERO

Para mantener el registro del conocimiento recolec-

tado, añadimos estas nuevas reglas a la red de in-

ferencia. La parte asociada con el estado financie-

ro es mostrado en la Ilustración 3.

Total activo <

total pasivo

Or

Estado financiero = conservador

Estado financiero =

Agresivo

Total activo < 2

* total pasivo

Cliente tiene hijos

Total activo > 2

* total pasivo

Total activo >

total pasivo

Cliente no tiene hijos

And

And

Ilustración 3. Red de inferencia para el estado financiero

7. TAREA 5: REFINAR EL SISTEMA En este punto se tiene ya un sistema completamente fun-

cional que cumple con los objetivos iniciales. Pero se

pueden añadir características adicionales que mejoren

tanto el desempeño como el mantenimiento.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 22

7.1. USO DE VARIABLES PARA NÚMEROS

Frecuentemente durante el desarrollo de un sistema

experto se necesitan emplear números dentro de una

regla. Así en nuestro problema el experto consideró

una edad de 40 años a más para ser viejo. Se captu-

ró esta heurística en la REGLA 10 donde este número

se usa explícitamente dentro de la regla. En un

sistema grande basado en reglas este mismo número

puede aparecer muchas veces a través de la base de

conocimiento. Si luego existiera la necesidad de

cambiar este número, será necesario ubicar cada re-

gla y hacer la corrección, esta tarea puede ser

complicada y dificulta el mantenimiento del siste-

ma.

Un mejor enfoque es el de emplear variables para

reemplazar los números usados en las reglas, a las

variables se le asigna un valor dentro de la por-

ción de inicialización del programa. Este enfoque

le permite ubicar fácilmente la variable que nece-

sita ajuste y requiere un cambio solamente en la

asignación del valor a la variable y no en las re-

glas.

En nuestro sistema ejemplo, los números se emplea-

ron para los siguientes elementos:

• Edad del cliente.

• Años de servicio del cliente

• Relación entre activos y pasivos

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 23

Se puede reemplazar el uso explícito de los números

usados en estos asuntos con las siguientes varia-

bles y las asignaciones iniciales. Así tenemos:

EDAD DEL CLIENTE Inicializar VEJEZ = 40

Regla 9 IF Edad del cliente < VEJEZ THEN El cliente ES joven

AÑOS DE SERVICIO DEL CLIENTE Inicializar SERVICIO_LARGO = 10 SERVICIO_CORTO = 3

Regla 11 IF Años de servicio del cliente >= SERVICIO_LARGO THEN El trabajo del cliente ES estable

ACTIVOS Y PASIVOS Inicializar FACTOR DE SEGURIDAD = 2

Regla 17 IF Total de activos > FACTOR DE SEGURIDAD * Total de pasivos THEN El estado financiero del cliente sugiere \ una posición agresiva

7.2. RED DE SEGURIDAD INTELIGENTE

En las aplicaciones de programación tradicional, el

usuario probaba el código para todas las posibles

combinaciones de entrada para verificar su opera-

ción. Esto es posible porque la cantidad de datos

de entrada esta frecuentemente limitada a un número

finito de posibilidades. Sin embargo, cuando se de-

sarrolla un sistema experto, generalmente nos en-

contramos con un número grande de posibles combina-

ciones de entrada, que no permiten la prueba ex-

haustiva del sistema. En esta situación, puede

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 24

existir la posibilidad que el sistema no sea capaz

de alcanzar una recomendación final.

Para manejar este problema, se necesita desarrollar

una “red de seguridad” para el sistema. Una red de

seguridad es simplemente un curso de acción que el

sistema toma si este falla al tratar de alcanzar

una recomendación. Este puede ser tan complejo como

cargar otra base de conocimientos que tratara de

corregir la situación, o, tan simple, como una sen-

tencia por defecto que le muestre al usuario su fa-

lla.

Otro enfoque que podría elegirse es elaborar una

“red de seguridad inteligente”. Por inteligente se

entiende que le sistema le dice al usuario que se

encontró algo que podría interesarle, aunque la re-

comendación final no se alcanzo.

La forma más simple de alcanzar esto es a través de

la agenda de metas. Se necesita incluir una meta

que el sistema persiga solo si la meta primaria no

fue alcanzada. Esta meta deberá ser la conclusión

de una regla simple que se garantice se dispare y

muestre la información apropiada. La premisa de la

regla puede ser un hecho simple, previamente afir-

mada en la memoria de trabajo, el que actúa sólo

para disparar la regla.

Para nuestro sistema ejemplo, podemos elegir infor-

mar al usuario acerca del estado personal y finan-

ciero del cliente en la red de seguridad. Para cum-

plir con esto, primero tendríamos que hacer el si-

guiente ajuste a nuestra agenda de metas:

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 25

1. La sugerencia de Portafolio ES QUE

2. Visualizar por defecto

La primera meta, la que fue previamente desarrolla-

da, se busca primero. Se necesita estar seguro que

la segunda meta será perseguida sólo en el caso que

la primera meta no se alcance.

Es necesario escribir la regla que visualice el

texto por defecto al usuario:

Regla 18 IF Recomendación se desconoce THEN Visualizar por defecto AND DISPLAY TEXTO POR DEFECTO

La premisa de esta regla debe ser afirmada en la

memoria de trabajo cuando la sesión comience usando

alguna forma de la sentencia “INIT” (inicializar).

Cuando esta regla se dispara, el texto asociado con

la sentencia “DISPLAY TEXTO POR DEFECTO” debe ser

mostrada al usuario. El texto debe informar al

usuario que el sistema no logró alcanzar una reco-

mendación y para dar los hallazgos acerca del esta-

do del cliente:

DISPLAY TEXTO POR DEFECTO Lo siento pero no pude determinar un portafolio que cumpla las necesidades del cliente. Sin embargo so-bre la base del estado personal del cliente podría recomendar [Sugerencias al estado personal del cliente] y en el estado financiero [Sugerencias al estado financiero del cliente]. Cuando se visualice esto al usuario, los valores

encontrados para “Sugerencias al estado personal

del cliente” y “Sugerencias al estado financiero

del cliente” debería presentarse. Aunque le sistema

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 26

no tuvo éxito, el usuario se puede beneficiar al

obtener esta información.

7.3. PROVEER HALLAZGOS PRINCIPALES

Algo que es cómodo para el usuario durante la con-

sulta es mantenerlo informado acerca de los hallaz-

gos principales y direcciones que el sistema toma.

Existen varios lugares en el sistema donde se pue-

den elegir visualizar los hallazgos intermedios.

Por ejemplo, si queremos visualizar la valoración

al estado personal del cliente. Sería necesario en-

tonces añadir una sentencia a cada regla que con-

cluya en este asunto, la sentencia debe mostrar la

información adecuada. Así se considera para la re-

gla 6:

Regla 6 IF El cliente ES viejo OR El trabajo del cliente ES no estable THEN El estado personal del cliente sugiere \ una posición conservadora AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE Después de considerar los asuntos personales del cliente, podría sugerir [Sugerencias al estado per-sonal del cliente]. Continuare ahora con los aspec-tos financieros del cliente. La visualización no solo presenta los hallazgos ac-

tuales, también muestra la dirección que el sistema

tomará próximamente.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 27

8. TAREA 6: DISEÑO DE INTERFAZ El usuario tiene contacto con el sistema a través de la

interfaz del sistema. Muchas veces la aceptación del sis-

tema depende en como la interfaz se acomoda a las necesi-

dades del usuario, los diferentes shells ofrecen ayuda en

esta tarea. Podemos considerar varios aspectos que se de-

ben considerar en esta tarea.

8.1. VISUALIZACIÓN INTRODUCTORIA

Cada sistema experto debería tener una visualiza-

ción introductoria. Como mínimo se debería explicar

acerca del propósito general del sistema. En el

sistema de ejemplo deberíamos visualizar una expli-

cación al usuario que le diga que el sistema dará

una recomendación de portafolio que reúna las nece-

sidades del cliente. También podría adicionalmente

explicar como el sistema llevará a cabo la tarea

primaria, En nuestro caso, se explicará que el sis-

tema explorará tanto asuntos personales como finan-

cieros para arribar a una recomendación.

8.2. PREGUNTAS ADECUADAS

La mayoría de los shells automáticamente generan

preguntas a partir de las primitivas encontradas en

las reglas. Por ejemplo, en el aspecto de los “Ac-

tivos totales” el sistema podría preguntar:

SISTEMA: ¿Activos Totales? Este tipo de preguntas a parte de ser frías puede

confundir al usuario llevándolos a contestarlas

equivocadamente. Ante tal pregunta, el usuario po-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 28

dría preguntarse “¿Qué activos considero?”, o,

“¿Ingreso las cantidades en dólares?”.

La mayoría de los shells permiten colocar las pre-

guntas adecuadas al usuario, de tal manera que se

reciban respuestas confiables. Considere el si-

guiente ejemplo:

SISTEMA: Por favor dame la cantidad en dólares total de los activos que el cliente po-see. Incluyendo la tenencia de cuentas bancarias, acciones, bonos, inmuebles, etc. Por favor ingrese la cantidad en dólares sin comas, por ejemplo 150000.

8.3. INDICACIONES DE PANTALLA

Es importante dar instrucciones claras de cada pan-

talla presentada al usuario. Muestre claramente

cualquier opción disponible para la pantalla actual

y las indicaciones de su uso. A continuación se

ilustra como dar instrucciones de pantallas claras.

Continuación de la sesión Aquí se considera la tarea de continuar la sesión

siguiendo lo que se muestra en algunos textos o

gráficos. Por ejemplo si se va a emplear la tecla

ENTRAR o alguna otra tecla para continuar la sesión

deberíamos colocar, una descripción corta como con-

tinuar. Así por ejemplo

Por favor presiones ENTRAR para continuar la se-sión.

Respuesta a preguntas con múltiples respuestas Se puede ayudar al usuario cuando se tengan pregun-

tas con varias opciones de respuesta. Así se podría

mostrar un menú de opciones, por ejemplo

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 29

SISTEMA: ¿Cuál es el nivel de educación del cliente? Seleccione tantos como sea ne-cesario y presione F4 para continuar.

Primaria Secundaria Bachillerato Ocupacional Técnico Universitaria Maestría Ph. D.

En este caso se le menciona al usuario que puede

seleccionar más de una opción y lo que debe hacer

para continuar.

Fin de sesión Cuando se visualice la pantalla final se presente

al usuario, se debería explicar que opciones están

disponibles y como seleccionarlas. Las opciones tí-

picas son:

• SALIR Parar/Salir del sistema.

• COMO Obtener la línea de razonamiento que lle-

vo a la conclusión.

• QUE SI Ver que efectos en la presente reco-

mendación tendría el cambiar las respuestas

previas.

• GUARDAR Almacenar la sesión actual

• REINICIAR Reiniciar la sesión

Considere por ejemplo lo siguiente

SISTEMA: Para salir del sistema presione F10. Si se desea reiniciar la sesión presione F3.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 30

Con instrucciones simples como estas el usuario, el

usuario sabe que puede hacerse, y evita la frustra-

ción obvia que resultaría cuando las opciones de

control no se presentan.

Visualización de Conclusiones La visualización de las conclusiones presenta al

usuario los hallazgos del sistema. Para nuestro

ejemplo, presentaremos el portafolio recomendado

para el cliente. En muchas aplicaciones esta visua-

lización limitada será suficiente. Pero en otros

casos se pude necesitar presentar un reporte más

detallado acerca del razonamiento detrás de la re-

comendación.

Una característica de los sistemas expertos es la

habilidad para explicar COMO (WHY) se derivaron las

recomendaciones. La mayoría de los shells ofrecen

respuestas que muestras detalladamente todos los

pasos seguidos por el sistema. En algunas aplica-

ciones estos detalles son necesarios para que los

usuarios acepten las recomendaciones finales. Sin

embargo, en otros casos, los usuarios estarán sa-

tisfechos con una visualización de alto nivel de

los hallazgos importantes que llevaron a la reco-

mendación final.

Para comodidad del usuario que sólo requiere una

visualización de alto nivel del razonamiento, el

sistema podría mostrar una sugerencia que permita

esta visualización de los hallazgos importantes.

Estos hallazgos importantes son asuntos importantes

que considera el sistema para determinar la reco-

mendación final.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 31

Para nuestro sistema podríamos mostrar

DISPLAY RECOMENDACIÓN FINAL

Recomendaría que el cliente invierta el dinero en [Sugerencia del Portafolio]. Recomiendo está inver-sión porque encontré que el estado personal del cliente sugiere [Sugerencia al estado personal del cliente] y el estado financiero del cliente sugiere [Sugerencia al estado financiero del cliente].

Aquí el usuario recibe una recomendación final y

razones de alto nivel de porque la recomendación se

hizo.

9. TAREA 7: EVALUACIÓN DEL SISTEMA En este punto nuestro sistema prototipo esta completo.

Todas las reglas se codifican en el sistema y se asume

que la interfaz se ha diseñado de acuerdo a las recomen-

daciones dadas en las secciones previas. También se asume

que el sistema ha pasado satisfactoriamente las pruebas

desarrolladas con cada expansión. El paso que sigue es

evaluar el sistema usado en el caso de pruebas reales.

Este proceso comienza preguntándole al experto por uno de

los casos pasados. Se asume que el caso involucra un

cliente de 30 años de edad, ha estado en una compañía 5

años con una tasa de despido temporal pequeña, tiene dos

hijos, y quiere invertir $50,000. El cliente también tie-

ne activos totales de $100,00 y pasivos totales de

$20,000. Para este caso el experto recomendó el Portafo-

lio 2: 60% en acciones, 30% en bonos y 10% en ahorros.

A continuación se muestran las reglas en nuestro sistema:

INIT FACTOR DE SEGURIDAD = 2 INIT VEJEZ = 40 INIT SERVICIO_LARGO = 10 INIT SERVICIO_CORTO = 3

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 32

INIT Recomendación se desconoce La sugerencia ES Visualizar por defecto RULE Visualizar por defecto IF Recomendación se desconoce THEN Visualizar por defecto AND DISPLAY TEXTO POR DEFECTO ¡------------------------------------------ ¡Reglas de Sugerencia de Inversión ¡------------------------------------------ RULE Sugerencia de 100% de inversión en el mercado de dinero – poco dinero IF Cantidad de inversión del cliente < 1000 THEN La sugerencia ES invertir el 100% en ahorros AND DISPLAY RECOMENDACIÓN FINAL RULE Sugerencia de 100% de inversión en el mercado de dinero IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición conservadora AND El estado financiero del cliente sugiere \ una posición conservadora THEN La sugerencia ES invertir el 100% en ahorros AND DISPLAY RECOMENDACIÓN FINAL RULE Sugerencia de invertir el 60% en acciones, 30% en bonos y el 10% en el mercado de dinero IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición conservadora AND El estado financiero del cliente sugiere \ una posición agresiva THEN La sugerencia ES invertir el 60% en acciones, 30% en bonos y el 10% en ahorros AND DISPLAY RECOMENDACIÓN FINAL RULE Sugerencia de invertir el 20% en acciones, 40% en bonos y el 40% en el mercado de dinero IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición agresiva AND El estado financiero del cliente sugiere \ una posición conservadora THEN La sugerencia ES invertir el 20% en acciones,

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 33

40% en bonos y el 40% en ahorros AND DISPLAY RECOMENDACIÓN FINAL RULE Sugerencia de invertir el 100% en acciones IF Cantidad de inversión del cliente >= 1000 AND El estado personal del cliente sugiere \ una posición agresiva AND El estado financiero del cliente sugiere \ una posición agresiva THEN La sugerencia ES invertir el 100% en acciones AND DISPLAY RECOMENDACIÓN FINAL ¡------------------------------------------ ¡Determinar el estado personal del cliente ¡------------------------------------------ RULE Inversiones conservadoras personales por la vejez o trabajo no estable IF El cliente ES viejo OR El trabajo del cliente ES no estable THEN El estado personal del cliente sugiere \ una posición conservadora AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE RULE Inversiones conservadoras personales por ser joven y tener niños IF El cliente ES joven AND El trabajo del cliente ES estable AND El cliente tiene \ niños THEN El estado personal del cliente sugiere \ una posición conservadora AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE RULE Inversiones agresivas personales por ser joven y no tener niños IF El cliente ES joven AND El trabajo del cliente ES estable AND El cliente tiene \ no niños THEN El estado personal del cliente sugiere \ una posición agresiva AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE ¡------------------------------------------ ¡Determinar el estado financiero del cliente ¡------------------------------------------

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 34

RULE Inversión financiera conservadora porque los pasivos exceden a los activos IF Total de activos < Total de pasivos THEN El estado financiero del cliente sugiere \ una posición conservadora AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE RULE Inversión financiera conservadora porque no existen suficientes activos para los niños IF Total de activos > Total de pasivos AND Total de activos < FACTOR DE SEGURIDAD * Total de pasivos AND El cliente tiene \ niños THEN El estado financiero del cliente sugiere \ una posición conservadora AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE RULE Inversión financiera agresiva porque existen suficientes activos y no se tiene niños IF Total de activos > Total de pasivos AND Total de activos < FACTOR DE SEGURIDAD * Total de pasivos AND El cliente tiene \ no niños THEN El estado financiero del cliente sugiere \ una posición agresiva AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE RULE Inversión financiera agresiva porque existen suficientes activos IF Total de activos > FACTOR DE SEGURIDAD * Total de pasivos THEN El estado financiero del cliente sugiere \ una posición agresiva AND DISPLAY LA VALORACIÓN DEL ESTADO PERSONAL DEL CLIENTE ¡------------------------------------------ ¡Determinar la edad del cliente ¡------------------------------------------ RULE El cliente ES joven IF Edad del cliente < VEJEZ THEN El cliente ES joven RULE El cliente ES viejo IF Edad del cliente >= VEJEZ

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 35

THEN El cliente ES viejo ¡------------------------------------------ ¡Determinar la estabilidad del trabajo del cliente ¡------------------------------------------ RULE El trabajo ES estable a causa de los varios años de servicio del cliente IF Años de servicio del cliente >= SERVICIO_LARGO THEN El trabajo del cliente ES estable RULE El trabajo ES estable a causa de los años de servicio moderado y baja tasa de despido temporal en la organización IF Años de servicio del cliente >= SERVICIO_CORTO AND Años de servicio del cliente < SERVICIO_LARGO AND La tasa de despidos temporal ES baja THEN El trabajo del cliente ES estable RULE El trabajo ES no estable a causa de los años de servicio moderado y alta tasa de despido temporal en la organización IF Años de servicio del cliente >= SERVICIO_CORTO AND Años de servicio del cliente < SERVICIO_LARGO AND La tasa de despidos temporal ES alta THEN El trabajo del cliente ES no estable RULE El trabajo ES no estable IF Años de servicio del cliente < SERVICIO_CORTO THEN El trabajo del cliente ES no estable

El sistema también incluye texto (que no se muestra) para

mostrar la introducción, preguntas, visualizaciones in-

termedias, y la visualización de conclusiones. La si-

guiente interacción entre el sistema experto y el usuario

ilustra la operación del sistema:

PASO 1 SISTEMA: Bienvenido al SISTEMA EXPERTO DE ASESORÍA DE

INVERSIÓN

Intentaré determinar el portafolio de inver-

sión para su cliente. Le haré preguntas tanto

personales como financieras acerca del clien-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 36

te. A partir de esta información deberé ser

capaz de determinar una inversión ya sea con-

servadora o agresiva.

Por favor presione ENTRAR para comenzar la se-

sión

USUARIO: ENTRAR.

PASO 2 SISTEMA: ¿Cuánto dinero en dólares el cliente quiere

invertir? Por favor ingrese la cantidad en dó-

lares sin comas, por ejemplo, 10000.

USUARIO: ENTRAR.

PASO 3 SISTEMA: ¿Cuál es la edad del cliente?

USUARIO: 30

PASO 4 SISTEMA: ¿Cuántos años ha estado el cliente con la com-

pañía actual?

USUARIO: 5

PASO 5 SISTEMA: La tasa de despidos temporales en la organiza-

ción es:

Baja

Alta

USUARIO: Baja

COMENTARIO: El usuario puede tener problemas al responder

esta pregunta. Este es un problema típico encontrado

cuando se esta ejecutando el sistema las primeras veces

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 37

en el proyecto. Sería necesario preguntar al experto cómo

determina si los despidos temporales son “bajos” o “al-

tos”, y añadir las reglas apropiadas a nuestro sistema

PASO 6 SISTEMA: El cliente:

tiene niños

no tiene niños

USUARIO: tiene niños

PASO 7 SISTEMA: Después de considerar los aspectos personales

del cliente, le sugiero una posición conserva-

dora. Ahora continuaré con el análisis de los

aspectos financieros.

Por favor presione ENTRAR para continuar la

sesión

USUARIO: ENTRAR

PASO 8 SISTEMA: Por favor dame la cantidad en dólares total de

los activos que el cliente posee. Incluyendo

la tenencia de cuentas bancarias, acciones,

bonos, inmuebles, etc.

Por favor ingrese la cantidad en dólares sin

comas, por ejemplo, 150000.

USUARIO: 100000

PASO 9 SISTEMA: Por favor dame la cantidad en dólares total de

los pasivos que el cliente tiene. Incluyendo

elementos como préstamos, hipotecas, etc.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 38

Por favor ingrese la cantidad en dólares sin

comas, por ejemplo, 150000.

USUARIO: 20000

PASO 10 SISTEMA: Después de considerar los aspectos financieros

del cliente, le sugiero una posición agresiva.

Ahora continuaré con el análisis de los aspec-

tos financieros.

Por favor presione ENTRAR para continuar la

sesión.

USUARIO: ENTRAR

PASO 11 SISTEMA: Recomendaría que el cliente invierta el dinero

en 60% de acciones, 30% en bonos y 10% en aho-

rros.

Las razones principales por la que recomiendo

esta inversión son porque se ha encontrado que

el estado personal del cliente sugiere una po-

sición conservadora y el estado financiero su-

giere una posición agresiva.

Para salir del sistema presione F10. Si gusta

reiniciar la sesión presione F3.

9.1. REVISIÓN DE LA SESIÓN

Lo primero que se debería observar que el sistema

de la misma recomendación que la hecha por el ex-

perto. Obtener un acuerdo entre los hallazgos del

sistema y lo que dice el experto es uno de los

asuntos críticos cuando se evalúa un sistema exper-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 39

to. Para un estudio de evaluación real se probarán

varios casos.

Otro aspecto que se debe notar en esta evaluación

es que el sistema resultó cómodo para el usuario a

través de toda la sesión.

9.2. APECTOS FUTUROS

Luego de tener este pequeño prototipo, se deberían

extender sus capacidades. Por ejemplo se puede co-

dificar el conocimiento en portafolios adicionales.

O, se podría expandir el sistema para recomendar

medios de inversión específica dentro de cada una

de las categorías de inversión general. La facili-

dad con la que están expansiones se pueda realizar

dependerá mucho de la flexibilidad del diseño del

prototipo.

Recomendar Portafolios Adicionales Si se quiere considerar portafolios adicionales se

requiere escribir reglas meta adicionales. No se

necesitarán metas adicionales ya que el sistema

ahora tiene una sentencia meta que es variable. Ca-

da nueva regla meta que se ingrese debe recomendar

uno de los nuevos portafolios.

Las reglas meta actuales, consideran al recomendar

un portafolio dos aspectos principales, el estado

personal y financiero del cliente. Las reglas metas

usan estos dos aspectos con los valores de “conser-

vadora” y “agresiva”. Para ser capaz de distinguir

entre portafolios adicionales, se deberá expandir

los valores introduciendo modificadores. Por ejem-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 40

plo, se pueden usar valores como: conservadora li-

geramente, conservadora moderadamente, y muy con-

servadora. Si se toma en cuenta estos valores, será

necesario desarrollar un conjunto de reglas más

profundas que podrían inferir estos nuevos valores

modificados.

Otro enfoque que se podría tomar al modificar las

reglas meta existentes para incluir los portafolios

adicionales sería el de añadir premisas adiciona-

les. Por ejemplo, podríamos considerar otros asun-

tos tales como los objetivos de inversión del

cliente, periodo de inversión, o aún condiciones

financieras mundiales. Para este enfoque será nece-

sario desarrollar también un conjunto de reglas más

profundas que podrían inferir estos nuevos valores

modificados.

En general, cuando se expanda el sistema para con-

siderar metas adicionales (pero similares), se debe

observar primero por las formas en la que se puede

modificar las reglas meta presentes. Las modifica-

ciones usualmente tomarán la forma de valores adi-

cionales para los aspectos presentes, y/o la adi-

ción nuevos aspectos. Estos tipos de modificaciones

se ilustran en la siguiente regla:

IF Estado personal del cliente valor nuevo AND Estado personal del cliente valor nuevo AND Nuevo aspecto THEN La sugerencia de portafolio ES nuevo portafolio

Recomendación de medios de inversión Se puede expandir el sistema para escoger el medio

de inversión con cada categoría de inversión gene-

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 41

ral modificando primero la agenda meta de tal forma

que esta tarea siga naturalmente la selección del

portafolio. Esta modificación se ilustra en la si-

guiente agenda meta, con la adición de la metas

multivalor “Sugerencia de Medio”:

La sugerencia de Portafolio ES QUE 1.1. La sugerencia del medio ES QUE Visualizar por defecto

Las reglas meta escritas para esta nueva meta

(ejemplo, 1.1.) necesitarán información acerca de

la recomendación de portafolio. Para ello, primero

se debe modificar las reglas del sistema y capturar

las categorías de inversión general en una senten-

cia simbólica multivalor y el porcentaje a ser in-

vertido como se observa en la modificación de la

REGLA1:

IF Cantidad de inversión del cliente < 1000 THEN La sugerencia de portafolio ES invertir 100% en ahorros AND Categoría de Inversión ES ahorros AND Porcentaje_de_ahorros = 100

Se puede entonces escribir las reglas en la si-

guiente forma general para determinar los medios de

inversión específicos.

IF Categoría de Inversión ES ... AND .... .... THEN Sugerencia del medio ES ....

Las premisas dentro de estas reglas podría contener

asuntos que pueden distinguir entre los varios me-

dios dentro de cada categoría. La cantidad actual a

invertirse en algún medio sería decido usando in-

formación de la cantidad del total de la inversión

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 42

y el porcentaje de la inversión para la categoría

de inversión general, tal como “Porcentaje de aho-

rros”.

10. RESUMEN DEL DISEÑO DE UN SISTEMA CON ENCADENAMIENTO HACIA ATRÁS

El proceso de diseño de un Sistema con Encadenamiento

hacia atrás es altamente cíclico, donde el conocimiento

se recolecta del experto, es codificado, es probado, lue-

go refinado a través interacciones adicionales con el ex-

perto. Existen algunos elementos claves para este proceso

de diseño:

• El diseño de un sistema experto con encadena-

miento hacia atrás es un proceso altamente

iterativo.

• El sistema debería probarse inmediatamente

después de la introducción de nuevas reglas.

• El sistema debería expandirse en un aspecto a

la vez.

• Una tabla de decisión puede emplearse para ad-

quirir fácilmente el conocimiento para la to-

ma de decisiones del experto.

• El uso de la sentencia ELSE puede ocasionar

problemas de mantenimiento del sistema.

• Un árbol de inferencia brinda un registro grá-

fico de la reglas recolectadas.

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 43

• Los sistemas con encadenamiento hacia atrás

pueden estar diseñados para desarrollar bús-

queda exhaustiva o no exhaustiva.

• Para las reglas que usan números para las ope-

raciones de relación, mantengan los números en

la forma de variable que se le asignan en una

sección de inicialización del programa.

• Es importante que una interfaz se diseñe para

cumplir con las necesidades del usuario.

11. IMPLEMENTACIÓN DEL SISTEMA EXPERTO PARA ASESORÍA DE INVERSIÓN

11.1. EJECUCIÓN DEL SISTEMA EXPERTO IMPLEMENTADO EN EXSYS PRO

SISTEMAS INTELIGENTES

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 44

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 45

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 46

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 47

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 48

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 49

Mg. Abraham Gamarra Moreno

Sistemas basado en reglas con encadenamiento hacia atrás 50

BIBLIOGRAFIA

1. Durkin J. (1994). Expert Systems. USA: Macmillan Publis-

hing Company.

2. EXSYS Inc. (1983-1996). Manual del EXSYS Professional for

Windowed Environments.

3. Giarratano J. (2001). Sistemas Expertos, principios y

programación. Mexico: Thomson Editores.

4. Sierra, J.; Bonsón E.; Núñez C.;Orta M. (1995). Sistemas

expertos en contabilidad de administración de empresas.

España: Editorial RA-MA.