Tema 7: Razonamiento por defecto y razonamiento abductivo

Documentos relacionados
Tema 3: Sistema inicial de representación y razonamiento

Tema 2: Equivalencias y formas normales

Programación declarativa ( )

Tema 2: Representación de problemas como espacios de estados

Lógica y Programación

Inteligencia Artificial II: Conocimiento, Razonamiento y Planeación. Presentación del Curso.

Métodos de Inteligencia Artificial

Programación Declarativa Curso Tema 3: Estructuras. José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo

Problemas de Satisfacción de Restricciones

Tema 1: Revisión de Prolog

Inteligencia Artificial. Grado en INFORMÁTICA 4º curso. Modalidad: Presencial

7. Programación lógica y Sistemas Expertos

Tema 5: Problemas de satisfacción de restricciones

Lógicas para la inteligencia natural y artificial

Tema 4: Búsqueda informada mediante técnicas heurísticas

Profesor(a): M. A. Zeferino Galarza Hernández

PROGRAMA ANALÍTICO DE ASIGNATURA

Tema 3.1 Introducción a los circuitos combinacionales. Algebra de Boole

Lógica proposicional. Ivan Olmos Pineda

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación. Inglés I

GUÍA DOCENTE DE LA ASIGNATURA

Matemáticas Básicas para Computación

PROYECTO DOCENTE ASIGNATURA: "Lógica Informática"

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román.

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

CommonKADS: Nivel de concepto

Guía de estudio para el examen de admisión - Convocatoria 2013

TEMA III: OPERACIONES CON LOS DATOS

6 10 3,5 2,0 4,5. PROGRAMA DE CURSO Código Nombre EL Sistemas Digitales Nombre en Inglés Digital Systems SCT

SUMADORES Y COMPARADORES

Introducción: Proposiciones, argumentos e inferencias. Inferencias deductivas e inductivas. Deducción: Inferencias transitivas (Silogismos lineales)

GUÍA DOCENTE. Curso Académico 2015/16. Máster Universitario en Métodos de Investigación en Ciencias Económicas y Empresariales

Programa y criterios de evaluación de la asignatura. Sistemas electrónicos para fuentes de energía renovable

Tema 13: Aplicaciones de programación funcional

Redes Semánticas. IIMAS Inteligencia Artificial. Alumno: Vicente Iván Sánchez Carmona Profesora: Dr. Ana Lilia Laureano

WORKFLOW EN PROCESOS ADMINISTRATIVOS A TRAVÉS DE AGENTES

Diagnóstico de fallas en circuitos digitales

Tabla de contenidos. 1 Lógica directa

Tema 3: Tipos y clases

Tema 3: Tipos y clases

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN

Asignatura: SISTEMAS EN TIEMPO REAL Código: Año académico: 2009/2010 Centro:

CIRCUITOS ARITMÉTICOS. Tema 5: CIRCUITOS ARITMÉTICOS

Tema 5: Conceptualización relacional

Otto Cordero Sánchez 1, Enrique Peláez Jarrín 2

Capítulo 4. Lógica matemática. Continuar

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

Máster Universitario en Tecnologías de la Información y las Comunicaciones Universidad de Alcalá Curso Académico 2013/14

Métodos de Inteligencia Artificial

GUÍA DOCENTE DE LA ASIGNATURA

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

Lógica Proposicional. Guía Lógica Proposicional. Tema III: Cuantificadores

Tema AA 1: Introducción a al Aprendizaje Automático

BIOINFORMÁTICA

Epistemología y Evolución del Pensamiento Científico Cuadernillo para el cursado

GUIA DIDACTICA DE ELECTRONICA N º12 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6

METODOS DE LA QUIMICA CUANTICA

Matemáticas Básicas para Computación

Sistemas informáticos industriales. Algebra de Boole

PROYECTO DOCENTE ASIGNATURA: "Filosofía de la Mente"

Tema 3.- Predicados y sentencias condicionales

Pontificia Universidad Católica del Ecuador

Matemáticas Básicas para Computación

Economía de la Energía

PROGRAMACIÓN LÓGICA INTRODUCCIÓN. Juan Juárez Fuentes

Teorías del aprendizaje

Titulación(es) Titulación Centro Curso Periodo Grado de Economía FACULTAT D'ECONOMIA 4 Primer cuatrimestre

Matemáticas Básicas para Computación

Lógica informática ( )

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

PHP: Lenguaje de programación

MAS ALLA DE LA DEDUCCION

