Vous êtes sur la page 1sur 28

Captulo 6

Sistemas Expertos y Programacin Lgica


Descripcin de un Sistema Experto
Un Sistema Experto (SE) es un programa destinado a generar inferencias en un
rea especfica del conocimiento en una forma similar a la que se espera de un experto
humano.
Entre las tareas en que estos pueden tericamente aplicarse encontramos aquellas
que son propias de los campos susceptibles de ser dominados por expertos humanos,
tales como diagnstico mdico, diagnstico de fallas, monitoreo del estado de un
sistema, interpretacin de datos, exploracin minera, configuracin de computadoras,
supervisin de sistemas administrativos, etc.
Similarmente a un experto humano, los SE deben resolver problemas por
aplicacin de conocimiento en un dominio especfico. Este conocimiento que estos
sistemas poseen es adquirido a travs de la intervencin de expertos humanos, y
almacenado en lo que se denomina Base de Datos de Conocimiento KDB.
Adicionalmente se espera de un SE que sea capaz de explicar la solucin hallada
en trminos comprensibles para las personas. Se considera que no pueden operar en
situaciones comnmente llamadas de sentido comn, por ser muy extenso el dominio de
conocimiento que debe tener el sistema.
Algunas caractersticas del tipo de problema resuelto por un sistema experto son:

Inexistencia de un algoritmo para hallar la solucin


El problema es resuelto satisfactoriamente por expertos humanos
Posibilidad de contar con un experto humano para colaborar en el desarrollo
El conocimiento experto del dominio debe ser relativamente esttico

El ncleo del SE es el Motor de Inferencias. Este mdulo puede interactuar con


otros como se muestra en la Fig. 7.1.

INTERFACE

EXPLICACIONES

MOTOR DE
INFERENCIAS

BASE DE HECHOS

ADQUISICION DE
CONOCIMIENTO

BASE DE
CONOCIMIENTOS

Figura 7.1: La tarea esencial de un SE

Ejemplo de Operacin de un SE: Dignstico Mdico (MYCIN)


Reglas: Un componente de los SE son las reglas a aplicar sobre los smbolos definidos.
Estas se obtienen de expertos humanos. En el siguiente ejemplo estas reglas representan
el conocimiento de los mdicos. Estas reglas combinadas en un sistema de inferencias
permiten mapear sntomas en enfermedades. Estas reglas de los expertos son
consideradas heursticas, dado que no es posible demostrar su validez general.
Hechos: Los hechos son los predicados que se suponen verdaderos. En nuestro ejemplo
se trata de caractersticas que se obtienen de un registro de pacientes y constituyen la
Base de Datos de Conocimiento (KDB), por ejemplo: (edad ana 51) (presion juan 5/3),
etc

Ejemplo de operacin para diagnstico y tratamiento de enfermedades sanguneas


Consulta:
Padece Jose erupciones?
Cual es el valor de glucosa para Jos?
Cual es el valor de pulso para Jos?
Para investigar (frecuencia_cardiaca_elevada Jose)
Para investigar (diagnostico jose bacterial_meningitis)
Cual es el valor de pulso para Jos?
(diagnostico Jos bacterial_meningitis) es verdadero.

(diagnostico Jos ?D)


No.
85.
Porque?
60.

Desea UD. Saber porque?


Si.
(diagnostico Jos viral-meningitis)
derivado de (alta glucosa Jos)
derivado de
(glucosa Jos 45) introducido como respuesta Y 45>40 calculado Y (baja glucosa Jos)
derivado de (SGglucosa Jos 101) introducido como respuesta y 101<118
calculado

Lgica de Predicados y Lgica Proposicional


Es importante en nuestro estudio tener presentes los conceptos de Lgica
Proposicional y Lgica de Predicados.
Una forma de caracterizarlas es considerar que si quisiramos representar todos los
hombres son mortales en Lgica Proposicional tendramos que escribir una sentencia
para cada hombre, en cambio la lgica de predicados puede expresar esta premisa en
una sola proposicin ya que emplea variables.
Comenzamos esta explicacin considerando que el instrumento fundamental de la
comunicacin humana es el lenguaje, formado por frases de tipo:
Interrogativo
Imperativo
Declarativo
Las ltimas constituyen el elemento bsico de descripcin del conocimiento.
La lgica es la disciplina que estudia los mtodos de formalizacin del conocimiento
humano. Por lo tanto la lgica estudia mtodos de formalizacin de frases declarativas.
Para esto emplea dos niveles de abstraccin distintos segn el grado de detalle con que
se quiera formalizar:
La Lgica de Predicados estudia las frases declarativas con mayor grado de detalla,
considerando la estructura interna de las proposiciones. Toma como elementos bsicos
los objetos y sus relaciones. Es decir:
Que se afirma (predicado o relacin)
De quin se afirma (objeto)
Por ejemplo la expresin del lenguaje natural:
Scrates es hombre y todos los hombres son mortales entonces Scrates es mortal
(Obsevar que se puede considerar compuesta por tres proposiciones)
Se formaliza en logica de predicados como:
Hombre(Scrates) ( x hombre(x) -> mortal(x) ) -> mortal(Scrates)
La lgica proposicional se caracteriza en relacin a su composicin por emplear
muy pocos smbolos que pueden ser evaluados solamente como falsos o verdaderos,
(mediante clusulas y/o elementos atmicos), en contraposicin al alfabeto lgico usado
por la lgica de predicados para expresar sus formulaciones, donde principalmente
3

aparecen variables que pueden ser instanciadas para evaluar una declaracin. A
continuacin veamos un ejemplo elemental:
La Lgica de Predicados se expresa por formulas como:

x. q( x) p( x)

Lo que en Lgica Proposicional se expresa mediante clusulas de la forma: q p


lo que puede escribirse en la denominada forma clausal como: -q v p
Es intuitivo pensar que la Lgica Proposicional aventaja a la de Predicados en relacin
al procesamiento de sus clusulas en computadores, ya que se puede representar
mediante expresiones ms sencillas y el procesamiento se reduce solo a establecer los
valores verdaderos o falsos de sus componentes y posteriormente evaluar disyunciones
y conjunciones.
A su vez dentro de la Lgica Proposicional se plantea comnmente el uso de tres tipos
de clusulas diferentes, denominadas Formas Clausales. Estas se denominan, Forma
Normalizada Conjuntiva FNC-, Forma Normalizada Disyuntiva FND- y Clusulas de
Horn CH-. Ejemplos de estas son:
FND
FNC
CH

p v -q v s
p ^ q ^ -s
-p v -q v s

La concepcin de las dos primeras resulta bastante obvia, en cambio la CH se define


como Una clusula FND que tiene como mximo un literal positivo (no negado).
La CH tiene a su vez gran importancia en la teora de los SE. Esto es debido a diferentes
factores, los cuales en general han sido ms bien probados o mostrados por induccin
ejemplos- por algunos investigadores en la dcada del 70. Una caracterstica favorable
de fcil visualizacin es que una Clusula de Horn representa por si sola una
implicacin lgica, q p.
Otra caracterstica relevante es que los SE basados en CH conllevan una complejidad
lineal en tanto que el resto en general se caracteriza por una complejidad de O(2 n) lo que
los define como computacionalmente intratables o no polinomiales completos.

Elementos Bsicos del Lenguaje Lgico (Alfabeto)


La lgica proposicional se conoce tambin como lgica de predicados de orden cero,
porque sus funciones tienen aridad cero (sin parmetros) y la comnmente llamada
lgica de predicados, corresponde a la lgica de predicados de primer orden. (Existen
ademas lgicas de orden superior que permiten modelar descripciones mas complejas
pero quedan fuera de esta discusin)
La Lgica de Primer Orden es uno de los formalismos ms utilizados para representar
conocimiento en IA. La Lgica cuenta con un lenguaje formal mediante el cual es
posible representar frmulas, que permiten describir fragmentos del conocimiento y,
adems consta de un conjunto de reglas de inferencia que aplicadas a los axiomas,
permiten derivar nuevo conocimiento.
El Alfabeto del Lenguaje de la Lgica de Primer Orden contiene dos tipos de
smbolos: a) smbolos lgicos, entre los que se encuentran los smbolos de constantes
proposicionales true y false; los smbolos de operadores proposicionales para la
negacin, la conjuncin, la disyuncin y las implicaciones, los smbolos de operadores
de cuantificacin como el cuantificador universal; el cuantificador existencial; y los
smbolos auxiliares de escritura como corchetes [,], parntesis (,) y coma; y b) smbolos
no lgicos, agrupados en el conjunto de smbolos constantes; el conjunto de smbolos de
variables individuales; el conjunto de smbolos de funciones n-arias; y el conjunto de
smbolos de relaciones n-arias.
A partir de estos smbolos se construyen las expresiones vlidas en el Lenguaje de
Primer Orden: los trminos y las frmulas.
Las frmulas atmicas o elementales son expresiones de la forma R(t1,...,tn) donde
R es un smbolo de relacin n-aria y t1,...,tn son trminos. Por ejemplo,
recibe(maria,beso) es una frmula atmica, en donde recibe es un smbolo de relacin
binaria y, maria y beso son trminos constantes. La frmula anterior establece el hecho
de que Mara es besada, mientras que dar(X, beso, maria) establece que alguien,
representado por la variable X, besa a Mara. A partir de estas frmulas es posible
construir otras ms complejas como recibe(maria,beso)<=dar(x,beso, maria) que
establece que Mara recibe un beso, si existe una X que se lo da.
La aplicacin del paradigma lgico requiere definir un lenguaje acotado y preciso,
mediante el cual se expresen con precisin las reglas y sus resultados. Este lenguaje
incluye en definitiva los siguientes componentes principales.
tomos: Son proposiciones simples. V (Verdadero), F (Falso) y smbolos en general
incluyendo smbolos que representan sentencias.
Conectivos lgicos: Conjuncin, Disyuncin, Implicacin, Negacin, doble implicacin
Sirven para formar preposiciones compuestas, a partir de preposiciones simples.
Sentencias: tomos o clusulas formadas por la aplicacin de conectivos a sentencias.
Son pensamientos en los que se afirma algo y se expresan mediante enunciados u
oraciones declarativas. Dichas proposiciones estn unidas mediante conectivas lgicas
Cuantificador universal: Significa que las variables son comunes a todos los
elementos
de la expresin.

Cuantificador existencial: . Se debe eliminar porque la clusula debe cumplirse


para todos los elementos. Las variables deben ser comunes a toda la expresin.
Smbolos de puntuacin y delimitacin tales como: , () []
Se entiende por silogismo a una frmula lgica con premisas seguidas de una
conclusin, como ser, si q y p, entonces s. Los silogismos mas empleados en SE y SI
son: 1) Hipottico: p es q y q es s -> p es s, y 2) Disyuntivo: -p o q es decir p q
Frmulas bien Formadas
La lgica proposicional es la ms antigua y simple de las formas de lgica.
Utilizando una representacin primitiva del lenguaje, permite representar y manipular
aserciones sobre el mundo que nos rodea. La lgica proposicional permite el
razonamiento, a travs de un mecanismo que primero evala sentencias simples y luego
sentencias complejas, formadas mediante el uso de conectivos proposicionales, por
ejemplo Y (AND), O (OR). Este mecanismo determina la veracidad de una sentencia
compleja, analizando los valores de veracidad asignados a las sentencias simples que la
conforman.
Una proposicin es una sentencia simple que tiene un valor asociado ya sea de
verdadero (V), o falso (F). Por ejemplo:
Hoy es Viernes
La lgica proposicional, permite la asignacin de un valor verdadero o falso para
la sentencia completa, no tiene facilidad par analizar las palabras individuales que
componen la sentencia. Por este motivo, la representacin de las sentencias del ejemplo,
como proposiciones, sera: hoy_es_Viernes
La proposiciones pueden combinarse para expresar conceptos ms complejos.
Por ejemplo: hoy_es_Viernes y hace_fro.
A la proposiciones anteriores dadas como ejemplo, se las denomina frmula bien
formada (well-formed formula, wff). Una frmula bien formada puede ser una
proposicin simple o compuesta que tiene sentido completo y cuyo valor de veracidad,
puede ser determinado. La lgica proposicional proporciona un mecanismo para asignar
valores de veracidad a la proposicin compuesta, basado en los valores de veracidad de
las proposiciones simples y en la naturaleza de los conectores lgicos involucrados.

Funciones de Skolem
Cuando un cuantificador existencial esta en el mbito de un cuantificador universal, La
variable cuantificada debe ser reemplazada con una a funcin de Skolem de las
variables cuantificadas universalmente.
\ x E y (x < y)
\ x (x < mayor _ que(x))

por ejemplo

\ x (x < (x + 1))

Mientras que en la formula \ y, E x / (x < y) la eleccin del valor de x es dependiente de la


eleccion del valor de y ya que dice que para cada y hay un apropiado valor de x. En este
caso resulta:
\ y (y-1 < y)

En cualquier caso la eleccin del valor de y es independiente de la eleccin del valor


para x.
Otro ejemplo seria:
Todo hombre esta en pareja con una mujer
x hombre(x)

^ E y pareja(y,x)

x hombre(x)

^ E y pareja( mujer(x) , x)

