Verificación de Bases de Conocimiento Basada en Algebra de Grafos
Transcripción
Verificación de Bases de Conocimiento Basada en Algebra de Grafos
VERIFICACION DE BASES DE CONOCIMIENTO BASADA EN ALGEBRA DE GRAFOS Dramis, L., Britos, P., Rossi, B. y García Martínez, R. Centro de Ingeniería de Software e Ingeniería del Conocimiento. Instituto Tecnológico de Buenos Aires [email protected] 1. APROXIMACIÓN INTUITIVA El conjunto de toda la información relevante sobre un universo dado, disponible en un momento determinado, y la estructura que subyace a esta información, constituye un estado consistente de ese universo. Estos estados consistentes se representan mediante grafos dirigidos y etiquetados. La representación basada en grafos de los estados consistentes de un universo comprende sólo el aspecto estático del mismo. Más importante es el aspecto dinámico, o sea, la posibilidad de modificar estos estados de acuerdo a las acciones desarrolladas en ese universo sobre los objetos que forman parte de él. Este aspecto dinámico se puede describir mediante la especificación de los estados modificados que puede alcanzar ese universo si se llevan a cabo tales acciones, para cada estado consistente del mismo. Denominamos E0 → E1 a la relación que representa la operación disponible para actualizar el estado E0 del universo. Cada una de estas operaciones se describe mediante una producción de grafos. Se debe definir para cada operación del universo una producción de grafos, cuya parte izquierda contenga aquellos nodos y/o arcos a eliminar, y cuya parte derecha contenga los nodos y/o arcos a agregar al aplicar la producción a un estado consistente dado del universo. 2. APROXIMACIÓN INFORMAL Una regla de transformación de grafos o producción (L, K, R) consiste en tres grafos L, K y R. Una producción (L, K, R) es aplicable a un grafo G si G contiene un subgrafo que es una imagen de L. Una producción (L, K, R) es aplicable a un grafo G si L es un subgrafo de G. El grafo L constituye la parte izquierda de la producción, y formula las condiciones bajo las cuales resulta aplicable la producción, o sea, es un subconjunto del conjunto de objetos (nodos y arcos) del universo. El grafo de contacto K, que generalmente es un subgrafo de L y de R, describe los subobjetos de la parte izquierda que se deben preservar en el proceso de aplicación de la producción. Por lo tanto, la diferencia entre L y K: L-K, contiene a todos aquellos subobjetos que se deben eliminar al aplicar la producción. Análogamente, la diferencia R-K contiene a todos aquellos subobjetos que se deberán agregar al aplicar la producción. Este grafo intermedio K describe el contexto en el cual se integran los subobjetos agregados. 3. DEFINICIONES 3.1. CATEGORÍAS Una categoría Cat consiste de una colección de objetos: Obj(Cat), una colección de morfismos (funciones, relaciones binarias, etc) para cada par de objetos A, B ∈ Obj(Cat): Cat(A, B) y un operador de composición “o” para cada terna de objetos A, B, C ∈ Obj(Cat): Cat(A, B)xCat(B, C) → Cat(A, C). Esta sujeta a las siguientes condiciones: 1. Existencia de identidades: Para cada objeto A ∈ Obj(Cat), existe un morfismo identidad idA ∈ Cat(A, A), tal que para todo morfismo g ∈ Cat(A, B): g o idA = g y para todo morfismo f ∈ Cat(B, A): idA o f = f. 2. Asociatividad de la composición: Para todo morfismo f ∈ Cat(A, B), g ∈ Cat(B, C), y h ∈ Cat(A, B), h o (g o f) = (h o g) o f. 3.2. MONOMORFISMO Un morfismo f : B → C en una categoría Cat es un monomorfismo, si para todo par de morfismos g, h ∈ Cat(A, B), la igualdad f o g = f o h, implica g = h (noción de función inyectiva). A g B f h C 3.3. PRODUCCIÓN Una producción p = (L ← K → R) en una categoría Cat consiste en un par de objetos (L, R), llamados parte izquierda y parte derecha de la producción, un objeto K llamado objeto interfaz y dos monomorfismos K → L y K → R. 3.4. PUSHOUT El diagrama conmutativo f A B g g´ C D f´ Es un diagrama de Pushout si, para todo diagrama conmutativo f A B g i C D j Existe un único morfismo k: D → X tal que k o g’ = i y k o f’ = j f A B C g´ D g f´ i k j X Dados dos conjuntos B y C con sus componentes correspondientes dados por dos morfismos: f:A→Byg:A→C para un objeto A, es posible unirlos o pegarlos sobre sus componentes correspondientes. El objeto D de un diagrama de pushout se llama objeto pushout y es único. El objeto C en un diagrama de pushout se llama conmplemento pushout de los morfismos f y g. 3.5. DOBLE PUSHOUT Los diagramas de pushout se pueden componer tanto horizontal como verticalmente. Si (1) y (2) son diagramas de pushout, entonces (1)+(2) también es diagrama de pushout. A D (1) B E (2) C F 3.6. DERIVACIÓN DIRECTA Dada una producción p = (L ← K → R) en una categoría Cat, un objeto D, llamado objeto contexto y un morfismo K → D. Una derivación directa de un objeto G a un objeto H via p: G ⇒ H, viene dada por los dos diagramas de pushouts (1) y (2) en Cat siguientes: L (1) G K R (2) D H Los morfismos L → G y R → H se llaman ocurrencia de L en G y de R en H. 3.7. DERIVACIÓN Una secuencia de derivaciones directas, o simplificando, una derivación de de un objeto G a un objeto H: G ⇒ H, indica que G ≅ H, (isomorfismo, noción asociada a función biyectiva), o que existe una secuencia de n >= 1 derivaciones directas. pn p1 p2 G = G0 ⇒ G1 ⇒ ....... ⇒ Gn = H La idea de una producción es reemplazar la parte izquierda L por la parte derecha R, donde el objeto interface K junto con los monomorfismos K → L y K → R designan los subobjetos comunes a L y R que se preservan al aplicar la producción. Los pushouts del doble diagrama se pueden interpretar como el pegado (o plegado) de los objetos L y D sobre K para obtener G, y de R y D sobre K para obtener H. Esto nos permite obtener una visión simétrica de la derivación directa, donde dado el objeto contexto D y el morfismo K → D, además de la producción p, tanto el objeto G como el H quedan unívocamente determinados (por isomorfismo). 3.8. DERIVACIÓN DIRECTA INVERSA Dada una producción p = (L←K→R) y una derivación directa p: G ⇒ H, la producción inversa p-1 = (R ← K → L) da lugar a una derivación directa inversa p-1 : G ⇒ H. (I) R H (2) K (1) D L G La derivación directa inversa p-1 : G ⇒ H viene dada por el doble diagrama de pushout (I) usando los mismos diagramas de pushout que en la derivación directa, pero en orden opuesto. 3.9. APLICACIÓN DE UNA PRODUCCIÓN Dada una producción p = (L ← K → R) en una categoría Cat, un objeto G y una ocurrencia L → G de L en G, la producción p se llama aplicable a G vía L → G si se cumplen las dos condiciones siguientes: 1. Existen un objeto D y dos morfismos K → D y D → G tales que el diagrama (1) resulta un diagrama de pushout (D se llama complemento pushout de L respecto de G y K). 2. Existe un objeto H que es el pushout de K → R y K → D, de modo que el diagrama (2) resulta un diagrama de pushout. L G (1) K D (2) R H Aún si la categoría Cat tiene pushouts, el complemento pushout sólo existe bajo ciertas condiciones. Las condiciones de existencia de complementos pushout, se denominan condiciónes de contacto. 3.10. SINGLE PUSHOUT El enfoque llamado single pushout estudia la generalización del enfoque anterior, doble pushout, relajando las condiciones de aplicación de las producciones. Como no existe la condición de contacto, este enfoque permite identificar objetos que sean candidatos a ser eliminados , y elimina los arcos que queden pendientes, garantizando así que el resultado siempre sea un grafo. Este enfoque interpreta una producción del enfoque doble pushout con dos morfismos (totales) de grafos, como un único morfismo (parcial) de la parte izquierda a la parte derecha de la producción. La noción de un diagrama de doble pushout para el proceso de transformación se puede reemplazar por un único diagrama de pushout. 4. APLICACIÓN A LA VERIFICACIÓN DE BASES DE CONOCIMIENTOS Los usos principales de los grafos en las ciencias de la computación son la representación de estados y de estructuras. El enfoque algebraico (doble pushout) es un marco teórico muy adecuado para el estudio de la inferencia en bases de conocimiento, pues la correspondencia que existe entre las reglas una base de conocimiento, y las producciones de un sistema de reescritura(), se aprovecha para trasladar los resultados teóricos de la concurrencia en la transformación de grafos a la ejecución paralela de sistemas de producción. Esta modelización de la inferencia se basa en la representación del estado de una base de conocimiento mediante un grafo, y en el estudio de los cambios de estado de la base de conocimiento (inferencia) mediante transformaciones de este grafo. El enfoque algebraico permite además la especificación de la estructura de una base de conocimiento mediante un grafo, así como la verificación de propiedades estructurales de una base de conocimiento (subsumción de reglas), mediante las transformaciones de este grafo. 4.1. VERIFICACIÓN DE BASES DE CONOCIMIENTO El concepto de verificación de bases de conocimientos se corresponde con el de control de calidad del software tradicional. Se diferencian principalmente por las anomalías que se pueden presentar. Las principales anomalías son las siguientes: inconsistencia, redundancia, circularidad, presencia de objetos innecesarios y ambigüedades. 4.2. UN EJEMPLO DE APLICACIÓN EN DETECCION DE AMBIGÜEDADES EN UNA BASE DE CONOCIMIENTO Vamos a analizar el problema de la detección de ambigüedades mediante el uso de transformación algebraica de grafos. Definición: Sea K un sistema de clasificación, y sean A y B dos premisas clase del sistema K, si existe un conjunto de premisas C tal que de él se deriven A y B, entonces A y B son premisas ambiguas en el sistema K. Hasta ahora, el problema de formalizar mecanismos de detección de ambigüedades en bases de conocimientos,, ha sido tratado mediante la técnica de ,marcado de grafos. A continuación se presentan definiciones formales basadas en un modelo simple de base de conocimiento y sistema de inferencia. Dado un conjunto F de símbolos (proposiciones), y un conjunto R de símbolos (identificadores de reglas), una base de conocimiento es un conjunto de reglas K = {R: A → C} donde A ∈ F y C ∈ F. Para toda regla r ∈ K de la forma .F1, ..., Fn → F, se definen las funciones lhs(r) = { F1, ..., Fn} y rhs(r) = { F}. Interpretación (Definición): Una interpretación I sobre una base de conocimiento K = {R: A → C} es una asignación de valores de verdad a cada proposición F ∈ F. Cubrimiento (Definición): La regla r: F1, ..., Fn → F cubre a la proposición F en la interpretación I si la fórmula F1 ∧ ... ∧ Fn es cierta en I Ejemplo: Dada una base de conocimiento que contenga las reglas P, Q → R R, S → T (r1) (r2) la regla r1 cubre a R en toda interpretacion en la que las proposiciones P y Q sean ciertas mientras que r2 cubre a toda interpretacion en la R y S sean ciertas Subsumción (Definición): Una regla r ∈ K subsume a (o es más general que) una regla s ∈ K si rhs(r) = rhs(s) y para toda interpretación I tal que K es cierta en I, lhs(r) es cierta en I siempre que lhs(s) sea cierta en I. Ejemplo: La regla r1 subsume a la regla r2 con respecto a toda base de conocimiento que contenga reglas P, Q → S P, Q, S → S (r1) (r2) ya que, en toda intepretacion en la que la base de conocimientos sea cierta y r2 cubra a S, entonces P, Q y R son ciertas, S tambien es cierta, y r1 tambien cubre a S en esa interpretacion. La subsumción puede ser local a las reglas participantes, o global a la base de conocimiento. Ejemplo: La regla r2 subsume a la regla r3 con respecto a toda base de conocimiento que contenga reglas P, Q → R (r1) R, S → T (r2) P, Q, S → T (r3) ya que, en toda intepretacion en la que la base de conocimientos sea cierta y r3 cubra a T, entonces las proposiciones P, Q, S y T son ciertas, la proposición R tambien es cierta, y r2 tambien cubre a T en esa interpretacion. Arbol de reglas (Definición): Un árbol de reglas en una base de conocimiento K es un conjunto de reglas {r0, ..., rk} de K (k ≥ 0) tal que para todo i hay un j para el que rhs(ri) ⊆ lhs(rj), donde 0 ≤ i < j ≤k. Ejemplo: El conjunto de reglas {r1, r2, r3, r4} siguiente forman un arbol de reglas: X r4 P, Q S, T R (r1) U (r2) U, V W (r3) R, W X R W r1 (r4) P r3 Q U V r2 S T Corte de un árbol de reglas (Definición): El corte de un árbol de reglas {r0, ..., rk} en K (k>=0), denotado por cut(r0, ..., rk), es el conjunto de proposiciones: lhs(r0) ∪ ... ∪ lhs (rk) \ rhs(r0) \ ... rhs (rk) siendo ∪ unión de conjuntos, y \ diferencia de conjuntos. Ejemplo: El corte del arbol de reglas {r1, r2, r3, r4} del ejemplo anterior es {P, Q, S, T, V} El corte de un arbol de reglas elementales {r} es entonces lhs(r) \ rhs(r) y esto es igual a lhs(r), siempre que la base de conocimiento sea aciclica. Plegado de reglas (Definición): El plegado de las reglas: r1: B1,..., Bm,...,Bn → A1 y r2: B1,..., Bm → A2 en una base de conocimiento K es la nueva regla: r1↑ r2 : A2, Bm+1,....., Bn → A1 Ejemplo: El corte del arbol de reglas P, Q → R S, T → U U, V→ W R, W → X (r1) (r2) (r3) (r4) Se puede obtener mediante las tres operaciones de plegado de reglas: r1↑ r4 r2↑ r3 r3↑ r4 X X X ⇒ ⇒ ⇒ r4 R X r4 r4 W R R W S T V r1 P Q U r2 S r4 r3 r1 r3 r1 V P Q S T V P P, Q → R (r1) S, T, V → W (r2) R, W → X (r4) P Q S T V P, Q, S, T, V → X ( r1↑ (( r2 ↑ r3) ↑ r4)) Q P, Q → R (r1) S, T, V → X (( r2 ↑ r3) ↑ r4) T Ambigüedad (Definición): Dos premisas A y B son ambiguas, si existe un grupo de premisas C tal que existen o se pueden construir por plegado, reglas de la forma C → A y C → B y en la misma interpretación, la regla C → A cubre a la proposición A y C → B cubre a la proposición B. Redundancia (Definición): La redundancia se define como generalización de la subsumción, o sea, subsumción en ambos sentidos. La regla r ∈ K es redundante a la regla s ∈ K si r subsume a s y s subsume a r. 4.2.1. REPRESENTACIÓN BASADA EN GRAFO DE UNA BASE DE CONOCIMIENTO La estructura de una base de conocimiento se puede representar sin pérdida de información mediante un grafo o un hipergrafo. Se pueden representar proposiciones mediante nodos y reglas mediante hiperarcos. En este caso, de representación basada en hipergrafos, las producciones resultan más simples. P P, Q → R P, Q, V → U R, W → S R, S → T S, U → T (r1) (r2) (r3) (r4) (r5) R r4 r1 Q W V r3 S T r2 U r5 Representaciones similares a estas han sido utilizadas directamente para la verificación de bases de conocimientos o en forma de redes de Petri, donde los lugares representan hechos y las transiciones representan reglas de conocimiento. Una forma equivalente consiste en representar proposiciones mediante nodos y reglas mediante hiperarcos. La representación basada en hipergrafos resulta mas compacta que la representación basada en grafos, y las producciones son mas simples y su aplicación resulta mas efeciente. La representación correspondiente al ejemplo anterior es: r1 P r4 R S W Q T r3 V r2 U r5 4.2.2. VERIFICACIÓN A POSTERIORI DE BASES DE CONOCIMIENTO – EL SISTEMA DE PRODUCCIÓN Bajo la representación basada en hipergrafos, se pueden detectar y eliminar todas las reglas subsumidas localmente mediante la aplicación iterativa de las dos producciones siguientes (las siguientes producciones son esquemas de producción, donde los puntos suspensivos significan cero o más nodos). p1 ⇒ ... p2 ⇒ ... ... ... ... ... Estas producciones describen modificaciones locales de la estructura de la base de conocimiento. El enfoque algebraico extendido (single pushout) permite la especificación de modificaciones globales de una base de conocimiento, gracias al efecto que produce la eliminación de un nodo en un hipergrafo (la eliminación simultánea de todos los hiperarcos incidentes en el nodo). El primer paso consiste en extender la representación de la estructura de la base de conocimiento, haciendo explícito el corte de todos los árboles de reglas, mediante la aplicación iterativa de las cuatro producciones siguientes. La aplicación de las mismas se sujeta a las siguientes dos condiciones: 1) que el hiperarco negro que agrega la producción no exista previamente en el hipergrafo; 2) que no exista en el hipergrafo otro hiperarco icidente en el nodo común a los dos hiperarcos de la parte izquierda de la producción p3 ⇒ p4 ⇒ ... ... ... ... ... ... ... p5 ⇒ p6 ⇒ ... ... ... ... ... ... ... ... ... Lo que estas cuatro producciones explicitan es el plegado de todas las reglas de la base de conocimiento. Bajo esta nueva representación (hipergrafo de orden superior), los hiperarcos blancos representan reglas de la base de conocimiento, y los negros, cortes de árboles de reglas. Una vez explicitado el corte de todos los árboles de reglas de la base de conocimiento, se pueden detectar y eliminar todas las reglas subsumidas globalmente mediante la aplicación iterativa de las dos siguientes producciones: p7 ⇒ ... ... p8 ⇒ ... ... ... ... ... ... ... La verificación se realiza entonces mediante la aplicación iterativa de las ocho producciones. Cuando ya no se pueda aplicar ninguna de estas producciones, se extrae la base de conocimiento final, libre de reglas redundantes y subsumidas. 4.2.3. VERIFICACIÓN DE PREMISAS AMBIGUAS Sean C1 ∈ F y C2 ∈ F, C = {C1, C2} y A ∈ F y B ∈ F. Sean r1 ∈ K: r1 = {C1, C2 →A) y r2 ∈ K: r2 = {C1, C2 →B). Entonces A y B son premisas ambiguas. Las siguientes producciones vinculan con un arco ambiguo (un arco con una “o” superpuesta) aquellos nodos (asociados a premisas ambiguas) para los cuales existan arcos que los tengan como nodos consecuentes, y que verifiquen tener los mismos nodos antecedentes. B A C1 ... C1 ... A C1 C2 B A C2 A C1 p10 ⇒ C2 B ... p9 ⇒ C2 ... C2 ... C2 A C1 p11 ⇒ ... A C1 Luego de aplicar iterativamente estas tres producciones, se extrae una base de conocimiento libre de premisas ambiguas. 5. CONCLUSIONES Se ha explorado la aplicabilidad del álgebra de grafos a la especificación de formalismos que permitan detectar problemas en bases de conocimiento. En particular se ha podido definir un sistema de producción de grafos que detecta ambigüedades sintetizando el procedimiento definido por Loveland y Valtorta. Se continuará este trabajo tratando de establecer sistemas de producción que permita detectar reglas de punto muerto y reglas redundantes. 6. REFERENCIAS Ferruglio, G. 1992. Transformación Algebraica de Grafos en Inteligencia Artificial. Editor FCEyN Loveland, D. y Valtorta, M. Detecting Ambiguity. Proceedings IJCAI´95. Pág. 182-184. Amherst.