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

22
09/04/2019 Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Mag. Ing. Gustavo E. Juarez Ciclo Lectivo 2019 Inteligencia Artificial (EC5)

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

Page 1: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

09/04/2019Facultad de Ciencias Exactas y Tecnología

Universidad Nacional de Tucumán Mag. Ing. Gustavo E. Juarez

Ciclo Lectivo 2019Inteligencia Artificial (EC5)

Page 2: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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).

Page 3: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 4: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 5: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 6: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 7: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 8: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 9: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 10: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 11: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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 

Page 12: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 13: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 14: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 15: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 16: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 17: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 18: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 19: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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.

Page 20: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

ComoenotroslenguajesdeprogramaciónCLIPSofrecelaposibilidaddeusarvariablesparaalmacenardatos.Estasvariablessediferenciandeloshechosenquesondinámicasyquelosvaloresqueselesasignanpuedencambiar.Sintaxis:Serepresentaconunsignodeinterrogacióndelantedelnombredelavariable.?<nombre>

Variablesquealmacenandirecciones:Unavariablepuedetambiénalmacenarladireccióndeunhecho.Estoesespecialmenteútilsiqueremoseliminarunhechoquesehaintroducidoynoconocemoslaposiciónqueocupaenlamemoria.Usaremoseloperador<-

SISTEMAS EXPERTOS CLIPS. VARIABLES.

Page 21: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

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

Page 22: Inteligencia Artificial (EC5) · Fase de tratamiento: El limón seleccionado es lavado, sanitizado, se realiza ... , puede ejecutarse en muchas plataformas (UNIX, Linux, Windows,

catedras.facet.unt.edu.ar/intar

PREGUNTAS