FRAMES
Competencias (RECORDAR competencias a evaluar en
este capítulo):
• Capacidad de:
• Sacar las Ventajas y desventajas del uso de las distintas
formas de representar el conocimiento.
• Representar el conocimiento de diversos dominios CON:
Lógica, las reglas de producción, las redes semánticas o
los “frames”.
• Seleccionar la forma de Representación del
Conocimiento adecuada para describir el conocimiento
de un dominio.
FRAMES (Nilsson le da una traducción de
unidades de información')
1. DEFINICIÓN: Los "frames" o MARCOS fueron propuestos por Minsky
en 1975 como una forma de representación del conocimiento, se
pueden definir como estructuras organizadas de información que
describen características y relaciones entre objetos de un dominio. Se
utilizan para organizar el conocimiento que es común a elementos de
una clase, es decir, aquellas características que comúnmente son
ciertas para algunas clases y subclases de elementos.
✔ Puede decirse que los "frames" son un tipo de plantilla que
encuadra un conjunto de conocimientos relacionados y
relativos a un tema muy concreto que a menudo le da el
nombre.
2. COMPONENTES: Un “Frame" consta de:
• Nombre: deber ser único para diferenciarlo de los demás.
• Padre o naturaleza: Equivale a la clase superior a la cual pertenece y
es la que le permite el mecanismo de herencia. El “frame" raíz no
tiene padre y normalmente se identifica su tipo con algún atributo, en
nuestro caso se identificará con superior.
• "Slots" o atributos: Constituye el cuerpo y cada uno representa una
propiedad estándar o atributo de la clase o elemento representado.
Los atributos de una clase pueden ser heredados por los elementos o
subclases de ésta.
1927- 2016
FRAMES (Nilsson le da una traducción de unidades de información) '
A su vez cada "slot" tiene los siguientes componentes:
• Nombre: Cada "slot" debe tener un nombre único dentro del "frame", pero son locales a éste
y por tanto dos "frames" diferentes pueden coincidir en nombres de "slots".
• Valor del slot: Puede ser asignado inicialmente o puede añadirse como resultado de procesos
de búsqueda y razonamiento. Los valores de los slots pueden ser numéricos, símbolos,
funciones para evaluar o llamadas a programas que se ejecutan en el procesamiento.
• Procedimientos anexos: los cuales son opcionales y pueden ser:
– (a) if-needed <procedimiento1> :significa que en un proceso de razonamiento de búsqueda, antes de
obtener el valor del slot respectivo en una consulta, se ejecuta el procedimiento1 adjunto y solo si
tiene éxito se podrá obtener el valor.
– (b) if-added <procedimient02>: Significa que en un proceso de razonamiento y búsqueda, antes de
asignarle un valor a un "slot", debe ejecutarse con éxito el procedimient02; de otra manera no se
realizará acción alguna.
– c) if-deleted <procedimient03>: Significa que en un proceso de razonamiento y búsqueda, antes de
borrar el valor del "slot", debe ejecutarse con éxito el procedimient03; de otra manera no se podrá
borrar el valor del slot.
FRAMES (Nilsson le da una traducción de unidades de información)
'
El esquema del "frame" sería:
Nombre-frame
Padre: Nombre del "frame" padre o clase a la que pertenece
Nombre.slot1: valor 1
if-needed < procedimiento 01 > y/o
if-added <procedimient02> y/o
if-deleted <procedimient03> y/o
.
.
.
.
[Link]: valor n
.
.
.
FRAMES (Nilsson le da una traducción de unidades de información) '
3. SAQUE UN LISTADO de INFORMACIÓN COMO EL SIGUIENTE, Y Organice
utilizando los "frames” :
• Los animales son seres irracionales y se clasifican en vertebrados e
invertebrados.
• Los vertebrados poseen componente óseo y los invertebrados no.
• Los animales tienen movimiento propio y tienen un nivel de inteligencia
inferior al de los humanos.
• Los mamíferos son vertebrados con reproducción vivípara, sobreviven en
tierra y tienen la piel cubierta de pelo.
• Los reptiles son vertebrados de vida terrestre y cuerpo con escamas.
• Las aves son vertebrados, vuelan y tienen sus cuerpos cubiertos de plumas.
• Los peces son vertebrados con respiración bronquial, cuerpo con escamas y
medio de vida el agua.
• Los insectos son invertebrados y su medio es aéreo y terrestre.
• La ballena es mamífero, con piel lisa y su medio de vida es el agua.
FRAMES
animal ave
tipo: superior tipo: vertebrado
razonamiento: no locomoción: vuelo
inteligencia: inferior piel: con_plumas
vertebrado pez
tipo: animal tipo: vertebrado
esqueleto: si respiración: branquial
invertebrado piel: con_escamas medio_vida: agua
tipo: animal insecto
esqueleto: no tipo: invertebrados
mamífero medio_vida: [tierra, aire]
tipo: vertebrado ballena
reproducción: vivípara tipo: mamífero
medio: tierra piel: lisa
piel: pelos medio_vida: agua
reptil
tipo: vertebrado
Medio_vida: tierra
piel: con_escamas
Ejemplo
Ejemplo
FRAMES (Nilsson le da una traducción de unidades de información) '
Comentarios:
(1) Cada "frame" es hijo de aquel que se referencia como su tipo. Por
esta razón y dado que la herencia es una operación fundamental, todo
"frame" debe tener el "slot" tipo.
(2) El "frame" animal corresponde a la raíz y por tanto su "slot" tipo
tienen el valor de superior.
(3) Cada uno de los "frame" tiene como atributo sus "slots" y los
definidos para sus clases superiores a las que está ligado a través del
"slot" tipo. Por ejemplo, el "frame" ballena tiene sus atributos de piel
lisa y medio de vida agua, mas los heredados de sus clases superiores
mamíferos, vertebrado y animal, por tanto también puede decirse que
su reproducción es vivípara, posee esqueleto, no razona, no tiene
movimiento y su inteligencia es inferior.
(4) Los atributos y/o valores de cada "frame" padre los heredarán sus
"frames" hijos, si y solo si, en estos últimos no aparece el "slot" que
aparece en su padre. En otras palabras los atributos y/o valores de la
clase, son valores por omisión que asumen los elementos de la clase.
FRAMES (Nilsson le da una traducción de unidades de información) '
[Link]
Como se vio en el ejemplo anterior, cada "frame" padre, excepto el de tipo superior, permite el
manejo del mecanismo de herencia entre "frames". Un "frame" específico hereda las propiedades
("slots ") y/o valores de éstas, de su padre o antepasados. Decimos que un "frame1" es antepasado
de un "frame2", si es su padre o un antepasado de su padre y en cada sentido cada objeto "frame"
hereda los "slots" de todos sus antepasados.
5.Búsqueda en frames
Obtención de valores de los "slots"
El proceso para recuperar valores de los slots es el siguiente:
(1) Encontrar el "frame" referenciado y dentro de él, el slot específico. Si no se encuentra el "frame"
no habrá proceso de búsqueda. Si encuentra el "frame" con el "slot" referenciado sigue al paso 3 y si
no tienen el slot va al paso 2.
(2) Chequear si el padre del "frame" referenciado en la consulta o un antepasado suyo posee el
respectivo slot. Si se encuentra, por herencia se le añade el "slot" y/o valor, al "frame" de la
consulta. Si no hay éxito, se informa la imposibilidad de obtener un valor y si lo hay se sigue con el
paso (3).
(3) Si el "slot" del frame referenciado o tiene anexo como propio o heredado el procedimiento if-
needed, se ejecuta su procedimiento asociado y si tiene éxito, se recupera el valor del "slot" para el
usuario, de otra manera no se obtendrá el valor. Si el slot no tiene o no hereda el procedimiento if-
needed sencillamente se recupera su valor para quien hace la consulta.
FRAMES (Nilsson le da una traducción de unidades de información) '
Añadir valores a los slots
En este caso se procede así:
(1) Encontrar el "frame" referenciado y el "slot" respectivo. Si no encuentra el "frame",
no habrá respuesta y si lo encuentra con el "slot" sigue a (3), si no a (2).
(2) Chequear si el "frame" padre o antepasado posee el "slot" respectivo. Si se
encuentra, el frame referenciado hereda el "slot" solamente y va a (3). Si no se
encuentra, el "frame" no hereda el slot y se termina el proceso.
(3) Verificar si el "slot" referenciado o el del padre, tiene adjunto el procedimiento if-
added, si lo tiene se ejecuta su procedimiento adjunto y si tiene éxito se le asigna al
"slot" el valor proporcionado por el usuario, de otra manera no se modifica el valor. Si
el "slot" no tiene o no hereda este procedimiento, sencillamente se asigna el valor
respectivo al "slot".
FRAMES (Nilsson le da una traducción de unidades de información)
'
Borrar valores a los slots
Es semejante al proceso de obtención de valores de "slots",
salvo que la operación que se hace es borrar el valor del "slot" y
el paso 3 quedaría:
✔ Verifique si el "slot" del "frame" referenciado o del padre,
tiene adjunto el procedimiento if-deleted, se ejecuta su
procedimiento adjunto y si tiene éxito se borra el valor del
"slot", de otra manera no se hará. Si el "slot" no tiene o no
hereda este procedimiento, sencillamente se borra el valor.
FRAMES (Nilsson le da una traducción de unidades de información) '
[Link] de repaso:
a)Analice y argumente las siguientes cuestiones, teniendo en cuenta el problema elegido:
(1) Ventajas y/o desventajas del uso de "frames" como forma de representación del conocimiento en programas inteligentes.
(2) Si usted fuera productor de herramientas para desarrollos en IA, cuál (es) forma(s) de representación del conocimiento ofrecería en sus
herramientas, de manera que se facilitara el desarrollo de agentes inteligentes.
b) Represente utilizando frames el conocimiento del tema elegido, debe dar mínimo 10 afirmaciones,
como ejemplo lea el siguiente conocimiento:
• Los vegetales son seres vivos que carecen de movimiento y tiene ciclo de vida completo (nacen, crecen, reproducen,
mueren).
• El grupo de las fanerógamas son vegetales con órganos reproductores visibles.
• El grupo de las criptógamas son vegetales con órganos reproductores ocultos.
• La división de las gimnospermas son fanerógamas con semilla sin envoltura.
• La clase de las coníferas agrupa a las que producen conos y están dentro de las gimnospermas.
• La familia de las taxáceas reúne a aquellos vegetales en los cuales el tronco no produce resina y el fruto es carnoso. Son de
clase de las coníferas.
• La familia de las pináceas reúne a aquellas en las cuales el tronco no produce resina y el fruto es un cono. Es de la clase de
las coníferas.
• La división de las angiospermas reúne a las plantas que poseen semilla con envoltura.
• La clase de las monocotiledóneas se caracterizan porque su semilla tiene un cotiledón y la clase de las dicotiledóneas
aquellas con dos cotiledones. Pertenecen a las angiospermas.
• La familia de las amarilidáceas reúnen a las de hojas carnosas, las liláceas a las de hojas planas y las gramíneas a las de
hojas alargadas. Todas son monocotiledóneas.
c) Lea atentamente las diapositivas de nuevo, y explique 4 y 5 con el tema elegido
(diapositivas 11-12-13).