Leyes de DeMorgan
Estas leyes lgicas de aplicacin en la teora de los SE son:
-(p ^ q) es equivalente a (-p v -q)
-(p v q) es equivalente a (-p ^ -q)

Es decir que al invertir el valor de verdad de los smbolos de la expresin debe


invertirse el conectivo.

Reduccin a forma clausal


La expresin vista
Scrates es hombre y todos los hombres son mortales entonces Scrates es mortal
se puede expresar empleando solo conectores lgicos de conjuncin y disyuncin. En es
caso se dice que la expresin esta dada en forma clausal
Para pasar a esta forma clausal aplicamos los siguientes pasos
Hombre(Scrates) ( x hombre(x) -> mortal(x) ) -> mortal(Scrates)
x ( Hombre(Scrates) (hombre(x) -> mortal(x) ) -> mortal(Scrates) )
Hombre(Scrates) (hombre(x) -> mortal(x) ) -> mortal(Scrates)
-( Hombre(Scrates) (hombre(x) -> mortal(x) ) -> mortal(Scrates) )
- ( Hombre(Scrates) (hombre(x) -> mortal(x) )) mortal(Scrates)
- Hombre(Scrates) -(hombre(x) -> mortal(x) ) mortal(Scrates)
- Hombre(Scrates) -hombre(x) mortal(x) ) mortal(Scrates)
Y podramos usar smbolos mas compactos
- H(s) -H(x) M(x) ) M(s)
Siendo las 2 ltimas expresiones formas clausales, por cierto mas difciles de
comprender para nosotros que la expresin de predicados original.
En un problema de IA se instancian las variables con lo que puede obtenerse una
expresin del tipo:
- H -H M M
Que es la forma clausal de la expresin original expresada en lgica proposicional y que
es de suma importancia en programacin lgica.

Los pasos relevantes de la reduccin pueden resumirse como sigue:

1. Eliminacin: Eliminar las implicaciones dado que


xy

x v y

2. reducir la aplicacin de la negacin (por de Morgan y doble negacin) dado que


-(-x)) x
-(x v y)) x ^ y
-(x ^ y)) x v -y
3. Eliminar cuantificadores
4. Aplicar la propiedad distributiva y asociativa creando una clusula separada
para cada conjunto
p v (q v r) = (p v q) v r
(p ^ q) v r = (p v r) ^ (q v r)
5. Que cada clusula tenga nombre de variable nico
Ejemplo:

x. y. odia(x,y) ^ mujer(x) varon(y)


x. y (odia(x,y) ^ mujer(x)) v varon(y)
x. y odia(x,y) v -mujer(x) v varon(y)
odia(x,y) v -mujer(x) v varon(y)

Formas Clausales
Toda fbf o sentencia de lgica proposicional (clculo proposicional) puede
expresarse en Forma Normalizada Conjuntiva (FNC), Forma Normalizada Disyuntiva
(DNF) o como clusula de Horn (CH).
Forma Normalizada Conjuntiva (p v -q) ^ (q v s) ^ p
Conjuncin de disyunciones de literales.
Forma Normalizada Disyuntiva (-p ^ -q) v (-q ^ r) v p
Disyuncin de conjunciones de literales.
Clusulas de Horn. La clusula contiene como mximo un literal positivo
Clusulas de Horn
Una clusula de Horn es una conjuncin de disyunciones con no mas de un
literal positivo. Entendiendo como un literal positivo a uno que no esta negado.
Por ejemplo:
(-B1 v -B2 v B3 ) es una Clusula Horn.
(-A1 v A2) ^(-B1 v B3 ) es una Formula Horn. Sus componentes son clusulas Horn.
Estas clusulas de Horn representan la forma implicativa escrita de otro modo,
es decir, la implicacin B A equivale a -B v A y la implicacin B1 ^ B2 A
equivale a
-B1 v -B2 v A
Estas implicaciones se codifican en lenguaje Prolog usando :- (si) y , (el ltimo
representa ^ en Prolog )
A :- B1 , ,Bk ( el smbolo :- se lee si)
Importancia de las Clusulas de Horn
Para aplicar la lgica en programas de computador ha sido necesario encontrar
algoritmos que determinen si una expresin lgica vlida es satisfacible, es decir si
alguna combinacin de valores verdaderos o falsos de sus tomos hace verdadera a la
expresin. Si la expresin esta en la forma de clusula de Horn, se pueden obtener
mtodos de solucin de menor complejidad.
Independencia lgica en las Formas de Horn:
Es necesario que no haya dependencia lgica entre los literales para que el mtodo de
resultados correctos. Por ejemplo:
Chico(a) ^ (-Chico(a) v Cubo(a)) ^ (Esfera(a) v - Cubo(a))
Con el algoritmo citado el resultado seria satisfacible pero errneo ya que se concluye
que un cubo es chico y es esfera

Satisfacibilidad y completitud
Un problema lgico en general esta modelado por un conjunto de clusulas, lo que
puede representarse, por ejemplo, como:

{ a v -b, b v c,

a }

Un problema planteado de este modo, requiere para ser resuelto determinar su


satisfacibilidad, esto es, si existe alguna asignacin de valores bolanos a las variables
que hagan que todas las clusulas sean ciertas.
Esto es lo mismo que considerar la conjuncin de las clusulas del conjunto y
determinar si existe alguna asignacin de valores bolanos a las variables que hagan que
la frmula conjuntiva sea cierta.
(a v b) ^ (b v c)

Un algoritmo conocido pero de altsimo costo computacional es construir la tabla de


verdad de la expresin, y as determinar si alguna/s combinacin/es hace/n verdadera a
la frmula.
Si el mtodo de solucin garantiza la obtencin del resultado correcto se dice completo,
e incompleto en caso contrario.
Un principio clsico para atacra este problema se conoce como Resolucin o regla de
Robinson.

