Está en la página 1de 22

CAPITULO TRES

REPRESENTACIN DEL CONOCIMIENTO


La representacin del conocimiento es un conjunto de convenciones
sintcticas y semnticas que hacen posible el describir cosas, para que una
mquina inteligente las utilice. La sintaxis son los smbolos y conjuntos de
reglas para combinarlos. La semntica trata sobre significado de las
expresiones construidas.
En este libro mostraremos slo tres formas de representacin del
conocimiento.
3.1. REPRESENTACIN DEL CONOCIMIENTO MEDIANTE
LGICA PROPOSICIONAL
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
Ayer llovi
Hace fro

78 Tpicos y Aplicaciones de la Inteligencia Artificial

La lgica proposicional, permite la asignacin de un valor verdadero o falso
para la sentencia completa, no tiene facilidad para analizar las palabras
individuales que componen la sentencia. Por este motivo, la representacin de
las sentencias del ejemplo, como proposiciones, sera:
hoy_es_Viernes
ayer_llovi
hace_fro
La proposiciones pueden combinarse para expresar conceptos ms complejos.
Por ejemplo:
hoy_es_Viernes y hace_fro.
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.
Los conectores bsicos de la lgica proposicional y sus tablas de verdad, se
muestran en la tabla 3.1.

Tabla 3.1. Tablas de verdad para operadores lgicos.
p q Disyuncin
p v q
Conjuncin
p ^ q
Negacin
~p
Implicacin
P => q
Equivalencia
p = q
V V V V F V V
V F V F F F F
F V V F V V F
F F F F V V V

El conector de implicacin, puede ser considerado como un condicional
expresado de la siguiente forma:
Si p => q va a ser verdadero, entonces toda vez que p sea verdadero, q debe
ser siempre verdadero.
Mg. Abraham Gamarra Moreno 79

Para los casos en los cuales p es falso, la expresin p => q, es siempre
verdadera, independientemente de los valores lgicos que tome q, ya que el
operador de implicacin no puede hacer inferencias acerca de los valores de q.
En algunos casos, el ms importante de los conectores es la implicacin, y al
principio su tabla de verdad puede parecer confusa debido a que no
corresponde muy bien a nuestra manera intuitiva de concebir que P implique a
Q o si P entonces Q.
Para ilustrar la implicacin analicemos la regla siguiente dada para la primera
fila (p=V y q=V) de la tabla de verdad:
la batera no tiene carga el automvil no enciende
En la segunda fila (p=V y q=F) la implicacin es F porque la regla sera
la batera no tiene carga el automvil enciende
En la tercera fila (p=F y q=V) la implicacin es V porque la regla sera
la batera tiene carga el automvil no enciende
En la cuarta fila (p=F y q=F) la implicacin es V porque la regla sera
la batera tiene carga el automvil enciende
3.2. REPRESENTACIN MEDIANTE LGICA DE
PREDICADOS
La principal debilidad de la lgica proposicional es su limitada habilidad para
expresar conocimiento. Existen varias sentencias complejas que pierden
mucho de su significado cuando se las representa en lgica proposicional. Por
esto se desarroll una forma lgica ms general, capaz de representar todos
los detalles expresados en las sentencias, esta es la lgica de predicados.
La lgica de predicados est basada en la idea de las sentencias que
realmente expresan relaciones entre objetos, as como tambin cualidades y
atributos de tales objetos. Los objetos pueden ser personas, objetos fsicos, o
conceptos. Tales cualidades, relaciones o atributos, se denominan
predicados. Los objetos se conocen como argumentos o trminos del
predicado.
Al igual que las proposiciones, los predicados tienen un valor de veracidad,
pero a diferencia de las preposiciones, su valor de veracidad, depende de sus
trminos. Es decir, un predicado puede ser verdadero para un conjunto de
trminos, pero falso para otro.
Por ejemplo, el siguiente predicado es verdadero:
color (yerba, verde)

80 Tpicos y Aplicaciones de la Inteligencia Artificial

el mismo predicado, pero con diferentes argumentos, puede no ser verdadero:
color (yerba, azul) o color (cielo, verde)
Los predicados tambin pueden ser utilizados para asignar una cualidad
abstracta a sus trminos, o para representar acciones o relaciones de accin
entre dos objetos.
Por ejemplo:
clima(martes, lluvioso) ave(gaviota) ama(roberto, vanessa) lee(alex, novela) mordio(boby, cartero)

