Está en la página 1de 22

Inteligencia Artificial

Inferencia en lgica
Primavera 2007

profesor: Luigi Ceccaroni


Inferencia en lgica
Se quieren conseguir algoritmos que pueden
responder a preguntas expresadas en forma
lgica.
Tres grandes familias de algoritmos de inferencia:
encadenamiento hacia delante y sus aplicaciones en
las bases de datos deductivas y en los sistemas de
produccin
encadenamiento hacia atrs y los sistemas de
programacin lgica
sistemas de demostracin de teoremas basados en la
resolucin
2
Sistemas de produccin
La representacin mediante formalismos lgicos es
declarativa pero puede representar procedimientos.
Se describen cuales son los pasos para resolver un
problema como una cadena de deducciones.
La representacin se basa en dos elementos:
hechos: proposiciones o predicados;
reglas: formulas condicionales donde el consecuente
est formado por un nico tomo.
Analoga con bsqueda por reduccin a sub-problemas:
hechos = problemas primitivos;
reglas = operadores de reduccin.
Sistemas de produccin
Un problema queda definido por:
Base de hechos: predicados que describen el problema
concreto
Base de conocimiento (o de reglas): reglas que
describen los mecanismos de razonamiento que
permiten resolver problemas
Motor de inferencia: interprete que ejecuta las reglas y
obtiene la cadena de razonamiento que soluciona el
problema

La solucin de un problema depende del proceso seguido


por el interprete.
Hechos: terminologa
Los hechos constituyen los datos del
problema en forma de:
Base de hechos (BH)
Memoria de trabajo
Memoria a corto plazo
Aserciones

Ejemplos:
x es un gato
x es un animal domstico
Reglas: terminologa
Si entonces
condiciones - acciones
antecedentes - consecuentes
premisas - conclusiones

Las reglas modelan el conocimiento general del


dominio y constituyen:
Base de conocimiento (BC)
Memoria a largo plazo
Implicaciones

Ejemplo: Si x es un gato entonces x es un


animal domstico
Motor de inferencia: terminologa
El motor de inferencia o mecanismo de control
est compuesto de dos elementos:
Interprete de reglas o mecanismo de inferencia
Mecanismo de razonamiento que determina que reglas de la
BC se pueden aplicar para resolver el problema
Estrategia de control o estrategia de resolucin de
conflictos
Funcin
Ejecutar acciones para resolver el problema (objetivo)
a partir de un conjunto inicial de hechos y
eventualmente a travs de una interaccin con el
usuario
La ejecucin puede llevar a la deduccin de nuevos
hechos.
Motor de inferencia
Fases del ciclo bsico:
1. Deteccin (filtro): Reglas pertinentes
Obtencin, de la BC, del conjunto de reglas aplicables a una
situacin determinada (estado) de la BH; formacin del
conjunto de conflictos (interprete de reglas)
2. Seleccin: Qu regla?
Resolucin de conflictos: seleccin de la regla a aplicar
(estrategia de control)
3. Aplicacin
Aplicacin de la regla sobre una instanciacin de les
variables: modificacin de la memoria de trabajo
4. Vuelta al punto 1, o parada si el problema est
resuelto
Si no se ha encontrado una solucin y no hay reglas
aplicables: fracaso.
1. Deteccin
Construccin del conjunto de reglas
aplicables
El intrprete de reglas realiza los clculos
necesarios para obtener las instanciaciones
que son posibles en cada estado de
resolucin del problema (comparacin o
matching).
Una regla puede instanciarse ms de una
vez, caso de existir variables que lo permitan.
2. Seleccin
Las reglas son o no aplicadas dependiendo de la estrategia de control:
estrategia fija
estrategia dinmica prefijada
estrategia guiada por meta-reglas
Seleccin de la mejor instanciacin
Ejemplos de estrategia de control:
1 regla por orden en la base de conocimiento
la regla ms/menos utilizada
la regla ms especfica (con ms literales) / ms general
la regla que tenga el grado de certeza ms alto
la instanciacin que satisfaga los hechos:
ms prioritarios
ms antiguos (instanciacin ms antigua)
ms nuevos (instanciacin ms reciente)
aplicacin de todas las reglas (slo si se quieren todas las soluciones
posibles)
la regla usada ms recientemente
meta-reglas, que indican dinmicamente como seleccionar las reglas a
aplicar
Posible combinacin de criterios
3. Aplicacin
Ejecucin de la regla
Modificacin de la base de hechos (en el razonamiento hacia
delante)
Nuevos clculos, nuevas acciones, preguntas al usuario
Nuevos sub-objetivos (en el razonamiento hacia atrs)
Propagacin de las instanciaciones
Propagacin del grado de certeza

El proceso de deduccin acaba cuando:


se encuentra la conclusin (el objetivo) buscado xito
no queda ninguna regla aplicable xito? / fracaso?
Tipos de razonamiento

Deductivo, progresivo, encadenamiento