Resolucin
La Programacin Lgica tiene sus orgenes ms cercanos en los trabajos de prueba
automtica de teoremas de los aos sesenta. J. A. Robinson propone en 1965 una regla
de inferencia a la que llama resolucin, mediante la cual la demostracin de un teorema
puede ser llevada a cabo de manera automtica
La resolucin es una regla que se aplica sobre cierto tipo de frmulas del Clculo de
Predicados de Primer Orden, llamadas clusulas. La demostracin de teoremas bajo esta
regla de inferencia se lleva a cabo por reduccin al absurdo.
A partir de lenguajes preexistentes se desarroll un lenguaje orientado a la
programacin lgica que fue llamado precisamente Prolog. Con este lenguaje es posible
hacer preguntas sobre objetos y relaciones del dominio y estas preguntas se formulan
como objetivos o metas, que son evaluadas por el intrprete de Prolog utilizando su
mecanismo de inferencia interno, el cual determina si la meta a demostrar es una
consecuencia lgica del programa, aplicando reglas de deduccin para obtener la
respuesta.
Por ejemplo, utilizando la clusula de tipo meta ?abuelo(X,juan), para preguntar
quin es el abuelo de Juan? o bien quines son los abuelos de Juan?, es posible deducir
por ejemplo que Luis es abuelo de Juan, La ejecucin del programa, arrojara como
resultado X=luis.
El mtodo de deduccin utilizado por Prolog, para dar respuesta a los objetivos
planteados, se basa en el uso de una nica regla de inferencia: el Principio de
Resolucin. Los primeros trabajos de prueba automtica de teoremas utilizaban la
resolucin, aplicada a clusulas cualesquiera, pero el problema de las deducciones con
clusulas generales es el gran nmero de combinaciones posibles para llevar a cabo las
resoluciones. Por ello Prolog restringe el conjunto de clusulas, lo que le permite llevar
a cabo una prueba dirigida y, en la mayora de los casos, con un universo de
posibilidades explorable en tiempo de ejecucin.
Fundamento de la Resolucin
El procedimiento de resolucin es en esencia
un proceso iterativo cuya finalidad es
evaluar la verdad o falsedad de una frmula.
En cada paso dos clusulas padres son
resueltas para obtener una tercera
denominada resolvente. Es decir que este
resolvente es inferido a partir de las
clusulas padres.
Tomando por ejemplo como clusulas
padres P v Q y -P v R, el resolvente es Q
v R.

A1
A2
A3

A1
A2
A3
-

-P

Figura 6.3: En el mtodo de resolucin se


busca detectar la contradiccin entre la
clusula a probar y un conjunto de clusulas.

Lo anterior queda en evidencia si planteamos la formula (P v Q) ^ (-P v R), ya que


para que esta sea T, se tendra que cumplir o bien que Q sea T o R sea T, es decir (Q v
R).

Para este mtodo se definen las propiedades siguientes;

Para clusulas P y P el resolvente es la clusula vaca.

Si un conjunto de sentencias contiene ambos P y P el conjunto es insatisfacible.

Si ambos antecedentes son verdaderos luego el resolvente es verdadero.

La resolucin verifica la refutacin, es decir: Si el conjunto de clusulas


implica a P luego es contradictorio con el mismo conjunto que adems contenga
a P

El algoritmo de resolucin por refutacin se puede sintetizar como una prueba de una
proposicin P con respecto a un conjunto de axiomas C. A partir de esta definicin se
establece el algoritmo que comprende los siguientes pasos.

Convertir todos las afirmaciones en C a la forma clausal

Negar P y convertir a la forma clausal. Aadir al conjunto C

Repetir lo siguiente hasta que no haya progreso o se detecte una contradiccin


o Seleccionar dos clusulas (padres)
o Resolverlas obteniendo el resolvente
o Si el resolvente es la clusula vaca, se detecto una contradiccin sino
o aadirlo al conjunto de clusulas

Ejemplo: dada la siguiente inferencia en lenguaje natural, La casa de enfrente parece


deshabitada desde hace unos das. Algunos diarios mojados yacen en el jardn. El
pasto se ve crecido. Por lo tanto, la gente de esa casa debe estar de viaje. Evaluar la
validez de la inferencia por resolucin.
Podemos Representar los hechos aludidos mediante las clusulas siguientes:
P
=
(La gente de la casa de enfrente) Estn en casa
Q
=
(Ellos) Juntan los diarios.
R
=
(Ellos) Cortan el csped.
Sentencia
Original
-Q
-R
P=>Q
P=>R

Forma
Clausal
-Q
-R
-P v Q
-P v R

Significado
No juntan los diarios
No cortan el csped
Si estn en casa, juntan los diarios
Si estn en casa, cortan el csped

Para Probar que no estn


en casa, agregamos (-P)
a la KDB e intentamos
arribar
a
una
contradiccin
por
aplicacin reiterada de la
regla de resolucin.

-P v Q

P
Q

-P v R
-Q

P
R

-R

Figura 6.5: Representacin de la solucin del ejemplo 6.2


partiendo de diferentes premisas iniciales

Ejemplo: Probar R dadas las siguientes clusulas. (Ver Fig. 6.4)


Sentencia Original Forma Clausal
P

P^Q=>R

-P v -Q v R

S v U=>Q

-S v Q
-U v Q
U

-P v -Q v R

-R
-P v -Q

-U v Q

P
-Q

-U

Figura 6.4: Representacin de la solucin por


refutacin al problema de la tabla 6.1

En el ejemplo anterior observamos que segn las reglas que elijamos podemos llegar o
no a la solucin correcta (F). Por ejemplo tomando -S v Q en lugar de -U v Q.
La explicacin de esta falla es algo sutil. El procedimiento de resolucin es completo
en lgica proposicional y no en lgica de predicados.
Como el ejemplo anterior esta planteado en lgica proposicional, deberamos hallar
siempre la solucin correcta.
Pero vemos en el ejemplo que esto puede no ocurrir. Esto es porque la afirmacin de
que la resolucin es completa en lgica proposicional, se basa en una demostracin
terica, pero esta no nos da un algoritmo para hacerlo. De modo que en la prctica este
procedimiento puede darnos un resultado errneo si no disponemos de un algoritmo
adecuado. El algoritmo completo mas usado se llama DPLL, y se define por la
aplicacin de un conjunto de reglas de las cuales veremos algunas en lo que sigue.

Resolucin: Estrategias de aplicacin


El mtodo de resolucin es un algoritmo no determinista ya que pueden encontrarse
mltples formas de alcanzar la clusula vaca en un conjunto insatisfacible. Durante el
desarrollo del algoritmo es necesario respnder la siguiente pregunta: Qu dos clusulas
se seleccionan y sobre que literales se realiza la resolucin?
Las distintas estrategias tratan de responder esta pregunta de forma que se mantenga la
completitud si el conjunto es insatisfacible alcanzar la clusula vaca- y que se obtenga
un comportamiento eficiente.
Estrategia de borrado.
Un problema que puede presentarse es seleccionar clusulas cuyop resolvente no aporte
utilidad a la bsqueda. Si dichas clusulas no apotan a la solucin su eliminacin
acelera el proceso.
Eliminacin de clusulas con literales puros
Se dice que un literal es puro si no existe uno complementario con el que unifique en el
conjunto de clusulas. Las clusulas con literales puros son intiles para obtener la
clusula vaca, puesto que el literal puro no puede ser eliminado por resolucin.
H ^ (D v E) ^ ( -E v F v G) -> Puedo eliminar H a los efectos de buscar la contradiccin
{{ p, q}, { p, -q}, { r, q}, { r, -q}} p es literal puro
Eliminacin de Tautologas.
Tautologa es una clusula que contiene el mismo literal en forma directa e inversa.
b v a v b v c es una tautologa
Una clusula de este tipo no afecta la condicin de satisfacibilidad del conjunto, este
ser satisfacible o no aunque se aadan tautologas. Es posible entonces eliminar las
tautologas.
Eliminacin de subsunciones
Una clusula F subsume a una D si existe una sustituicin s tal que s(F) este incuida en
D.
P(x) v -Q(y) subsume en P(a) v -Q(v) v R(w)
Y se puede eliminar D. (Se puede demostrar que la satisfacibiidad no se altera)

