Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado,...

Post on 30-Jul-2020

11 views 0 download

Transcript of Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado,...

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