Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Redes Semanticas
Redes Semanticas
Constantes de relaci on tales como clases (como en los lenguaje orientado a objetos) y propiedades. Instancias: objetos de alguna clase.
Las aristas en una red sem antica est an tambi en etiquetadas y representan relaciones entre clases, propiedades e instancias. Un ejemplo:
Alas
tiene tiene
Semillas
come
Canario
es un
Halcon
es un
Piolin
Pedro
Tenemos dos objetos, Piolin y Pedro. Intuitivamente podemos inferir que Piolin es un ave dado que canario es una subclase de ave y Piloin es un canario, podemos inferir tambi en que Piolin tiene alas. No hay un signicado preciso para una red sem antica cualquiera, este depender a de la aplicaci on y debe ser especicado por el dise nador de la red.
2
instancia(Objeto,Clase) utilizado para decir que el objeto Objeto pertenece a la clase Clase. En nuestro ejemplo tendremos los hechos instancia(piolin,canario). instancia(pedro,halcon). subclase(Clase1,Clase2) para indicar que la clase Clase1 est a contenida en, o forma parte de la clase Clase2. En nuestro ejemplo tendremos: subclase(canario,ave). subclase(halcon,ave). tiene p(Clase1,Propiedad,Clase2) que representa una relaci on entre dos clases, indica que la clase Clase1 est a relacionada con la clase Clase2 mediante la propiedad Propiedad. En nuestro ejemplo: tiene_p(canario,come,semillas). tiene_p(ave,tiene,alas). tiene_p(ave,tiene,plumas). tiene_p(halcon,tiene,deseos).
Como se ve en este ejemplo, un grafo cualquiera puede ser codicado con un peque no programa en PROLOG en el que los nodos, y los arcos (junto con sus etiquetas) son modelados como conjuntos de hechos. Los ejemplos de arboles geneal ogicos que hemos visto son una clase particular de red sem antica en donde la mayor a de los nodos son instancias que est an relacionadas por propiedades como ser hijo de.
Respondiendo Consultas
La siguiente regla nos permite consultar por las clases a las que pertenece un objeto: es(Clase,Obj):- instancia(Obj,Clase). es(Clase,Obj):- instancia(Obj,Clasep), subc(Clasep,Clase). subc(C1,C2):- subclase(C1,C2). subc(C1,C2):- subclase(C1,C3), subc(C3,C2). El predicado es(Clase,X) se satisface cuando X pertenece a la clase Clase. Para responder esta pregunta estamos suponiendo que un objeto es una instancia de una clase C si es una instancia de C o de cualquier subclase de C . La relaci on subc nos entrega todos los pares de subclases generadas por transitividad (si C1 es subclase de C2 y C2 es subclase de C3, entonces C1 es subclase de C3 ). Con las reglas anteriores y la red del ejemplo, obtenemos: ?- es(reptil, juancho). Yes ?- es(X,juan). X = halcon ; X = ave ; X = oviparo ; X = animal ; No ?- es(canario, marcela). No ?- es(animal,X). X = piolin ; X = pedro ; X = juan ; X = juancho ; X = marcela; No
Informaci on Incompatible
Para agregar informaci on de incompatibilidad, podemos inventar un nuevo predicado incompatible(Prop1,Prop2) para representar que un objeto nunca tiene simult aneamente las porpiedades Prop1 y Prop2. En el ejemplo podemos escribir: incompatible(puede(X),no_puede(X)). De modo que ahora puede volar y no puede volar son propiedades incompatibles. De manera m as general podr amos incluir incompatibilidad de propiedades si una es igual a la otra pero comienza con no incompatible(X,Y) :X =.. [Pred,Arg], Y =.. [No_Pred,Arg], name(No_Pred,[110,111,95|L]), name(Pred,L). Ahora debemos manejar esta informaci on de incompatibilidad al responder consultas, para esto redeniremos la consulta propiedad y los dem as predicados incorporando un concepto de distancia en la herencia. Por ejemplo si un objeto O pertenece a una clase C1 que es subclase de C2 y hereda propiedades incompatibles desde ellas, la propiedad que permaencer a en O ser a la heredada desde C1 (la m as cercana). Resumiendo, si un objeto hereda dos propiedades incompatibles, entonces se acepta como cierta aquella que es m as espec ca, o sea, heredada desde la clase m as cercana.