Inteligencia Artificial. Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Prof. Ing. Franco D. Menendez

Inteligencia Artificial Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Prof. Ing. Franco D. Menendez Sistemas Expertos -

6 downloads 151 Views 728KB Size

Recommend Stories


UNIVERSIDAD NACIONAL DE ROSARIO FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA. AUTOR: Ing. Carlos A. Carranza
UNIVERSIDAD NACIONAL DE ROSARIO FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA. Lectura de Vistas AUTOR: Ing. Carlos A. Carranza Facultad de

Facultad de Ciencias Naturales y Exactas Universidad del Valle
Facultad de Ciencias Naturales y Exactas Universidad del Valle Facultad de Ciencias Naturales y Exactas Universidad del Valle DIFERENCIA ENTRE SEMEJA

FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIA
UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIA Nombre de la Asignatura: TEORIA ELECTROMAGNETICA Nombre de l

UNIVERSIDAD NACIONAL DE MAR DEL PLATA FACULTAD DE CIENCIAS EXACTAS Y NATURALES SEMINARIO DE INVESTIGACION
UNIVERSIDAD NACIONAL DE MAR DEL PLATA FACULTAD DE CIENCIAS EXACTAS Y NATURALES SEMINARIO DE INVESTIGACION CARACTERISTICAS MORFOLOGICAS y MORFOMET

Universidad Nacional de Costa Rica Facultad de Ciencias Exactas y Naturales
Universidad Nacional de Costa Rica Facultad de Ciencias Exactas y Naturales 1) Presentación. Este documento constituye la presentación formal del An

UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS EXACTAS
UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS EXACTAS” ( IND – 120) Unidad 1 : introducción al dibujo Técnico Ing. Juan Pablo Am

Story Transcript

Inteligencia Artificial Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Prof. Ing. Franco D. Menendez

Sistemas Expertos - Arquitectura La Arquitectura del Sistema Experto es la siguiente:

Ing. Franco D. Menendez

Sistemas Expertos

Desarrollo del Sistema Experto

1. Planeamiento del Problema. 2. Encontrar expertos humanos que puedan resolver el problema. 3. Diseño de un Sistema Experto. 4. Elección de la herramienta de desarrollo o lenguaje de programación. 5. Desarrollo y prueba de un prototipo 6. Refinamiento y generalización. 7. Mantenimiento y puesta al día.

Ing. Franco D. Menendez

Sistemas Expertos - Desarrollo del Sistema Experto 1. Planeamiento del Problema. La primera etapa en cualquier proyecto es normalmente la definición del problema a resolver. Puesto que el objetivo principal de un sistema experto es responder a preguntas y resolver problemas, esta etapa es quizás la más importante en el desarrollo de un sistema experto. Si el sistema está mal definido, 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 jugar el papel del experto humano.

3. Diseño de un Sistema Experto. Esta etapa incluye el diseño de estructuras para almacenar el conocimiento, el motor de inferencia, el subsistema de explicación, la interface de usuario, etc. Ing. Franco D. Menendez

Sistemas Expertos - Desarrollo del Sistema Experto 4. Elección de la herramienta de desarrollo o lenguaje de programación. Debe decidirse si realizar un sistema experto a medida, o una herramienta, o un lenguaje de programación. Si existiera una herramienta comercial satisfaciendo todos los requerimientos del diseño, está debería ser la elección, no sólo por razones de tipo financiero sino también por razones de fiabilidad. Las herramientas comerciales están sujetas a controles de calidad, a los que otros programas no lo están.

5. Desarrollo y prueba de un prototipo. Si el prototipo no pasa las pruebas requeridas, las etapas anteriores (con las modificaciones apropiadas) deben ser repetidas hasta que se obtenga un prototipo satisfactorio.

Ing. Franco D. Menendez

Sistemas Expertos - Desarrollo del Sistema Experto

6. Refinamiento y generalización. En esta etapa se corrigen los fallos y se incluyen nuevas posibilidades no incorporadas en el diseño inicial..

7. Mantenimiento y puesta al día. En esta etapa el usuario plantea problemas o defectos del prototipo, corrige errores, actualiza el producto con nuevos avances, etc.

