(PRIVADO) 2. Representación Del Conocimiento
(PRIVADO) 2. Representación Del Conocimiento
(PRIVADO) 2. Representación Del Conocimiento
Por ello, el conocimiento se organiza en una o más configuraciones. Claro está que no
puede separarse la representación del conocimiento del uso posterior de ese
conocimiento.
mensajes. Un objeto que recibe un mensaje chequea la base de datos y decide qué acción tomar. Las
acciones se realizan invocando un método.
Universidad Nacional de Colombia 31
Inteligencia artificial
Objeto Atributo Valor
En una red semántica los atributos son los enlaces (arcos) entre objetos. Los enlaces
muestran las relaciones o el vínculo entre un objeto y otro; describen factores. En sí,
una red semántica es una representación en la cual:
Los nombres dados a cada enlace indican la clase de vínculo que hace corresponder un
objeto a una categoría. El enlace tiene-un se usa para identificar características o
atributos de un objeto. Otros enlaces se usan para definir propósitos. Como puede
observarse en la figura 2.3, el dominio del conocimiento es el concepto "proceso"; en
3
El concepto de red semántica fue introducido en 1968 por Ross Quilliam. Fue diseñada como un
modelo sicológico de la memoria humana asociativa. Las redes semánticas fueron desarrollándose por
quienes trabajaban en el área de IA. El objetivo de estas redes es la organización y representación del
conocimiento general acerca del mundo. El objetivo inicial para el desarrollo de las redes semánticas fue
entender el lenguaje natural, más que la clasificación de los datos
Universidad Nacional de Colombia 33
Inteligencia artificial
la figura 2.4 se ven muchas relaciones y, por tanto, el dominio es más amplio4. La
unidad del conocimiento es un enlace y dos nodos. Una red semántica ofrece la visión
sobre las relaciones y dependencias de un área de conocimiento (dominio) y es muy
apropiada para la estructuración del conocimiento. Sin embargo, los enunciados de las
relaciones mencionadas en los arcos deben formularse fuera de la red. La red
semántica no da información sobre el procesamiento de la red. Algunos nodos y
enlaces pueden mostrar otras características acerca de cada uno de los procesos que
están tratándose.
Uno de los factores interesantes y útiles sobre las redes semánticas es que a través de
ellas pueden verse las características que algunos nodos heredan de otros.
Características:
a. Diferencian entre tipos de objetos de los casos. Así, se llama clasificación al
proceso de ir de ejemplos de objetos a tipos de objetos.
b. Se introduce el concepto de distancia semántica: cantidad de enlaces que
separan un nodo de otro.
En las redes semánticas, la distancia puede ser importante, se utiliza para localizar
objetos poco o muy relacionados, dependiendo de la distancia. En algunos casos,
puede disminuirse la distancia eliminando enlaces.
4
Las unidades conceptuales se organizan en la memoria en niveles que van de los subordinados (más
especifico) a lo superordinado (más abstracto). El concepto más general e inclusivo se ubica en el tope de
la estructura (red) y mantiene, con el resto de los conceptos, relaciones indirectas subordinadas.
34 Luis Carlos Torres Soler
Representación del conocimiento
c. En las redes semánticas también se tiene la idea de partición: es el contexto de una
red, en el sentido de tener una subred.
d. Existen jerarquías en las redes semánticas5. Las principales son: parte_de y es_un.
La existencia de jerarquías permite la herencia en la que un objeto que pertenece a una
clase hereda todas las propiedades de la clase.
6
{PRIVADO }2.3. REGLAS DE PRODUCCIÓN
Para un programa de cálculo numérico no cabe pensar que funcione con parte del
programa o con datos incompletos; esto no es posible sino que además da error. Sin
embargo, en un SE esto es posible y además es correcto; es decir, debe funcionar con
BC incompletas (éstas, poco a poco, van completándose). Esto hace que las funciones
de control, la BC y las reglas sean completamente independientes. La BC es la
estructura de conocimiento central para desarrollar una tarea particular. Dependiendo
de la aplicación, la base de conocimiento puede ser una simple matriz de números o
una compleja estructura de archivos indexados relacionados o un conjunto de bases de
datos definidas separadamente.
En los sistemas de producción (SP), cada regla tiene una precondición (parte
izquierda), y una parte derecha que describe la operación que debe llevarse a cabo si se
aplica la regla. Es decir, los sistemas de producción (SP) están compuestos de reglas de
producción y hechos.
5
Un principio organizativo importante en este modelo es el de la "economía cognitiva". Cada concepto
articula su significado al asociarse con los nodos de propiedades, pero éstas no se repiten en todos los
niveles de jerarquía.
6
Los teóricos del procesamiento de la información sostienen que el conocimiento se adquiere por la
construcción de una representación del mundo exterior. El ser humano reconstruye la realidad
elaborando representaciones mentales precisas como las redes de proposiciones, esquemas y reglas de
producción condición-acción.
7
Por tanto, se entiende por SP el conjunto de reglas organizadas que garantizan las transformaciones
que el sujeto lleva a cabo para solucionar un problema.
Universidad Nacional de Colombia 35
Inteligencia artificial
La estrategia de control del motor de inferencia escoge las reglas a aplicar, resuelve los
conflictos que surjan cuando varias reglas pueden ser aplicadas a la vez y deja el
proceso cuando una condición de terminación se satisface. Esta estrategia
repetidamente aplica reglas a la descripción de estados hasta que la descripción del
estado meta se produce. También se guardan datos de las reglas que han sido aplicadas
para evitar secuencias repetitivas que no lleven a la condición final.
Irrevocable: una regla aplicable es seleccionada, se aplica sin opción para ser
8
Solucionar problemas aplicando una inapropiada regla puede sustancialmente retrasar la terminación.
En esos casos se prefiere una estrategia de control que puede validar una regla y, si más tarde descubre
que esta regla fue inapropiada, puede retornar y validar otra.
36 Luis Carlos Torres Soler
Representación del conocimiento
reconsiderada. (A primera vista, puede verse que este tipo de control no es apropiado
para solucionar problemas).
Métodos de prueba y error son inherentes para solucionar rompecabezas, por ejemplo,
puede argumentarse que si una estrategia de un SP posee suficiente conocimiento
acerca del rompecabezas para aplicar una regla a cada estado de descripción, entonces
él construye una solución.
Tal argumento falla por desconocer la distinción entre conocimiento local explícito,
acerca de cómo proceder para localizar un estado y el conocimiento global implícito de
una solución completa.
Algoritmo()
R: regla
CR: conjunto de reglas
DATOS <-- BC inicial
HQ DATOS satisface la condición de meta:
SELECIONAR R de CR y aplicar a DATOS.
DATOS <-- aplicar(R, DATOS)
FHQ
FIN Algoritmo()
La lógica de predicados, en primer nivel, representa hechos o datos y los expresa como
estructuras. Toda proposición lógica se trata explícitamente como una estructura. La
lógica de predicados se ocupa de las relaciones entre antecedentes y consecuentes. De
otra manera, la lógica tiene sentido cuando se elaboran argumentos y en ellos se
analiza si de algunas suposiciones o antecedentes se derivan conclusiones; por
ejemplo:
9
En la realidad, esta implicación puede no ser siempre cierta, pero las hipótesis planteadas aquí (sin
mirar entornos mayores) nos dicen que la conclusión es verdadera.
Universidad Nacional de Colombia 39
Inteligencia artificial
Sentencia Representación
Los hechos de la misma clase son siempre isomórficos, es decir, tienen la misma
estructura. Tener la misma estructura en este caso significa que la relación es la misma,
el número de argumentos es igual y los tipos de argumentos se corresponden.
Constante. Es un término que identifica un único objeto o entidad de una clase; por
ejemplo: Juan, Bogotá, 124, casa.
/*****************************************************
Ejemplo: de relaciones familiares
******************************************************/
DOMAINS
persona = symbol
PREDICATES
madre_de(persona, persona)
hermano_de(persona, persona)
padre_de(persona, persona)
padre(persona, persona)
madre(persona, persona)
hermano(persona, persona)
abuela(persona, persona)
CLAUSES
madre_de(maría, paola).
madre_de(paola, mariela).
madre_de(mariela, luisa).
hermano_de(paola, juana).
hermano_de(juana, pedro).
hermano_de(maría, josefa).
hermano_de(luisa, teresa).
hermano_de(teresa, sandra).
hermano_de(luisa, myriam).
padre_de(pedro, carlos).
padre_de(pedro, tita).
abuela(X , Y) :- madre(X , Z), madre(Z , Y).
madre(X , Y) :- madre_de(X , Z), hermano_de(Z , Y), Z <> Y
OR madre_de(X , Y).
hermano(X , Y) :- hermano_de(Y , X), X <> Y
10
Las redes semánticas pueden implementarse en casi cualquier lenguaje de computación. LISP y
PROLOG son los más populares pero existen facilidades para implementarlas con FORTRAN, SNOBOL,
PL/I, PASCAL, APL. C++, KES, KNOWLEDGE PRO, NEXPERT OBJECT, OPS5, SMALLTALK,
VISUAL BASIC. Se requiere memoria amplia para almacenar nodos y enlaces.
Universidad Nacional de Colombia 41
Inteligencia artificial
OR madre_de(Z , X), madre_de(Z , Y).
padre(X , Y) :- padre_de(X , Z), hermano_de(Z , Y), Z <> Y.
El programa en Prolog cuenta con reglas adicionales para hacer inferencias con el fin
de proveer otras relaciones.
Un guión es útil prediciendo qué sucederá en una situación específica, aunque ciertos
eventos no se hayan observado. La entrada original permite predecir qué sucederá y
cuándo. Si el computador sigue un guión, las preguntas existentes buscan deducir de
acuerdo con las limitaciones.
Restaurante:
Objetos: (restaurante, dinero, comida, menú, mesas, ...)
Roles: (personas, meseros, cocineros)
Punto de vista: personas
Tiempo de ocurrencia: 1 p.m.
Lugar de ocurrencia: restaurante Doña Alicia
Secuencia:
1o: entrar al restaurante
..: Buscar mesa
11
El concepto de guión surge del trabajo de Schank y Abelson en la Universidad de Yale. El objetivo fue
desarrollar el entendimiento cognitivo en el computador. El conocimiento es generalmente tomado a
partir de situaciones en la solución de problemas; tal conocimiento debe simularse con frecuencia para
resolver un problema particular utilizando IA.
42 Luis Carlos Torres Soler
Representación del conocimiento
..: Ordenar comida
..: comida
..: salir del restaurante
Los programas que utilizan guiones almacenan la información mediante los grafos12 de
dependencia conceptual. Sin embargo, la representación en guiones va más allá de la
representación de frases aisladas. A parte que los guiones enlazan causalmente
secuencias de acciones, la diferencia principal consiste en que cada guión posee roles
corrrespondientes a las personas que intervienen. Los roles y algunos de los objetos se
representan mediante variables y esto permite que puedan ser asignados a diferentes
personas o cosas. El imponer restricciones sobre el tipo de personas que pueden
desempeñar ciertos roles y sobre el tipo de objetos que cumplen cierta función será de
gran utilidad en el proceso de interpretación de textos.
El objetivo de utilizar guiones está orientado ante todo a la comprensión del lenguaje
natural (a la interpretación de textos escritos). En la práctica, para comprobar que el
sistema ha "comprendido" el texto, suele seguirse uno de estos dos métodos:
1) Formularle preguntas concretas y ver si responde adecuadamente.
2) Pedirle que repita el mismo texto con otras palabras (paráfrasis).
12
La función principal del grafo es ilustrar una idea y aclarar un concepto, pero pueden tener distintas
lecturas ya que el lenguaje gráfico no dispone de reglas concretas.
Universidad Nacional de Colombia 43
Inteligencia artificial
pero en muchos casos los criterios sintácticos son insuficientes.
Otro tipo de inferencia consiste en dar por supuesto que han ocurrido los demás
sucesos que se encuentran en el guión, aunque no aparezcan explícitamente en la
historia escrita.
Por último, señalar que existen dos métodos básicos de afrontar el problema de la
compresión de textos mediante guiones:
El método ascendente consiste en analizar palabra por palabra, activando los marcos
que mejor explican toda la información que va apareciendo.
Ventajas:
- Poder "leer" textos relativamente breves sobre temas concretos, extrayendo
información.
- Representar el conocimiento sin depender de ningún idioma particular: muy
importante para los "traductores automáticos".
- Permiten integrar la información con el fin de formar una historia coherente,
Una lista es una serie de nodos (información) relacionados entre sí. Puede ser una lista
de nombres de personas que se conocen, de cosas para comprar en la tienda, de una
relación de asuntos para esta semana o de productos en un catálogo.
Las listas se usan normalmente para representar conocimiento jerárquico, cuando los
objetos están agrupados o categorizados según un orden o relaciones (ver figura 2.6).
Los índices, las tablas y los árboles, son herramientas muy útiles para analizar la
información o el conocimiento que tiene que ver con las situaciones que se presentan
para solucionar un problema, o para relacionar los diferentes eventos que se mezclan
en esa solución.
Árboles de decisión. Los árboles de decisión están muy relacionados con las tablas y
se usan frecuentemente para análisis de sistemas. Un árbol de decisión puede verse
como una red semántica jerárquica limitada por una serie de reglas (ver figura 2.8),
que se acoplan para la búsqueda estratégica con las relaciones de conocimiento. Los
árboles son similares a los árboles de decisión usados en la teoría de las decisiones.
Los árboles están compuestos de nodos que son metas. La raíz del árbol es la primera
de arriba (o a la izquierda13) y los niveles están abajo (o a la derecha). Todos los nodos
terminales, excepto el nodo raíz, son ejemplos de posibles metas.
13
También se construye un árbol de izquierda a derecha (el ejemplo de la figura 2.8 está arriba-abajo).
46 Luis Carlos Torres Soler
Representación del conocimiento
En el paradigma orientado a objetos, éstos se comunican unos con otros por envío y
recibo de mensajes.
• Un objeto, muy similar a los marcos, recibe mensajes de verificación de
conocimiento y decide qué acción tomar.
• La descripción para comparar muchas de las similitudes es mostrar una
especialización en casos usando los marcos.
• Los objetos usan atributos que están especificados en ranuras (slot, en inglés); se
organizan jerárquicamente de manera que los de menor nivel comparten
propiedades con los del nivel mayor (herencia).
• Los objetos contienen métodos, mientras los marcos tienen procedimientos
asociados.
• Los marcos pueden usar reglas para realizar cálculos.
14
En los lenguajes de programación orientada a objetos, el polimorfismo se presenta como un resultado
natural de la relación es_un y de los mecanismos de paso de mensajes y relación.
Universidad Nacional de Colombia 47
Inteligencia artificial
Mensaje. Estímulo que recibe un objeto receptor de otro objeto del modelo, para que
genere una reacción. Estas reacciones se llaman métodos.
Método. Está compuesto por mensajes definidos por sus propios atributos, para
Protocolo. Es el conjunto de mensajes a los cuales sabe responder un objeto; está dado
por:
PROTOCOLO (signatura, interfaz).
15
Clase. Una clase es un patrón para un objeto . Todo objeto es un ejemplo (caso) de
una clase. En el momento de reaccionar un objeto, revisa las características de su clase
y toma de allí el método adecuado. Una clase especifica la estructura y el
comportamiento de cada uno de sus casos; por eso, cada objeto tiene su propio
conjunto de atributos, aunque comparte los métodos de las demás casos de la misma
clase; está dada como:
CLASE (tipo).
15
Una clase es un tipo y un objeto es un ejemplo de clase.
48 Luis Carlos Torres Soler
Representación del conocimiento
Ejemplo
Clase Criatura
Propiedades
tipo: string;
peso: real;
hábitat: (...algún hábitat...);
Operaciones
creación() ->criatura;
predador(criatura)->conjunto(criatura);
expectativa_de_vida(criatura) ->Entero;
...
Fin criatura.
Clase mamífero
Herencia criatura;
Propiedades
período_de_gestación: real;
Operaciones
...
Fin mamífero.
Clase persona
Herencia mamífero;
Propiedades
alias,primer_nombre: string;
fecha_nacimiento: fecha;
origen: País;
Fin persona.
Clase hombre
Herencia persona;
Propiedades
esposa: mujer;
...
Clase mujer
Herencia persona;
Propiedades
esposo: hombre;
...
Fin mujer.
Ejemplo.
Conferencia
Fecha:
Lugar:
Tema:
Expositor:
Hora:
Los marcos ofrecen una representación concisa y estructurada del conocimiento en una
forma natural. Los marcos16 constituyen de hecho un mecanismo general de
16
Para entender mejor el nombre de marco conviene recordar que el término original frame tiene
muchos significados, condición o estado, armazón, estructura básica alrededor de la cual se construye
"algo", conjunto de circunstancias que rodean un suceso, imagen en un rollo de película y de forma más
general, los objetos en que se centra la atención de una cámara de cine. Realmente frame, en el sentido
que le da Minsky, toma un poco de todos estos significados y por eso, al traducirlo por "marco" estamos
50 Luis Carlos Torres Soler
Representación del conocimiento
representación de conocimiento, ya que permiten usar el poder de los objetos
incluyendo a otros procesos y mecanismos. En contraste con otros métodos de
representación, los valores que describen un objeto están agrupados en una sola
unidad. Así, un marco abarca objetos complejos, situaciones completas, o el manejo de
problemas en una sola entidad. El conocimiento se particiona dentro de un marco por
ranuras. Una ranura puede tener conocimiento declarativo o procedimental.
Cada marco se caracteriza por un conjunto de campos o slots que sirven para
identificar los marcos. Los marcos están especialmente concebidos para tareas de
reconocimiento. El mecanismo es el siguiente, la información recibida hace que se
activen unos marcos y esta a su vez provoca la activación de otros marcos conectados
con los primeros, dando lugar así a una red de activación, cuyo objetivo es predecir y
explicar la información que se va a encontrar en esa situación. Este reconocimiento
basado en expectativas se denomina a veces reconocimiento descendente. Otra de las
ideas novedosas de Minsky es la posibilidad de tener distintos marcos para definir una
misma entidad desde distintos puntos de vista. El propósito de Minsky consistía en dar
sugerencias e ideas más que en concretar los detalles de un cierto tipo de
representación.
Los marcos tienen algunas capacidades que es importante resaltar, debido al gran uso
que está dándoseles en la actualidad; estas capacidades se resumen en:
perdiendo casi todos los matices del término original. También conviene señalar que, según Minsky, cada
marco posee varios slots o terminals que significan "ranura", es decir, un "hueco" destinado a contener
"algo que encaja alli". Un marco posee conocimiento sobre un objeto, evento, lugar, situación u otro; un
marco ofrece los medios para organizar conocimiento en ranuras que contienen características y
atributos. En forma física, un marco es algo como un recuento de categorías y subcategorías; el marco
puede describirse con gran detalle; el detalle se da en forma de ranuras que describen varios atributos o
características del objeto o situación.
Universidad Nacional de Colombia 51
Inteligencia artificial
conocimiento de sentido común y experiencias guardadas en el cerebro para analizar
un objeto o experiencia nueva al resolver un problema. La organización del
conocimiento jerárquicamente busca acople estructural a como se almacena, modifica
y recupera conocimiento de forma natural. La jerarquía y la herencia están en
evolución, en la forma de crear y almacenar conceptos, en el propio conocimiento que
se quiere modelar y en las configuraciones subjetivas que se derivan del modo humano
de organizar su percepción del mundo que lo rodea, clasificando los sucesos y
situándolos en una estructura multicapa organizada en clases de conceptos.
Ejemplo
Frame: Empleado
Hereda de: persona
Número_empleado: Valor:xx
SI adiciona: verifique secuencia: número
Salario Valor:yy
SI necesita: verifique palabra clave: Clav
Los sistemas actuales basados en marcos se basan sobre todo en la herencia a partir de
una red jerárquica. El punto de partida consiste en la creación de una red de marcos.
Cada marco representa un concepto o una clase, y cada objeto (instancia) representa un
elemento dentro de la clase. En algunas herramientas cada caso (ejemplo, instancia)
puede pertenecer a varios marcos. Cada marco hereda los campos de todos sus
antepasados en la red, y cada objeto hereda campos y valores de todos los marcos a los
que pertenece. Algunas herramientas sólo permiten herencia descendente, mientras
que otras admiten herencia bidireccional (el valor asignado a un objeto puede
convertirse en valor por defecto del marco al que pertenece).
Facetas
Definen las propiedades de un campo:
- Valor por defecto: es el valor que toma el campo (salvo que se indique lo
contrario). En general se asigna al marco y es heredado por todas los casos
creados posteriormente dentro de él.
- Multivaluado: indica si el campo es univaluado (la introducción de un nuevo
valor desplaza el anterior) o multivaluado (pueden coexistir varios valores
simultáneamente).
- Restricciones: limitan el conjunto de valores que puede recibir el campo. El
sistema reconoce un error de asignación y toma las medidas oportunas.
- Certeza: indica la credibilidad del valor asignado al campo (es semejante al
factor de certeza asociado a cada proposición dentro de un sistema basado en
reglas).
- Facetas de interfaz: contienen texto, preguntas y mensajes destinados a la
52 Luis Carlos Torres Soler
Representación del conocimiento
interacción con el usuario.
Los marcos pasan a ser considerados como objetos autónomos que tienen la capacidad
de comunicarse entre ellos mediante el paso de mensajes.
Ejemplo.
Suceso:
-lugar:
-día:
-hora:
Desastre natural:
-muertos:
-heridos:
-personas sin vivienda:
-daños materiales:
Terremoto:
-falla:
-magnitud:
Inundación:
-río:
Huracán:
-nombre:
-velocidad del viento:
Acontecimiento deportivo:
deporte:
-ganador:
-resultado:
Acontecimiento social:
-anfitrión:
-número de invitados:
Boda:
-novia:
-padres novia:
-novio:
-padres novio:
Cumpleaños:
-nombre:
Ejemplo de marco:
Clase Vaso_sanguíneo es:
subclase de nill;
contiene : sangre;
forma : tubular;
17
El propósito fundamental de KRL (Knowledge Representation Language) consistía en ofrecer los
mecanismos necesarios para una representación estructurada del conocimiento. Por ello la información
se agrupa en torno a los objetos o unidades, units, que constituyen el eje fundamental de la
representación del conocimiento. Los campos de una unidad pueden tener valores por defecto, que
provienen de la herencia de propiedades o bien de la existencia de prototipos (unidad que en vez de
corresponder a un objeto concreto representa un elemento típico de una clase). Otro mecanismo de
razonamiento muy importante es la comparación o ajuste ("matching", similar a la comparación de
patrones de las reglas). Entre los objetivos básicos de KRL es la eficiencia, a costa de perder elegancia
desde un punto de vista teórico. Una muestra de ello es la redundancia (incluir explícitamente cierta
información para no tener que deducirla). Además, ofrece numerosas posibilidades de controlar el
razonamiento. Una de ellas es la asignación de procedimientos o procedural attachment a los marcos o
a sus campos los cuales pueden ser de dos tipos: los sirvientes (que son procedimientos activados por el
marco para alcanzar cierto objetivo) y los demonios (se activan automáticamente en ciertas
circunstancias).
54 Luis Carlos Torres Soler
Representación del conocimiento
fin
Clase Arteria es:
subclase de: Vaso_sanguíneo;
tejido : muscular;
pobre en : oxígeno;
fin
Clase Vena es:
subclase de: Vaso_sanguíneo;
tejido : fibra;
rica en : oxígeno;
fin
Ejemplo Aorta es
caso de: Arteria;
diámetro : 2,3 mm;
fin
Ejemplo Arteria pulmonar izq. es
caso de: Arteria;
diámetro : 1,8 mm;
fin
Ejemplo Cava superior es
caso de: Vena;
diámetro : 1,7 mm;
fin
La red semántica que representa los marcos anteriores no son al azar, sino que deben
seguir la herencia establecida entre los diferentes marcos.
En representación formal:
arteria(aorta)
diámetro(aorta, 2,3 mm)
diámetro(cava_superior, 1,7 mm)
diámetro(arteria_pulmonar_izq, 1,8 mm)
arteria(arteria_pulmonar_izq)
vena(cava_superior)
Universidad Nacional de Colombia 55
Inteligencia artificial
pobre_en(arteria, oxígeno)
rica_en(vena, oxígeno)
∀x arteria(x) => tejido(x,muscular)
∀x arteria(x) => rica_en(x,oxígeno)
∀x arteria(x) => vaso_sanguíneo(x)
∀x vena(x) => tejido(x,fibra)
∀x vena(x) => vaso_sanguíneo(x)
∀x vaso_sanguíneo(x) => contiene(x,sangre)
∀x vaso_sanguíneo(x) => forma(x,tubular)
Existen básicamente dos modos en que los marcos han sido y son utilizados:
Almacenes de información:
Aquí, los marcos significan ante todo una forma estructurada de almacenar
información. La distinción entre clases y objetos y su organización en forma de red
jerárquica permite utilizar la herencia de propiedades como mecanismo de
razonamiento por defecto. La capacidad de procesamiento asociada a cada marco varía
notablemente de un sistema a otro. En un extremo, los marcos constituyen una especie
de armario en cuyos cajones (los campos) se almacenan los datos (semejante a una
base de datos relacional). En el otro extremo, son los propios objetos quienes realizan
la inferencia (programación orientada a objetos).
Un agente puede considerarse como aquel objeto que percibe su ambiente y que
responde o actúa en dicho ambiente. Percibe por medio de sensores; en los humanos,
los sensores son: ojos, oídos, olfato, tacto,... Respondemos por medio de efectores
como: manos, pierna, boca. En una máquina, estos efectores son motores; en un
programa son acciones. Un agente robótico tiene como sensores cámaras y telémetros
infrarrojos, y los motores le sirven como efectores.
Un agente racional18 es aquel que hace lo correcto (de acuerdo con ciertos parámetros
o medidas de desempeño especificadas). Para determinar lo correcto hay que definir:
* Cuál es el criterio que sirve para definir qué tan exitoso es un agente.
* Cuándo evaluar el desempeño.
Hay que considerar que sería imposible diseñar un agente para que satisfaga
adecuadamente la realización de lo correcto siempre, a menos que conozcamos la
solución a todos los problemas. Con esto se dice: un agente racional deberá emprender
todas aquellas acciones que favorezcan obtener el máximo de su medida de
rendimiento, basándose en el conocimiento y en las percepciones. El concepto de
agente permite pensar en él como herramienta para el análisis de sistemas inteligentes.
El ambiente plantea tantos desafíos que algunas veces resulta muy difícil para un
software desempeñarse adecuadamente.
Ejercicio. Construir agentes teniendo como base la función agente, antes definida. Sea
un agente conducido por una tabla:
Las acciones que ha de realizar este taxista deben concordar con las que efectúa un
58 Luis Carlos Torres Soler
Representación del conocimiento
conductor humano: acelerar, frenar, virar,...
¿Cuál sería la medida de desempeño? Entre las medidas deseables es llegar al destino
correcto, no realizar violaciones de tránsito ni molestias a otros conductores, ofrecer
seguridad y comodidad a los pasajeros,...
Al mirar con mucho cuidado estas consideraciones, podemos proponer diversos tipos
de programas agentes:
* Agentes de reflejo simple.
* Agentes bien informados.
* Agentes basados en metas.
* Agentes basados en utilidad.
La figura 2.13 muestra la estructura del agente reflejo y también cómo se combinan las
percepciones prevalecientes con el estado interno anterior para generar la descripción
actualizada del estado prevaleciente.
Las metas no bastan por sí mismas para generar una conducta de alta calidad, son
muchas las acciones que permitirían que el agente llegue a la meta, pero de todas ellas,
algunas son más rápidas, seguras y confiables. Estas decisiones llevan a los agentes a
obtener mayor utilidad.
La utilidad es una función que correlaciona un estado con un valor el cual caracteriza
el grado de satisfacción (desempeño). La estructura general de un agente basado en
utilidad se visualiza en la figura 2.15.
El criterio que sirve para definir qué tan exitoso es un agente en la elaboración de una
tarea encomendada es la medida del desempeño; es decir, es el medio de evaluación de
las acciones del agente. Sin embargo, no es posible utilizar una medida fija que pueda
aplicarse por igual a todos los agentes, ya que depende de la tarea (problema,
situación) y del criterio de cada evaluador.