Beruflich Dokumente
Kultur Dokumente
“Juan decidió visitar a Guillermo. Condujo hasta su casa, pero vio que todas las luces
estaban apagadas, por lo que, en vez de ello, fue al cine.”
Y contestar preguntas como las siguientes: ¿Vio Juan a Guillermo?, ¿Qué casa estaba
oscura?, ¿Quién fue al cine?. El problema de la comprensión de un texto en lenguaje
natural es difícil por la gran cantidad de conocimiento que debe representarse y
manipularse. Por un lado está el conocimiento perteneciente a la interfaz del programa y
por otro el conocimiento sobre la sintaxis y vocabulario del lenguaje mismo. Es útil
separar estos dos aspectos tanto como sea posible, pues ambos son muy difíciles. Las
representaciones que estudiaremos pueden usarse tanto en sistemas que tratan con
entradas en lenguaje natural como en aquellos que no lo hacen.
No existe actualmente una F.R.C. general, capaz de ser usada con éxito en todo tipo de
aplicación. Ante un problema de un dominio específico es necesario realizar la selección
de la F.R.C. más adecuada a dicho problema. Para realizar esta selección debemos tener
en cuenta los siguientes criterios:
- Debe describir los hechos importantes acerca del dominio del problema y exponer las
restricciones de manera natural, reflejando la estructura de los objetos, los hechos y
las relaciones entre ellos.
- El conocimiento almacenado debe ser completo (expresar todo lo necesario) y
conciso (expresar los hechos de forma eficiente).
- Debe suprimir detalles, manteniendo sólo los hechos necesarios.
21
Inteligencia Artificial.
-Formas de representación del conocimiento.
Declarativas: Donde la mayor parte del conocimiento se representa como una colección
estática de hechos junto con un pequeño conjunto de procedimientos generales para
manipularlos. Ejemplos de ellas son:
- Lógica (Proposicional, Cálculo de predicados, No Monotónica, etc.).
- Redes semánticas (Semantic Networks).
- Marcos o armazones (Frames).
- Guiones (Scripts).
La F.R.C. más antigua es, precisamente, la lógica. El formalismo lógico es muy atractivo,
pues ofrece un mecanismo potente para derivar nuevos conocimientos a partir de
hechos conocidos: la deducción matemática.
22
Inteligencia Artificial.
-Formas de representación del conocimiento.
A las proposiciones se le asocian los valores veritativos 1, para verdadero y 0, para falso.
Las operaciones proposicionales principales, presentes en nuestro pensamiento, son la
negación, la conjunción, la disyunción, la condicional y la bicondicional. Estas
determinan el valor veritativo de una proposición en términos de los valores veritativos
de sus proposiciones componentes.
Los hechos del mundo real pueden representarse fácilmente mediante el uso de
proposiciones, como se muestra en la figura 2.1.
Es de noche.
esnoche
Está haciendo sol.
haciendosol
Si es de noche, entonces no está haciendo sol.
esnoche ⇒ ¬ haciendosol
Como hemos visto, la lógica proposicional está dotada de una determinada capacidad
expresiva (fbf) e inferencial (deducción), resultando muy atractiva por lo sencillo de su
manipulación.
23
Inteligencia Artificial.
-Formas de representación del conocimiento.
En la lógica de predicados podemos representar los hechos del mundo real como
declaraciones escritas como fbf. Un ejemplo de esto se muestra en la figura 2.2.
Sultán es un perro.
perro(Sultán)
Los humanos son hombres o mujeres.
∀(x) [humano(x) ⇒ (hombre(x) ∨ mujer(x))]
Todos los hombres tienen una madre.
∀(x) ∃(y) madre(y,x)
La principal motivación para elegir una lógica como F.R.C. es que se dispone de una
forma sencilla, y buena, de razonar sobre ese conocimiento. La determinación de la
validez de una fórmula en el cálculo proposicional es directa, aunque puede ser
intratable computacionalmente. Sin embargo, en el cálculo de predicados no existe un
algoritmo para determinar la validez de una fórmula, por lo que el cálculo de predicados
es indecidible. No obstante, existe un pseudoalgoritmo compuesto por dos
procedimientos: unificación y resolución, que permiten determinar si una fórmula es un
teorema de la teoría, si realmente lo es. Pero no existe ninguna garantía de que el
proceso se detenga si no es un teorema.
Este resultado negativo tiene poco efecto directo en una ciencia como la I.A. que busca
métodos positivos para realizar sus propósitos. A pesar de la indecibilidad del cálculo de
predicados, éste puede servir aún como forma útil de representar y manipular algunas
clases de conocimiento que podrían necesitar los sistemas de I.A.
Para un estudio más detallado del cálculo de predicados puede consultar [Gar90].
- “Hoy hace mucho calor”. ¿Cómo pueden representarse los grados relativos de calor?
24
Inteligencia Artificial.
-Formas de representación del conocimiento.
- “La gente de cabello rubio suele tener los ojos azules”. ¿Cómo puede representarse
la cantidad de certeza?
- “Si no hay evidencia de lo contrario, suponga que todos los adultos que encuentra
saben leer”. ¿Cómo podemos representar que un hecho debería inferirse de la
ausencia de otro?
- “Es mejor tener más piezas en el tablero de las que tiene el oponente”. ¿Cómo
podemos representar esta clase de información heurística?
Tales críticas se deben, en gran parte, a una concepción errónea de que la lógica abarca
solamente la lógica clásica (proposicional y de predicados). Este no es el caso. Hay
muchas otras lógicas, la mayoría de las cuales fueron diseñadas específicamente para
superar ciertas deficiencias de la lógica clásica. Entre ellas están:
Un análisis sobre de cada una de estas lógicas puede verse en [BDSE]. Analicemos sólo
una de ellas.
25
Inteligencia Artificial.
-Formas de representación del conocimiento.
Como hemos visto en esta sección, los métodos para representar el conocimiento usando
los formalismos lógicos son muy útiles para representar hechos simples. Su principal
ventaja es que pueden combinarse con mecanismos de inferencia potentes y sencillos,
tales como la deducción y resolución, que facilitan el razonamiento con los hechos. Pero
los objetos de esas representaciones son tan simples que no pueden describir con
facilidad la mayor parte de la compleja estructura del mundo. En la resolución de
problemas cuya naturaleza es deductiva es aconsejable usar la lógica simbólica. Sin
embargo, la mayoría de los problemas reales son de naturaleza inductiva. Es necesario
entonces, estudiar otras F.R.C más complejas.
Las redes semánticas fueron introducidas por Ross Quillian (1968) en su tesis de Ph.D.
Se diseñaron originalmente como una forma de representar los significados de las
palabras en idioma inglés.
26
Inteligencia Artificial.
-Formas de representación del conocimiento.
propietario, color, está cubierta de un determinado material y posee, además, los rasgos
del concepto de silla. Esta relación entre conceptos puede complicarse tanto como se
desee ampliar el dominio de conocimiento y no constituye una organización jerárquica.
El problema radica entonces, en definir una F.R.C. adecuada para este tipo de
conocimiento.
2.4.2. Definición.
Una red semántica consiste de puntos llamados nodos, conectados por enlaces llamados
arcos que describen las relaciones entre los nodos. Los nodos representan objetos,
conceptos, eventos, acciones o atributos. Los arcos pueden definirse de varias formas,
dependiendo de la clase de conocimiento representado, por ejemplo, arcos comunes
usados para representar jerarquías son esun y partede. La forma de representar una red
semántica es un grafo orientado cuyos arcos son etiqueteados con los nombres de las
relaciones.
Mueble
es_un
Persona Silla es_parte_de
Asiento
es_un instancia
color
Marrón
1) Víctor es un pingüino.
2) Todos los pingüinos son pájaros.
3) Todos los pájaros son animales.
4) Todos los mamíferos son animales.
5) Todos los perros son mamíferos.
6) Sultán es un sato.
7) Todos los satos son perros.
8) Una raza de perro es el pastor.
9) A Víctor le agrada Sultán y a Sultán le agrada Víctor.
10) Un pájaro puede volar.
11) Un perro puede correr.
27
Inteligencia Artificial.
-Formas de representación del conocimiento.
Como podemos ver los hechos 2, 3, 4, 5, 7 y 8 encierran relaciones del tipo esun. Los
hechos 10 y 11 son relaciones de propiedad. El 1 y el 6 reflejan instancias de un
concepto y el hecho 9 encierra relaciones entre individuos. Vea la red semántica que
representa este conocimiento en la figura 2.4.
Animal
es_un es_un
puede
Volar Pájaro Mamífero
es_un es_un
puede
Pingüino Perro Correr
agrada agrada
instancia
Sultán
Como hemos visto todo programa Prolog compuesto por hechos puede ser llevado a una
red semántica. Luego veremos cómo llevar las reglas (con cuantificadores).
Una vez construida la red semántica, ella puede ser usada en la solución de problemas.
Por ejemplo, la red semántica de la figura 2.5 puede responder a las siguientes
preguntas:
- ¿Puede moverse Fred?
28
Inteligencia Artificial.
-Formas de representación del conocimiento.
Ser viviente
es_un
es_un
tiene cabeza tiene cerebro
Tigre es_un
Animal
Superior tiene
patas
color
es_un
rayado
color Gris
Elefante
instancia instancia
Jumbo Fred
Fred tiene cabeza pues Fred instancia elefante es_un animal_superior tiene cabeza.
29
Inteligencia Artificial.
-Formas de representación del conocimiento.
La cantidad de detalle que puede incluir la red depende del tipo de problema que debe
ser resuelto. Si se requiere un estudio más detallado puede agregarse a la red más
información, mediante la inclusión de nuevos arcos o nodos. Un ejemplo puede verlo en
la figura 2.6.
Cabeza
Animal
Posee
Superior
Patas
Piel
Hay que tener cuidado cuando un objeto hereda propiedades de varias rutas. Ej de red
conflictiva.
vocalización Personaje
Español
animado
es_un
es_un vocalización
Yogui oso rugidos
En la próxima sección estudiaremos cómo implementar una red semántica para que
pueda responder a las preguntas anteriores.
30
Inteligencia Artificial.
-Formas de representación del conocimiento.
y se quiere representar en una red semántica. Esto puede hacerse usando una única red
(figura 2.8). El nodo M representa una mordedura concreta.
Sultán M Pedro
agresor víctima
FORMA
E P M Pedro
∀ agresor víctima
Fig. 2.9. Red semántica particionada correspondiente a “Todos los perros han
mordido a Pedro.”
31
Inteligencia Artificial.
-Formas de representación del conocimiento.
Si tenemos:
“Todos los perros han mordido a un cartero”.
o su fórmula equivalente:
∀(P) [Perro(P) ⇒ ∃(C) (Cartero(C) ∧ Mordedura(P,C))]
E P M Pedro
agresor víctima
Fig. 2.10. Red semántica particionada correspondiente a “Todos los perros han
mordido a un cartero”.
32
Inteligencia Artificial.
-Formas de representación del conocimiento.
Juego
es_un
equipo tanteo
Azul Juego_A 17-3
visitante
equipo_local
Rojo
33
Inteligencia Artificial.
-Formas de representación del conocimiento.
1) Generar una cola formada por Nodo1 y todos los nodos relacionados con él
mediante R.
2) Si la cola está vacía entonces TERMINAR y RETORNAR NO.
3) a) Nodo:= primer nodo de la cola.
b) Remover a Nodo de la cola.
c) Si Nodo = Nodo2 entonces TERMINAR y RETORNAR SI.
d) Adicionar a la cola todos los nodos relacionados mediante R con No-do.
e) Ir al paso 2).
En sus inicios (finales de los años 50 e inicios de los 60), las redes semánticas fueron
utilizadas en sistemas de traducción automática. El primero de ellos, se desarrolló en la
Universidad de Cambridge donde se definió un diccionario conceptual de 15000
entradas a partir de 100 tipos de conceptos primitivos.
34
Inteligencia Artificial.
-Formas de representación del conocimiento.
Las redes semánticas son útiles para representar los contenidos de una oración
declarativa típica. Ej: Jonh le dio el libro a Mary.
Dar L
John Bill
altura altura
A1 mayor A2
72
Por sus características, las redes semánticas han sido propuestas como un mecanismo
para simular algunas de las propiedades asociativas de la memoria humana.
La representación del conocimiento mediante marcos fue propuesta por Marvin Minsky
en 1974 en su artículo “A framework for representing knowledge”.
35
Inteligencia Artificial.
-Formas de representación del conocimiento.
2.5.2. Definición.
Ejemplos:
1- Marco: Empleado
Nombre
Edad (entre 16 y 65)
Piernas (2 por defecto)
Ocupación
36
Inteligencia Artificial.
-Formas de representación del conocimiento.
1- Marco: Empleado
Nombre: Jesús López
Edad: 32
Piernas: 2
Ocupación: Programador
Podemos ver entonces al marco como una clase de entidades y a una ejemplificación de
él como una entidad particular (objeto). Note que una manera natural de programar los
marcos es a través de objetos.
Ralación Frame - Programación Orientada a Objetos (POO): Tantos los marcos como la
POO proponen organizar el conocimiento en términos de objetos, pero en los marcos se
hace más énfasis en la representación (las ranuras y sus facetas) mientras que la POO
hace un mayor énfasis en el cálculo (pase de mensajes). La representación orientada a
objetos se distingue también por el hecho de que los objetos se comunican entre sí a
través de los mensajes. Los dos formalismos pueden ser combinados en el sentido que
un frame puede ser visto como una clase de objeto en el cual las ranuras son tópicos
acerca de los que se pueden enviar mensajes y las facetas son tipos de mensajes (el
contenido de una faceta es un método para responder el mensaje).
Valor: almacena el valor para la ranura. Ejemplo: la ranura Nombre de los marcos
Empleado y Hombre de familia.
Valor por defecto: contiene un valor inicial o valores usados comúnmente para la
faceta Valor. Ejemplo: la mayoría de las personas empleadas poseen dos piernas y
salvo se conozca otra cosa, se puede pensar como normal tal afirmación. Usualmente
se utilizan valores por defecto cuando no se dispone de conocimiento de lo contrario.
En ocasiones el valor por defecto se puede usar como el valor inicial de la faceta
Valor.
Genérico: Es una propiedad asociada a una clase de entidades, de tal forma que cada
entidad de la clase posee esa propiedad. Ejemplo: Casado en el marco Hombre de
familia.
Restricciones: contiene un conjunto de expresiones lógicas que tienen que ser
verdaderas para el valor almacenado en la faceta Valor. Ejemplo: la ranura Edad en el
marco Empleado. Las restricciones a analizar pueden ser más complejas y pueden
referirse a valores de otras ranuras del marco actual o incluso de otro marco.
Ejemplo: supongamos que al marco Empleado le agregamos una ranura Sexo y que
37
Inteligencia Artificial.
-Formas de representación del conocimiento.
Tanto los procedimientos como los demons son escritos, normalmente, como
programas en lenguajes procedurales de alto nivel.
En general, se puede plantear que la información almacenada usando como F.R.C. a los
marcos tiene cuatro niveles de detalle: el marco, las ranuras del marco, las facetas de
cada ranura y el valor almacenado en cada faceta.
Los marcos pueden ser organizados en una jerarquía, para lo cual es suficiente incluir
en ellos una o más ranuras que contengan un enlace al marco padre en la jerarquía, del
cual él es una instancia. Una manera sencilla de lograr este enlace es colocar el nombre
del marco padre en una ranura que podemos llamar, por ejemplo, Padre. Cada marco
padre define una clase. Todos los marcos de una clase comparten la información
almacenada en el marco padre. Esta información común es almacenada en ranuras
llamadas ranuras propias del marco. Además, cada clase puede especificar un conjunto
de ranuras que tienen que ser evaluadas en cada instancia de la clase. A ellas se les
denomina ranuras miembros. Esta estructura jerárquica permite compartir información
a través de la herencia.
Un ejemplo de una jerarquía de marcos puede verse en la figura 2.11. El marco Mesa
hereda todas las características contenidas en las ranuras del marco Mueble y además
tiene sus características propias. Lo mismo ocurre con el marco Mi buró. Note cómo la
ranura Padre sirve para indicar el marco padre en la jerarquía.
38
Inteligencia Artificial.
-Formas de representación del conocimiento.
Frame: mueble
Frame: mesa
Clase: mueble
Frame: mi buró
clase: mesa
39
Inteligencia Artificial.
-Formas de representación del conocimiento.
Aspectos en el razonamiento
- Búsquedas de los frames candidatos.
- Función para determinar el grado de emparejamiento.
- Selección del frame de mayor emparejamiento.
Una posible implementación de marcos en LISP puede desarrollarse a través de las listas
de asociación. La ventaja es que ellas pueden ser fácilmente extendibles usando las
primitivas CONS y APPEND.
Anidando listas de asociación obtenemos una posible forma de representar los marcos,
según se muestra en la figura 2.12. Note que en el nivel superior aparece el nombre del
marco y sus ranuras. Cada ranura, a su vez, tiene la forma de una lista de asociación,
donde la clave es el nombre de la ranura y los valores de asociación son las facetas, las
cuales vuelven a tener la misma estructura, esta vez con clave nombre de la faceta y,
como valores de asociación, los valores de la faceta.
40
Inteligencia Artificial.
-Formas de representación del conocimiento.
TipoDato es un objeto abstracto que representa el tipo de dato del valor de una
ranura y ApTipoFunc es un puntero a una función o procedimiento, en dependencia
de los requerimientos de la aplicación concreta.
41
Inteligencia Artificial.
-Formas de representación del conocimiento.
Los frames deben ser usados donde sea necesario tener descripciones estructurales
complejas para describir adecuadamente el dominio de la aplicación, pues un frame
ofrece una representación estructurada de un objeto o una clase de objetos. Los frames
son buenos para almacenar el conocimiento sobre los elementos de un dominio de
aplicación que tienen una descripción estereotipada.
Los frames son especialmente fuertes para permitir que la información común se
almacene de modo compartido para múltiples frames. Sin embargo, ellos no ofrecen
directamente facilidades para describir cómo se usará el conocimiento almacenado.
Cuando se tiene un conocimiento jerárquico, la FRC más adecuada son los frames por
permitir la herencia de propiedades.
42
Inteligencia Artificial.
-Formas de representación del conocimiento.
Sin embargo, tienen la desventaja de que, por el momento, no existe una teoría formal
de marcos, lo que trae como consecuencia que los mecanismos para la inferencia y
verificación de consistencia no se basan en una semántica bien definida.
Esta F.R.C. ha sido utilizada en tareas de predicción y monitoreo. Por otro lado, ha dado
buenos resultados en problemas de tipo constructivo tales como el diseño. Los sistemas
de marcos se han utilizado, además, como componentes de sistemas de reconocimiento
de patrones. Ejemplo: un sistema de marcos podría constar de un conjunto de marcos
para representar cada una de las letras del alfabeto, descritas por la cantidad de líneas
rectas, arcos, esquinas, etc. El reconocimiento de patrones implica, entonces, el
emparejamiento de un conjunto de valores asociados a una entidad con los valores
requeridos para rellenar las ranuras de un marco.
Una gran parte del conocimiento usado en el proceso de razonamiento cotidiano es fijo y
bien conocido. Este se basa en la exposición de situaciones típicas, ritualizadas e
43
Inteligencia Artificial.
-Formas de representación del conocimiento.
2.6.2. Definición.
Los guiones están compuestos por un conjunto de ranuras que contienen toda la
información necesaria sobre las acciones que se describen. Estas ranuras son:
- Sitio (Setting): es el lugar donde ocurren los eventos.
- Sujetos (Roles): son los sujetos que actúan en los eventos descritos.
- Objetos (Props): son los objetos que aparecen en los eventos descritos.
- Condiciones (Conditions): son las condiciones que deben cumplirse antes de que los
eventos se realicen.
- Escenas (Scenes): describen los eventos.
- Resultados (Results): son condiciones que existen una vez concluidos los eventos.
GUION RESTAURANTE
Sitio: Restaurante de autoservicio y su contorno.
Sujetos: Cliente (C), Dependiente (D), Cajero (J).
Objetos: Contadora, bandeja, comida, dinero.
Condición: C tiene hambre, C tiene dinero.
Escena 1: “Entrada al restaurante”
- C entra al restaurante.
- C se pone en cola ante la contadora.
- C lee el menú en la pared y decide qué pedir.
44
Inteligencia Artificial.
-Formas de representación del conocimiento.
El episodio “C entra al restaurante” puede estar formado por los eventos “abrir la
puerta” y “dirigirse a la línea de servicio”.
Escena 2: “Tomar los alimentos”
- C toma la bandeja vacía.
- C le pide a D los alimentos.
- D coloca los alimentos en la bandeja.
- C le paga a J.
Escena 3: “Comer los alimentos”
- C toma la bandeja con los alimentos.
- C coloca la bandeja en una mesa vacía.
- C ingiere los alimentos.
Escena 4: “Salida del restaurante”
- C se levanta de la mesa.
- C abandona el restaurante.
Resultados: C no tiene hambre, C tiene menos dinero, C está satisfecho o no, C
está demasiado lleno.
GUIÓN METRO
Sitio: El metro y su contorno.
Sujetos: Patrón (PAT), Cajero (CAJ), Conductor (COND), Maquinista (MAQ),
Pasajero (PAS).
Objetos: Moneda (MON), Boletín (BOL), Asiento en la estación (ASIE), Coche
(COCH), Tren, Asiento en el coche (ASIC).
Condición: PAS necesita viajar o PAS quiere pasear.
Las escenas pricipales del Script $METRO son: "entrar en la estación y esperar en
la plataforma", "entrar al tren y llegar al destino" y "abandonar la estación de
destino".
Un guión puede ser activado emparejando su nombre, sus condiciones, objetos, sitio o
alguna combinación de ellos. A los guiones que sirven para invocar a otros guiones se
les llama guiones iniciadores. Existen cuatro tipos de guiones iniciadores, los cuales son:
45
Inteligencia Artificial.
-Formas de representación del conocimiento.
Al implementar las invocaciones es útil exigir que una situación concreta tenga, al
menos, dos guiones iniciadores. Con esto se evitan invocaciones innecesarias.
46
Inteligencia Artificial.
-Formas de representación del conocimiento.
Esta F.R.C. ha sido utilizada en aplicaciones para el procesamiento del lenguaje natural
y en la representación, procesamiento y generación de historietas.
Las reglas de producción son la FRC más popular, y para la cual se han desarrollado más
herramientas comerciales.
Una de las principales preocupaciones del personal médico y paramédico en una Unidad
de Cuidados Intensivos en cualquier hospital es el diagnóstico de enfermedades y la
selección de la conducta terapéutica. La realización rápida y certera, tanto del
diagnóstico como del tratamiento, implica, en primer lugar, la posible eliminación de la
afección, con lo que se salvaría la vida del paciente y, por otro lado, la reducción de los
costos en la utilización de los medicamentos y del equipamiento.
Para la realización del diagnóstico y del tratamiento, el médico utiliza los conocimientos
recogidos en los libros de Medicina y la experiencia adquirida en sus años de trabajo.
Todo este conocimiento tiene la forma de condiciones necesarias para que esté presente
una determinada enfermedad, así como para aplicar un tratamiento específico. El
problema radica, entonces, en cómo representar este conocimiento.
2.7.2. Definición.
47
Inteligencia Artificial.
-Formas de representación del conocimiento.
Como puede verse, los dos primeros ejemplos corresponden al caso a), los ejemplos
tercero y cuarto, corresponden al caso b) y los dos últimos, al caso c).
Las reglas pueden ser comprendidas fácilmente y tienen suficiente fuerza expresiva para:
- representar reglas de inferencia dependientes del dominio
- representar especificaciones de comportamiento
- almacenar el conocimiento que pueda ser expresado como heurística experimental
- expresar conocimiento orientado a un objetivo
- expresar relaciones causales
Las reglas de producción han sido utilizadas con éxito como FRC para tareas de
diagnóstico, diseño (configuración de computadoras), planificación, problemas deductivos,
etc. Pero son inadecuadas para: definir términos, describir objetos y describir relaciones
estáticas entre objetos.
En 1943, Post propuso los sistemas de producción (sistemas basados en reglas) como un
mecanismo computacional de carácter general. Se usan para la manipulación del
conocimiento representado en reglas de producción.
48
Inteligencia Artificial.
-Formas de representación del conocimiento.
tiene una parte izquierda, la cual tiene que ser verdadera de acuerdo a la
información existente en la memoria de trabajo para poder usarla, y una parte
derecha, que realiza acciones o actúa sobre la memoria de trabajo, añadiendo
nuevos hechos a la B.D. El que la parte izquierda de una regla se satisfaga puede
establecerse por referencia a la B.D. y/o preguntando al usuario del sistema de
producción.
c) Intérprete.
Tiene como función llevar a cabo el proceso de inferencia. Este último comprende
las siguientes tareas:
- Seleccionar las reglas a aplicar.
- Verificar de entre estas reglas, cuáles se satisfacen.
- Ejecutar las acciones especificadas por estas reglas.
En un esquema clásico se recorren todas las reglas buscando una a aplicar.
Cuando se encuentra tal regla, se aplica, lo cual en muchos casos provoca cambios
en la B.D. El conjunto de reglas se sigue recorriendo hasta que se soluciona el
problema (se alcanza el objetivo) o no es posible invocar más reglas, constituyendo
ésta la condición de terminación. El procedimiento básico de un intérprete puede
ser representado así:
1) MEMORIA_TRAB := Base de Datos inicial
2) Mientras que MEMORIA_TRAB no satisfaga la condición de terminación:
a) Seleccionar alguna regla R, del conjunto de reglas que puedan ser
aplicadas.
b) MEMORIA_TRAB:= MEMORIA_TRAB ∪ Resultados de aplicar R.
Para la selección de las reglas se usan varias estrategias: encadenamiento hacia delante,
encadenamiento hacia atrás, entre otras, las cuales serán estudiadas en el capítulo
siguiente.
49
Inteligencia Artificial.
-Formas de representación del conocimiento.
Resolución de conflictos.
• Preferencias basadas en reglas
- Considerando el orden: seleccionar la 1ra que aparece (Prolog) u otro.
- Dar prioridad a las reglas especiales por encima de las generales. Se detecta que una
es más general si tiene la precondición de la otra y algo más ó si tiene las mismas
precondiciones pero con más ocurrencias de variables.
• Preferencias basadas en objetos: ordenar las reglas según la importancia de los objetos
emparejados. Ej: ELIZA contenía algunas palabras claves con su importancia (todo el
mundo (1), yo (2),....).
Antes: Yo sé que todo el mundo se ríe de mí..... en vez de responder lo que encuentra
por yo: dice saber que todo el mundo se ríe de usted, contesta por todo el mundo
¿está pensando en alguien en particular?
• Preferencias basadas en estados. Se aplican todas las reglas y se evalúan los nuevos
estados mediante una heurística seleccionando el mejor.
Para mejorar la búsqueda se usan reglas de control las cuales se exploran antes que las
otras. Estas contienen conocimientos acerca de qué estados son preferibles, qué reglas
aplicar en una situación dada, el orden de los subobjetivos, etc.
50
Inteligencia Artificial.
-Formas de representación del conocimiento.
Supongamos que el intérprete de reglas recorre éstas buscando una, cuyo antecedente
sea satisfecho por la B.D., y entonces ejecuta el consecuente de tal regla. Si el
consecuente pide alguna información al usuario, entonces se genera un mensaje
adecuado para que el usuario haga las comprobaciones necesarias y la B.D. se nutre de
los resultados de tales comprobaciones.
Una dificultad con esta F.R.C. es que si bien a medida que crece el número de reglas
crece el conocimiento del sistema, también se hace más difícil la búsqueda. Una
solución parcial a este problema es descomponer la B.D. inicial en varias subbases que
puedan ser procesadas de manera independiente. Además de descomponer la B.D. es
necesario descomponer, por supuesto, la condición de terminación en varias
subcondiciones, una para cada subbase. Un caso especial de esta descomposición es
expresarla como una conjunción de las subcondiciones componentes.
51
Inteligencia Artificial.
-Formas de representación del conocimiento.
∫(x sen x + x )
2
dx integral a resolver
∫ (x sen x + x
2
MEMORIA_ TRAB:= ) dx
∫ x sen x ∫x
2
DMEM_ TRAB:= { dx , dx } descomposición
52
Inteligencia Artificial.
-Formas de representación del conocimiento.
∫ cos x ∫x
2
DMEM_ TRAB:= { - x cos x, dx, dx } nueva descomposición
∫x
2
DMEM_ TRAB:= { - x cos x, dx }
D:= sen x
DD:= { sen x }
DMEM_ TRAB:= { sen x, − x cos x, ∫x
2
dx }
MEM_ TRABj := ∫x
2
dx
DMEM_ TRAB:= { sen x, − x cos x }
x3
D:=
3
x3
DD:= { }
3
x3
DMEM_ TRAB:= { , sen x, − x cos x }
3
Todos los elementos de DMEM_TRAB cumplen la condición de terminación.
Las reglas de producción son la F.R.C. más popular, y para la cual se han
desarrollado más herramientas comerciales.
Como F.R.C., las reglas de producción han sido utilizadas exitosamente en tareas
como el diagnóstico médico y de fallas, la planificación, el diseño, la solución de
problemas de pronóstico, configuración de computadoras, por sólo mencionar
algunas.
Sin embargo, las reglas de producción son inadecuadas para la definición de
términos, la descripción de objetos, así como de relaciones estáticas entre ellos.
Los S.P. tienen como propiedades fundamentales las siguientes:
- Modularidad: Cada regla de producción constituye una unidad de conoci-
miento pequeña y relativamente independiente.
- Incrementalidad: Se pueden añadir nuevas reglas de producción sin alterar las
existentes.
- Modificabilidad: Es fácil modificar las reglas existentes.
- El crecimiento del conocimiento del sistema es directamente propor-cional a la
cantidad de reglas del mismo.
- Transparencia: Constan de un mecanismo de explicación que permite, en cada
momento, justificar la solución encontrada.
- Refinamiento: El conocimiento almacenado puede ser constantemente re-
finado.
53
Inteligencia Artificial.
-Formas de representación del conocimiento.
2.8. Strips.
A B C C
2.8.2. Definición.
54
Inteligencia Artificial.
-Formas de representación del conocimiento.
DEJAR(x)
Precondición: SOSTENIDO(x)
Suprimir: SOSTENIDO(x)
Añadir: ENMESA(x) ∧ BRAZOVACIO
APILAR(x,y)
Precondición: DESPEJADO(y) ∧ SOSTENIDO(x)
Suprimir: DESPEJADO(y) ∧ SOSTENIDO(x)
Añadir: ENCIMA(x,y) ∧ BRAZOVACIO
DESAPILAR(x,y)
Precondición: ENCIMA(x,y) ∧ DESPEJADO(x) ∧ BRAZOVACIO
Suprimir: ENCIMA(x,y) ∧ BRAZOVACIO
Añadir: SOSTENIDO(x) ∧ DESPEJADO(y)
Las tres componentes de cada regla STRIP se definen usando algunos predicados
básicos. Para este universo los predicados básicos más frecuentes son:
DESPEJADO(x): el bloque x no tiene bloques encima.
SOSTENIDO(x): el brazo del robot está sosteniendo al bloque x.
ENCIMA(x,y): el bloque x está encima del bloque y.
55
Inteligencia Artificial.
-Formas de representación del conocimiento.
A C
Fig. 2.16. Estado que resulta de aplicar COGER(B) al estado de la Fig. 2.14.
56
Inteligencia Artificial.
-Formas de representación del conocimiento.
blanca, rosada y roja. Queremos pintar una habitación de forma que las paredes sean
de color rojo claro y el techo blanco. Podríamos producir pintura rojo claro,
mezclando el rojo con el blanco, pero entonces no se podría pintar el techo. Por tanto
este enfoque debe abandonarse y mezclar la roja con la rosada. También se pueden
podar caminos que, aunque no impiden una solución, no nos llevan más cerca de la
solución que el lugar desde donde empezaron.
EJERCICIOS PROPUESTOS
1- Para cada uno de los siguientes conjuntos de frases, indicar el formalismo que
facilite mejor la representación del conocimiento dado en ellas para responder a la
cuestión propuesta. Explicar brevemente la elección.
57
Inteligencia Artificial.
-Formas de representación del conocimiento.
Ser vivo
esun
58
Inteligencia Artificial.
-Formas de representación del conocimiento.
Animal
esun esun
esun esun
Perro Gato
esun esun
Pastor Sato
Perro
espartede espartede
Cabeza Rabo
espartede espartede
Orejas Ojos
estudiante trabajador
empleado directivo
59
Inteligencia Artificial.
-Formas de representación del conocimiento.
Preguntas:
a) ¿Federico tiene cerebro?
b) ¿Es el elefante de color verde?
Bibliografía
1. IA, E. Rich, pág. 213-234
2. Crash course in AI and ES, Louis E. Frenzel, pág.37-40
3. Modelos Computacionales Avanzados. Rafael Bello, pág. 80, 88-90
4. Bases de Datos y Sistemas Expertos, Tomo II, pág. 500-507
60