Resolucin Unitaria
Un resolvente unitario es aquel en el que al menos uno de los padres es una clusula
unitaria (con un solo literal).
En la estrategia de resolucion unitaria es la aplicacin de resolucin en la cual todos los
resolventes son unitarios.
Ejemplo: Se seleccionan siempre dos clausulas en las que una de ellas tenga un solo
literal
C={p v q, -p v r, -q v r, -r}
1. p v q
2. -p v r
3. -q v r
4. -r
5. -p (de 2 y 4)
6. -q (de 3 y 4)
7. q (de 1 y 5)
8. p (de 1 y 6)
9. r
(de 3 y 7)
10. vacia (de 6 y 7)
Los resolventes generados son un subconjunto de los que podean haberse obtenido sin
esta restriccin, por ej. De 1 y 2 podra haberse obtenido q v r, pero esta clausula nunca
sera generada por esta estrategia.
Observar que en esta estrategia el resolvente siempre contiene menos literales que la
clausula padre no unitaria, por lo que el mtodo sigue una bsqueda directa hacia la
clusula vaca ganando eficiencia.
La estrategia no produce un algoritmo COMPLETO. Por ejemplo la frmula
C={p v q, -p v q, p v -q, -p v -q } es insatisfacible pero nunca se encontrara la clusula
vacia por no serlo ninguna de las componentes.

Resolucin de entrada
Es aquella en la cual al menos una de las clausulas padre pertenece al conjunto original
de entrada
Ejemplo:
C={p v q, -p v r, -q v r, -r}
1. p v q
2. -p v r
3. -q v r
4. -r
5. q v r

(de 1 y 2)

6. p v r
7. -p
8. r
9. vaca

(de 1 y 3)
(de 2 y 4)
(de 2 y 6)
(de 4 y 8)

Resolucin Lineal
Generalizacin de la anterior. Es aquella en la cual al menos una de las clausulas padre
pertenece al conjunto original de entrada o es antepasado del otro padre
Ejemplo: C={p v q, -p v q, p v -q, -p v -q }

pvq

-p v q

p v q

-p v q

q
p
-q

q
vacia

Resolucin ordenada
1. Cada clausula se toma como un conjunto de litrerales ordenados.
2. La resolucin solo se realiza con los primeros literales de cada clausula.
3. El orden del resolvente es tal que mantiene primero a los literales del padre positivo
(el que tenia el primer literal nonegado)
Es la mas eficiente.
Ejemplo: C={p v q, -p v r, -q v r, -r}
Se ordenan los literales de cada clausula alfabeticamente
1. p v q
2. -p v r
3. -q v r
4. -r
5. q v r
6. r
7. vacio

(de 1 y 2)
(de 3 y 5)
(de 4 y 6)

Observese que 1 y 3, 2 y 4, 3 y 4 no resuelven por no ser los primeros los literales que
podrian combinarse.
No es completa pero si lo es para clusulas de Horn, al igual que la lineal, por lo cual
son las que mas se emplean.

La resolucion en lgica proposicional y de predicados


La resolucion en lgica proposicional y de predicados es completa en el primer caso e
incompleta en el segundo
Si consideramos lo visto para ser aplicado en formulas que esten expresadas en lgica
de predicados, tendremos expresiones en las que aparecen en lugar de los literales, los
predicados y sus argumentos. A su vez estos ltimos podrn ser variables o constantes,
por ejemplo:
C={p(x) v q(y), -p(a) v r(x), -q(x) v r(b), -r(x)}
Para poder aplicar la resolucin en este caso, previamente debemos asignar valores a las
variables, lo que dependera del problema planteado, para de ese modo determinar que
clusulas se podran seleccionar para aplicar resolucin. Por ejemplo si damos a x el
valor a, podemos resolver las dos primeras clusulas.
Desde el punto de vista lgico, los predicados con argumentos constantes son hechos.
Para poder determinar si un predicado p(x) o una combinacin mas compleja- se
corresponde con un hecho p(a) se debe instanciar x, lo que se conoce como unificacin.
Es decir que no hablamos de dar valor a las variables sino de unificar predicados.

Unificacin
La Unificacin es un procedimiento de emparejamiento que compara dos literales y
descubre si existe un conjunto de sustituciones que los haga idnticos. La idea bsica de
la unificacin es sencilla. Para unificar dos literales vamos recorrindolos de izquierda a
derecha. En primer lugar se comprueba si los predicados coinciden. Si es as, seguimos
adelante; si no es que no son unificables. Si el predicado concuerda, comenzamos a
comparar los argumentos. Si el primero de ellos coincide en ambos literales,
continuamos con el siguiente y as hasta completar todos los argumentos. Como resulta
obvio, ambos literales deben tener el mismo nmero de argumentos. Para conseguir que
cada argumento de un literal sea coincidente con su homlogo en el otro literal,
debemos buscar una sustitucin que nos permita emparejarlos. La nica condicin que
debe reunir esta sustitucin es que ha de aplicarse a todo el literal, es decir, que la
sustitucin afecta a todo el literal, y no slo al argumento en cuestin. Por decirlo de
una manera sencilla, las sustituciones se van arrastrando a lo largo del proceso de
unificacin.
Ejemplos:
unificar P(x, k) con P(y, z):
Primera sustitucin: (y/x) Resultado: P(y, k) P(y, z)
Segunda sustitucin: (z/k) Resultado: P(y, z) P (y, z)
La sustitucin resultante es composicin de las sustituciones: s = { y/x , z/k}
unificar P(x, x) con P(y, z):
Primera sustitucin: (y/x) Resultado: P(y, y) P(y, z)
Segunda sustitucin: (z/y) Resultado: P(z, z) P (z, z)
La sustitucin resultante es composicin de las sustituciones: s = { z/y , y/x}
Se debe asegurar que no existen variables comunes en ambas clusulas.
Unificar las sentencias R (x, f(g(x)), a) y R (b, y, z)
Trminos desiguales Sustitucin Resultado
t1 = x t2 = b
x/b
R(b, f(g(b)), a) , R(b, y, z)
t1 = f(g(b)) t2 = y
y/f(g(b))
R(b, f(g(b)), a), R(b, f(g(b)), z)
t1 = a t2 = z
z/a
R(b, f(g(b)), a) , R(b, f(g(b)), a)
Las dos clusulas son unificables y la sustitucin resultante es: s ={ z/a , y/f(g(b)) , x/b}
El algoritmo de unificacin permite a su vez la implementacin del algoritmo de
resolucin por refutacin.

