FRAMES FERNANDO PEREZ TORRES ELKIN YAMIT BARRERA JULIÁN RICARDO CÁRDENAS PALACIOS INGENIERO LEONARDO BERNAL ZAMORA UNIVERSIDAD DE BOYACÁ FACULTAD DE CIENCIAS E INGENIERÍA INGENIERÍA DE SISTEMAS TUNJA 2010 TABLA DE CONTENIDO Introducción 1. Objetivos 1.1 Objetivo General 1.2 Objetivos Específicos 2. Definición FRAMES 2.1 POR QUE USAR FRAME? 2.2 Componentes de FRAMES 2.3 Componentes de un Slot 2.4 Ejemplo de FRAME 3. Relaciones 4. Métodos 5. Herencia 5.1 Herencia múltiple 6. Búsquedas 7. Ejercicios Conclusiones Bibliografía INTRODUCCIÓN Una representación es algo que significa o quiere decir algo. Es un modelo de lo que se desea representar. Existen dos espacios el representativo y el representado; el representativo debe de algún modo, reflejar algunos aspectos del espacio representado. Las mismas características en el espacio representado pueden ser representadas de forma desigual en espacios representativos diferentes. El problema de la representación es aquel que consiste en determinar un mapeo entre los conceptos y relaciones del espacio representado y de los conceptos y relaciones del espacio representativo. Una representación nos permite llegar a conclusiones sobre lo que es representado mirando el espacio representativo. Para representar el conocimiento se emplean distintos métodos o estructuras, dentro de ellos se encuentra “Frames”; esta estructura de RC fue introducida por Minsky en 1975 como una forma de representación del conocimiento Los Frames Son una estructura del conocimiento que describe un objeto especifico y contiene múltiples ranuras (slots) las cuales contienen hechos, características o especificaciones acerca del objeto. 1. OBJETIVOS 1.1 GENERAL Realizar un estudio sobre Frames 1.2 ESPECÍFICOS Definición de Frames Características y usos 2. Definición FRAMES Marcos (Frames) Fueron propuestos por Minski para superar las dificultades que tanto la Inteligencia Artificial como en Psicología a la hora de simular el sentido común en la medida que los conceptos que usan son demasiado pequeños, locales y carentes de estructura. Por ello introduce la idea de marco en el que los conceptos y procedimientos son más grandes y estructurados "Un marco es una especie de esqueleto, algo así como un formulario con muchos espacios en blanco para llenar. A estos espacios en blanco los llamaremos terminales: los usamos como puntos de conexión a los que podemos ligar otras clases de información. El esqueleto es un conjunto de datos que representa una unidad concreta. Los espacios en blanco son denominadas ranuras y pueden rellanarse mediante valores o direcciones a otros marcos. Las ranuras suelen designarse por una faceta con el nombre de la ranuras. De una manera más rigurosa lo define como una estructura de datos que sirve para representar una situación estereotipada, como estar en algún tipo especial de salón o ir a la fiesta de cumpleaños de un niño. Añadido a cada marco hay varios tipos de información. Parte de esta información se refiere a la forma de utilizar el marco; otra a lo que uno puede esperar que suceda en segundo lugar. Y otra a su vez indica que hacer si tales esperanzas no son confirmadas. Los marcos de referencia ("frames") permiten representar un tipo de conocimiento habitualmente utilizado por los seres humanos pero que es difícil de expresar en forma de reglas. Un marco es una estructura o grupo de atributos que describen un determinado objeto. Cada uno de los atributos se denomina "slot' y puede contener valores iniciales o reglas y procedimientos para cambiar los valores de esos atributos. Los "slots" pueden contener también relaciones que los ligan con otros marcos y permiten "heredar" atributos en el sentido expuesto para las redes semánticas. Por ejemplo, en el marco mostrado en la figura 1.2., el ''slot" 'dirección del propietario' tiene un procedimiento asociado para obtenerla, que corresponde a una consulta a una base de datos SILLA SLOT Valores PROPIETARIO PARTES NUMERO DE PATAS Luisa López Asiento, respaldo, brazos, patas 4 NUMERO DE BRAZOS 2 COLOR Marrón ESTILO Luis XV DIRECCIÓN PROLPIETARIO DEL Si se necesita, obtener la dirección de la base de datos "direcciones" FUENTE: "Introducción a la Inteligencia Artificial" FIGURA 1.2. Ejemplo de Marco de Referencia. Estos tipos de representaciones del conocimiento permiten efectuar distintas clases de razonamiento para resolver el problema que se haya planteado, lo cual constituye un bloque importante de trabajos de la IA. • Los marcos incorporan la representación de entidades complejas cuyas propiedades se incluyen en ranuras como en las redes semánticas pero también incorporan punteros a otros marcos y procedimientos por defecto para obtener conceptos cuando se especifican. • En los marcos los elementos se presentan convencionalmente en la descripción de un objeto o de un suceso. Se agrupan de modo que se puedan procesar o accederse a ellos como una unidad. • Las relaciones serán las que conecten los FRAMES entre si. • Un conjunto de FRAMES que representa el conocimiento de un dominio de interés es organizada jerárquicamente en lo que es llamado una taxonomía (asociada a un método de razonamiento automático llamado herencia). 2.1 Por que usar frame? • Los atributos pueden ser acensados de manera rápida y sin necesidad de ser computados constantemente. • Las propiedades de las relaciones son fáciles de describir. • Abrazan aspectos de la programación orientada a objetos. 2.2 Características FRAME Precisión (Explicitness): los objetos, las relaciones entre objetos y sus propiedades se describen de forma precisa; en ausencia de evidencia contraria se usan valores por omisión. Activación dinámica de procesos (Triggering): es posible adjuntar procedimientos a un frame o alguno de sus componentes de forma que se llamen y ejecuten 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 los atributos de los objetos sean heredados de otros objetos predecesores en la jerarquía. Modularidad: la base de conocimiento está organizada en componentes claramente diferenciados. 2.3 Componentes de FRAMES Un Frames consta de: • Nombre: debe 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 con superior. • Slots o Atributos: Constituye el cuerpo y cada uno representa una propiedad estándar o atributo del elemento representado. 2.3.1 Componentes de un Slot • Nombre: cada “slot” debe tener un nombre único dentro del “frame”, pero son locales a este y por tanto dos frames diferentes pueden coincidir en nombres de slots. • Valor del slot: puede ser asignado inicialmente o estar vacio para añadirle el valor en procesos de búsqueda y razonamiento. • Información procedimental (DEMONS) a. Se activan cuando se accede al slot b. Permiten: uniones procedimentales entre frames, interacción mundo exterior c. • Aportan carácter dinámico Los demons pueden ser: a. If-needed (al consultar el slot) b. if-added (al asignar valor al slot), c. if-removed (al borrar el valor) d. if-modified (al modificar el valor) • Los demons no poseen parámetros • Podemos declarar como les afecta el mecanismo de herencia. 2.4 Ejemplo de FRAME 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 tiene nivel de inteligencia inferior 3. Relaciones Relaciones: permiten conectar los frames entre sí para expresar su relación. Una relación poseerá una descripción que establecerá su semántica y su funcionamiento. Las relaciones serán la base del mecanismo de inferencia: la herencia de propiedades Dividiremos las relaciones en dos clases: Taxonómicas: es-un (clase/subclase), instancia-de (instancia/clase) De usuario: El resto de relaciones 4. Métodos Métodos: son acciones o funciones que permiten obtener información sobre el FRAME .Estos métodos pueden invocarse desde frames abstractos (clases) o frames concretos (instancias) Pueden ser: Heredables (permitimos invocarlos en los descendientes) No heredables (exclusivos del frame) Pueden ser invocados con parámetros 5. Herencia La herencia es el mecanismo básico de deducción en los frames. Permite obtener en un frame el valor o valores de un atributo o su definición a través de otro frame con el que está relacionado. En el caso de las relaciones taxonómicas la herencia se da por omisión (se hereda la definición de los slots). En el resto de las relaciones se ha de establecer de manera explícita(se hereda el valor de los slots). Dado un frame es posible que la representación permita heredar un valor o definición a través de múltiples relaciones o frames (Herencia múltiple) 5.1 Herencia múltiple La herencia múltiple tiene sentido dependiendo de la semántica del slot heredado. 6. Búsquedas • Obtención de valores de los Slots 1. Encontrar el frame referenciado y dentro de el, el slot especifico. Si no se encuentra el frame no habrá proceso. Si lo encuentra con el slot sigue al paso 3 y no al paso 2. 2. Chequear si el frame padre o un antepasado posee el respectivo slot. Si lo 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. 1. Si el slot del frame referenciado o el del padre, tiene adjunto el procedimiento If-needed, se ejecuta su procedimiento asociado y si tiene éxito, se recupera el valor del slot, de otra manera no se obtendrá valor. Si el slot no tiene o no hereda el procedimiento Ifneeded sencillamente se recupera su valor. 4. Añadir valores a los slot: 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 al paso (3), si no continua al paso (2). 2. Chequear si el frame padre o un antepasado posee el respectivo slot. Si lo encuentra, por herencia se le añade el slot solamente y va al paso (3) sino el frame no hereda el slot y termina el proceso. 3. Verificar si el slot del frame referenciado o el del padre, tiene adjunto el procedimiento if-added, si lo tiene se ejecuta el procedimiento adjunto y si tiene éxito se le asigna el valor al slot, de otra manera no se modifica el valor. Si el slot no tiene o no hereda el procedimiento sencillamente se asigna el valor respectivo al slot. 5. Borrar valores a los slots: es semejante al procedimiento añadir valores a los slots, salvo el paso 3. Verificar si el slot del frame referenciado o el 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 tiene o hereda este procedimiento, sencillamente se borra el valor 7. Ejercicios Organicemos utilizando los frames, la siguiente información Los animales son irracionales y se clasifican en vertebrados e invertebrados. Los vertebrados poseen componente óseo y los invertebrados no. Los animales tienen movimiento propio y tienen nivel de inteligencia inferior. Los mamíferos son vertebrados con reproducción vivípara, sobreviven en tierra y tiene la piel cubierta de pelo. Los reptiles son vertebrados de vida terrestre, cuerpo con escamas y se arrastran. Las aves son vertebrados, vuelan y son cuerpos cubiertos de plumas. Los peces son vertebrados con respiración branquial, cuerpo con escamas y medio de vida el agua. Los insectos son invertebrados, vuelan y su medio es terrestre. La ballena es un mamífero, con piel lisa y vive en el agua. CONCLUSIONES Los marcos de referencia ("frames") permiten representar un tipo de conocimiento habitualmente utilizado por los seres humanos pero que es difícil de expresar en forma de reglas Estos tipos de representaciones del conocimiento permiten efectuar distintas clases de razonamiento para resolver el problema que se haya planteado, lo cual constituye un bloque importante de trabajos de la IA. BIBLIOGRAFÍA Pino, Raúl. Gómez, Alberto. Martínez, Nicolás. Introducción a la Inteligencia Artificial. Universidad de Oviedo. Pág. 7. ISBN 84-8317-249-6 Álvarez Munárriz, Luis. Fundamentos de inteligencia artificial. Universidad de Murcia.1994 Pág. 155 ISBN 84-7684-563-4 CURSO DE INTELIGENCIA ARTIFICIAL alejandro313.googlepages.com/cursoia33.pdf www.lsi.upc.es/~bejar/ia/.../3-RC2-Representacion_Frames.pdf ccia.ei.uvigo.es/docencia/IA/0910/transparencias/Tema3-3.pdf personales.upv.es/ccarrasc/extdoc/tema_redes_frames.pdf Y ROBOTICA: