You are on page 1of 14

Universidad Catlica de Salta

Sistemas Expertos
Alumno: Leguizamon, Matias
Profesor: Jorje Rios

Sistemas Expertos - Clips

Pgina 1

INDICE
1.

Introduccion....................................................................................

2.

Motor de Inferencia.........................................................................

2.1.

Modus Ponens y Modus Tollens...........................................................

2.2.

Encadenamiento de Reglas..................................................................

2.3.

Encadenamiento de Reglas Orientado a un objetivo............................

3.

Alcance............................................................................................

4.

CLIPS...............................................................................................

5.

Utilizacion de CLIPS.........................................................................

5.1.

Insercion de Hechos............................................................................

5.2.

Insercion de Reglas.............................................................................

6.

Reglas..............................................................................................

6.1.

Extraccin de Dinero...........................................................................

6.2.

Consulta de Saldo................................................................................

6.3.

Depositos..........................................................................................

7.

Implementacion CLIPS..................................................................

7.1.

Extraccin de Dinero.........................................................................

7.2.

Consulta de Saldo..............................................................................

7.3.

Deposito............................................................................................

Sistemas Expertos - Clips

Pgina 2

1. Introduccion
En nuestra vida diaria encontramos muchas situaciones complejas gobernadas
por reglas deterministas: sistemas de control de trfico, sistemas de seguridad,
transacciones bancarias, etc. Los sistemas basados en reglas son una
herramienta eficiente para tratar estos problemas. Las reglas deterministas
constituyen la ms sencilla de las metodologas utilizadas en sistemas expertos.
La base de conocimiento contiene las variables y el conjunto de reglas que
definen el problema, y el motor de inferencia obtiene las conclusiones aplicando la
lgica clsica a estas reglas. Por regla se entiende una proposicin lgica que
relaciona dos o ms objetos e incluye dos partes, la premisa y la conclusin. Cada
una de estas partes consiste en una expresin lgica con una o ms afirmaciones
objeto-valor conectadas mediante los operadores lgicos y, o, o no. Una regla se
escribe normalmente como Si premisa, entonces conclusin.

2. Arquitectura

3. Motor de Inferencia
Tal como se ha mencionado en la seccin anterior, hay dos tipos de elementos:
los datos (hechos o evidencia) y el conocimiento (el conjunto de reglas
almacenado en la base de conocimiento). El motor de inferencia usa ambos para
obtener nuevas conclusiones o hechos. Por ejemplo, si la premisa de una regla es
cierta, entonces la conclusin de la regla debe ser tambin cierta. Los datos
iniciales se incrementan incorporando las nuevas conclusiones. Por ello, tanto los
hechos iniciales o datos de partida como las conclusiones derivadas de ellos
forman parte de los hechos o datos de que se dispone en un instante dado. Se
utilizan diferentes tipos de reglas y estrategias de inferencia y control:
Modus Ponens
Modus Tollens
y las estrategias de inferencia
Encadenamiento de reglas,
Encadenamiento de reglas orientado a un objetivo,
que son utilizadas por el motor de inferencia para obtener conclusiones simples y
compuestas.

Sistemas Expertos - Clips

Pgina 3

2.1.Modus Ponens y Modus Tollens


El Modus Ponens es quizs la regla de inferencia ms comunmente utilizada. Se
utiliza para obtener conclusiones simples. En ella, se examina la premisa de la
regla, y si es cierta, la conclusin pasa a formar parte del conocimiento. Como
ilustracin, supngase que se tiene la regla, Si A es cierto, entonces B es cierto
y que se sabe adems que A es cierto. La regla Modus Ponens concluye que B
es cierto. Esta regla de inferencia, que parece trivial, debido a su familiaridad, es
la base de un gran numero de sistemas expertos.
La regla de inferencia Modus Tollens se utiliza tambin para obtener conclusiones
simples. En este caso se examina la conclusin y si es falsa, se concluye que la
premisa tambin es falsa. Por ejemplo, supngase de nuevo que se tiene la regla,
Si A es cierto, entonces B es cierto pero se sabe que B es falso. Entonces,
utilizando la regla Modus Ponens no se puede obtener ninguna conclusin pero la
regla Modus Tollens concluye que A es falso.
El rendimiento del motor de inferencia depende del conjunto de reglas en su base
de conocimiento. Hay situaciones en las que el motor de inferencia puede concluir
utilizando un conjunto de reglas, pero no puede, utilizando otro (aunque stos
sean lgicamente equivalentes).

