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