miércoles, 29 de agosto de 2012

3.- Esquemas de Marcos


Informalmente, un marco es una estructura de datos compleja que representa una situación estereotipada, por ejemplo hacer una visita a un enfermo o acudir a una fiesta de cumpleaños. Cada marco posee un número de casillas (slots) donde se almacena la información respecto a su uso y a lo que se espera que ocurra a continuación. Al igual que las redes semánticas, podemos concebir un marco como una red de nodos y relaciones entre nodos (arcos). Una base de conocimiento basada en marcos es una colección de marcos organizados jerárquicamente, según un número de criterios estrictos y otros principios más o menos imprecisos tales como el de similitud entre marcos. A nivel práctico, podemos considerar los marcos como una red semántica con un número de posibilidades mucho mayor, entre las que destacan especialmente, la capacidad de activación de procesos (triggering) y de herencia no-monotónica mediante sobrecontrol (overriding).

Formalmente, un marco M es una lista de atributos (slots) y valores (S, V). El valor V de un slot S puede ser:
  • un valor simple, cuyo tipo se halla determinado por el slot mismo, por una función que devuelve un valor de ese tipo, o por un puntero al valor de otro slot de la jerarquía
  • una lista de atributos:valores, donde los atributos son funciones booleanas y los valores pueden ser funciones que devuelven valores del tipo del valor del slot, o constantes del tipo del valor del slot.
Como es evidente, la representación de conocimiento basada en marcos debe mucho a las redes semánticas. Sin embargo, los esquemas de representación basados en marcos insisten en una organización jerárquica de éstos, mientras que las redes semánticas no requieren tal organización. La estructura de nodos de los marcos es también mucho más rica que la de las redes semánticas, conteniendo sistemas de triggering de procedimientos. Esto ocurre cuando en lugar de llenar un slot con un valor determinado, se indica un procedimiento que será el encargado de devolver un determinado valor. En el entorno de los marcos, a este tipo de procedimientos se les denomina attached procedures, servants, demons o methods, utilizándose a veces el término disparador en el discurso en lengua española. Estos procedimientos son especialmente útiles cuando el cálculo de un valor determinado requiere un tiempo alto de computación, cuando el valor es susceptible de cambiar con el tiempo o cuando el valor tiene un bajo nivel de acceso: en lugar de computar el valor siempre que el sistema esté en funcionamiento, se computa sólo cuando es requerido. El término método, se ha tomado del entorno de los marcos para usarlo en el modelo orientado al objeto para designar las funciones componentes de una clase, aunque en algunos de los lenguajes de programación orientados al objeto más importantes, como C++, los métodos son llamados funciones miembro.



La organización jerárquica de los marcos es una de sus características más destacables. Los marcos se organizan en jerarquías que presentan los mismos sistemas de herencia que encontrábamos en las redes IS-A. De hecho, una estructura de marcos no es más que una ampliación de una estructura de redes IS-A básica (de redes semánticas tradicionales), donde los nodos han sido reemplazados por grupos estructurados de información (los marcos).

Una jerarquía de marcos es un árbol en el que cada uno de los nodos es un marco. Para cada nodo hijo, el enlace con el nodo padre es un enlace de herencia. El nodo hijo hereda todos los slots de su padre a menos que se especifique lo contrario (sobrecontrol). Esta es una gran diferencia con las redes IS-A, donde la herencia es siempre monotónica, es decir no hay posibilidad de negar la herencia de propiedades en un contexto o situación determinada (que puede ser especificada por el resultado de una operación de triggering). Los nodos pueden ser de dos tipos: nodos de clase y nodos de instancia. Todos los nodos internos (no terminales) han de ser nodos de clase. 


Podemos resumir las principales características de los marcos en las siguientes (Minsky 1975; Winograd 1975):
  • Precisión (Explicitness): se precisan los objetos, las relaciones entre objetos y sus propiedades; en ausencia de evidencia contraria se usan valores por omisión
  • Activación dinámica de procesos (Triggering): se pueden adjuntar procedimientos a un marco o alguno de sus componentes y ser llamados y ejecutados automáticamente tras la comprobación de cambio de alguna propiedad o valor (p. ej. if-needed, if-added)
  • Herencia por defecto no-monotónica: los marcos están conceptualmente relacionados, permitiendo que atributos de objetos sean heredados de otros objetos predecesores en la jerarquía
  • Modularidad: la base de conocimiento está organizada en componentes claramente diferenciados

El razonamiento en un esquema basado en marcos se lleva a cabo mediante dos mecanismos básicos: el reconocimiento (recognition o pattern-matching) y la herencia. En el entorno de los marcos el proceso de reconocimiento de patrones se centra en encontrar el lugar más apropiado para un nuevo marco dentro de la jerarquía de marcos. Esto requiere que el mecanismo de reconocimiento sea capaz de recibir información sobre la situación existente (en forma de marco) y lleve a cabo una búsqueda del marco más adecuado de entre todos los contenidos en la base de conocimiento. Shastri (1988:16) define este concepto así: "Given a description consisting of a set of properties, find a concept that best matches this description." 

Teniendo en cuenta las características de herencia anteriormente descritas, el conjunto de propiedades no tiene por qué encontrarse a nivel local, sino que pueden estar atribuidas a conceptos (marcos) en posiciones superiores en la jerarquía. Podemos decir que estos dos mecanismos complementarios de razonamiento conforman el núcleo de lo que entendemos por comportamiento inteligente, y actúan como precursores de procesos de razonamiento más especializados.

El modo en que estos dos mecanismos básicos de razonamiento interactúan se muestra en la Figura 4.20 (Shastri 1988:16). En la memoria semántica del agente se encuentran un número de conceptos (Cn) que poseen un número de propiedades (pn). El punto de entrada ß corresponde a consultas de reconocimiento, que se inicia cuando un determinado proceso posee una descripción parcial sobre una entidad X y desea corroborar su identidad o la clase a la que pertenece. El punto de entrada corresponde a consultas sobre herencia. En este caso el agente conoce la identidad de X, pero quiere conocer el valor de una o varias de sus propiedades. Los dos mecanismos interactúan cuando se trata de llevar a cabo procesos cognitivos más complejos, que implican un número de consultas sucesivas de uno y otro tipo para llegar a una determinada conclusión.
 




 



 

No hay comentarios:

Publicar un comentario