Al construir los predicados se asume que su veracidad est basada en su
relacin con el mundo real. Naturalmente, siendo prcticos, trataremos que los
predicados que definimos estn de acuerdo con el mundo que conocemos,
pero no es absolutamente necesario que as lo hagamos. En lgica de
predicados el establecer como verdadero un predicado es suficiente para que
as sea considerado. Demos el siguiente ejemplo, que indica que Ecuador est
en Europa:
parte_de(ecuador, europa)
Obviamente, esto no es verdadero en el mundo real, pero la lgica de
predicados no tiene razn de saber geografa y si el predicado es dado como
verdadero, entonces es considerado como lgicamente verdadero. Tales
predicados, establecidos y asumidos como lgicamente verdaderos se
denominan axiomas, y no requieren de justificacin para establecer su verdad.
La lgica de predicados, se ocupa nicamente de mtodos de argumentacin
slidos. Tales argumentaciones se denominan Reglas de Inferencia. Si se da
un conjunto de axiomas que son aceptados como verdaderos, las reglas de
inferencia garantizan que slo sern derivadas consecuencias verdaderas.
Tanto los conectivos lgicos, como los operadores dados anteriormente para la
lgica proposicional, son igualmente vlidos en lgica de predicados. De
hecho, la lgica proposicional es un subconjunto de la lgica de predicados.
Cada uno de los argumentos en los ejemplos de predicados dados
anteriormente, representan a un objeto especfico. Tales argumentos se
denominan constantes. Sin embargo, en la lgica de predicados se pueden
tener argumentos que en determinado momento pueden ser desconocidos.
Estos son los argumentos tipo variable.
En el ejemplo: color (yerba, X), la variable X, puede tomar el valor de verde,
haciendo que el predicado sea verdadero; o puede tomar el valor de azul,
dando lugar a que el predicado sea falso.
Las variables, tambin pueden ser cuantificadas. Los cuantificadores que
tpicamente se utilizan en lgica de predicados son:
Mg. Abraham Gamarra Moreno 81

El cuantificador universal; indica que la frmula bien formada, dentro de
su alcance, es verdadera para todos los valores posibles de la variable que
es cuantificada. Por ejemplo:
X . . . .
Establece que "para todo X, es verdad que . . . "
El cuantificador existencial; , indica que la frmula bien formada, dentro
de su alcance, es verdadera para algn valor o valores dentro del dominio.
Por ejemplo:
X . . . .
Establece que "existe un X, tal que . . . "
A continuacin se dan algunos ejemplos de predicados cuantificados:
X, [nio (X) => le_gusta (X, helados)].
Y, [mamfero (Y) => nace (Y, vivo)].
Z, [cartero(Z) ^ mordi (boby, Z)].
3.2.1. UNIFICACIN
Cuando se tienen sentencias compuestas por predicados y conectivos lgicos,
se debe evaluar la veracidad de cada uno de sus componentes para
determinar si toda la sentencia es verdadera o falsa. Para ello, se busca en el
conjunto de axiomas la forma de establecer la veracidad de los predicados
componentes. Un predicado componente se dice que es verdadero si se
identifica con un axioma de la base de informacin. En la lgica de predicados,
este proceso es algo complicado ya que las sentencias pueden tener trminos
variables. A los predicados que tienen variables por argumentos, se los
denomina patrones.
La unificacin es el proceso de computar las sustituciones apropiadas que
permitan determinar si dos expresiones lgicas, ya sean predicados o
patrones, coinciden.
El proceso de unificacin involucra los siguientes pasos:
Todo predicado que no contenga variables en sus argumentos, deben
tener un axioma que se identifique totalmente, para considerarlo como
verdadero.
Si un predicado contiene una variable, esta debe ser asociada a un valor
determinado. Esta asociacin se realiza buscando en la base de axiomas y
seleccionando todos aquellos que se identifican con el patrn en todo,
excepto por la variable. La variable es asociada con el valor en la posicin
correspondiente del axioma. Si ms de un axioma se identifica con el

82 Tpicos y Aplicaciones de la Inteligencia Artificial