Propagacion unitaria. HornSat. Importancia de clusulas Horn.


Propagacin Unitaria
Propagacin Unitaria (UP) o la regla de un literal (OLR) es un procedimiento de
demostracin automtica de teoremas que puede simplificar un conjunto de
clusulas. Es decir obtener un conjunto educido que sea equivalente al original, desde el
punto de vista de su resultante lgica al ser evaluado.
El procedimiento se basa en considerar las clusulas unitarias, i.e. clusulas que son
compuestas de un literal simple. Si un conjunto de clusulas contiene la clusula
unitaria l, las otras clusulas son simplificadas por la aplicacin de las dos reglas
siguientes:
1. Toda clusula conteniendo l es removida; (excepto la unitaria)
2. En toda clusula que contiene -l, este es eliminado.
La aplicacin de estas dos reglas lleva a un nuevo conjunto de clusulas que es
equivalente al anterior. Por ejemplo, el siguiente conjunto de clusulas puede ser
simplificado por propagacin unitaria a causa de que contiene la clusula unitaria a.
{avb,-avc,-cvd,a}
Como (a v b) contiene el literal a, esta clusula puede ser completamente removida.
Como (a v c) contiene la negacin del literal en la clusula unitaria, este literal puede
ser removido de la clusula. Notar que la clusula unitaria a no es removida; esto hara
que el conjunto resultante no fuera equivalente al original;
El efecto de la propagacin unitaria puede ser sintetizado como sigue.
{

avb

-avc

-cvd

(removida) ( eliminada) (sin cambio) (sin cambio)


{

c,

-cvd

El conjunto de clusulas resultante c, - c v d, a es equivalente al inicial. La nueva


clusula unitaria c que resulta de propagacin unitaria puede usarse para repetir la
aplicacin de propagacin unitaria, la que podra transformar c v d en d.
En definitiva la frmula original podra reducirse a { c, d,

a}

Podemos ver que para que { c, d,

a } sea satisfacible, deben ser T los tres


literales c, d, a, lo que tambin debe ocurrir para que el conjunto
original sea satisfacible.
Asimismo si alguno de los tres literales es F la formula reducida
resulta F, y asi tambin el conjunto original.
2

Algoritmo de Satisfacibilidad HornSat


Propagacin unitaria, aplicada repetidamente a medida que se generan nuevas clusulas
unitarias, es un algoritmo de satisfacibilidad completo para conjuntos de proposiciones
en forma de clusulas Horn; adems genera un modelo mnimo para el conjunto de si
este es satisfacible.
En lgica formal Satisfacibilidad Horn, o HORNSAT, es el problema de decidir si
dado un conjunto de proposiciones en forma de clusulas Horn es satisfacible.
El problema de satisfacibilidad de Horn puede resolverse en tiempo polinomial. Un
algoritmo de tiempo polinomial se basa en la regla de propagacin unitaria, que es:
Si la formula contiene una clusula compuesta por un literal simple positivo l
(clusula unitaria), entonces todas las clusulas conteniendo l son removidas, y
En todas las clusulas que contienen -l se remueve solo este literal negado.
El resultado de la segunda regla podra ser una clusula unitaria la que se propaga
de la misma manera. La formula es satisfacible si esta transformacin no genera
un par de clusulas unitarias contradictorias l y -l.
Satisfacibilidad de Horn es actualmente uno de los problemas conocidos "mas duros"
que pueden computarse en tiempo polinomial, en el sentido de que es un problema Pcompleto.
Este algoritmo puede expresarse alternativamente de este otro modo, para determinar la
asignacin de un valor de verdad a una formula Horn satisfacible: Todas las variables
contenidas en una clusula unitaria son seteadas al valor que satisface la clusula
unitaria; todos los otros literales se setean a falso. El resultado es el mnimo modelo de
la formula de Horn, es decir, la expresin con el conjunto mnimo variables y
asignacin de verdad.
El algoritmo de propagacin unitaria es lineal en la medida de la formula.
Notablemente, Horn-SAT se puede emplear para probar que P=NP, convirtiendo
cualquier problema SAT en Horn-SAT y resolvindolo luego en tiempo polinomial. Es
un problema en dos etapas. Primero, transformar un problema SAT en Horn-SAT
requiere tiempo exponencial. En segundo lugar, la transformacin resultante es
exponencial.

Una generalizacin de la clase de formulas Horn es la de formulas Horn renombrables,


las cuales en el conjunto de formulas que pueden ponerse en clusulas Horn
reemplazando algunas variables con su respectiva negacin. Checkear la existencia de
tal reemplazo puede hacerse en tiempo lineal; de donde la satisfacibilidad de tal
formula es en P ya que puede resolverse primero efectuando el reemplazo y luego
chekeando la satisfacibilidad de la formula Horn obtenida.

Ejemplos:
1)
-p v -q v r ,

-r v q , q

Tomando q
-p v r con lo cual es satisfacible ya que no resulta una contradiccin.
2)
-p v -q v r ,

-r v q , p

Tomando p
-q v r , -r v q con lo cual no es satisfacible ya resulta una contradiccin. (esto
puede verse por ejemplo aplicando resolucin)
1)
-p v -q v r ,

-r v q , -q v s ,

Tomando s
-p v -q v r ,

-r v q

-P con lo cual es satisfacible ya que no resulta una contradiccin.

Consideraciones acerca del alcance y aplicaciones de los SE


