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