09/04/2019Facultad de Ciencias Exactas y Tecnología
Universidad Nacional de Tucumán Mag. Ing. Gustavo E. Juarez
Ciclo Lectivo 2019Inteligencia Artificial (EC5)
UNIDAD No. 2: SISTEMAS EXPERTOS
Definiciones. Fases del Proceso. Arquitectura. Aplicaciones de los
sistemas expertos. Estrategias de encadenamiento. Encadenamiento
hacia adelante. Encadenamiento hacia atrás. Sistemas de Producción.
Reglas de producción. Métodos y motores de Inferencias. Estructuras
de datos. Estados y espacios de problemas. Ejercitación con espacios
de estado. Razonamiento con incertidumbre. Tipos de Errores.
Sistemas expertos basados en el conocimiento de razonamiento
(Knowledge-Based Expert System). Definiciones. Adquisición
automática de reglas (ID3, AQ11, otros).
Se desea desarrollar un sistema experto que permita emular el
comportamientodeunaempaquetadoradelimones.
Etapasdedesarrollo:
1) Identificación del problema: La máquina empaquetadora debe
seleccionar los limones adecuados para exportación, hacerles un
tratamientoyfinalmenteclasificarlosdeacuerdoasutamaño.
2) Adquisición del conocimiento: Realizamos una entrevista con una
persona idónea en el tema (experto) que nos brinde la información
necesariaparaeldesarrollodelsistemaexpertoynosinformalosiguiente:
SISTEMAS EXPERTOS MAPA CONCEPTUAL
Calibrador mecánico en su primera fase: Se hace una preselección del
producto separando los de calibre 275, ya que debido a su tamaño no son
adecuadosparaelmercadodeexportación.
Primera Selección del producto: Se descartan limones teniendo en
cuentacolor,texturaydañosseanestosporplagasomecánicos.
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza
luegounsecadodeagua,enceradoyfinalmentesehaceunsecadodecera,con
estoseconcluyeeltratamientodellimón.
CalibradorMecánico última fase:Selecciona la frutamediante rodillos que la
transportanacalibressegúnsutamaño(250,230,200,175,150y110)
3)Representación formaldelconocimiento:Serealizaráabasede reglas,
unareglaesunaafirmaciónlógicaquerelacionadosomasobjetosmediante
operadores lógicos, las reglasqueusaremosserándel tipo:Si (antecedente)
entonces (consecuente). El antecedente está formado por conjunciones
(operadory)deatributosdeunmismodominio.Elconsecuenteseráunnuevo
atributoquesesumaráaldominio.
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
OBJETOS POSIBLES VALORES
TIPO_EXPORTACION {SI,NO}
DESARROLLO {BUENO, MALO}
SALUD {SANO,ENFERMO}
COLOR {ACORDE, NO_ACORDE}
DAÑOS {EXISTENTES, NO_EXISTENTES}TAMAÑO {TIPO1, TIPO2,TIPO3, TIPO4, TIPO5, TIPO6}
CALIBRADOR_FASE1 {PRESELECCIONADO1,NO_SELECCIONADO}
TRATAMIENTO {SE_REALIZA, NO_SE_REALIZA}
SELECCION {BANDA1, BANDA2, BANDA3, BANDA4, BANDA5, BANDA6}
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
ReglasparaCalibradorFase1:
REGLA 1 CALIBRADOR_ FASE1 Si TIPO_EXPORTACION=SI y DESARROLLO= BUENO y SALUD=SANO y COLOR=ACORDE y DAÑOS=NO_EXISTENTES Entonces CALIBRADOR_ FASE1= PRESELECCIONADO
REGLA4 CALIBRADOR_ FASE1 Si SALUD=ENFERMO Entonces CALIBRADOR_ FASE1 =NO_SELECCIONADO
REGLA 6 CALIBRADOR_ FASE1Si COLOR=NO_ACORDE Entonces CALIBRADOR_ FASE1 =NO_SELECCIONADO
REGLA 5 CALIBRADOR_ FASE1Si DESARROLLO=MALO Entonces CALIBRADOR_ FASE1 =NO_SELECCIONADO
REGLA 2 CALIBRADOR_ FASE1
Si TIPO_EXPORTACION=NO Entonces CALIBRADOR_ FASE1 =NO_SELECCIONADO
REGLA 3 CALIBRADOR_ FASE1 Si DAÑOS=EXISTENTES Entonces CALIBRADOR_ FASE1 =NO_SELECCIONADO
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
ReglasparaTratamiento:
Reglasparaselección:
REGLA 1 TRATAMIENTOSi CALIBRADOR_ FASE1= PRESELECCIONADO Entonces TRATAMIENTO=SE_REALIZA
REGLA 2 TRATAMIENTOSi CALIBRADOR_ FASE1= NO_SELECCIONADO Entonces TRATAMIENTO=NO_SE_REALIZA
REGLA 1 SELECCIONADOSi TRATAMIENTO=SE_REALIZA y TAMAÑO=TIPO1 Entonces SELECCION=BANDA1
REGLA 2 SELECCIONADOSi TRATAMIENTO=SE_REALIZA y TAMAÑO=TIPO2 Entonces TRATAMIENTO=BANDA2
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
REGLA 5 SELECCIONADOSi TRATAMIENTO=SE_REALIZA y TAMAÑO=TIPO5 Entonces SELECCION=BANDA5
REGLA 4 SELECCIONADOSi TRATAMIENTO=SE_REALIZA y TAMAÑO=TIPO4 Entonces SELECCION=BANDA1
REGLA 3 SELECCIONADOSi TRATAMIENTO=SE_REALIZA y TAMAÑO=TIPO3 Entonces SELECCION=BANDA3
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
4) Implementación del Sistema Experto:Haremos uso de shells, que son
herramientas de desarrollo de SE donde el usuario proporciona la base de
conocimiento, utilizaremos la herramienta CLIPS, que es un lenguaje de
programación que permite implementar SE basados en reglas con
encadenamientohaciaadelante, fuedesarrolladopor laNASAamediadosde
los80,CLIPSpermitedefinirunalistadehechos,crearunconjuntodereglasy
Proporciona un motor de inferencia de encadenamiento hacia delante que
obtieneunasoluciónaplicandolasreglasaloshechosiniciales.
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
5) Verificación yValidación:Verificamos que el SE cumple las funciones
para lasque fuecreado,paraestoañadimoshechosa labasedehechos,
luego ejecutaremos el programa para verificar si se activaron las reglas
adecuadasyejecutaronelconsecuentededichasreglas.
Dejaremospendienteeldesarrollodelaetapadeimplementaciónyvalidación
en el laboratorio, explicaremos paso a paso la implementación del SE de la
empaquetadora de limones en CLIPS luego de habernos introducido en el
tema.
SISTEMAS EXPERTOS DESARROLLO DE UNA EMPAQUETADORA DE LIMONES
CLIPS(CLanguageIntegratedProductionSystem)esunaherramientaparaeldesarrollodesistemasexpertos(SE)creadaporlaSoftwareTechnologyBranch(STB),NASA/LyndonB.JohnsonSpaceCenteramediadosdelos80.
Permitelarepresentacióndelconocimientoysuusoparalaresolucióndeproblemas,puedeejecutarseenmuchasplataformas(UNIX,Linux,Windows,MacOS),esdedominiopúblicoyestábiendocumentado.
Loselementosbásicosqueposeecualquierherramientadegeneracióndesistemasexpertosson:
Hechos:Unalistadehechosyejemplosquedescribenelestadoactualdelsistema.BasedeConocimiento:Reglasqueactúansobreloshechosparaproducirresultados.Motordeinferencia:Controlalaejecucióndelasreglas.
SISTEMAS EXPERTOS CLIPS. INTRODUCCION. CARACTERISTICAS
Hacer click en el icono del programa
Se abrirá una ventana con una ventana de diálogo que actúa como interfaz de usuario:
SISTEMAS EXPERTOS CLIPS. PRIMEROS PASOS
Todosloscomandosseescribenentreparéntesis.Algunoscomandospuedenejecutarsedesdelosmenús.
–(exit)salirdeCLIPS–(clear)borradeCLIPStodosloshechos,reglasydefiniciones.EquivalenteacerrarCLIPSyabrirlodenuevo–(reset)poneelsistemaensuestadoinicial.(Borratodosloshechos;colocaunhechoinicial(initial_fact)asícomotodoslosqueelusuariodefinapordefecto.Debedeefectuarseantesdeejecutarcualquierprograma–(run)ejecutaelprogramacargadoenCLIPS–(load“nombrefichero.clp”)CargaunprogramaCLIPSapartirdelficheronombrefichero.clp
SISTEMAS EXPERTOS CLIPS. COMANDOS BASICOS
OBJETOSUnobjetoenCLIPSpuedesercualquiervalordeuntipoprimitivodedatosounainstanciadeunaclasedefinidaporelusuario.Clase:patrónparapropiedadescomunesyconductadelosobjetosquesoninstancias.Tienendoscategorías:tiposprimitivoseinstanciasdeclasesdefinidasporelusuario.Ladiferenciaqueexisteentreunhechonoordenadoyunobjeto,esqueesteultimoposeeherencia.Constructores.Sonestructurassintácticasidentificadasporunapalabrareservadadellenguajequepermitendefinirfunciones,reglas,hechos,clases,etc.,quealteranelentornodeCLIPSañadiéndolasalabasedeconocimiento.Comentarios.CLIPStambiénpermitecomentarelcódigo.Todoslosconstructores(exceptounollamadodefglobal)permitenincorporarensudefiniciónuncomentariodirectamenteentrecomillas(").Enlasdemáspartes,loscomentariospuedenintercalarseconelcódigousandoelpuntoycoma(;).
SISTEMAS EXPERTOS CLIPS. OBJETOS. CONSTRUCTORES. COMENTARIOS
LainformaciónqueCLIPSutilizaparaconocerelestadodelsistemasemanejamediantehechos.Elusuarioproporcionaloshechosmediantelainterfazdeusuario,losmismossealmacenanenlabasedehechos,cadahechotendráunidentificadorqueidentificasuíndiceenlalista.
1) Formasdeintroducirloshechos:Atributo-valor:(assert(<atributo><valor>))Ej:CLIPS>(assert(<DESARROLLO_LIMON><BUENO>))<Fact-0>Objeto-atributo-valor:(assert(<objeto><atributo><valor>))Relacional:(assert(<relación><atributo><valor>))
2)Formadeverloshechos:(facts)muestratodosloshechosquesehanintroducido,consuidentificador.
SISTEMAS EXPERTOS CLIPS. HECHOS
3)Formadeeliminarhechos:Lainstrucción(retractn)dóndeneselnúmerodeunhechointroducido,eliminaelhechoencuestión,puedeusarseelsímbolo*paraeliminartodosloshechosintroducidoshastaelmomento.
4)IntroducciónremotadehechosUtilizandolainstrucción(deffacts)loshechosnosecarganenmemoriadirectamente,sinoquesecargancuandohayamosreiniciadoelsistemaconreset.Ej:(deffacts(DESARROLLOBUENO)(SALUDSANO)(DAÑOSNO_EXISTENTES))
SISTEMAS EXPERTOS CLIPS. HECHOS
Hechosordenados:Sonlosformadosporvariossímbolosentreparéntesisseparadosporespacios.Laposiciónesimportante.
Hechosnoordenados:Loshechosnoordenadosproporcionanalusuariolahabilidaddeabstraersedelaestructuradelhecho,asignandounnombreacadacampodelmismo.Elconstructordeftemplatecreaunaplantillaopatrónqueseusaparaacceder,porsunombre,aloscampos(slots)deunhechonoordenado.Sintaxis(deftemplate<nombre>[<comentario>]<definicion-slot>*)
SISTEMAS EXPERTOS CLIPS. HECHOS
Unareglaseactivacuandosecumpleelantecedente,todaslasreglasactivassonalmacenadasenunmóduloqueseencuentraenelmotordeinferenciallamadoAgenda,luegoseejecutarántodaslasreglandelaagendasegúnlaprioridaddecadauna,estaacciónserealizahastaquelaagendaquedevacía.Laejecucióndecadareglapuedeagregarhechosalabasedehechosyporestarazónactivarnuevasreglas.Conelcomando(watchagenda)podemosverlasreglasactivas.Conlaconstrucción(defrule)podemosdefinirlasreglasenCLIPS:Ej:(defruleCALIBRADOR_FASE1"ReglasparaSelecciónfinal" (TRATAMIENTOSE_REALIZA) (TAMAÑOTIPO6)=> (assert(BANDA6)) (printoutt"Ellimónluegodeltratamientoesderivadoalabandacontenedoradelimonestipocalibre110"))
SISTEMAS EXPERTOS CLIPS. REGLAS.
ComoenotroslenguajesdeprogramaciónCLIPSofrecelaposibilidaddeusarvariablesparaalmacenardatos.Estasvariablessediferenciandeloshechosenquesondinámicasyquelosvaloresqueselesasignanpuedencambiar.Sintaxis:Serepresentaconunsignodeinterrogacióndelantedelnombredelavariable.?<nombre>
Variablesquealmacenandirecciones:Unavariablepuedetambiénalmacenarladireccióndeunhecho.Estoesespecialmenteútilsiqueremoseliminarunhechoquesehaintroducidoynoconocemoslaposiciónqueocupaenlamemoria.Usaremoseloperador<-
SISTEMAS EXPERTOS CLIPS. VARIABLES.
Libros
• “SistemasExpertos.PrincipiosyProgramación”.Giarratano J. –RileyG.
InternationalThomsonEditores.SerieCiencias:Ingenierías.Cengage2001
–Capítulo1.
• “Inteligenciaartificialeingenieríadelconocimiento”
Gonzalo Pajarez Martinsanz, Matilde Santos Peñas – Alfaomega – 2005 –
Capítulo4.
SitiosWebs
• http://web.gideononline.com/web/diagnosis/index.php
• http://bvs.sld.cu/revistas/aci/vol18_4_08/aci91008.htm
REFERENCIAS
catedras.facet.unt.edu.ar/intar
PREGUNTAS
Top Related