predicado dado, todos los valores asociados son considerados y son
tratados separadamente.
El proceso de identificacin contina asumiendo que el valor de la variable
es el valor asociado, en cualquier lugar que esta aparezca.
Los conectivos lgicos son aplicados a todos los predicados, para
determinar la veracidad de la sentencia dada.
3.2.2. INFERENCIA Y RAZONAMIENTO
Inferir es concluir o decidir a partir de algo conocido o asumido; llegar a una
conclusin. A su vez, razonar es pensar coherente y lgicamente; establecer
inferencias o conclusiones a partir de hechos conocidos o asumidos.
El proceso de razonamiento, por lo tanto, involucra la realizacin de
inferencias, a partir de hechos conocidos. Realizar inferencias significa derivar
nuevos hechos a partir de un conjunto de hechos conocidos como verdaderos.
La lgica de predicados proporciona un grupo de reglas slidas, con las cuales
se pueden realizar inferencias.
3.2.3. REGLAS DE INFERENCIA
Las principales Reglas de Inferencia son:
Modus ponens.- Es la ms importante, en los sistemas basados en
conocimiento. Establece que:
Si las sentencias p y (p q) se conocen que son verdaderas, entonces se
puede inferir que q tambin es verdadera.
Modus tolens.- Esta regla establece que:
Si la sentencia (p q) es verdadera y q es falsa, entonces se puede
inferir que p tambin es falsa.
Resolucin.- Utiliza refutacin para comprobar una determinada
sentencia. La refutacin intenta crear una contradiccin con la negacin de
la sentencia original, demostrando, por lo tanto, que la sentencia original es
verdadera. La resolucin es una tcnica poderosa para probar teoremas en
lgica y constituye la tcnica bsica de inferencia en PROLOG, un
lenguaje que manipula en forma computacional la lgica de predicados.
Ejemplo:
Mg. Abraham Gamarra Moreno 83




AD es un teorema porque su negacin lleva a una contradiccin.
3.2.4. MTODOS BSICOS DE RAZONAMIENTO
En lgica de predicados, existen tres mtodos bsicos de razonamiento:
deductivo, abductivo e inductivo.
Deduccin.- Es el razonamiento a partir de un principio conocido hacia un
desconocido; de lo general, a lo especfico, o de la premisa a la conclusin
lgica. La deduccin realiza inferencias lgicamente correctas. Esto significa
que la deduccin a partir de premisas verdaderas, garantiza el resultado de
conclusiones tambin verdaderas.
La deduccin es el mtodo ms ampliamente comprendido, aceptado y
reconocido de los tres indicados. Es la base tanto de la lgica proposicional,
como de la lgica de predicados. A manera de ejemplo, el mtodo deductivo,
se puede expresar, utilizando lgica de predicados, como sigue:

84 Tpicos y Aplicaciones de la Inteligencia Artificial

A, B, C, [mayor (A, B) mayor (B, C) mayor (A, C)]
Abduccin.- Es un mtodo de razonamiento comnmente utilizado para
generar explicaciones. A diferencia de la induccin, la abduccin no garantiza
que se puedan lograr conclusiones verdaderas, por lo tanto no es un mtodo
slido de inferencia. La forma que tiene la abduccin es la siguiente:
Si la sentencia (A B) es verdadera y B es verdadera, entonces A es posiblemente
verdadera.
Ejemplo:
X es un elefante X es un animal
En abduccin, se empieza por una conclusin y se procede a derivar las
condiciones que podran hacer a esta conclusin vlida. En otras palabras, se
trata de encontrar una explicacin para la conclusin.
Induccin.- Se define como el razonamiento a partir de hechos particulares o
casos individuales, para llegar a una conclusin general. El mtodo inductivo
es la base de la investigacin cientfica. La forma ms comn del mtodo
inductivo es la siguiente:
Si se conoce que P(a), P(b), ......, P(n) son verdaderos, entonces se puede concluir que X,
P(X) es tambin verdadero.
La induccin es una forma de inferencia muy importante ya que el aprendizaje,
la adquisicin de conocimiento y el descubrimiento estn basados en ella. Al
igual que la abduccin, la induccin no es un mtodo slido de inferencia.
3.2.5. EJEMPLO (3-1): BASE DE CONOCIMIENTO SOBRE QUE
PRODUCTOS PUEDEN COMPRAR UNA PERSONA
La consulta que se realiza es: Qu producto puede comprar alguna persona?
y esta implementado en visual prolog 5.2.

PREDICATES
nondeterm person(symbol)
nondeterm car(symbol)
nondeterm likes(symbol, symbol)
nondeterm for_sale(symbol)
nondeterm can_buy(symbol,symbol)

CLAUSES

person(kelly).
person(judy).
person(ellen).
person(mark).

car(lemon).
car(hot_rod).

likes(kelly, hot_rod).
Mg. Abraham Gamarra Moreno 85

likes(judy, pizza).
likes(ellen, tennis).
likes(mark, tennis).