Ante la metodologa hasta aqu citada podramos antes que nada preguntarnos
Que significado tiene pretender aplicar las herramientas de la lgica de predicados a
programas informticos?, Que alcance puede esperarse de estas aplicaciones en el
mundo real?, Que problemas confronta esta idea?
En general tenemos al menos alguna nocin de mtodos formales de
representacin de conocimientos y/o de resolucin de problemas tales como el
formalismo matemtico, el formalismo qumico, la codificacin de la msica, etc.
Si tomamos por ejemplo el caso de la matemtica, vemos que en el se aplican las
reglas de la lgica a un conjunto de smbolos cuyo significado esta definido con
precisin.
De estas simples ideas podemos intuir que para que la lgica de primer orden
nos garantice inferencias vlidas, el significado de los smbolos a emplear debe ser
preciso, o dicho de otro modo no deben existir ambigedades respecto del posible
significado de un smbolo. Por este motivo a menudo en el estudio de la lgica se
representan los predicados por solo una letra mayscula que podr ser verdadera o falsa,
por ejemplo si A entonces B.
En el caso de los SE se pretende aplicar la lgica a mundos que solo conocen en
profundidad los expertos humanos. Estos expertos expresan su conocimiento del mundo
que manejan con sus propias palabras. Estas palabras no son otra cosa que los smbolos
del lenguaje natural (humano) cuyo significado generalmente dista mucho de estar bien
establecido.
Por lo tanto, para que exista alguna chance de que un SE basado en el
formalismo lgico produzca inferencias correctas, se requiere en primer lugar definir los
smbolos (palabras y predicados) con los cuales se operar y su significado preciso.
Por otra parte, al expresar el experto humano su conocimiento en lenguaje
natural, existe la necesidad de que quien implemente el SE , (Quien a veces ha sido
llamado ingeniero del conocimiento) deba traducir los conocimientos expresados en
lenguaje natural por el experto humano a las expresiones lgicas correspondientes, para
que estas puedan ser procesadas por el SE.
Este ltimo punto es de proverbial importancia y en muchos casos el taln de
Aquiles de los SE basados en reglas. Es natural que el lector se formule al respecto dos
preguntas centrales: Cmo garantizar que las afirmaciones lgicas escritas por el
programador se correspondan exactamente en todos los casos con el conocimiento del
experto? Es posible en un mundo complejo aplicar esta metodologa de desarrollo de
un SE dada la inabordable cantidad de informacin a recopilar y sistematizar? La
respuesta a la segunda pregunta es que solo se intenta aplicar SE a mundos reducidos.
Por ejemplo se consideran absolutamente inviables para problemas de sentido comn
dado la cantidad de informacin que debera sistematizarse. La respuesta a la primera
pregunta, parece ser que depende de la calidad del trabajo hecho por quien releva y
transcribe los conocimientos del experto, es decir un aspecto prctico que incide sobre
la confiabilidad que tendr un sistema real.
En resumen, los SE se basan en la posibilidad de aplicar las nociones de lgica
formal para incrementar una base de conocimientos o demostrar hiptesis, y solo
pueden aplicarse prcticamente a mundos de muy baja complejidad, en el sentido de la
cantidad de smbolos y predicados que deben manejarse.

Empleo de reglas explcitas


El modo mas inmediato consiste en aplicar reglas del tipo si-entonces, e
instanciando los antecedentes de la misma obtener una instancia vlida para el
consecuente.
Consideremos entonces el caso de una regla aislada:
Si <afirmacin antecedente 1> es verdadera
Si <afirmacin antecedente 2> es verdadera
...
entonces <afirmacin consecuente> es verdadera

Por ejemplo, dada una regla tal como:


Si A es un ANIMAL y A es padre de B luego B es un ANIMAL
Y dadas dos instancias para sus antecedentes Plata es un caballo y plata es
padre de Riky, podemos instanciar el consecuente Riky es un caballo y aadirlo a la
base de conocimientos (KDB)
Es importante notar que en lugar de instanciar el consecuente para ver si es
soportado por sus antecedentes se podran trabajar a la inversa, esto da lugar a dos
modelos fundamentales de sistemas expertos:

SE con encadenamiento hacia delante. (Forward Chaining). En este caso el SE toma


la serie de afirmaciones de entrada y ensaya todas las reglas disponibles, una y otra
vez, incorporando nuevas afirmaciones, hasta que ninguna de las reglas pueda
producir nuevas afirmaciones. Puede emplearse para verificar una hiptesis
obteniendo una afirmacin que concuerde con ella.

SE con encadenamiento hacia atrs. (Backward Chaining). En este caso se comienza


con una hiptesis y se trata de verificarla haciendo uso de las afirmaciones
disponibles.
Existen dos lenguajes muy difundidos orientados a este tipo de procesamiento, Lisp y
Prolog, este ltimo fue desarrollado a partir del primero y se orienta especficamente a SE de
encadenamiento hacia atrs.

Unificacin y Ligaduras
En lo visto anteriormente el smbolo / denota las ligaduras.
Estas son asociaciones resultantes de la unificacin que pueden ser
sistemticamente codificadas.

En el caso del cdigo de un programa este se encarga


de reducir las Formas Clausales a listas asociadas mas
simples de manipular por el mismo programa.
Estas listas son denominadas asimismo ligaduras.
Una lista de ligaduras fluye a travs de los filtros del
programa (al principio esta vaca) y al final de este proceso
puede ser analizada para extraer de ellas nuevas afirmaciones
o demostrar hiptesis. La lista de ligaduras puede crecer o
reducirse al pasar por los filtros del programa. La siguiente
figura muestra esquemticamente la aplicacin de algunos de
estos conceptos provistos por la lgica a los SE.
A los efectos de ejemplificar en forma simple la
aplicacin de los conceptos vistos se ejemplifica mas
adelante de manera sinttica el procedimiento de
encadenamiento hacia delante aplicado con una sola regla.

Hechos y reglas
existentes

ligaduras

Nuevos
hechos

SE

Figura 6.6: Pasos hacia la


Construccin
de
las
ligaduras.

Correspondencia de Patrones Simblicos


Correspondencia entre Patrones Simblicos y Subsimblicos (numricos)
Un tema fuertemente relacionado con la codificacin de los sistemas expertos es
la denominada correspondencia de patrones simblicos (Symbolic Pattern Matching).
Conceptualmente esto tiene que ver con un importante concepto de la IA
denominado habitualmente Correspondencia de Patrones, y asociado en general a un
tema que se ver mas adelante y que se conoce como Reconocimiento de Patrones.
El reconocimiento de patrones esta mayormente asociado a problemas de IA no
simblica, y la correspondencia de patrones se refiere en ese caso a detectar si dos
vectores son similares, es decir se corresponden.
La forma mas simple de entender la similitud entre dos vectores (x1, x2, ..., xn)
es calcular la distancia entre los mismos, y si esta es suficientemente pequea de
acuerdo a valores preestablecidos para un problema dado, entonces puede decirse que
ambos vectores se corresponden. Este sencillo mecanismo constituye la esencia de la
mayora los sistemas artificiales de reconocimiento. Como se dijo estos se basan en
nmeros. Por ejemplo puede decirse que
( 1, 2) se corresponde bien con (1.001, 1.9999) y no con (6, 7)

Sin embargo, cuando se trabaja en el campo de la IA Simblica o Lingstica,