2.2.Encadenamiento de Reglas
Una de las estrategias de inferencia ms utilizadas para obtener conclusiones
compuestas es el llamado encadenamiento de reglas. Esta estrategia puede
utilizarse cuando las premisas de ciertas reglas coinciden con las conclusiones de
otras. Cuando se encadenan las reglas, los hechos pueden utilizarse para dar
lugar a nuevos hechos. Esto se repite sucesivamente hasta que no pueden
obtenerse ms conclusiones. El tiempo que consume este proceso hasta su
terminacin depende, por una parte, de los hechos conocidos, y, por otra, de las
reglas que se activan.
Este algoritmo puede ser implementado de muchas formas. Una de ellas
comienza con las reglas cuyas premisas tienen valores conocidos. Estas reglas
deben concluir y sus conclusiones dan lugar a nuevos hechos. Estos nuevos
hechos se aaden al conjunto de hechos conocidos, y el proceso contina hasta
que no pueden obtenerse nuevos hechos.

Sistemas Expertos - Clips

Pgina 4

2.3.Encadenamiento de Reglas Orientado a un objetivo


El algoritmo de encadenamiento de reglas orientado a un objetivo requiere del
usuario seleccionar, en primer lugar, una variable o nodo objetivo; entonces el
algoritmo navega a travs de las reglas en bsqueda de una conclusin para el
nodo objetivo. Si no se obtiene ninguna conclusin con la informacin existente,
entonces el algoritmo fuerza a preguntar al usuario en busca de nueva
informacin sobre los elementos que son relevantes para obtener informacin
sobre el objetivo.

Sistemas Expertos - Clips

Pgina 5

4. Alcance
En el presente trabajo se dara a conocer las opciones que se pueden seleccionar
al acceder al sistema que contiene los cajeros automaicos, se detallara las
siguientes acciones:
Extraccion de Dinero
Consultas de Saldos
Depositos

5. CLIPS
Clips es una herramienta que provee un entorno de desarrollo para la produccin
y ejecucin de Sistemas Expertos.
Las caracteristicas prncipales son:

Representacin del Conocimiento: CLIPS permite manejar una amplia variedad


de conocimiento, soportando tres paradigmas de programacin: el declarativo, el
imperativo, y el orientado a objetos. La programacin lgica basada en reglas
permite que el conocimiento sea representado como reglas heursticas que
especifican las acciones a ser ejecutadas dada una situacin. La POO permite
modelar sistemas complejos como componentes modulares. La programacin
imperativa permite ejecutar algoritmos de la misma manera que en C, Java, LISP
y otros lenguajes.
Portabilidad: CLIPS fue escrito en C con el fin de hacerlo ms portable y rpido,
y ha sido instalado en diversos sistemas operativos (Windows 95/98/NT, MacOS
X, Unix) sin ser necesario modificar su cdigo fuente. CLIPS puede ser ejecutado
en cualquier sistema con un compilador ANSI de C, o un compilador de C++. El
cdigo fuente de CLIPS puede ser modificado en caso que el usuario lo considere
necesario, con el fin de agregar o quitar funcionalidades.
Integrabilidad: CLIPS puede ser embebido en cdigo imperativo, invocado como
una sub-rutina, e integrado con lenguajes como C, Java, FORTRAN y otros.
CLIPS incorpora un completo lenguaje orientado a objetos (COOL) para la
elaboracin de sistemas expertos. Aunque est escrito en C, su interfaz ms
prxima se parece a LISP. Pueden escribirse extensiones a CLIPS sobre C, y al
contrario, CLIPS puede ser llamado desde C. CLIPS puede ser extendido por el
usuario mediante el uso de protocolos definidos.
Desarrollo Interactivo: La versin estndar de CLIPS provee un ambiente de
desarrollo interactivo y basado en texto; este incluye herramientas para la
depuracin, ayuda en lnea, y un editor integrado. Las interfaces de este ambiente
tienen mens, editores y ventanas que han sido desarrollados para MacOS,
Windows 95/98/NT, X Window, entre otros.
Verificacin/Validacin: CLIPS contiene funcionalidades que permiten verificar
las reglas incluidas en el sistema experto que est siendo desarrollado,
incluyendo diseo modular y particionamiento de la base de conocimientos del
Sistemas Expertos - Clips

Pgina 6

sistema, chequeo de restricciones esttico y dinmico para funciones y algunos


tipos de datos, y anlisis semntico de reglas para prevenir posibles
inconsistencias.
Documentacin: En la pgina web oficial de CLIPS se encuentra una extensa
documentacin que incluye un Manual de Referencia y una Gua del Usuario.
Bajo Costo: CLIPS es un software de dominio pblico.