for_sale(pizza).
for_sale(lemon).
for_sale(hot_rod).
can_buy(X,Y) :- person(X), car(Y), likes(X,Y), for_sale(Y).

GOAL
can_buy(PERSONA,PRODUCTO).


El resultado de la ejecucin es:



3.2.6. EJEMPLO (3-2): PROGRAMA QUE REPRESENTA LA
ASOCIACIN DE LOS MIEMBROS DE UNA FAMILIA
La figura 3.1 muestra la asociacin de los miembros en una familia a travs de
una red asociativa.

Figura 3.1. Asociacin de los miembros en una familia a travs de una red asociativa



86 Tpicos y Aplicaciones de la Inteligencia Artificial

Solucin:

predicates
nondeterm hermana_de (symbol,symbol)
nondeterm esposa_de (symbol,symbol)
nondeterm madre_de (symbol,symbol)
nondeterm hijo_de (symbol,symbol)
nondeterm padre_de (symbol,symbol)
nondeterm abuelo_de (symbol,symbol)
nondeterm son_esposos (symbol,symbol)

clauses
hermana_de (ana, carolina).
esposa_de (ana,memo).
esposa_de (carolina, david).
esposa_de (susana, tomas).
madre_de (ana, susana).
madre_de (carolina, tomas).
madre_de (susana, juan).
padre_de (memo, susana).
padre_de (david, tomas).
padre_de (tomas, juan).
hijo_de (X,Y):- madre_de (Y,X); padre_de (Y,X).
abuelo_de (X,Y):- padre_de (X,Z), padre_de (Z,Y); padre_de (X,Z), madre_de(Z,Y).
son_esposos (X,Y):- esposa_de(X,Y).

goal
/*hijo_de (susana, Quien).*/
abuelo_de (Abuelo, Nieto).
/*son_esposos (Esposa,Esposo).*/

Para ejecutar el programa debemos activar una de las tres lneas que se
encuentran debajo de goal.
La ejecucin a la consulta de quienes son abuelos y quienes son sus nietos es:
abuelo_de (Abuelo, Nieto).
La salida es:


3.2.7. EJEMPLO (3-3): PROGRAMA QUE REPRESENTA LA
DISPOSICIN DE UN SISTEMA DE BLOQUES
La figura 3.2 muestra la disposicin de un sistema de bloques sobre una mesa.
Mg. Abraham Gamarra Moreno 87


Figura 3.2. Disposicin de un sistema de bloques.
El programa que representa al sistema y que realiza la consulta A dnde se
puede mover algn bloque?, se lista a continuacin:

predicates
nondeterm arriba_de(symbol,symbol)
nondeterm debajo_de(symbol,symbol)
nondeterm mas_abajo_de(symbol,symbol)
nondeterm libre(symbol)
nondeterm mover(symbol,symbol)

clauses
arriba_de(b,a).
arriba_de(a,mesa).
arriba_de(c,mesa).
arriba_de(d,mesa).
libre(b).
libre(c).
libre(d).
debajo_de(X,Y):-arriba_de(Y,X).
mas_abajo_de(Z,X):-debajo_de(Y,X),debajo_de(Z,Y).
mover(X,Y):-libre(X),libre(Y).


goal
/*arriba_de(X,mesa).*/

/*debajo_de(a,b).*/

/*debajo_de(X,c).*/ /* que esta debajo de c*/

/*write("\ningrese nombre del bloque "),readln(Abajo),
write("\n"),write(Abajo),
write(" tiene arriba a los siguientes bloques:\n"),
arriba_de(Arriba,Abajo).*/

/*mas_abajo_de(mesa,Arriba).*/

/*mover(Origen,Destino).*/

/*mover(Origen,Destino),Origen<>Destino.*/

write("\ningrese nombre del bloque que desea mover "),readln(Origen),
write("\n"),
write(" se puede mover de la siguiente manera:\n"),

88 Tpicos y Aplicaciones de la Inteligencia Artificial

mover(Origen,Destino),Origen<>Destino.

La ejecucin del programa muestra la siguiente salida:


Puede eliminar el par /* */ para ejecutar otras consultas, realicelos una por
vez.
3.3. REPRESENTACIN MEDIANTE REGLAS DE
PRODUCCIN
Los sistemas basados en reglas son los ms comnmente utilizados. Su
simplicidad y similitud con el razonamiento humano, han contribuido para su
popularidad en diferentes dominios. Las reglas son un importante paradigma
de representacin del conocimiento.
Las reglas representan el conocimiento utilizando un formato SI-ENTONCES
(IF-THEN), es decir tienen 2 partes:
La parte SI (IF), es el antecedente, premisa, condicin o situacin; y
La parte ENTONCES (THEN), es el consecuente, conclusin, accin o
respuesta.
Las reglas pueden ser utilizadas para expresar un amplio rango de
asociaciones, por ejemplo:
SI est manejando un vehculo Y se aproxima una ambulancia, ENTONCES
baje la velocidad Y hgase a un lado para permitir el paso de la ambulancia.
SI su temperatura corporal es de 39 C, ENTONCES tiene fiebre.
SI el drenaje del lavabo est tapado Y la llave de agua est abierta,
ENTONCES se puede inundar el piso.
3.3.1. INFERENCIA BASADA EN REGLAS
Un sistema basado en reglas utiliza el modus ponens para manipular las
afirmaciones y las reglas durante el proceso de inferencia. Mediante tcnicas
de bsqueda y procesos de unificacin, los sistemas basados en reglas
automatizan sus mtodos de razonamiento y proporcionan una progresin
Mg. Abraham Gamarra Moreno 89

lgica desde los datos iniciales, hasta las conclusiones deseadas. Esta
progresin hace que se vayan conociendo nuevos hechos o descubriendo
nuevas afirmaciones, a medida que va guiando hacia la solucin del problema.
En consecuencia, el proceso de solucin de un problema en los sistemas
basados en reglas va realizando una serie de inferencias que crean un
sendero entre la definicin del problema y su solucin. Las inferencias estn
concatenadas y se las realiza en forma progresiva, por lo que se lo que se dice
que el proceso de solucin origina una cadena de inferencias.
3.3.2. EL PROCESO DE RAZONAMIENTO
El proceso de razonamiento en un sistema basado en reglas es una progresin
desde un conjunto inicial de afirmaciones y reglas hacia una solucin,
respuesta o conclusin. Como se llega a obtener el resultado, sin embargo,
puede variar significativamente:
Se puede seleccionar una posible solucin y tratar de probar su validez
buscando evidencia que la apoye. Este proceso se denomina guiado por el
objetivo o de encadenamiento hacia atrs (backward chainning).
Se puede partir considerando todos los datos conocidos y luego ir
progresivamente avanzando hacia la solucin. Este proceso se lo
denomina guiado por los datos o de encadenamiento hacia adelante
(forward chainning).
Encadenamiento hacia atrs
El mecanismo de inferencia, o intrprete de reglas para el encadenamiento
regresivo (encadenamiento hacia atrs), difiere significativamente del
mecanismo de encadenamiento hacia adelante. Si bien es cierto ambos
procesos involucran el examen y aplicacin de reglas, el encadenamiento
hacia atrs empieza con la conclusin deseada y decide si los hechos que
existen pueden dar lugar a la obtencin de un valor para esta conclusin. El
encadenamiento hacia atrs sigue un proceso muy similar a la bsqueda
primero en profundidad.
El sistema empieza con un conjunto de hechos conocidos. Se proporciona una
lista ordenada de objetivos (o conclusiones), para las cuales el sistema trata de
derivar valores. El proceso de razonamiento hacia atrs utiliza esta lista de
objetivos para coordinar su bsqueda a travs de las reglas de la base de
conocimientos. Esta bsqueda consiste de los siguientes pasos:
Conformar una pila inicialmente compuesta por todos los objetivos
prioritarios definidos en el sistema.
Considerar el primer objetivo de la pila. Determinar todas las reglas
capaces de satisfacer este objetivo, es decir aquellas que mencionen al
objetivo en su conclusin.

90 Tpicos y Aplicaciones de la Inteligencia Artificial

Para cada una de estas reglas examinar en turno sus antecedentes:
Si todos los antecedentes de la regla son satisfechos (esto es,
cada parmetro de la premisa tiene su valor especificado dentro
de la base de datos), entonces ejecutar esta regla para derivar
sus conclusiones. Debido a que se ha asignado un valor al
objetivo actual, removerlo de la pila y retornar al paso (2).
Si alguna premisa de la regla no puede ser satisfecha, buscar
reglas que permitan derivar el valor especificado para el
parmetro utilizado en esta premisa.
Si en el paso (b) no se puede encontrar una regla para derivar el
valor especificado para el parmetro actual, entonces preguntar
al usuario por dicho valor y aadirlo a la base de datos. Si este
valor satisface la premisa actual entonces continuar con la
siguiente premisa de la regla. Si la premisa no es satisfecha,
considerar la siguiente regla.
Si todas las reglas que pueden satisfacer el objetivo actual se han probado
y todas no han podido derivar un valor, entonces este objetivo quedar
indeterminado. Removerlo de la pila y retornar al paso (2). Si la pila est
vaca parar y anunciar que se ha terminado el proceso.
La figura 3.3 representa una versin simplificada del encadenamiento hacia
atrs:
Hechos
iniciales
Objetivos
Reglas
Consecuentes Antecedentes
C1 A1

