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

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 Conjuncin Negacin Implicacin Equivalencia pvq V V V F F V F F V V V F p^q V F F F ~p F F V V P => q V F V V p=q V F F 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.

78

Tpicos y Aplicaciones de la Inteligencia Artificial

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 PREDICADOS

MEDIANTE

LGICA

DE

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)

Mg. Abraham Gamarra Moreno

79

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:

80

Tpicos y Aplicaciones de la Inteligencia Artificial

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
81

Mg. Abraham Gamarra Moreno

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. INFERENCIA Y RAZONAMIENTO

3.2.2.

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:

82

Tpicos y Aplicaciones de la Inteligencia Artificial

D es un teorema porque su negacin lleva a una contradiccin. MTODOS BSICOS DE RAZONAMIENTO

3.2.4.

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:
Mg. Abraham Gamarra Moreno

83

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).

84

Tpicos y Aplicaciones de la Inteligencia Artificial

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 ASOCIACIN DE LOS MIEMBROS DE UNA FAMILIA

LA

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

Mg. Abraham Gamarra Moreno

85

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 DISPOSICIN DE UN SISTEMA DE BLOQUES

LA

La figura 3.2 muestra la disposicin de un sistema de bloques sobre una mesa.


86 Tpicos y Aplicaciones de la Inteligencia Artificial

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"),

Mg. Abraham Gamarra Moreno

87

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

La ejecucin del programa muestra la siguiente salida:

Puede eliminar el par /* vez.

*/ para ejecutar otras consultas, realicelos una por

3.3.

REPRESENTACIN PRODUCCIN

MEDIANTE

REGLAS

DE

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
88 Tpicos y Aplicaciones de la Inteligencia Artificial

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.
89

Mg. Abraham Gamarra Moreno

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
(2) Verificar (1) Verificar

Objetivos
(3) Verificar

Reglas Consecuentes Antecedentes C1 CL CK


(4)

A1 AL AK

Figura 3.3 Razonamiento con encadenamiento regresivo.

En la figura 3.4 se muestra un ejemplo simple de la inferencia con encadenamiento regresivo:

90

Tpicos y Aplicaciones de la Inteligencia Artificial

P1 --> --> P2 P2 --> --> P3 P3 --> --> q3


R1

(Regla 1) (Regla 2) (Regla 3)


R2 R3

p1 ----> ----> p2 -----> -----> p3 -----> -----> q3


Hecho verdadero objetivo 3er Obj 2do Obj

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.
d e a b
Subobjetivos: d e a b r3

r2

f
r1

z
objetivo

g
Subobjetivos: f c g

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

Mg. Abraham Gamarra Moreno

91

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)
92 Tpicos y Aplicaciones de la Inteligencia Artificial

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.
Mg. Abraham Gamarra Moreno

93

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
94 Tpicos y Aplicaciones de la Inteligencia Artificial

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 P q P ______ . . . q es verdadero es verdadero

es verdadero

La figura 3.7 muestra como se aplica la regla modus ponens.


Encadenamiento hacia adelante P1 --> --> P2 (Regla 1) P2 --> --> P3 (Regla 2) P3 --> --> q3 (Regla 3)
R1

(Encadenamiento progresivo)

dado --> --> deducido P1-> Q3 P1-->


R2 R3

p1 ----> ----> p2 -----> -----> p3 -----> -----> q3


Dado deducido deducido deducido

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.

Mg. Abraham Gamarra Moreno

95

d e a b

r2

f
r3 r1

z
deducido

g
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

96

Tpicos y Aplicaciones de la Inteligencia Artificial

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}

Mg. Abraham Gamarra Moreno

97

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


INTRODUCCIN

3.4.1.

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 ATRS4

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.

Traduccin de: Durkin J. Expert Systems. USA: Ed. Macmillan; 1994 Tpicos y Aplicaciones de la Inteligencia Artificial

98