6. Utilizacion de CLIPS
5.1. Insercion de Hechos
En un SBR los hechos representan la informacin del mundo real que se conoce y
la que se va obteniendo mediante la aplicacin de reglas.
Un hecho puede constar de uno o varios campos. El primer campo suele
representar una relacin entre los restantes:
(<smbolo> <datos>*)
(nombre Alicia Mata Guil)
(nacimiento 1989)

5.2. Insercion de Reglas


Mediante las reglas se expresa el conocimiento para deducir nueva informacin
(nuevos hechos).
(Condiciones) => (Acciones)
Defrule, es la orden para crear una regla, indicando primero las precondiciones
(todas las premisas deben cumplirse para activar una regla), a continuacin los
smbolos => y por ltimo se especifican el conjunto de acciones que se derivan de
las condiciones.
(defrule <nom_regla> <condicin>*
=>
<accin>*)
Cuando las precondiciones de una regla se satisfacen, entonces se produce la
activacin de la regla, y se aade a la agenda. La agenda contiene el conjunto de
activaciones producidas al realizar el matching de los hechos con las condiciones
de una regla.
Sistemas Expertos - Clips

Pgina 7

7. Reglas
6.1. Extraccin de Dinero
Regla 1
SI
Tarjeta = Verificada
Fecha = No expirada
NIP = Correcto
Intentos = No excedido
Balance = Suficiente
Limites = No excedido
DNI = Verificado
ENTONCES
Extraccion = Autorizada

y
y
y
y
y
y

Regla 2
SI
Tarjeta = No Verificada
ENTONCES
Extraccion = No Autorizada

Regla 3
SI
Fecha = Expirada
ENTONCES
Extraccion = No Autorizada

Regla 4
SI
NIP = Incorrecto
ENTONCES
Extraccion = No Autorizada

Regla 5
SI
Intentos = Excedidos
ENTONCES
Extraccion = No Autorizada

Sistemas Expertos - Clips

Pgina 8

Regla 6
SI
Balance = Insuficiente
ENTONCES
Extraccion = No Autorizada

Regla 7
SI
Limites = Excedido
ENTONCES
Extraccion = No Autorizada

Regla 8
SI
DNI = No verificado
ENTONCES
Extraccion = No Autorizada

6.2. Consulta de Saldo


Regla 9
SI
Tarjeta = Verificada
Fecha = No expirada
NIP = Correcto
Intentos = No excedido
ENTONCES
Consulta = Autorizada

y
y
y
y

Regla 10
SI
Tarjeta = No Verificada
ENTONCES
Consulta = No Autorizada

Regla 11
SI
Fecha = Expirada
ENTONCES
Consulta = No Autorizada

Sistemas Expertos - Clips

Pgina 9

Regla 12
SI
NIP = Incorrecto
ENTONCES
Consulta = No Autorizada

Regla 13
SI
Intentos = Excedidos
ENTONCES
Consulta = No Autorizada

6.3. Depositos
Regla 14
SI
Tarjeta = Verificada
CuentaPropia = Verificado
OtraCuenta = No Verificado
Fecha = No expirada
NIP = Correcto
Intentos = No excedido
Limites = No excedido
DNI = Verificado
ENTONCES
Deposito = Autorizado

y
y
y
y
y
y
y

Regla 15
SI
Tarjeta = Verificada
y
CuentaPropia = No Verificado y
OtraCuenta = Verificado
y
Fecha = No expirada
y
NIP = Correcto
y
Intentos = No excedido
y
Limites = No excedido
y
DNI = Verificado
ENTONCES
Deposito = Autorizado

Sistemas Expertos - Clips

Pgina 10

Regla 16
SI
Tarjeta = No Verificada
ENTONCES
Deposito = No Autorizado

Regla 17
SI
Fecha = Expirada
ENTONCES
Deposito = No Autorizado

Regla 18
SI
NIP = Incorrecto
ENTONCES
Deposito = No Autorizado

Regla 19
SI
Intentos = Excedidos
ENTONCES
Deposito = No Autorizado

Regla 20
SI
Limites = Excedido
ENTONCES
Deposito = No Autorizado

Regla 21
SI
DNI = No verificado
ENTONCES
Deposito = No Autorizado

Sistemas Expertos - Clips

Pgina 11

8. Implementacion - CLIPS

9. Reglas de Accion - CLIPS