Todas estas etapas influyen en la calidad del sistema experto resultante, que siempre debe ser evaluado en función de las aportaciones de los usuarios.

Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático Como ejemplo de problema determinista que puede ser formulado usando un conjunto de reglas, considérese una situación en la que un usuario (por ejemplo, un cliente) desea sacar dinero de su cuenta corriente mediante un cajero automático (CA). En cuanto el usuario introduce la tarjeta en el CA, la máquina 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 identificación 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, además de haber suficiente dinero en su cuenta. Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático 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.

Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático

Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático En CLIPS forma 1 : (defrule R1:”Si se cumple todo entonces se autoriza el pago” (tarjeta)(fecha)(nip)(NOT(intentos))(balance)(NOT(limite)) => (printout t “Se autorizo el pago”.crlf)) (defrule R2:”Si no se verifica la tarjeta no se autoriza el pago” (NOT(tarjeta)) => (printout t “No tiene autorizada la transición”.crlf)) (defrule R3:”Si la fecha se encuentra expirada no se autoriza el pago” (NOT(fecha)) => (printout t “No tiene autorizada la transición”.crlf))

Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático (defrule R4:”Si el nip es incorrecto no se autoriza el pago” (NOT (nip)) => (printout t “No tiene autorizada la transacción”.crlf)) (defrule R5:”Si el numero de intentos es supera no se autoriza el pago” (intentos) => (printout t “No tiene autorizada la transición”.crlf)) (defrule R6:”Si el balance es insuficiente no se autoriza el pago” (NOT(balance)) => (printout t “No tiene autorizada la transición”.crlf)) (defrule R7:”Si el limite se encuentre excedido no se autoriza el pago” (limite) => (printout t “No tiene autorizada la transición”.crlf)) Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático En CLIPS forma 2 : (defrule R1:”Si se cumple todo entonces se autoriza el pago” (cuenta tarjeta verificada)(cuenta fecha no_expirada) (cuenta nip correcto)(NOT(cuenta intentos)) (cuenta balance suficiente)(NOT(cuenta limite excedido)) => (printout t “Se autorizo el pago”.crlf) (modify cuenta pago autorizado)) (defrule R2:”Si no se verifica la tarjeta no se autoriza el pago” (NOT( cuenta tarjeta verificada)) => (printout t “No tiene autorizada la transición”.crlf) (modify cuenta pago no_autorizado)) (defrule R3:”Si la fecha se encuentra expirada no se autoriza el pago” (NOT( cuenta fecha )) => (printout t “No tiene autorizada la transición”.crlf) (modify cuenta pago no_autorizado)) Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático (defrule R4:”Si el nip es incorrecto no se autoriza el pago” (NOT (cuenta nip)) => (printout t “No tiene autorizada la transacción”.crlf) (modify cuenta pago no_autorizado)) (defrule R5:”Si el numero de intentos es supera no se autoriza el pago” (cuenta intentos) => (printout t “No tiene autorizada la transición”.crlf) (modify cuenta pago no_autorizado)) (defrule R6:”Si el balance es insuficiente no se autoriza el pago” (NOT(cuenta balance suficiente)) => (printout t “No tiene autorizada la transición”.crlf) (modify cuenta pago no_autorizado)) (defrule R7:”Si el limite se encuentre excedido no se autoriza el pago” (cuenta limite excedido) => (printout t “No tiene autorizada la transición”.crlf) (modify cuenta pago no_autorizado)) Ing. Franco D. Menendez