TEMA 3 (parte 3). Representación del Conocimiento

PRÁCTICAS DE CIRCUITOS LÓGICOS PRÁCTICA 8

Diseño Estructurado de Algoritmos

GUÍA DOCENTE DE LA ASIGNATURA

PROGRAMA DE DOCTORADO

Formalismos de Representación de Conocimientos

Guía práctica de estudio 05: Diagramas de flujo

Unidad II El Concepto

Facultad de Física. Máster Universitario en Energías. Renovables y Eficiencia Energética

EVALUACIÓN INTEGRAL: INTELIGENCIA Y PERSONALIDAD

Matemá'cas generales

Tema 8: Razonamiento con lenguaje natural

NOT. Ejemplo: Circuito C1

Contenido. Contenido. Inteligencia Artificial y. La prueba de Turing. Pueden las máquinas pensar? El juego de la adivinación

Tecnología de Videojuegos/ Video Games Technology

Sistemas Expertos Unidad 2. Prof. Francklin Rivas Echeverría Universidad de Los Andes Laboratorio de Sistemas Inteligentes

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Los Sistemas de Información y la Innovación Tecnológica

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

Programa de la asignatura Curso: 2009 / 2010 INGLÉS II (1321)

ECSDI - Ingeniería del Conocimiento y Sistemas Distribuidos Inteligentes

Programa Método SIG y Análisis Socioespacial

UNIVERSIDAD LIBRE PROGRAMAS ANALÍTICOS SECCIONAL: PEREIRA FACULTAD: INGENIERIAS. PROGRAMA ACADÉMICO: Ingeniería de Sistemas

Subsistemas aritméticos y lógicos. Tema 8

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

TMDM-E7P09 - Técnicas de Mantenimiento y Diagnóstico en Motores y Accionamientos Eléctricos

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

Transcripción:

Programación lógica Curso 2004 05 Tema 7: Razonamiento por defecto y razonamiento abductivo José A. Alonso Jiménez Jose-Antonio.Alonso@cs.us.es http://www.cs.us.es/ jalonso Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.

Ejemplo de razonamiento por defecto El animal_ es un pájaro Normalmente, los pájaros vuelan. Por tanto, el animal_ vuela. Programa P Programa P pájaro(animal_). vuela(x) :- pájaro(x), normal(x). Modelos del programa P {pájaro(animal_)} {pájaro(animal_), vuela(animal_)} {pájaro(animal_), normal(animal_), vuela(animal_)} Consecuencia P =/= vuela(animal_) PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.2

Programa P2 con anormal/ Programa P2 :- dynamic anormal/. pájaro(animal_). vuela(x) :- pájaro(x), not anormal(x). Sesión?- vuela(animal_). Yes PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.3

Traza?- vuela(animal_). Call: ( 7) vuela(animal_)? Call: ( 8) pájaro(animal_)? Exit: ( 8) pájaro(animal_)? ^ Call: ( 8) not anormal(animal_)? Call: ( 9) anormal(animal_)? Fail: ( 9) anormal(animal_)? ^ Exit: ( 8) not anormal(animal_)? Exit: ( 7) vuela(animal_)? Yes PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.4

Extensión del conocimiento Nuevo conocimiento El animal_ es un avestruz. Los avestruces son pájaros que no vuelan. Programa extendido :- dynamic anormal/. pájaro(animal_). avestruz(animal_). vuela(x) :- pájaro(x), not anormal(x). anormal(x) :- avestruz(x). PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.5

Traza?- vuela(animal_). Call: ( 7) vuela(animal_)? Call: ( 8) pájaro(animal_)? Exit: ( 8) pájaro(animal_)? ^ Call: ( 8) not anormal(animal_)? Call: ( 9) anormal(animal_)? Call: ( 0) avestruz(animal_)? Exit: ( 0) avestruz(animal_)? Exit: ( 9) anormal(animal_)? ^ Fail: ( 8) not anormal(animal_)? Fail: ( 7) vuela(animal_)? No PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.6

Cancelación reglas por defectos mediante reglas específicas Regla por defecto: Normalmente, los pájaros vuelan Regla específica: Los avestruces no vuelan Razonamiento monótono y no monótono Razonamiento monótono P = C y P 2 extiende a P, entonces P 2 = C. Razonamiento monótono P = C y P 2 extiende a P, entonces P 2 = C. PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.7

