You are on page 1of 28

Facultad de Ciencias Exactas y Tecnologa

Universidad Nacional de Tucumn


Prof. Ing. Franco D. enende!
Inteligencia Artificial
Sistemas Expertos - Arquitectura
Ing. Franco D. Menendez
La Arquitectura del Sistema Experto es la siguiente:
Sistemas Expertos
Ing. Franco D. Menendez
Desarrollo del Sistema Experto
1. Planeamiento del Problema.
2. Encontrar expertos humanos que puedan resolver el problema.
3. Diseo de un Sistema Experto.
!. Elecci"n de la herramienta de desarrollo o lengua#e de programaci"n.
$. Desarrollo % prueba de un prototipo
&. 'e(inamiento % generali)aci"n.
*. +antenimiento % puesta al d,a.
Sistemas Expertos - Desarrollo del Sistema Experto
Ing. Franco D. Menendez
1. Planeamiento del Problema. La primera etapa en cualquier pro%ecto es normalmente la
de(inici"n del problema a resolver. Puesto que el ob#etivo principal de un sistema experto es
responder a preguntas % resolver problemas- esta etapa es qui).s la m.s importante en el
desarrollo de un sistema experto. Si el sistema est. mal de(inido- se espera que el sistema
suministre respuestas err"neas.
2. Encontrar expertos humanos que puedan resolver el problema. En algunos casos- sin
embargo- las bases de datos pueden #ugar el papel del experto humano.
3. Diseo de un Sistema Experto. Esta etapa inclu%e el diseo de estructuras para almacenar
el conocimiento- el motor de in(erencia- el subsistema de explicaci"n- la inter(ace de usuario-
etc.
Sistemas Expertos - Desarrollo del Sistema Experto
Ing. Franco D. Menendez
. Elecci!n de la herramienta de desarrollo o len"ua#e de pro"ramaci!n. Debe decidirse si
reali)ar un sistema experto a medida- o una herramienta- o un lengua#e de programaci"n. Si
existiera una herramienta comercial satis(aciendo todos los requerimientos del diseo- est.
deber,a ser la elecci"n- no s"lo por ra)ones de tipo (inanciero sino tambi/n por ra)ones de
(iabilidad. Las herramientas comerciales est.n su#etas a controles de calidad- a los que otros
programas no lo est.n.
$. Desarrollo % prueba de un prototipo. Si el prototipo no pasa las pruebas requeridas- las
etapas anteriores 0con las modi(icaciones apropiadas1 deben ser repetidas hasta que se
obtenga un prototipo satis(actorio.
Sistemas Expertos - Desarrollo del Sistema Experto
Ing. Franco D. Menendez
&. 'e(inamiento % "enerali)aci!n. En esta etapa se corrigen los (allos % se inclu%en nuevas
posibilidades no incorporadas en el diseo inicial..
*. +antenimiento % puesta al d,a. En esta etapa el usuario plantea problemas o de(ectos del
prototipo- corrige errores- actuali)a el producto con nuevos avances- etc.
2odas estas etapas in(lu%en en la calidad del sistema experto resultante- que siempre debe ser
evaluado en (unci"n de las aportaciones de los usuarios.
Ejemplo 1 Cajero Automtico
Ing. Franco D. Menendez
Como ejemplo de problema determinista que puede ser formulado usando un conjunto de
reglas, considrese una situacin en la que un usuario (por ejemplo, un cliente) desea sacar
dinero de su cuenta corriente mediante un cajero automtico (CA).
En cuanto el usuario introduce la tarjeta en el CA, la mquina la lee y la verifica. Si la
tarjeta no es verificada con xito (por ejemplo, porque no es legible), el CA devuelve la
tarjeta al usuario con el mensaje de error correspondiente.
En otro caso, el CA pide al usuario su numero de identificacin personal (NIP). Si el
numero fuese incorrecto, se dan tres oportunidades de corregirlo.
Si el NIP es correcto, el CA pregunta al usuario cuanto dinero desea sacar. Para que el pago
se autorice, la cantidad solicitada no debe de exceder de una cierta cantidad limite diaria,
adems de haber suficiente dinero en su cuenta.
Ejemplo 1 Cajero Automtico
Ing. Franco D. Menendez
En este caso se tienen siete objetos, y cada objeto puede tomar uno y solo un
valor de entre sus posibles valores.
La siguiente tabla muestra estos objetos y sus posibles valores.
Ejemplo 1 Cajero Automtico
Ing. Franco D. Menendez
E#emplo 1 - .a#ero Autom/tico
Ing. Franco D. Menendez
En 3L4PS (orma 1 :
0de(rule '1:5Si se cumple todo entonces se autori)a el pago5
0tar#eta10(echa10nip106720intentos110balance106720limite11
89
0printout t :Se autori)o el pago5.crl(11
0de(rule '2:5Si no se veri(ica la tar#eta no se autori)a el pago5
06720tar#eta11
89
0printout t :6o tiene autori)ada la transici"n5.crl(11
0de(rule '3:5Si la (echa se encuentra expirada no se autori)a el pago5
06720(echa11
89
0printout t :6o tiene autori)ada la transici"n5.crl(11
E#emplo 1 - .a#ero Autom/tico
Ing. Franco D. Menendez
0de(rule '!:5Si el nip es incorrecto no se autori)a el pago5
0672 0nip11
89
0printout t :6o tiene autori)ada la transacci"n5.crl(11
0de(rule '$:5Si el numero de intentos es supera no se autori)a el pago5
0intentos1
89
0printout t :6o tiene autori)ada la transici"n5.crl(11
0de(rule '&:5Si el balance es insu(iciente no se autori)a el pago5
06720balance11
89
0printout t :6o tiene autori)ada la transici"n5.crl(11
0de(rule '*:5Si el limite se encuentre excedido no se autori)a el pago5
0limite1
89
0printout t :6o tiene autori)ada la transici"n5.crl(11
E#emplo 1 - .a#ero Autom/tico
Ing. Franco D. Menendez
En 3L4PS (orma 2 :
0de(rule '1:5Si se cumple todo entonces se autori)a el pago5
0cuenta tar#eta veri(icada10cuenta (echa no;expirada1
0cuenta nip correcto106720cuenta intentos11
0cuenta balance su(iciente106720cuenta limite excedido11
89
0printout t :Se autori)o el pago5.crl(1 0modi(% cuenta pago autori)ado11
0de(rule '2:5Si no se veri(ica la tar#eta no se autori)a el pago5
06720 cuenta tar#eta veri(icada11
89
0printout t :6o tiene autori)ada la transici"n5.crl(1
0modi(% cuenta pago no;autori)ado11
0de(rule '3:5Si la (echa se encuentra expirada no se autori)a el pago5
06720 cuenta (echa 11
89
0printout t :6o tiene autori)ada la transici"n5.crl(1
0modi(% cuenta pago no;autori)ado11
E#emplo 1 - .a#ero Autom/tico
Ing. Franco D. Menendez
0de(rule '!:5Si el nip es incorrecto no se autori)a el pago5
0672 0cuenta nip11
89
0printout t :6o tiene autori)ada la transacci"n5.crl(1
0modi(% cuenta pago no;autori)ado11
0de(rule '$:5Si el numero de intentos es supera no se autori)a el pago5
0cuenta intentos1
89
0printout t :6o tiene autori)ada la transici"n5.crl(1
0modi(% cuenta pago no;autori)ado11
0de(rule '&:5Si el balance es insu(iciente no se autori)a el pago5
06720cuenta balance su(iciente11
89
0printout t :6o tiene autori)ada la transici"n5.crl(1
0modi(% cuenta pago no;autori)ado11
0de(rule '*:5Si el limite se encuentre excedido no se autori)a el pago5
0cuenta limite excedido1
89
0printout t :6o tiene autori)ada la transici"n5.crl(1
0modi(% cuenta pago no;autori)ado11
E#emplo 1 - .a#ero Autom/tico
Ing. Franco D. Menendez
0de(template cuenta
0slot tar#eta 0t%pe S<+=7L10allo>ed?s%mbols veri(icada no;veri(icada1
0slot (echa 0t%pe S<+=7L10allo>ed?s%mbols expirada no;expirada1
0slot nip0t%pe S<+=7L10allo>ed?s%mbols correcto incorrecto1
0slot intentos0t%pe S<+=7L10allo>ed?s%mbols excedidos no;excedidos1
0slot balance 0t%pe S<+=7L10allo>ed?s%mbols su(iciente insu(iciente1
0slot limite 0t%pe S<+=7L10allo>ed?s%mbols excedido no;excedido1
0slot pago 0t%pe S<+=7L10allo>ed?s%mbols autori)ado no;autori)ado1
1
E#emplo 2
Ing. Franco D. Menendez
En este ejercicio se pide indicar el orden de ejecucin de las reglas en CLIPS.
(deffacts HECHOS-INICIALES (A (! (C (" (#
(defrule r$
(A("(C
%& (printout t 'regla$' crlf
(defrule r(
(C (!
%& (printout t 'regla(' crlf
(defrule r)
(#
%& (printout t 'regla)' crlf
(defrule r*
(C (A
%& (printout t 'regla*' crlf
E#emplo 2
Ing. Franco D. Menendez
CLIPS&(load'E+,!ocencia,IA,Clips,Eje-plosClase,eje-plo$.C.clp'
!efining deffacts+ HECHOS-INICIALES
!efining defrule+ r$ /j/j/j
!efining defrule+ r( /j/j
!efining defrule+ r) /j
!efining defrule+ r* %j/j
0.1E
CLIPS& (reset
%%& f-2 (initial-fact
%%& f-$ (A
%%& f-( (!
%%& f-) (C
CLIPS& (run
E#emplo 2
Ing. Franco D. Menendez
El resultado o3tenido es el siguiente+
4I.E $ r*+ f-)5 f$
regla*
4I.E ( r(+ f-)5f-(
regla(
CLIPS& (clear
1tili6ando el par7-etro acti8acin 5el resultado de la ejecucin ser9a el siguiente
%%& f-2 (initial-fact
%%& f-$ (A
%%& f-( (!
%%& f-) (C
%%& Acti8ation 2 r*+ f-)5f-$
%%& Acti8ation 2 r(+ f-)5f-(
%%& f-* ("
%%& Acti8ation 2 r$+ f-$5f-*5f-)
%%& f-: (#
%%& Acti8ation 2 r)+ f-:
E#emplo 2
Ing. Franco D. Menendez
CLIPS&(run
4I.E $ r)+ f-:
regla)
4I.E ( r$+ f-$5f-*5f-)
regla$
4I.E ) r(+ f-)5f-(
regla(
4I.E * r*+ f-)5f-$
.egla*
CLIPS&(clear
E#emplo 3
Ing. Franco D. Menendez
!eter-inar el orden de disparo de las reglas +
(deffacts HECHOS-INICIALES (A (C (! (E (; (H (<
(defrule .-$ (< (L (=%& (assert (I
(defrule .-( (I (L (>%& (assert (?
(defrule .-) (C (! (E%& (assert ("
(defrule .-* (A ("%& (assert (?
(defrule .-: (L (N (O (P%& (assert (?
(defrule .-@ (C (H%& (assert (.
(defrule .-A (. (> (=%& (assert (S
(defrule .-B (0 (4 (H%& (assert ("
(defrule .-C (A%& (assert (4
(defrule r-$2 (A (. %& (assert (0
(defrule r-$$ (C (A (. %& (assert(D
E#emplo - .lasi(icaci!n de Peces
Ing. Franco D. Menendez
Dadas las siguientes reglas, escribir el cdigo en lenguaje CLIPS
!1 Si el pe6 tiene la 3oca peEueFa G dientes puntiagudos G 8i8e en r9os de -ucHas partes del
-undo EN0ONCES esta-os Ha3lando de un eje-plar del orden de los Ciprinodontifor-es.
!" Si tene-os un indi8iduo del orden de los Ciprinodontifor-es G Eue 8i8e en los r9os de
A-Irica del Sur G Eue en el caso de ser -acHo posee ;onopodio EN0ONCES el pe6 es de la
fa-ilia de los Poecilidos G la He-3ra es ) c-. -7s grande Eue el -acHo.
!# Si tene-os un indi8iduo del orden de los Ciprinodontifor-es G Eue 8i8e en los r9os de
A-Irica del Sur G Eue es He-3ra EN0ONCES el pe6 es de la fa-ilia de los Poecilidos G el -acHo
es ) c-. -7s peEueFo Eue la He-3ra.
!$ Si tene-os un indi8iduo de la fa-ilia de los Poecilidos Eue tiene -ancHas a lo largo del
cuerpo EN0ONCES esta-os ante un pe6 de la ra6a de la ;a-3usia affinis.
E#emplo - .lasi(icaci!n de Peces
Ing. Franco D. Menendez
!% Si tene-os un indi8iduo de la fa-ilia de los Poecilidos Eue tiene color gris G raGas 8erdes a
lo largo del cuerpo EN0ONCES tene-os un eje-plar de ra6a de ;a-3usia Punctata.
!& Si el pe6 es de ta-aFo -edio5 tiene dientes puntiagudos5 8i8e en r9os de todo el -undo G
posee canales la3er9nticos para respirar fuera del agua EN0ONCES pertenece al orden de los
ana3atidos.
!' Si el pe6 es del orden de los ana3atidos5 es de color a6ul5 tiene raGas rojas G 8i8e en r9os de
Asia EN0ONCES tene-os un pe6 de la ra6a lucHadores de Sian.
!( Si el pe6 es del orden de los ana3atidos5 no tiene raGas EN0ONCES es una perca trepadora.
!) Si el pe6 tiene la 3oca peEueFa5 8i8e en r9os de todo el -undo tiene la cola redondeada
EN0ONCES es un eje-plar del orden de los Ciclidos.
!1* Si el pe6 es del orden de los Ciclios5 8i8e en los r9os de Africa G es de color rojo con
-ancHas negras EN0ONCES es pe6 joGa.
E#emplo - .lasi(icaci!n de Peces
Ing. Franco D. Menendez
(defrule .$ +
(pe6 3oca peEueFa (pe6 dientes puntiagudos (pe6 8i8e rioJ-undo
%&
(printout t 'Es un eje-plar del orden de los Ciprinodontifor-es'. crlf
(-odifG pe6 especi-en ciprinodontifor-es
(defrule .(+
(pe6 especi-en ciprinodontifor-es (pe6 8i8e rioJa-ericaJsur (pe6 gonopodio si
%&
(printout t 'El pe6 es de la fa-ilia de los Poecilidos G la He-3ra es ) c-. -7s grande
Eue el -acHo.'. crlf
(-odifG pe6 fa-ilia poecilidos
(defrule .)+
(pe6 especi-en ciprinodontifor-es (pe6 8i8e rioJa-ericaJsur (pe6 gonopodio no
%&
(printout t 'El pe6 es de la fa-ilia de los Poecilidos G el -acHo es ) c-. =7s peEueFo
Eue la He-3ra.'. crlf
(-odifG pe6 fa-ilia poecilidos
E#emplo - .lasi(icaci!n de Peces
Ing. Franco D. Menendez
(defrule .*+
(pe6 fa-ilia poecilidos (pe6 particularidad -ancHas
%&
(printout t 'Es un pe6 de la ra6a de la ;a-3usia affinis.'. crlf
(-odifG pe6 ra6a ga-3usiaJaffinis
(defrule .:+
(pe6 fa-ilia poecilidos (pe6 color gris (pe6 particularidad raGasJ8erdes
%&
(printout t 'Es un eje-plar de ra6a de ;a-3usia Punctata.'. crlf
(-odifG pe6 ra6a ga-3usiaJaffinis
(defrule .@+
(pe6 ta-aFo -edio (pe6 dientes puntiagudos (pe6 8i8e rioJ-undo
(pe6 particularidad respiraJfueraJagua
%&
(printout t 'Es un eje-plar del orden ana3atidos'. crlf
(-odifG pe6 especi-en ana3atidos
E#emplo - .lasi(icaci!n de Peces
Ing. Franco D. Menendez
(defrule .A+
(pe6 especi-en ana3atidos (pe6 color a6ul (pe6 particularidad raGasJrojas
(pe6 8i8e rioJasia
%&
(printout t 'Es un pe6 de la ra6a lucHadores de Sian'. crlf (-odifG pe6 ra6a sian
(defrule .B+
(pe6 especi-en ana3atidos (pe6 particularidad sinJraGa
%&
(printout t 'Es un pe6 perca trepadora'. crlf (-odifG pe6 ra6a percaJtrepadora
(defrule .C+
(pe6 3oca peEueFa (pe6 8i8e rioJ-undo (pe6 particularidad colaJredonda
%&
(printout t 'Es un eje-plar del orden de los Ciclidos'. crlf
(-odifG pe6 especi-en ciclidos
(defrule .$2+
(pe6 especi-en ciclidos (pe6 8i8e rioJafrica (pe6 color rojo
(pe6 particularidad -ancHasJnegras
%&
(printout t 'Es un pe6 joGa'. crlf (-odifG pe6 ra6a joGa
E#emplo - .lasi(icaci!n de Peces
Ing. Franco D. Menendez
(defte-plate pe6
(slot 3oca (tGpe SK="OL (alloLed-sG-3ols peEueFa -ediana grande
(slot dientes (tGpe SK="OL (alloLed-sG-3ols puntiagudos redondeados
(slot ta-aFo (tGpe SK="OL (alloLed-sG-3ols peEueFo -ediano grande
(slot 8i8e (tGpe SK="OL (alloLed-sG-3ols rioJ-undo rioJa-ericaJsur rioJasia
rioJafrica
(slot gonopodio (tGpe SK="OL (alloLed-sG-3ols si no
(slot color (tGpe SK="OL (alloLed-sG-3ols gris a6ul rojo
(slot particularidad (tGpe SK="OL (alloLed-sG-3ols -ancHas raGasJ8erdes
respiraJfueraJagua raGasJrojas sinJraGa colaJredonda -ancHasJnegras
(slot fa-ilia (tGpe SK="OL (alloLed-sG-3ols poecilidos otros
(slot especi-en (tGpe SK="OL (alloLed-sG-3ols ciprinodontifor-es ana3atidos
ciclidos
(slot ra6a (tGpe SK="OL (alloLed-sG-3ols ga-3usiaJaffinis sian percaJtrepadora
joGa

E#emplo $
Ing. Franco D. Menendez
.esol8er la siguiente situacin pro3le-7tica.
PREGUNTAS
Ing. Franco D. Menendez
MUCHAS GRACIAS
Ing. Franco D. Menendez

You might also like