Ejemplo 1 – Cajero Automático (deftemplate cuenta (slot tarjeta (type SYMBOL)(allowed-symbols verificada no_verificada) (slot fecha (type SYMBOL)(allowed-symbols expirada no_expirada) (slot nip(type SYMBOL)(allowed-symbols correcto incorrecto) (slot intentos(type SYMBOL)(allowed-symbols excedidos no_excedidos) (slot balance (type SYMBOL)(allowed-symbols suficiente insuficiente) (slot limite (type SYMBOL)(allowed-symbols excedido no_excedido) (slot pago (type SYMBOL)(allowed-symbols autorizado no_autorizado) )

Ing. Franco D. Menendez

Ejemplo 2 En este ejercicio se pide indicar el orden de ejecución de las reglas en CLIPS. (deffacts HECHOS-INICIALES (A) (D) (C) (B) (Z)) (defrule r1 (A)(B)(C) => (printout t "regla1" crlf)) (defrule r2 (C) (D) => (printout t "regla2" crlf)) (defrule r3 (Z) => (printout t "regla3" crlf)) (defrule r4 (C) (A) => (printout t "regla4" crlf)) Ing. Franco D. Menendez

Ejemplo 2 CLIPS>(load"E:/Docencia/IA/Clips/EjemplosClase/ejemplo1RC.clp") Defining deffacts: HECHOS-INICIALES Defining defrule: r1 +j+j+j Defining defrule: r2 +j+j Defining defrule: r3 +j Defining defrule: r4 =j+j TRUE CLIPS> (reset) ==> f-0 (initial-fact) ==> f-1 (A) ==> f-2 (D) ==> f-3 (C) CLIPS> (run) Ing. Franco D. Menendez

Ejemplo 2 El resultado obtenido es el siguiente: FIRE 1 r4: f-3, f1 regla4 FIRE 2 r2: f-3,f-2 regla2 CLIPS> (clear) Utilizando el parámetro activación ,el resultado de la ejecución sería el siguiente ==> f-0 (initial-fact) ==> f-1 (A) ==> f-2 (D) ==> f-3 (C) ==> Activation 0 r4: f-3,f-1 ==> Activation 0 r2: f-3,f-2 ==> f-4 (B) ==> Activation 0 r1: f-1,f-4,f-3 ==> f-5 (Z) ==> Activation 0 r3: f-5 Ing. Franco D. Menendez

Ejemplo 2 CLIPS>(run) FIRE 1 r3: f-5 regla3 FIRE 2 r1: f-1,f-4,f-3 regla1 FIRE 3 r2: f-3,f-2 regla2 FIRE 4 r4: f-3,f-1 Regla4 CLIPS>(clear)

Ing. Franco D. Menendez

Ejemplo 3 Determinar el orden de disparo de las reglas : (deffacts HECHOS-INICIALES (A) (C) (D) (E) (G) (H) (K) ) (defrule R-1 (K) (L) (M)=> (assert (I))) (defrule R-2 (I) (L) (J)=> (assert (Q))) (defrule R-3 (C) (D) (E)=> (assert (B))) (defrule R-4 (A) (B)=> (assert (Q))) (defrule R-5 (L) (N) (O) (P)=> (assert (Q))) (defrule R-6 (C) (H)=> (assert (R))) (defrule R-7 (R) (J) (M)=> (assert (S))) (defrule R-8 (T) (F) (H)=> (assert (B))) (defrule R-9 (A)=> (assert (F))) (defrule r-10 (A) (R) => (assert (T))) (defrule r-11 (C) (A) (R) => (assert(V)))

Ing. Franco D. Menendez

Ejemplo 4 – Clasificación de Peces Dadas las siguientes reglas, escribir el código en lenguaje CLIPS: R1: Si el pez tiene la boca pequeña y dientes puntiagudos y vive en ríos de muchas partes del mundo ENTONCES estamos hablando de un ejemplar del orden de los Ciprinodontiformes. R2: Si tenemos un individuo del orden de los Ciprinodontiformes y que vive en los ríos de América del Sur y que en el caso de ser macho posee Gonopodio ENTONCES el pez es de la familia de los Poecilidos y la hembra es 3 cm. más grande que el macho. R3: Si tenemos un individuo del orden de los Ciprinodontiformes y que vive en los ríos de América del Sur y que es hembra ENTONCES el pez es de la familia de los Poecilidos y el macho es 3 cm. más pequeño que la hembra. R4: Si tenemos un individuo de la familia de los Poecilidos que tiene manchas a lo largo del cuerpo ENTONCES estamos ante un pez de la raza de la Gambusia affinis.

Ing. Franco D. Menendez

Ejemplo 4 – Clasificación de Peces R5: Si tenemos un individuo de la familia de los Poecilidos que tiene color gris y rayas verdes a lo largo del cuerpo ENTONCES tenemos un ejemplar de raza de Gambusia Punctata. R6: Si el pez es de tamaño medio, tiene dientes puntiagudos, vive en ríos de todo el mundo y posee canales laberínticos para respirar fuera del agua ENTONCES pertenece al orden de los anabatidos. R7: Si el pez es del orden de los anabatidos, es de color azul, tiene rayas rojas y vive en ríos de Asia ENTONCES tenemos un pez de la raza luchadores de Sian. R8: Si el pez es del orden de los anabatidos, no tiene rayas ENTONCES es una perca trepadora. R9: Si el pez tiene la boca pequeña, vive en ríos de todo el mundo tiene la cola redondeada ENTONCES es un ejemplar del orden de los Ciclidos. R10: Si el pez es del orden de los Ciclios, vive en los ríos de Africa y es de color rojo con manchas negras ENTONCES es pez joya.

Ing. Franco D. Menendez

Ejemplo 4 – Clasificación de Peces (defrule R1 : (pez boca pequeña) (pez dientes puntiagudos) (pez vive rio_mundo) => (printout t "Es un ejemplar del orden de los Ciprinodontiformes". crlf) (modify pez especimen ciprinodontiformes)) (defrule R2: (pez especimen ciprinodontiformes) (pez vive rio_america_sur) (pez gonopodio si) => (printout t "El pez es de la familia de los Poecilidos y la hembra es 3 cm. más grande que el macho.". crlf) (modify pez familia poecilidos)) (defrule R3: (pez especimen ciprinodontiformes) (pez vive rio_america_sur) (pez gonopodio no) => (printout t "El pez es de la familia de los Poecilidos y el macho es 3 cm. Más pequeño que la hembra.". crlf) (modify pez familia poecilidos))

Ing. Franco D. Menendez

Ejemplo 4 – Clasificación de Peces (defrule R4: (pez familia poecilidos) (pez particularidad manchas) => (printout t "Es un pez de la raza de la Gambusia affinis.". crlf) (modify pez raza gambusia_affinis)) (defrule R5: (pez familia poecilidos) (pez color gris) (pez particularidad rayas_verdes) => (printout t "Es un ejemplar de raza de Gambusia Punctata.". crlf) (modify pez raza gambusia_affinis)) (defrule R6: (pez tamaño medio) (pez dientes puntiagudos) (pez vive rio_mundo) (pez particularidad respira_fuera_agua) => (printout t "Es un ejemplar del orden anabatidos". crlf) (modify pez especimen anabatidos)) Ing. Franco D. Menendez

Ejemplo 4 – Clasificación de Peces (defrule R7: (pez especimen anabatidos) (pez color azul) (pez particularidad rayas_rojas) (pez vive rio_asia) => (printout t "Es un pez de la raza luchadores de Sian". crlf) (modify pez raza sian)) (defrule R8: (pez especimen anabatidos) (pez particularidad sin_raya) => (printout t "Es un pez perca trepadora". crlf) (modify pez raza perca_trepadora)) (defrule R9: (pez boca pequeña) (pez vive rio_mundo) (pez particularidad cola_redonda) => (printout t "Es un ejemplar del orden de los Ciclidos". crlf) (modify pez especimen ciclidos)) (defrule R10: (pez especimen ciclidos) (pez vive rio_africa) (pez color rojo) (pez particularidad manchas_negras) => (printout t "Es un pez joya". crlf) (modify pez raza joya)) Ing. Franco D. Menendez

Ejemplo 4 – Clasificación de Peces (deftemplate pez (slot boca (type SYMBOL) (allowed-symbols pequeña mediana grande)) (slot dientes (type SYMBOL) (allowed-symbols puntiagudos redondeados)) (slot tamaño (type SYMBOL) (allowed-symbols pequeño mediano grande)) (slot vive (type SYMBOL) (allowed-symbols rio_mundo rio_america_sur rio_asia rio_africa)) (slot gonopodio (type SYMBOL) (allowed-symbols si no)) (slot color (type SYMBOL) (allowed-symbols gris azul rojo)) (slot particularidad (type SYMBOL) (allowed-symbols manchas rayas_verdes respira_fuera_agua rayas_rojas sin_raya cola_redonda manchas_negras)) (slot familia (type SYMBOL) (allowed-symbols poecilidos otros) (slot especimen (type SYMBOL) (allowed-symbols ciprinodontiformes anabatidos ciclidos)) (slot raza (type SYMBOL) (allowed-symbols gambusia_affinis sian perca_trepadora joya)) )

Ing. Franco D. Menendez

Ejemplo 5 Resolver la siguiente situación problemática.

Ing. Franco D. Menendez

PREGUNTAS

Ing. Franco D. Menendez

MUCHAS GRACIAS

Ing. Franco D. Menendez

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.