Filminas Sistemas Basados en Reglas Logicas

March 27, 2018 | Author: Matilde Inés Césari | Category: First Order Logic, Inference, Reason, Knowledge, Epistemology


Comments



Description

Sistemas Basados en Reglas SBRMotor de Inferencia Experto Módulo de Adquisición del Conocimiento Usuario Base Módulo de Base de de Explicación Conocimientos Datos (Reglas) (Hechos) Interface de Usuario Matilde Césari 1 Sistemas Basados en Reglas Matilde Césari 2 . atmósfera húmeda) que puede ser útil a la hora de deducir nuevo conocimiento Matilde Césari 3 .Inferencia en Sistemas de Reglas Observación R1: “ Si temperatura ambiente > 20ºC Y humedad relativa >65% Entonces es probable que haya tormentas” Misma conclusión con pérdida de información (hace calor. El Proceso de Razonamiento Parte de hechos para cumplir antecedentes y ejecutar consecuentes Parte de los estados meta y trata de cumplir los antecedentes necesarios para llegar a ellos Cuando usamos cada uno? Matilde Césari 4 . Control del razonamiento Factores que determinan la importancia del orden Contenido de la información • Las reglas más específicas y las que tratan con excepciones deben aplicarse antes que las generales Eficiencia Diálogo • El sistema no debe preguntar lo que puede deducir • El orden de las preguntas debe seguir una línea de razonamiento clara Añadir nuevas premisas para controlar las reglas a aplicar en cada punto de la inferencia Matilde Césari 5 . Reglas con variables •Aumenta la expresividad de las reglas •También la complejidad de su gestión •Facilita la modificación de reglas Matilde Césari 6 . Campos de Aplicación Matilde Césari 7 . !.!. utilizando lógica de predicados Reglas Hechos predicado(argum).pregunta1. animal('LEON') :. write('2. opcion C. clasificar1(_):-pregunta1. clasificar1(3):-assert(predicado(argum)). write('1.nl.nl. opcion A.nl.!.clase(mamifero) . pregunta :write(' Titulo con la conulta que hace SBR:').'). predicado(argum). … . clasificar1(1):-assert(predicado(argum)).nl. Hechos Nuevos hechos que se incorporan a la memoria de trabajo con el predicado assert Cabeza: predicado con un argumento. Matilde Césari 8 .GUIA PARA LA CONSTRUCCIÓN DE SBR Paso 1: Construya la base de conocimiento en Prolog. write('3. Por qué se hace esta pregunta?'). clasificar(N) . Quiere decir: Un animal es un tigre si es mamífero y carnívoro. clasificar1(2):-assert(predicado(argum)). clasificar1(4):-write(‘Explicacion sobre la pregunta').nl.nl. donde la cabeza es una propocicion y el cuerpo contiene los predicados que muestran el menu y leen la respuesta. predicado(argumentos) :. alimentacion(carnivoro) .predicado(argum).nl. opcion B. Paso2: Construya las preguntas en donde solicitará al usuario las características del animal que desea clasificar y donde se explique por qué se hace cada pregunta: Preguntas Una clçausula por cada pregunta.nl. write('4.').!. que es el numero de pregunta y en el cuerpo ingreso el hecho a la Base Conocimiento.'). read(N).!. write(M).nl.nl.clase(X). clasificar:animal(M).!.GUIA PARA LA CONSTRUCCIÓN DE SBR Paso 3: Defina un predicado que determine la clasificación de acuerdo con las respuestas del usuario y explique la razón por la cual se llegó a esa conclusión: Una clçausula donde la cabeza es una propocicion y el cuerpo contiene los predicados que muestran la respuesta e inician el proceso de resolucion.nl. alimentacion(Y). clasificar.nl.write(Y). write('porque es el único animal que cumple la condición de ser '). Matilde Césari 9 .write(' y '). write(' '). pregunta2. write(X). write('El animal puede ser : '). Paso 4: Defina el predicado que permita ejecutar todo el programa: Una clçausula donde la cabeza es una propocicion y el cuerpo contiene los predicados que permiten consultar las preguntas para generar los hechos y clasificar empezar:pregunta1. write('.nl.write(Y). 2.nl.. retract(alimentacion(_)).nl..write(' y ')...... continue('S'):-empezar. Defina un predicado que permita continuar si el usuario responde adecuadamente: continue('s'):-empezar. Matilde Césari 10 .. alimentacion(Y). read(X).!. 4 Redefina el predicado consultar para que responda la clasificación y pregunte al usuario si desea continuar: clasificar:animal(M)...nl.Limpie todas las acciones del predicado assert limpiar:-retract(clase(_)). pregunta:-nl. Defina el predicado que pregunte al usuario si desea continuar. write(X).!.'). continue('n'):-continue('N').nl. write(' '). write('porque es …'). limpiar.. pregunta.write(M).GUIA PARA LA CONSTRUCCIÓN DE SBR Ahora.HASTA PRONTO.nl. qué hacer si usted quiere proveer al usuario la posibilidad de hacer otra consulta: 1. write('Desea continuar s/n : ')....!.. continue(X).. write('El animal puede ser : ').. continue('N'):-write(' NOS AGRADÓ AYUDARTE ').clase(X)...... 3.
Copyright © 2024 DOKUMEN.SITE Inc.