CL AL
CK AK


(1) Verificar (1) Verificar
(3) Verificar (3) Verificar
(2) Verificar (2) Verificar
( (4) 4)

Figura 3.3 Razonamiento con encadenamiento regresivo.

En la figura 3.4 se muestra un ejemplo simple de la inferencia con
encadenamiento regresivo:
Mg. Abraham Gamarra Moreno 91

P1 P1 -- --> P2 (Regla 1) > P2 (Regla 1)
P2 P2 -- --> P3 (Regla 2) > P3 (Regla 2)
P3 P3 -- --> q3 (Regla 3) > q3 (Regla 3)
p1 p1 ---- ----> p2 > p2 ----- -----> p3 > p3 ----- -----> q3 > q3
objetivo
2do Obj
3er Obj
Hecho
verdadero
R3
R2
R1
Direccin encadenamiento hacia atrs

Figura 3.4 Inferencia con encadenamiento regresivo o encadenamiento hacia atrs.
Los ejemplos que se mencionan a continuacin son los mismos que se
utilizaron en el encadenamiento hacia adelante, se evalan aqu para
encontrar las diferencias con el encadenamiento hacia atrs.
Ejemplo 1: Se tienen los siguientes hechos y reglas:
Hechos = { a, b, d, e, g }
Reglas:
r1: IF ( f and c and g ) THEN ( z )
r2: IF ( d and e ) THEN ( f )
r3: IF ( a and b ) THEN ( c )
OBJETIVO: Z , Para ver si el objetivo Z es verdadero debemos de probar sus
antecedentes tal como se muestra en la figura 3.5.
b
d
e
a
c
z
f
g
r1
r2
r3
objetivo
Subobjetivos: f c g
Subobjetivos: d e a b

Figura 3.5 Prueba del objetivo Z con encadenamiento regresivo (encadenamiento hacia atrs)



92 Tpicos y Aplicaciones de la Inteligencia Artificial

Ejemplo 2: Se tiene el siguiente conjunto de reglas:
R1: IF (P y Q) THEN S
R2: IF R THEN T
R3: IF (S y T) THEN U
R4: IF (S y R) THEN V
HECHOS={P,Q,R}
Probar V (objetivo)
Paso 1:
Intentar probar V revisando si esta en hechos.
Si no esta introduce a V como hiptesis 1 (H1).
Paso 2:
Se realiza una comparacin de H1 vs las reglas.
H1 existe en la conclusin de R4.
Paso 3:
Intentar probar S (primer antecedente) revisando si esta en hechos.
Si no esta introduce a S como hiptesis 2 (H2).
Paso 4:
Se realiza una comparacin de H2 vs las reglas.
H2 existe en la conclusin de R1.
Descubre que R1 puede ser (ejecutado) y se aade S a hechos.
Verifica si S es la solucin, si no es continua.
Las reglas y hechos quedan:

R1: IF (P y Q) THEN S (H2)(Ejecutado 1ro)
R2: IF R THEN T
R3: IF (S y T) THEN U
R4: IF (S y R) THEN V (H1)
Mg. Abraham Gamarra Moreno 93

HECHOS={P, Q, R, S}
Paso 4:
Como continuacin del paso 3 se evala R (segundo antecedente) de la regla
R4.
Paso 5:
Intenta probar R revisando si esta en hechos.
Si esta!, entonces ejecuta R4 y aade V a hechos.
Las reglas y hechos quedan:

R1: IF (P y Q) THEN S (Ejecutado 1ro)
R2: IF R THEN T
R3: IF (S y T) THEN U
R4: IF (S y R) THEN V (Ejecutado 2do)
HECHOS={P, Q, R, S, V}
Paso 5:
Verifica si V es la solucin (si es!) y finaliza.
El razonamiento hacia atrs es mucho ms adecuado para aplicaciones que
tienen mucho mayor nmero de entradas, que de soluciones posibles. La
habilidad de la lgica regresiva para trazar desde las pocas conclusiones hacia
las mltiples entradas la hace ms eficiente que el encadenamiento hacia
adelante.
Una excelente aplicacin para el razonamiento hacia atrs es el diagnstico,
donde el usuario dialoga directamente con el sistema basado en conocimiento
y proporciona los datos a travs del teclado. Problemas de clasificacin
tambin son adecuados para ser resuelto mediante el razonamiento hacia
atrs.
Encadenamiento hacia adelante
En el caso del encadenamiento hacia adelante, se empieza a partir de un
conjunto de datos colectados a travs de observacin y se evoluciona hacia
una conclusin. Se chequea cada una de las reglas para ver si los datos
observados satisfacen las premisas de alguna de las reglas. Si una regla es
satisfecha, es ejecutada derivando nuevos hechos que pueden ser utilizados
por otras reglas para derivar hechos adicionales. Este proceso de chequear
reglas para ver si pueden ser satisfechas se denomina interpretacin de reglas.

94 Tpicos y Aplicaciones de la Inteligencia Artificial

La interpretacin de reglas es realizada por una mquina de inferencia en un
sistema basado en conocimiento. La interpretacin de reglas, o inferencia, en
el razonamiento hacia adelante involucra la repeticin de los pasos que se
indican en la figura 3.6.

Figura 3.6 Proceso de Razonamiento Progresivo.

Unificacin (Matching).- En este paso, en las reglas en la base de
conocimientos se prueban los hechos conocidos al momento para ver
cules son las que resulten satisfechas. Para decir que una regla ha
sido satisfecha, se requiere que todas las premisas o antecedentes de
la regla resuelvan a verdadero.
Resolucin de Conflictos.- Es posible que en la fase de unificacin
resulten satisfechas varias reglas. La resolucin de conflictos involucra:
- la seleccin de una regla de acuerdo al orden en que fueron creados,
es decir, los que se crearon primero son las reglas que se deben elegir,
- la seleccin aleatoria de una regla,
- la seleccin de la regla que tenga la ms alta prioridad de entre el
conjunto de reglas que han sido satisfechas.
Ejecucin.- El ltimo paso en la interpretacin de reglas es la ejecucin
de la regla. La ejecucin puede dar lugar a uno o dos resultados
posibles: nuevo hecho (o hechos) pueden ser derivados y aadidos a la
base de hechos, o una nueva regla (o reglas) pueden ser aadidas al
conjunto de reglas (base de conocimiento) que el sistema considera
para ejecucin.
El conjunto de aplicaciones adecuadas para el razonamiento hacia adelante
est formado por: diseo, planeamiento y calendarizacin, donde ocurre la
sntesis de nuevos hechos basados en las conclusiones de las reglas. En estas
aplicaciones hay potencialmente muchas soluciones que pueden ser derivadas
Mg. Abraham Gamarra Moreno 95

de los datos de entrada. Debido a que estas soluciones no pueden ser
enumeradas, las reglas expresan conocimiento como patrones generales y las
conexiones precisas entre estas reglas no pueden ser predeterminadas.
El razonamiento progresivo infiere con la aplicacin de la regla de modus
ponens
Pq es verdadero
P es verdadero
______


La figura 3.7 muestra como se aplica la regla modus ponens.
P1 P1 -- --> P2 (Regla 1) > P2 (Regla 1) dado dado -- --> deducido > deducido
P2 P2 -- --> P3 (Regla 2) > P3 (Regla 2) P1 P1-- --> Q3 > Q3
P3 P3 -- --> q3 (Regla 3) > q3 (Regla 3)
p1 p1 ---- ----> p2 > p2 ----- -----> p3 > p3 ----- -----> q3 > q3
Encadenamiento hacia Encadenamiento hacia
adelante adelante
deducido
deducido
deducido
Dado
R3
R2
R1
Direccin encadenamiento hacia adelante

Figura 3.7 Aplicacin de la regla modus ponens.

A continuacin se muestran dos ejemplos que utilizan el encadenamiento hacia
adelante.
Ejemplo 1: Se tienen los siguientes hechos y reglas:
Hechos = { b, e, g, a, d }
Reglas:
r1: IF ( f and c and g ) THEN ( z )
r2: IF ( d and e ) THEN ( f )
r3: IF ( a and b ) THEN ( c )
El siguiente rbol muestra el trabajo realizado por el encadenamiento
progresivo.
.
. . q es verdadero
(Encadenamiento
progresivo)

