You are on page 1of 11

Act 12: Leccin evaluativa Unidad No.

3
Representacin de conocimiento y razonamiento[1] [2]
El rea de representacin de conocimiento y razonamiento (KR&R por sus siglas en
ingles Knowledge Representation & Reasoning, KR&R) trata fundamentalmente del
problema de desarrollar principios, conceptos y tcnicas, tanto generales como
especficas, para representar, mantener y manipular conocimiento en dominios
particulares. Es una de las subdisciplinas histricamente ms importantes de la IA, junto
con la resolucin de problemas. Se cree en general que para que un agente pueda actuar
de forma inteligente debe tener el conocimiento apropiado y debe poder razonar con l.

Adems de su centralidad en IA, KR&R ((Knowledge Representation & Reasoning, KR&R) tuvo una
influencia importante en la computacin en general. El desarrollo de los lenguajes orientados a
objetos y los lenguajes de especificacin diseados con Prolog como modelo son dos ejemplos de
esta influencia. Morgenstern y Thomason (2000) dicen que Un buen curso de KR puede ser un
abridor de ojos intelectual. Ofrece a los estudiantes una excelente oportunidad
frecuentemente nica de ver cmo interactan las ideas de la ciencia de la computacin con el
desarrollo de sistemas. Los estudiantes tpicos de ciencia de la computacin llegan a su primer
curso de IA con buenas destrezas de programacin y una razonable cantidad de experiencia en
proyectos de pequea escala. Pero sin KR, es improbable que comprendan la importancia de
analizar la tarea de razonamiento que enfrentan, de separar los elementos declarativos, o de
modularizar el diseo del sistema. KR no solo sirve como un tema importante por derecho propio,
al introducir los temas de investigacin tradicionalmente cubiertos por KR, sino que tambin hace
posible la transicin de una comprensin ingenua a una ms sofisticada del diseo de sistemas.
Sandewall (2000) compara el papel de la representacin de conocimiento en IA y la ciencia de la
computacin en general con el del anlisis matemtico en ingeniera: ambos seran herramientas
conceptuales y notacionales para modelizar fenmenos. Morgenstern y Thomason (2000)
sostienen que KR&R es importante para un currculo equilibrado y exitoso de ciencia de la
computacin, principalmente debido a que sera uno de los modos ms eficientes de ilustrar la
importancia de las ideas cientficas en el desarrollo de software.

(Knowledge Representation & Reasoning, KR&R) trata fundamentalmente del problema


de desarrollar principios, conceptos y tcnicas, tanto generales como especficas, para
representar, mantener y manipular conocimiento en dominios particulares.
Su respuesta :
Verdadero
Correcto

Para que un agente pueda actuar de forma inteligente debe


Su respuesta :

tener el conocimiento apropiado poder razonar con el conocimiento que posea


Correcto !!!
Morgenstern y Thomason (2000) dicen que Un buen curso de Representacin del
conocimiento (KR&R) puede ser un abridor de ojos intelectual. Ofrece a los estudiantes
una excelente oportunidad frecuentemente nica de ver cmo interactan las ideas de
la ciencia de la computacin con el desarrollo de sistemas.
Su respuesta :
Correcto
Correcto
Una cuestin central de KR&R es la representacin del conocimiento mediante algn lenguaje
formal que permita controlar efectivamente qu conocimiento se representa y de qu forma se lo
procesa, es decir, se produce nuevo conocimiento mediante la utilizacin de alguna forma de
razonamiento (inferencia). Es por esto que las herramientas y conceptos de la lgica son
instrumental y conceptualmente muy importantes en KR&R. Sin embargo, no deben confundirse
las teoras y programas de investigacin de cada una de estas disciplinas.

http://campus07.unadvirtual.org/moodle/file.php/59/DocumentosAct/imagenes/lep1.JPG

Tcnicas de Representacin del Conocimiento


Antes de ver los diferentes tipos de formalismos y lenguajes de representacin de
conocimiento que se han ido creando a lo largo de los aos, merece la pena enumerar
algunas de las diferentes tcnicas de representacin del conocimiento que se han utilizado,
y sobre las que se han sustentado estos lenguajes. Hay que tener en cuenta que no hay una
tcnica mejor que las dems, sino que cada una de ellas ha sido aplicada con ms xito que
otras en determinados mbitos, por lo que disponen de caractersticas que las hacen ms
apropiadas para determinados problemas.
Tripletas Objeto-Atributo-Valor: se utilizan para representar hechos acerca de objetos y
sus atributos, especificando el valor de un atributo para un determinado objeto. Por
ejemplo, para representar que el coche es rojo, se tendra una tripleta Coche-Color-Rojo.
Tpicamente estas tripletas se representan en forma de grafos, utilizando una elipse para el
objeto, un cuadrado para el valor, y una flecha o arco dirigido entre ambos elementos
representando el atributo.
Uncertain Facts o Hechos Inciertos: las tripletas O-A-V indican que un objeto tiene un
valor asociado a un atributo de forma completa y con toda la certeza, es decir, un coche es
rojo o no lo es. Sin embargo no permiten asignar graduaciones de certeza en estas
asignaciones. As por ejemplo, existen situaciones en las que podramos necesitar
representar que un determinado objeto posee un atributo con una determinada certeza, lo
que se suele denominar certainty factor. Mediante esta tcnica sera posible representar
sentencias como El coche es bastante potente, asignando una factor de certeza de 0.7 al

atributo potente
Fuzzy Facts o Hechos Difusos: permiten representar conocimiento impreciso o ambiguo.
Por ejemplo, la expresin Juan es viejo, en comparacin con Juan es joven o Juan es
de mediana edad, puede no ser sencilla de representar con otras tcnicas, ya que la edad es
algo gradual, no se pasa de ser joven un da a ser de mediana edad al siguiente. Esta tnica
lo que permite es definir funciones de membresa que asignan un valor entre 0 y 1 a cada
valor. As por ejemplo, la funcin de membresa de edad, asignara un 1 a joven si la
persona tiene 10 aos, pero este valor ira decreciendo conforme aumentase la edad hasta
llegar a 0, pero teniendo en cuenta que antes de eso se habra ido incrementando el valor de
membresa de mediana edad e incluso de viejo, pudiendo haber edades como los 45, en
los que se podra decir que con una persona es joven con un 0.2, vieja con un 0.2 y de
mediana edad con un 0.6.
Rules: esta tcnica representa el conocimiento presentando unas premisas o condiciones y
las conclusiones o acciones que de ellas se derivan. Se suelen representar de la forma IF THEN -. Las premisas se colocan a continuacin del IF en forma normalmente de tripletas
O-A-V y utilizando operadores booleanos, mientras que las conclusiones definiran nuevos
hechos o realizaran acciones. Por ejemplo, podramos tener la siguiente regla para
representar que si hay que ir a trabajar y est lloviendo hay que coger el paraguas: IF es
hora de ir a trabajar AND est lloviendo THEN tengo que coger el paraguas.
Redes Semnticas o Mapas Conceptuales: se basa en la utilizacin de grafos que
representan conceptos, objetos y relaciones entre ellos. Estas relaciones pueden ser de
cualquier tipo, pero predominan las relaciones de tipo kind-of, part-of y is-a, que
permiten representar estructuras jerrquicas de conocimiento. Estn relacionadas tambin
con las tripletas O-A-V, ya que en las redes semnticas se suelen incluir tambin estas
estructuras para dar informacin sobre los atributos de los diferentes objetos.
Frames o Marcos: es una tcnica de representacin muy similar a la utilizada en la
programacin orientada a objetos. Consta de class frames , similares a las clases, que
representan conjuntos de objetos con caractersticas similares. A partir de ellas se crean las
instance frames que representan elementos concretos de esa clase. Por ejemplo, podramos
tener el marco de clase Persona y la instancia Juan. Cada frame dispone por otra parte
de una serie de slots equivalentes a los atributos y propiedades en orientacin a objetos.
Existe tambin la posibilidad, a diferencia de en las redes semnticas, de definir lo que se
llaman facets sobre estos slots, de forma que se les aporte comportamiento procedural. Por
ejemplo, sobre un slot edad podramos aadir el facet if-changed, para comprobar el
valor introducido.
La tcnica Fuzzy Facts o Hechos Difusos permite representar el conocimiento
presentando unas premisas o condiciones y las conclusiones o acciones que de ellas se
derivan. Se suelen representar de la forma IF - THEN
Su respuesta :
Falso

Correcto !!!
No es una tcnica utilizada para representar el conocimiento
Su respuesta :
Pistas
Correcto !!!
Por favor realizar el emparejamiento de las siguientes definiciones:
Su respuesta :

permiten representar conocimiento impreciso o ambiguo. = Fuzzy Facts o Hechos Difusos


esta tcnica representa el conocimiento presentando unas premisas o condiciones y las
conclusiones o acciones que de ellas se derivan. Se suelen representar de la forma IF THEN -. Las premisas se colocan a continuacin del IF en forma normalmente de tripletas
O-A-V y utilizando operadores booleanos, mientras que las conclusiones definiran nuevos
hechos o realizaran acciones. = Rules
se basa en la utilizacin de grafos que representan conceptos, objetos y relaciones entre
ellos. Estas relaciones pueden ser de cualquier tipo, pero predominan las relaciones de tipo
kind-of, part-of y is-a, que permiten representar estructuras jerrquicas de
conocimiento. = Redes Semnticas o Mapas Conceptuales
es una tcnica de representacin muy similar a la utilizada en la programacin orientada a
objetos. Consta de class frames , similares a las clases, que representan conjuntos de
objetos con caractersticas similares. A partir de ellas se crean las instance frames que
representan elementos concretos de esa clase. = Frames o Marcos
Correcto
Formalismos y Lenguajes de Representacin del Conocimiento
A partir de las tcnicas de representacin del conocimiento del punto anterior, se han
diseado a lo largo de los aos diversos formalismos y lenguajes que permiten modelar de
un modo formal el conocimiento representado mediante ellas. Existen diversos formalismos
para la representacin del conocimiento, cada uno con sus propios lenguajes y cada uno con
sus ventajas e inconvenientes. En esto, al igual que en la Ingeniera del Software, no existe
la tcnica ideal que nos permita resolver cualquier problema de la mejor manera.
Depender del tipo de problema, del conocimiento que se quiera representar, de la
expresividad que se necesite, y del uso que se le quiera dar, el que un formalismo y un
lenguaje sea ms conveniente que otro.
En los siguientes puntos voy a explicar algunos de los ms destacados lenguajes que se han
utilizado y que se siguen utilizando hoy en da en diferentes mbitos.

Lenguajes basados en Lgica Formal


Muchos de los sistemas de representacin del conocimiento de la actualidad se basan en
algn tipo de lgica formal. La lgica formal aporta un buen nmero de ventajas para la
representacin del conocimiento y su manejo, partiendo de una sintaxis y semntica bien
definidas que detallan perfectamente la forma de construir sentencias y razonamientos
sobre ellas.
Lgica Proposicional
Una proposicin es una sentencia que puede decirse que es falsa o verdadera. En la lgica
proposicional se asigna smbolos a cada sentencia y se utilizan operadores lgicos sobre
ellos para crear proposiciones ms complejas. Los smbolos utilizados son AND, OR,
NOT, IMPLIES (), y EQUIVALENCE. Partiendo de los smbolos y utilizando los
diferentes operadores se construyen proposiciones complejas, las cuales es posible obtener
si son ciertas o falsas operando a partir de los valores de verdad de cada uno de los
smbolos iniciales, utilizando el clculo proposicional.
Lgica de Primer Orden
Es una ampliacin de la lgica proposicional a partir de dos operadores ms, el
cuantificador universal y el existencial . Utiliza tambin smbolos para representar
conocimiento y operadores lgicos para construir sentencias ms complejas, pero a
diferencia de la lgica proposicional, los smbolos pueden representar constantes, variables,
predicados y funciones.
Las constantes son smbolos que comienzan por minsculas y las variables smbolos que
empiezan por maysculas. Los predicados representan afirmaciones sobre objetos, por
ejemplo, la afirmacin El libro est en casa se representara como un predicado de
nombre in:
in(libro, casa)

Se podra reescribir el predicado de forma ms general sustituyendo las constantes por


variables de la forma: in(X, Y). Con l podramos representar diferentes proposiciones
como El libro est en casa, El coche est en el garaje, Juan est en el trabajo.
El ltimo smbolo que queda por explicar son las funciones. stas permiten asociar
elementos de un conjunto a un elemento de otro conjunto, por ejemplo: propietario(casa) =
juan.
Con todo esto podramos representar el mismo ejemplo que con lgica proposicional de la
siguiente forma:
in(libro, casa) in(juan, trabajo) puedeLeer(juan, libro)

En cuanto a los dos nuevos operadores, y , permiten delimitar el alcance de las variables

en las sentencias, de forma que X se leera como para toda x y X como existe un
x tal que.
X puedeLeer(X, libro)
X puedeLeer(X, libro)

: alguien puede leer el libro


: todo el mundo puede leer el libro

KIF
KIF es un lenguaje lgico basado en lgica de primer orden que fue creado con el objetivo
de actuar como interlingua entre diferentes formalismos y lenguajes de representacin, de
forma que para pasar de un lenguaje A a B no hiciera falta crear un mapeo especfico, sino
que fuera suficiente con existir los mapeos A-Kif y Kif-B.
KIF dispone de su propia sintaxis y algunos aadidos semnticos sobre la lgica de primer
orden.
Lgicas Descriptivas
Las lgicas descriptivas estn muy relacionadas con el desarrollo de las ontologas tal como
se usan en la actualidad en la web semntica. La lgica descriptiva se basa en representar el
conocimiento utilizando por una una terminologa o vocabulario del dominio (TBOX) y por
otra un conjunto de afirmaciones (ABOX).
El vocabulario consiste en conceptos y roles. Los conceptos corresponden a conjuntos de
elementos y los roles a relaciones binarias entre elementos. Existen conceptos y roles
atmicos y complejos.
Por ejemplo, si tenemos como conceptos atmicos Persona y Hembra y como role
atmico tieneHijo, podramos tener como TBOX representando las relaciones familiares
algo como lo siguiente:
Mujer Persona Hembra
Hombre Persona Mujer
Madre Mujer tieneHijo.Persona
Padre Hombre tieneHijo.Persona
Progenitor Madre Padre
Esposa Mujer tieneMarido.Hombre
Marido Hombre tieneEsposa.Mujer

La informacin recogida en la ABOX podra ser algo como:


tieneHijo(Juan, Miguel)
Padre(Juan)
Esposa(Juan, Mara)

Se pueden construir y existen razonadores que permiten razonar sobre las TBOX y ABOX,
pudiendo determinar por ejemplo si el contenido de la TBOX es factible, o qu relaciones
estn incluidas en otras. Al trabajar sobre el ABOX, un razonador puede indicar que a partir

de las afirmaciones existentes un determinado elemento es una instancia de un concepto y


si las afirmaciones son consistentes con el modelo.
Lenguajes basados en Frames o Marcos
Estos lenguajes son similares a los lenguajes de programacin orientados a objetos, en el
sentido de que modelan el conocimiento utilizando clases (frames), atributos, objetos y
relaciones, y utilizan relaciones de generalizacin y especializacin para representar la
organizacin jerrquica de los conceptos.
Uno de los posibles lenguajes basados en frames es KM. Mediante este lenguaje definimos
a continuacin que cada venta consta de un objeto que se vende y un vendedor y
comprador:
(every Venta has (vendedor((a Agent))) (objeto((a Thing))) (comprador((a Agent))) )
Inicialmente se crearon multitud de lenguajes basados en marcos diferentes, la mayora
incompatibles entre si. En 1985 se creo KL-ONE que utilizando formalismos de lgica
descriptiva aport rigor a diferentes lenguajes que se crearon posteriormente basados en l.
Es importante mencionar que muchos de los lenguajes basados en marcos se pueden
considerar como nicamente sintaxis diferentes de la lgica de primer orden y que por lo
tanto no ofrecen ms expresividad que ella. Esto hace tambin por otro lado que tengan
representaciones equivalentes en el lengujaje KIF visto en un punto anterior.
Lenguajes basados en Reglas
Estos lenguajes han sido durante mucho tiempo posiblemente los ms usados de todos,
principalmente debido a su estrecha relacin con los Sistemas Expertos utilizados en
Inteligencia Artificial. Estos lenguajes son fciles de entender debido a su sencillez
conceptual y a su paralelismo con las estructuras de control ms simples utilizadas en
programacin.
Existen diversos tipos de lenguajes basados en reglas, que se diferencian por el tipo de
cosas permitidas en las reglas, como si permiten nicamente la definicin de afirmaciones
en la parte THEN o si tamben permiten comportamiento procedural, el uso de lgica difusa
en los hechos, etctera. Una de las tendencias ms recientes pasa por mezclar los conceptos
de frames y reglas, como en el caso de Jess, para disponer de lenguajes que permitan reunir
la informacin de cada concepto y asociar a alguno de sus slots conjuntos de reglas. Esto
aporta orden a la informacin, que suele ser algo difcil de conseguir conforme la base de
conocimiento crece y el nmero de reglas aumenta, al tener dispersa la informacin de cada
concepto y mezclada con otros.
Este tipo de lenguajes han recibido tambin un fuerte impulso a partir de la aparicin de la
web semntica, ya que que se piensa en ellos como herramientas para definir servicios web,
y como herramienta base que permita definir la forma en la que pueden interactuar las

aplicaciones de comercio electrnico. Para ello se ha creado una iniciativa Rule Markup
Initiative que ha diseado el lenguaje RuleML , basado en XML y que por lo tanto est
pensado desde su concepcin para garantizar la interoperabilidad necesaria en el web.
Este nuevo lenguaje incluye las siguientes caractersticas:
Reglas de pruduccin: reglas del tipo IF-THEN habituales en los sistemas expertos.
Reglas de integridad: afirmaciones que se deben cumplir en cualquier estado del sistema
Reglas reactivas: reglas que realizan acciones cuando se cumple un evento o se dan unas
determinadas circunstancias
Reglas de derivacin: reglas para definir conceptos derivados a partir de otros
Reglas de transformacin: permiten crear reglas a partir de un llamador, una condicin, y
una transformacin.
Podemos representar en RuleML la sentencia Si a alguien le gusta la lectura, entonces a
Juan le gusta esa persona de la siguiente forma:
<rulebase label="gustaLectura"> <imp> <_head><atom> <rel>gustar</rel>
<ind>Juan</ind> <var>x</var> </atom></_head> <_body><atom> <rel>gustar</rel>
<var>x</var> <ind>lectura</ind> </atom></_body> </imp> </rulebase>
Ontologas
El concepto de ontologa en el mbito de la informtica se obtuvo del campo de la filosofa,
con el objetivo de abarcar cualquier tipo de representacin de conocimiento. Es por esto
que el concepto de ontologa es muy amplio y se ha venido usando prcticamente para
cualquier tipo de modelado de dominio de conocimiento, y razn por la cual tambin, hay
multitud de definiciones que intentan acortar formalmente qu es una ontologa y qu no lo
es.
Una de las definiciones ms consensuadas es la proporcionada por Grubber, An ontology is
a formal explicit specification of a shared conceptualisation. En esta definicin, explicit
se refiere a la necesidad de detallar los diferentes conceptos que forman la ontologa,
formalindica que el conocimiento que modelemos debe representarse segn un lenguaje
formalizado e interpretable fcilmente y shared indica que la ontologa modela el
conocimiento comn sobre la materia, para las diferentes personas que deben usarla. Este
ltimo punto referido al conocimiento compartido es una de las principales diferencias
sobre otros modelos de conocimiento, en los que muchas veces no se tena en cuenta el
concepto de concocimiento compartido.
An as, esta definicin es muy amplia, y engloba el modelado de conocimiento con muy
diferentes tcnicas, formalismos y lenguajes. Dentro del mbito de la web semntica hay un

conjunto de lenguajes basados en XML que se han ido definiendo como estndares, como
son el caso de RDF , RDFS o DAML+OIL. A partir de estos el W3C creo la propuesta de
OWL, con sus 3 sublenguajes (OWL-Lite, OWL-DL y OWL-Full), como lenguaje para
modelar ontologas en el entorno de la web semntica, aunque es posible utilizar este
lenguaje para representar modelos de dominio en cualquier mbito que sea necesario, como
para la gestin de procesos, o incluso requisitos software, por poner un par de ejemplos.
En cuanto a la relacin de OWL con los formalismos de representacin que hemos visto,
una caracterstica importante es que el sublenguaje OWL-DL, es compatible con la lgica
descriptiva, de donde obtiene su nombre, teniendo por tanto su mismo poder expresivo.
Ms en concreto, es OWL-DL es equivalente a un tipo de lgica descriptiva denominado
SHOIN(D). OWL-Lite se corresponde tambin con una lgica descriptiva, pero de menor
poder expresivo, denominada SHIF(D).
Referencias:
Alberto Pacheco , http://www.socrates.itch.edu.mx/~apacheco/ai/repconoc.htm, Ultima actualizacin: Mzo 10, 1999
Dragan Gaevic, Dragan Djuric, Vladan Devedic, Bran Selic, Model Driven Architecture and Ontology Development , Springer, 2006.
http://www.eslomas.com/index.php/archives/2006/12/14/tecnicas-y-lenguajes-para-la-representacion-del-conocimiento/

En los lenguajes basados en lgica formal se asignan smbolos a cada sentencia y se


utilizan operadores lgicos sobre ellos para crear proposiciones ms complejas
Su respuesta :
Falso
Correcto !!!
Los lenguajes basados en marcos o frames son similares a los lenguajes de programacin
orientados a objetos, en el sentido de que modelan el conocimiento utilizando clases
(frames), atributos, objetos y relaciones, y utilizan relaciones de generalizacin y
especializacin para representar la organizacin jerrquica de los conceptos.
Su respuesta :
Verdadero
Correcto !!!
No es uno de los sublenguajes definidos en la propuesta de OWL presentada por la W3C
Su respuesta :
OWL-Uml
Correcto !!!

es un lenguaje lgico basado en lgica de primer orden que fue creado con el objetivo de
actuar como interlingua entre diferentes formalismos y lenguajes de representacin, de
forma que para pasar de un lenguaje A a B no hiciera falta crear un mapeo especfico,
sino que fuera suficiente con existir los mapeos A-??? y ???-B.
Dispone de su propia sintaxis y algunos aadidos semnticos sobre la lgica de primer
orden.
Su respuesta :
KIF
Correcto

You might also like