por usar solo algunas denominaciones posibles, se plantea un problema de
()
Filtro para primer
antecedente
((ESPECIE . CABALLO) (ANIMAL . PLATA))
((ESPECIE . CABALLO) (ANIMAL . PLATA))
Filtro para
ltimo antecedente
((ESPECIE . CABALLO) (ANIMAL . PLATA)(CRIA . RIKI) )
((ESPECIE . CABALLO) (ANIMAL . PLATA) (CRIA . DAISY))
Accin
primer
consecuente
(RIKI ES UN CABALLO)
(DAISY ES UN CABALLO)
El diagrama muestra un caso particular de construccin de ligaduras. Los antecedentes de la regla
actan a travs de una serie de filtros en cascada. La lista inicial es una lista vaca y la
denominaremos lista de ligaduras. Los consecuentes de la regla (en este ejemplo solo uno) pasan
a travs de una serie de filtros en paralelo (acciones) los cuales dan a la salida nuevas
afirmaciones que se incorporan a la base de conocimientos.

correspondencia diferente, donde lo que se requiere es encontrar una similitud entre


conjuntos de palabras, smbolos o nombres de variables (podramos pensar quizas que
buscamos similitudes entre un conjunto de nombres de variables y no entre los valores
numricos de estas, suponiendo que esos valores fueran nmeros. Surge entonces el
problema de analizar la similitud entre por ejemplo, dos listas tales como:
(pluto es un perro)
(pluto es un animal)

Cuando se discuten temas de este ltimo caso se habla entonces de


Correspondencia de Patrones Simblicos
Al trabajar con el caso de la correspondencia numrico (subsimblica) surge una
extensa teora matemtica denominada simplemente Reconocimiento de Patrones, y
dentro de esta numerosas frmulas matemticas para evaluar correspondencia numrica.
Al trabajar en cambio con el caso de la correspondencia simblica, que es el caso
que nos ocupa, se estudian algoritmos no numricos y estrategias que permiten evaluar
este tipo de correspondencia y aplicar los resultados a problemas propios de la IA
Lingstica. (Por ej. SE y Procesamiento del Lenguaje Natural). Esta es entonces la
temtica tratada en los siguientes prrafos la que ser luego aplicada en ejemplos de SE
algo mas completos que el ya visto.

6.5.1. Procedimientos de Correspondencia Simblica


Habitualmente se consideran dos procedimientos bsicos: (Cada uno de los cuales
puede admitir diferentes variantes)

Correspondencia (Aplicada a SE con encadenamiento hacia delante)

Unificacin (Aplicada a SE con encadenamiento hacia atrs, y que suele


mencionarse como el algoritmo de unificacin)

Los conceptos asociados al problema de correspondencia simblica se explican


mediante la construccin de un procedimiento que denominamos Corresponde. Este
compara una expresin Patrn con una expresin comn para ver si esta es un instancia
de la expresin patrn.
Dado que la expresin comn representa un pequeo fragmento del conocimiento
que se posee acerca de algn mundo real o virtual, a esta expresin se la denomina dato.
Ejemplos de datos
(color manzana rojo)
(color naranja naranja)

A diferencia de los datos, los patrones pueden contener elementos variables


llamados variables de patrn.
Para facilitar el reconocimiento de estas variables, y dar mayor flexibilidad a los
procedimientos, estas variables frecuentemente se asocian (encapsulan) a un smbolo
especial elegido por el programador. En nuestro caso adoptamos el smbolo ?.
Ejemplos de variables de patrn (x e y)
(color (? x) rojo)
(color manzana (? y) )
(color (? x) (? y) )

Sobre esta base de cdigo la correspondencia simblica se define como sigue:


Cuando un patrn no tiene variables de patrn, corresponde con un dato solo si es exactamente
el mismo que el dato (cada posicin correspondiente ocupada por el mismo tomo).

En este caso (color manzana rojo) corresponde con (color manzana rojo) pero no con (color
manzana verde)

Asi que cuando un patron contiene variables de patrn estas actan inicialmente como
comodn. Se observa que al intentar corresponder
(color (? x) rojo)

-patrn-

con
(color manzana rojo )

-dato-

Se liga la variable de patrn x con algn elemento del dato manzana

Encadenamiento
Encadenamiento Progresivo.
Correspondencia. Buscar afirmaciones en la base de datos que correspondan con los
antecedentes de una regla.
Resolucin. En caso de que se cumplan los antecedentes instanciar el consecuente
produciendo una nueva afirmacin.
La afirmacin es una expresin comn sin variables de patrn, mientras que los
antecedentes hiptesis puede tener variables de patrn, por lo que podemos hablar de
correspondencia.
Encadenamiento Regresivo.
Correspondencia. Buscar Una Afirmacin en la base de datos que corresponda a una
hiptesis. La afirmacin es una expresin comn sin variables de patrn, mientras que
la hiptesis puede tener variables de patrn, por lo que podemos hablar de
correspondencia.
Unificacin. Buscar una regla cuyo consecuente concuerde con la hiptesis. La
hiptesis y el consecuente pueden tener variables de patrn, por lo que se habla de
unificacin.
Resolucin. Para cada regla cuyo consecuente concuerde con la hiptesis, se intenta
verificar de manera recursiva cada antecedente de la regla, considerando cada una como
una sub-hiptesis. Si se verifica cada antecedente entonces se ha verificado la hiptesis.
El segundo paso nos permite pensar que el encadenamiento progresivo esta
incorporando el procedimiento de encadenamiento progresivo dentro del procedimiento
de encadenamiento regresivo.
Ejemplo de lista de ligaduras en encadenamiento progresivo para una sola regla
nombre de la regla:
IDENTIFICAR
consecuente:
((CRIA es un ESPECIE))
antecedentes:
((ANIMAL es padre de CRIA) (ANIMAL es un ESPECIE))
afirmaciones:
(PLUTO es un PERRO) (PLATA es un CABALLO) (PLATA es padre de RIKI)
(PLATA es padre de DAISY)
Ligaduras iniciales:
((CRIA . DAISY) (ANIMAL . PLATA))
((CRIA . RIKI) (ANIMAL . PLATA))
Ligaduras resultantes:
((ESPECIE . CABALLO) (ANIMAL . PLATA))
((ESPECIE . CABALLO) (ANIMAL . PLATA))
((CRIA . DAISY) (ANIMAL . PLATA))
((CRIA . RIKI) (ANIMAL . PLATA))
Ligaduras extendidas:
((ESPECIE . CABALLO) (ANIMAL . PLATA)(CRIA . RIKI) )
((ESPECIE . CABALLO) (ANIMAL . PLATA) (CRIA . DAISY))

Se concluira con instanciacin para nuevas afirmaciones a partir del patron de la


hiptesis y las ligaduras triples.
Se trata de verificar la hiptesis (cra "es un" especie) hacindola corresponder
con elementos en ligaduras triples

Vous aimerez peut-être aussi