96 Tpicos y Aplicaciones de la Inteligencia Artificial

b
d
e
a
c
z
f
g
r1
r2
r3
deducido
deducidos: f c


Ejemplo 2:
Se tiene el siguiente conjunto de reglas:
R1: IF (P y Q) THEN S
R2: IF R THEN T
R3: IF (S y T) THEN U
R4: IF (S y R) THEN V
HECHOS={P,Q,R}
V=objetivo
Paso 1: Realiza una comparacin de las hechos vs las reglas y busca que
reglas se pueden ejecutar.
R1 y R2 se pueden disparar (existe conflicto)
Dispara R1 teniendo en cuenta que es la primera regla encontrada (podra
tomarse otro criterio de seleccin), aade a S como hecho y memoriza que R1
fue ejecutada.
Verifica si S es el objetivo, como no es prosigue.
El estado de las reglas y hechos es:
R1: IF (P y Q) THEN S (Ejecutado 1ro)
R2: IF R THEN T
Mg. Abraham Gamarra Moreno 97

R3: IF (S y T) THEN U
R4: IF (S y R) THEN V
HECHOS = {P,Q,R,S}
Paso 2: Realiza una comparacin de los hechos vs las reglas y busca que
reglas se pueden ejecutar.
R2 y R4 se pueden disparar (existe conflicto)
Dispara R2 teniendo en cuenta que es la primera regla encontrada (podra
tomarse otro criterio de seleccin), aade a T como hecho y memoriza que R2
fue ejecutada.
Verifica si T es el objetivo, como no es prosigue.
El estado de las reglas y hechos es:
R1: IF (P y Q) THEN S (Ejecutado 1ro)
R2: IF R THEN T (Ejecutado 2do)
R3: IF (S y T) THEN U
R4: IF (S y R) THEN V
HECHOS = {P, Q, R, S, T}
Paso 3: Realiza una comparacin de los hechos vs las reglas y busca que
reglas se pueden ejecutar.
R3 y R4 se pueden disparar (existe conflicto)
Dispara R3 teniendo en cuenta que es la primera regla encontrada (podra
tomarse otro criterio de seleccin), aade a U como hecho y memoriza que R3
fue ejecutada.
Verifica si U es el objetivo, como no es prosigue.
El estado de las reglas y hechos es:
R1: IF (P y Q) THEN S (Ejecutado 1ro)
R2: IF R THEN T (Ejecutado 2do)
R3: IF (S y T) THEN U (Ejecutado 3ro)
R4: IF (S y R) THEN V
HECHOS = {P, Q, R, S, T, U}

98 Tpicos y Aplicaciones de la Inteligencia Artificial

Paso 4: Realiza una comparacin de los hechos vs las reglas y busca que
reglas se pueden ejecutar.
R4 se puede disparar
Dispara R4 y aade a V como hecho y memoriza que R4 fue ejecutada.
Verifica si V es el objetivo, dado que si es, entonces finaliza.
El estado de las reglas y hechos es:
R1: IF (P y Q) THEN S (Ejecutado 1ro)
R2: IF R THEN T (Ejecutado 2do)
R3: IF (S y T) THEN U (Ejecutado 3ro)
R4: IF (S y R) THEN V (Ejecutado 4to)
HECHOS = {P, Q, R, S, T, U, V}

3.4. DISEO DE SISTEMAS BASADO EN REGLAS CON
ENCADENAMIENTO HACIA ATRS
3.4.1. INTRODUCCIN
En este tema se considerara las etapas que un ingeniero de conocimiento
realiza para desarrollar un sistema experto basado en reglas con
encadenamiento hacia atrs. Este proceso se ilustrara con un pequeo
problema de planificacin de inversin personal.
3.4.2. METODOLOGA GENERAL PARA EL DISEO DE SISTEMAS
BASADO EN REGLAS CON ENCADENAMIENTO HACIA ATRS
4

La primera tarea antes de realizar el diseo de un sistema experto es el tener
un conocimiento general del problema. Se debe determinar los objetivos del
sistema, y obtener informacin del experto con el fin de tener recomendaciones
validas.
Una caracterstica comn al diseo de cualquier sistema experto es que es un
proceso altamente iterativo. El proceso cclico continua en aumento mientras el
sistema crece.
Este estilo de desarrollo cclico es tpico cuando se construye un sistema con
encadenamiento hacia atrs.

4
Traduccin de: Durkin J. Expert Systems. USA: Ed. Macmillan; 1994

También podría gustarte