hacia delante, dirigido por hechos
evidencias, sntomas, datos
conclusiones
Inductivo, regresivo, encadenamiento
hacia atrs, dirigido por objetivos
conclusiones datos, evidencias,
sntomas
Mixto, encadenamiento hbrido
Encadenamiento hacia delante
Basado en modus ponens: A, A B |- B
La base de hechos (BH) se inicializa con los
hechos conocidos inicialmente.
Se obtienen las consecuencias derivables de
la BH:
se comparan los hechos de la BH con la parte
izquierda de las reglas; se seleccionan las reglas
aplicables: las que tienen antecedentes conocidos
(que estn en la BH);
las nuevas conclusiones de las reglas aplicadas
se aaden a la BH (hay que decidir cmo);
se itera hasta encontrar una condicin de
finalizacin.
Encadenamiento hacia delante

Problemas:
No focaliza en el objetivo
Explosin combinatoria
Ventajas:
Deduccin intuitiva
Facilita la formalizacin del conocimiento al hacer un
uso natural del mismo
Ejemplo de lenguaje: OPS-5
L. Brownston, R. Farrell, E. Kant, y N. Martin.
Programming Expert Systems in OPS-5. Addison-
Wesley, 1985.
Encadenamiento hacia atrs

Basado en el mtodo inductivo: va guiado por un objetivo


que es la conclusin (o hiptesis) que se trata de validar
reconstruyendo la cadena de razonamiento en orden
inverso.
Cada paso implica nuevos sub-objetivos: hiptesis que
han de validarse.
Funcionamiento:
se inicializa la BH con un conjunto inicial de hechos;
se inicializa el conjunto de hiptesis (CH) con los objetivos a
verificar;
mientras existan hiptesis a validar en CH se escoge una de ellas
y se valida:
se comparan los hechos de la BH y la parte derecha de las reglas
con las hiptesis;
si una hiptesis est en BH eliminarla de CH;
si no: buscar reglas que tengan como conclusin la hiptesis.
Seleccionar una, aadir las premisas no satisfechas a CH como sub-
objetivos.
Encadenamiento hacia atrs

El encadenamiento hacia atrs es un tipo


de razonamiento dirigido por el objetivo.
Slo se considera lo necesario para la
resolucin del problema.
El proceso de resolucin consiste en la
exploracin de un rbol.
Ejemplo de lenguaje: Prolog
W. F. Clocksin y C. S. Mellish . Programming in
Prolog: Using the ISO Standard. Springer, 2003
(primera edicin de 1981).
Prolog: lenguaje de
programacin lgica
Programa Prolog:
conjunto de aserciones lgicas
cada asercin es una clusula de Horn
proceso de comparacin: unificacin
el orden de las aserciones (reglas) es significativo
Ejemplo
gato (bufa).
animaldomestico (X) :- gato (X).
animaldomestico (X) :- pequeo (X), conplumas (X).
p q q :- p
Consultas: ?- predicado.
La negacin se representa con la falta de la asercin
correspondiente: asuncin de mundo cerrado.
Clusula de Horn
De Wikipedia:

Las clusulas de Horn (instrucciones ejecutables de PROLOG) tienen el siguiente


aspecto:

hija (*A, *B) :- mujer (*A), padre (*B, *A). que podra leerse as: "A es hija de B si A es
mujer y B es padre de A".

Obsrvese que, en PROLOG, el smbolo :- separa la conclusin de las condiciones. En


PROLOG, las variables se escriben comenzando con un asterisco. Todas las
condiciones deben cumplirse simultneamente para que la conclusin sea vlida. Por
tanto, la coma que separa las distintas condiciones es equivalente a la conjuncin
copulativa (en algunas versiones de PROLOG se sustituye la coma por el smbolo &). La
disyuncin, en cambio, no se representa mediante smbolos especiales, sino definiendo
reglas nuevas, como la siguiente:

hija (*A, *B) :- mujer (*A), madre (*B, *A). que podra leerse as: "A es hija de B si A es
mujer y B es madre de A".

Clusulas con como mucho un literal positivo.


Encadenamiento hbrido
Partes de la cadena de razonamiento que
conduce de los hechos a los objetivos se
construyen deductivamente y otras partes
inductivamente: exploracin bi-direccional
El cambio de estrategia suele llevarse a cabo
a travs de meta-reglas. Ejemplos:
funcin del nmero de estados iniciales y finales
funcin de la direccin de mayor ramificacin
funcin de la necesidad de justificar el proceso de
razonamiento
Se evita la explosin combinatoria del
razonamiento deductivo.
Comparacin (matching)
Es ms complicada en el razonamiento hacia
delante.
Si las condiciones de una regla se cumplen una vez
aplicada se puede entrar en un ciclo.
Existen mecanismos eficientes de comparacin
y seleccin que evitan repasar todas las reglas
de la BC:
OPS-5 usa el algoritmo RETE
Prolog indexa las clusulas segn los predicados
Factores para decidir el sentido del
encadenamiento
Nmero de estados iniciales y finales
Preferible del conjunto ms pequeo hacia el ms
grande
Factor de ramificacin
Preferible en el sentido del factor ms pequeo
Necesidad de justificar el proceso de
razonamiento
Preferible el sentido de razonamiento habitual del
usuario
Bibliografa complementaria
J. F. Sowa. Knowledge Representation.
Brooks/Cole, 2000.

W. F. Clocksin y C. S. Mellish.
Programming in Prolog: Using the ISO
Standard. Springer, 2003 (primera edicin
de 1981).