Programa con reglas y reglas con excepciones (defectos) Programa objeto :- op(00,xfx,<-). defecto(vuela(x) <- pájaro(x)). regla(pájaro(x) <- avestruz(x)). regla(not(vuela(x)) <- avestruz(x)). regla(avestruz(animal_) <- verdad). regla(pájaro(animal_2) <- verdad). Sesión?- explica(vuela(x),e). X = animal_2 E = [defecto((vuela(animal_2) <- pájaro(animal_2))), regla((pájaro(animal_2) <- verdad))] ; No?- explica(not(vuela(x)),e). X = animal_ E = [regla((not(vuela(animal_)) <- avestruz(animal_))), regla((avestruz(animal_) <- verdad))] ; No PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.8

Metaprograma para explicaciones explica(a,e) :- explica(a,[],e). explica(verdad,e,e) :-!. explica((a,b),e0,e) :-!, explica(a,e0,e), explica(b,e,e). explica(a,e0,e) :- prueba(a,e0,e). explica(a,e0,[defecto(a<-b) E]) :- defecto(a<-b), explica(b,e0,e), \+ contradicción(a,e). prueba(verdad,e,e) :-!. prueba((a,b),e0,e) :-!, prueba(a,e0,e), prueba(b,e,e). prueba(a,e0,[regla(a<-b) E]) :- regla(a<-b), prueba(b,e0,e). contradicción(not(a),e) :-!, prueba(a,e,_e). contradicción(a,e) :- prueba(not(a),e,_e). PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.9

Explicaciones de hechos contradictorios Programa objeto defecto(not(vuela(x)) defecto(vuela(x) defecto(not(vuela(x)) <- mamífero(x)). <- vampiro(x)). <- muerto(x)). regla(mamífero(x) <- vampiro(x)). regla(vampiro(dracula) <- verdad). regla(muerto(dracula) <- verdad). PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.0

Sesión?- explica(vuela(dracula),e). E = [defecto(vuela(dracula) <- vampiro(dracula)), regla(vampiro(dracula) <- verdad)] ; No?- explica(not(vuela(dracula),e)). E = [defecto(not(vuela(dracula)) <- mamífero(dracula)), regla(mamífero(dracula) <- vampiro(dracula)), regla(vampiro(dracula) <- verdad)] ; E = [defecto(not(vuela(dracula)) <- muerto(dracula)), regla(muerto(dracula) <- verdad)] ; No PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.

Cancelación entre defectos mediante nombres Programa objeto defecto(mamíferos_no_vuelan(x), (not(vuela(x)) <- mamífero(x))). defecto(vampiros_vuelan(x), (vuela(x) <- vampiro(x))). defecto(muertos_no_vuelan(x), (not(vuela(x)) <- muerto(x))). regla(mamífero(x) <- vampiro(x)). regla(vampiro(dracula) <- verdad). regla(muerto(dracula) <- verdad). regla(not(mamíferos_no_vuelan(x)) <- vampiro(x)). regla(not(vampiros_vuelan(x)) <- muerto(x)). PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.2

Modificación de explica explica(a,e0,[defecto(a<-b) E]) :- defecto(nombre,(a<-b)), explica(b,e0,e), \+ contradicción(nombre,e), \+ contradicción(a,e). Sesión?- explica(vuela(dracula),e). No?- explica(not vuela(dracula),e). E = [defecto((not(vuela(dracula))<-muerto(dracula))), regla((muerto(dracula) <- verdad))] Yes PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.3

Razonamiento abductivo Problema de la abducción Dados P un programa lógico y O una observación (un hecho básico en el lenguaje de P) Encontrar E una abducción (una lista de hechos atómicos en el lenguaje de P cuyos predicados no son cabezas de cláusulas de P) tal que P U E - O) Abducción para programas definidos Programa objeto europeo(x) <- espa~nol(x). espa~nol(x) <- andaluz(x). europeo(x) <- italiano(x). Sesión?- abducción(europeo(juan),e). E = [andaluz(juan)] ; E = [italiano(juan)] ; No PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.4

Razonamiento abductivo Programa :- op(200,xfx,<-). abducción(o,e) :- abducción(o,[],e). abducción(verdad,e,e) :-!. abducción((a,b),e0,e) :-!, abducción(a,e0,e), abducción(b,e,e). abducción(a,e0,e) :- (A <- B), abducción(b,e0,e). abducción(a,e,e) :- member(a,e). abducción(a,e,[a E]) :- not member(a,e), explicable(a). explicable(a) :- not (A <- _B). PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.5