7.1. Extraccin de Dinero
(defrule R1:Si se cumple todo entonces se autoriza la extraccion
(Tarjeta)(Fecha)(NIP)(NOT(Intentos))(Balance)(NOT(Limite)(DNI))
=>
(printout t Se autorizo la extraccion.crlf))
(defrule R2:Si no se verifica la tarjeta no se autoriza la extraccion
(NOT(Tarjeta))
=>
(printout t No tiene autorizada la transaccin.crlf))
(defrule R3:Si la fecha se encuentra expirada no se autoriza la extraccion
(NOT(Fecha))
=>
(printout t No tiene autorizada la transaccin.crlf))
(defrule R4:Si el nip es incorrecto no se autoriza la extraccion
(NOT (NIP))
=>
(printout t No tiene autorizada la transaccin.crlf))
(defrule R5:Si el numero de intentos es supera no se autoriza la extraccion
(NOT(Intentos))
=>
(printout t No tiene autorizada la transaccin.crlf))
(defrule R6:Si el balance es insuficiente no se autoriza la extraccion
(NOT(Balance))
=>
(printout t No tiene autorizada la transaccin.crlf))
(defrule R7:Si el limite se encuentre excedido no se autoriza la extraccion
(NOT(Limite))
=>
(printout t No tiene autorizada la transaccin.crlf))
(defrule R8:Si el DNI no es el correcto no se autoriza la extraccion
(NOT(DNI))
=>
(printout t No tiene autorizada la transaccin.crlf))

Sistemas Expertos - Clips

Pgina 12

7.2. Consulta de Saldo


(defrule R9: Si se cumple todo entonces se autoriza la consulta
(Tarjeta)(Fecha)(NIP)(NOT(Intentos))(NOT(limite))
=>
(printout t No tiene autorizada la consulta.crlf))
(defrule R10:Si no se verifica la tarjeta no se autoriza la consulta
(NOT(Tarjeta))
=>
(printout t No tiene autorizada la consulta.crlf))
(defrule R11:Si la fecha se encuentra expirada no se autoriza la consulta
(NOT(Fecha))
=>
(printout t No tiene autorizada la consulta.crlf))
(defrule R12:Si el nip es incorrecto no se autoriza la consulta
(NOT (NIP))
=>
(printout t No tiene autorizada la consulta.crlf))
(defrule R13:Si el numero de intentos es supera no se autoriza la consulta
(NOT(Intentos))
=>
(printout t No tiene autorizada la consulta.crlf))

7.3. Deposito
(defrule R14:Si se cumple todo entonces se autoriza la extraccion
(Tarjeta)(CuentaPropia)(NOT(OtraCuenta))(Fecha)(NIP)(NOT(Intentos))
(NOT(Limite)(DNI))
=>
(printout t Se autorizo el deposito.crlf))
(defrule R15:Si se cumple todo entonces se autoriza la extraccion
(Tarjeta)(NOT(CuentaPropia))(OtraCuenta)(Fecha)(NIP)(NOT(Intentos))
(NOT(Limite)(DNI))
=>
(printout t Se autorizo el deposito.crlf))

Sistemas Expertos - Clips

Pgina 13

(defrule R16:Si no se verifica la tarjeta no se autoriza la extraccion


(NOT(Tarjeta))
=>
(printout t No tiene autorizada el deposito.crlf))
(defrule R17:Si la fecha se encuentra expirada no se autoriza la extraccion
(NOT(Fecha))
=>
(printout t No tiene autorizada el deposito.crlf))
(defrule R18:Si el nip es incorrecto no se autoriza la extraccion
(NOT (NIP))
=>
(printout t No tiene autorizada el deposito.crlf))
(defrule R19:Si el numero de intentos es supera no se autoriza la extraccion
(NOT(Intentos))
=>
(printout t No tiene autorizada el deposito.crlf))
(defrule R20:Si el limite se encuentre excedido no se autoriza la extraccion
(NOT(Limite))
=>
(printout t No tiene autorizada el deposito.crlf))
(defrule R21:Si el DNI no es el correcto no se autoriza la extraccion
(NOT(DNI))
=>
(printout t No tiene autorizada el deposito.crlf))

10. Conclusion
Actualmente el mercado en continuo desarrollo obliga a las empresas a
implementar herramientas que sean utiles para tomar desiciones. Debido a esto
los sistemas se convierten en un punto importante para poder llevar a cabo
estrategias de negocio que sean propicias para el progreso de las empresas.

Sistemas Expertos - Clips

Pgina 14

You might also like