Diagnóstico mediante abducción Representación de un sumador +----+ X ----+-> S xor --+--+ Y --+- -> +----+ +----+ +------------> xor2 ---Suma Z -- - -------+-- ---------------> +----+ +----+ +------- -- --> A and ---+ +--------- -- --> +----+ +----+ +--> or ---Acarreo +----+ +--> +--> A2 +----+ and ---+ +-----> +----+ PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.6

Diagnóstico mediante abducción Definición del sumador sumador(x,y,z,acarreo,suma) :- xor(x,y,s), xor(z,s,suma), and(x,y,a), and(z,s,a2), or(a,a2,acarreo). and(,,). and(,0,0). and(0,,0). and(0,0,0). or(,,). or(,0,). or(0,,). or(0,0,0). xor(,0,). xor(0,,). xor(,,0). xor(0,0,0). tabla :- format( X Y Z A S~n ), tabla2. tabla2 :- member(x,[0,]), member(y,[0,]), member(z,[0,]), sumador(x,y,z,a,s), format( ~a ~a ~a ~a ~a~n,[x,y,z,a,s]), fail. tabla2. PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.7

Diagnóstico mediante abducción Sesión con el sumador?- tabla. X Y Z A S 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Yes PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.8

Diagnóstico mediante abducción Modelo de fallo del sumador sumador(x,y,z,acarreo,suma) <- xorg(xor,x,y,s), xorg(xor2,z,s,suma), andg(and,x,y,a), andg(and2,z,s,a2), org(or,a,a2,acarreo). xorg(_n,x,y,z) <- xor(x,y,z). xorg(n,,,) <- fallo(n=f). xorg(n,0,0,) <- fallo(n=f). xorg(n,,0,0) <- fallo(n=f0). xorg(n,0,,0) <- fallo(n=f0). andg(_n,x,y,z) <- and(x,y,z). andg(n,0,0,) <- fallo(n=f). andg(n,,0,) <- fallo(n=f). andg(n,0,,) <- fallo(n=f). andg(n,,,0) <- fallo(n=f0). org(_n,x,y,z) <- or(x,y,z). org(n,0,0,) <- fallo(n=f). org(n,,0,0) <- fallo(n=f0). org(n,0,,0) <- fallo(n=f0). org(n,,,0) <- fallo(n=f0). PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.9

Diagnóstico mediante abducción Diagnóstico mediante abducción diagnóstico(observacion,diagnóstico) :- abducción(observacion,diagnóstico). :- abolish(explicable,2). explicable(fallo(_x)). Sesión de diagnóstico?- diagnóstico(sumador(0,0,,,0),d). D = [fallo(or = f),fallo(xor2 = f0)] ; D = [fallo(and2 = f),fallo(xor2 = f0)] ; D = [fallo(and = f),fallo(xor2 = f0)] ; D = [fallo(and2 = f),fallo(and = f),fallo(xor2 = f0)] ; D = [fallo(xor = f)] ; D = [fallo(or = f),fallo(and2 = f0),fallo(xor = f)] ; D = [fallo(and = f),fallo(xor = f)] ; D = [fallo(and2 = f0),fallo(and = f),fallo(xor = f)] ; No PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.20

Diagnóstico mediante abducción Diagnóstico mínimo diagnóstico_mínimo(o,d) :- diagnóstico(o,d), not((diagnóstico(o,d), subconjunto_propio(d,d))). subconjunto_propio([],ys):- Ys \= []. subconjunto_propio([x Xs],Ys):- select(ys,x,ys), subconjunto_propio(xs,ys). Diagnóstico mínimo del sumador?- diagnóstico_mínimo(sumador(0,0,,,0),d). D = [fallo(or = f),fallo(xor2 = f0)] ; D = [fallo(and2 = f),fallo(xor2 = f0)] ; D = [fallo(and = f),fallo(xor2 = f0)] ; D = [fallo(xor = f)] ; No PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.2

Bibliografía. Flach, P. Simply Logical (Intelligent Reasoning by Example) (John Wiley, 994) Cap. 8: Reasoning incomplete information Peischl, B. y Wotawa, F. Model Based Diagnosis or Reasonoing from First Principles (IEEE Intelligent Systems, Vol 8, No. 3 (2003) p. 32 37) Poole, D.; Mackworth, A. y Goebel, R. Computational Intelligence (A Logical Approach) (Oxford University Press, 998) Cap. 9: Assumption Based Reasoning PL 2004 05 CcIa Razonamiento por defecto y razonamiento abductivo 7.22