Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3 Representacion Del Conocimiento (Es)
3 Representacion Del Conocimiento (Es)
Conocimiento y razonamiento
Las personas conocen cosas y realizan
razonamientos de forma automtica.
Y los agentes artificiales?
Conocimiento y razonamiento en forma
de estructuras de datos y algoritmos.
Para que el conocimiento sea accesible
para los ordenadores, se necesitan
sistemas basados en el conocimiento
(SBCs).
2
Conocimiento y razonamiento
En los SBCs se usan lenguajes
declarativos:
Expresiones ms cercanas a los leguajes
humanos
Inferencia en lgica
Se quieren conseguir algoritmos que
puedan responder a preguntas
expresadas en forma lgica.
Tres grandes familias de algoritmos de
inferencia:
encadenamiento hacia delante y sus
aplicaciones en los sistemas de produccin
encadenamiento hacia atrs y los sistemas
de programacin lgica
sistemas de demostracin de teoremas
5
basados en la resolucin
Sistemas de produccin
La representacin mediante formalismos
lgicos es declarativa pero puede
representar procedimientos.
Se describen cuales son los pasos para
resolver un problema como una cadena
de deducciones.
La representacin se basa en dos
elementos:
hechos: proposiciones o predicados
reglas: formulas condicionales
Sistemas de produccin
Un problema queda definido por:
Base de hechos: que describen el problema
concreto.
Base de reglas: que describen los
mecanismos de razonamiento que permiten
resolver problemas.
Motor de inferencia: que ejecuta las reglas y
obtiene una cadena de razonamiento que
soluciona el problema.
Hechos: terminologa
Base de hechos (BH):
Memoria de trabajo
Memoria a corto plazo
Aserciones
Ejemplos:
x es un gato
x es un animal domstico
Reglas: terminologa
Si
condiciones
antecedentes
premisas
entonces
- acciones
- consecuentes
- conclusiones
Base de reglas:
Motor de inferencia:
terminologa
El motor de inferencia o mecanismo de control
est compuesto de dos elementos:
Interprete de reglas o mecanismo de inferencia
Mecanismo de razonamiento que determina qu reglas de la
BC se pueden aplicar para resolver el problema, y las aplica
Motor de inferencia
Fases del ciclo bsico:
1. Deteccin (filtro):
Reglas pertinentes
2. Seleccin:
Qu regla?
Motor de inferencia
Fases del ciclo bsico:
3. Aplicacin
Aplicacin de la regla sobre una instanciacin de
les variables: modificacin de la memoria de
trabajo
1. Deteccin
Construccin del conjunto de reglas
aplicables
El intrprete de reglas realiza los clculos
necesarios para obtener las
instanciaciones que son posibles en cada
estado de resolucin del problema
(comparacin o matching).
Una regla puede instanciarse ms de
una vez, caso de existir variables que lo
permitan.
2. Seleccin
Las reglas son o no aplicadas
dependiendo de la estrategia de control:
estrategia fija
estrategia dinmica prefijada
estrategia guiada por meta-reglas
2. Seleccin
Ejemplos de estrategia de control:
1 regla por orden en la base de conocimiento
la regla ms/menos utilizada
la regla ms especfica (con ms literales) / ms general
la regla que tenga el grado de certeza ms alto
la instanciacin que satisfaga los hechos:
ms prioritarios
ms antiguos (instanciacin ms antigua)
ms nuevos (instanciacin ms reciente)
3. Aplicacin
Ejecucin de la regla
Modificacin de la base de hechos (en el razonamiento hacia
delante)
Nuevos clculos, nuevas acciones, preguntas al usuario
Nuevos sub-objetivos (en el razonamiento hacia atrs)
Tipos de razonamiento
Deductivo, progresivo, encadenamiento
hacia delante, dirigido por hechos
evidencias, sntomas, datos conclusiones
Ventajas:
Deduccin intuitiva
Facilita la formalizacin del conocimiento al
hacer un uso natural del mismo
Prolog: lenguaje de
programacin lgica
Programa Prolog:
Ejemplo
gato (bufa).
animaldomestico (X) :- gato (X).
animaldomestico (X) :- pequeo (X), conplumas (X).
p q q :- p
Consultas: ?- predicado.
La negacin se representa con la falta de la asercin
correspondiente: asuncin de mundo cerrado.
Clusula de Horn
De Wikipedia:
Las clusulas de Horn (instrucciones ejecutables de PROLOG) tienen el siguiente
aspecto:
hija (*A, *B) :- mujer (*A), padre (*B, *A). que podra leerse as: "A es hija de B si A es
mujer y B es padre de A".
Obsrvese que, en PROLOG, el smbolo :- separa la conclusin de las condiciones. En
PROLOG, las variables se escriben comenzando con un asterisco. Todas las
condiciones deben cumplirse simultneamente para que la conclusin sea vlida. Por
tanto, la coma que separa las distintas condiciones es equivalente a la conjuncin
copulativa (en algunas versiones de PROLOG se sustituye la coma por el smbolo &). La
disyuncin, en cambio, no se representa mediante smbolos especiales, sino definiendo
reglas nuevas, como la siguiente:
hija (*A, *B) :- mujer (*A), madre (*B, *A). que podra leerse as: "A es hija de B si A es
mujer y B es madre de A".
Clusulas con como mucho un literal positivo.
Encadenamiento hbrido
Partes de la cadena de razonamiento que
conduce de los hechos a los objetivos se
construyen deductivamente y otras partes
inductivamente: exploracin bi-direccional
El cambio de estrategia suele llevarse a cabo
a travs de meta-reglas. Ejemplos:
funcin del nmero de estados iniciales y finales
funcin de la direccin de mayor ramificacin
funcin de la necesidad de justificar el proceso de
razonamiento
Factor de ramificacin
Preferible en el sentido del factor ms pequeo
Comparacin (matching)
Es ms complicada en el razonamiento hacia
delante.
Si las condiciones de una regla se cumplen, una vez
aplicada se puede entrar en un ciclo.
Bibliografa complementaria
J. F. Sowa. Knowledge Representation.
Brooks/Cole, 2000.
W. F. Clocksin y C. S. Mellish.
Programming in Prolog: Using the ISO
Standard. Springer, 2003 (primera edicin
de 1981).
29
Informacin y conocimiento
Llamaremos informacin al conjunto de datos bsicos, sin
interpretar, que se usan como entrada del sistema:
los datos numricos que aparecen en una analtica de sangre
los datos de los sensores de una planta qumica
Informacin y conocimiento
Los sistemas de IA necesitan diferentes tipos de
conocimiento que no suelen estar disponibles en bases
de datos y otras fuentes clsicas de informacin:
Conocimiento sobre los objetos en un entorno y
posibles relaciones entre ellos
Conocimiento difcil de representar de manera
sencilla, como intencionalidad, causalidad,
objetivos, informacin temporal, conocimiento que
para los humanos es de sentido comn
Intuitivamente podemos decir que:
Conocimiento = informacin + interpretacin
31
[1] Es un substituto
Es un substituto de los objetos del mundo
real o imaginario.
Las operaciones sobre la RC substituyen
acciones en el mundo.
El mismo razonamiento es un substituto
de la accin.
Inversamente, las acciones pueden
sustituir el razonamiento.
Preguntas
Un substituto de qu? semntica
Hasta que punto exacto como
substituto? fidelidad
Ms fidelidad no es automticamente mejor
La fidelidad perfecta es imposible
Las mentiras son inevitables
Las inferencias incorrectas son inevitables
Terminologa y perspectiva
Inferencia = obtencin de nuevas
expresiones desde expresiones previas
Tecnologas de representacin del
conocimiento (TRCs):
Lgica
Reglas
Marcos
Redes semnticas
Ontologas
Estilos de respuestas
Qu inferencias estn
especialmente impulsadas?
Ejemplos
Ontologas: propagacin de valores, enlaces
Reglas: encadenamiento, asociaciones
Lgica: proposiciones subordinadas (lemas),
grafos de conexin
Explosin combinatoria
Necesidad de gua sobre lo que se debera
hacer, no slo lo que se puede hacer
Tipos de conocimiento
Procedimental: funciones, reglas de produccin,
lenguajes de programacin convencionales
Declarativo (o no procedimental): lgica
Pero la lgica puede representar el mismo tipo
de procedimientos de un lenguaje de
programacin. (!)
Diferencia primaria: la lgica requiere relaciones
o predicados explcitos para expresar la
secuencia, mientras que los lenguajes
procedimentales dependen de la secuencia
implcita en la estructura del programa.
45
Conocimiento declarativo
Conocimiento relacional simple
Conjunto de relaciones del mismo tipo que las de una
base de datos
Conocimiento heredable
Estructuracin jerrquica
Relaciones es-un (clase-clase), instancia-de (claseinstancia)
Herencia de propiedades y valores
Herencia simple y mltiple
Valores por defecto
Conocimiento inferible
Descripcin va lgica tradicional
Ejemplo de uso: en la resolucin
Nivel de granularidad
A qu nivel de detalle se tiene que representar
el mundo?
Primitivas
Ej.: relacin de parentesco
Primitivas: madre, padre, hijo, hija, hermano,
hermana
Bruno es abuelo de Kora
Iain es primo de Ricardo
El frame problem
Nihil omnino fit sine aliqua ratione
Nothing at all can happen without some
reason
Ejemplo:
Persistencia
El frame problem
La declaracin en castellano que el
semforo se queda en verde o en rojo
no es necesariamente capturada por los
axiomas de un programa.
Se necesitan dos axiomas de
persistencia adicionales:
El frame problem
La aproximacin general al frame problem
se basa en el principio de razn suficiente
de Leibniz: Nothing at all can happen
without some reason
Es un axioma de meta-nivel que se usa para
generar uno o ms axiomas de nivel ms
bajo para cada ejemplo concreto.
Implica que el color del semforo debera
quedarse igual a menos que no haya alguna razn
para que cambie.
Historia de la representacin
del conocimiento
Los bloques de construccin primarios
para cualquier esquema de
representacin del conocimiento son las
categoras.
Se considerar la evolucin desde redes
semnticas a marcos a ontologas.
Se considerarn tambin los mapas
conceptuales.
51
Redes semnticas
Histricamente, las redes semnticas
proporcionan:
una ayuda grfica para visualizar una
base de conocimiento
algoritmos eficientes para inferir
propiedades de un objeto en base a su
pertenencia a una categora.
52
Redes semnticas
Charles S. Peirce (1909) desarroll los
grafos existenciales como el primer
formalismo de redes semnticas usando
lgica moderna.
Ross Quillian (1961) inici el trabajo con
las redes semnticas dentro del campo de
la IA.
53
Redes semnticas
Una red semntica es un grafo donde:
los nodos representan conceptos
los arcos (dirigidos) representan relaciones
entre conceptos
Marcos
Un artculo influyente de Marvin Minsky (1975)
present una nueva versin de las redes
semnticas: los marcos.
Un marco era una representacin de un objeto
o categora o concepto, con atributos y
relaciones con otros objetos o categoras o
conceptos.
El artculo fue criticado por ser un conjunto de
ideas recicladas desarrolladas en el campo de
la programacin orientada a objetos, como la
herencia y el uso de valores por defecto. 55
Marcos
A los marcos se asocia normalmente una
parte procedimental.
Las relaciones y atributos, y no solo las
categoras, tienen una estructura que
permite describir su semntica.
Ejemplo de marco:
Arteria
superclases: Vaso sanguneo
pared: Muscular
forma:
56
Marcos
Un marco est generalmente dividido en:
una parte declarativa (atributos o slots)
una procedimental (mtodos o demons)
Marcos
Las relaciones poseen una descripcin
formal que establece su semntica y su
funcionamiento.
Dividimos las relaciones en dos simples
clases:
taxonmicas:
enlace ES-UN (subclase/clase)
enlace INSTANCIA-DE (instancia/clase)
no taxonmicas
58
Marcos
Los atributos poseen un conjunto de propiedades
que permiten establecer su semntica:
dominio
rango
cardinalidad
valor por defecto
mtodos
...
Permiten definir procedimientos de manera que se
realicen clculos bajo ciertos eventos (a travs de los
mtodos).
59
Marcos
Los mtodos pueden ser:
if-needed (se activan al consultar el atributo);
if-added (se activan al asignar valor al
atributo);
if-removed (se activan al borrar el valor del
atributo);
if- modified (se activan al modificar el valor
del atributo).
Marcos: atributos
Etiqueta
nombre:
valor:
dominio: lista de marcos donde puede aparecer
rango (tipo de valores que admite): lista, clase
cardinalidad mxima:
cardinalidad mnima (si es 1, el atributo es obligatorio):
valor-por-defecto (a usar si no hay valor):
funcin para calcular valor:
mtodos (funciones con activacin condicionada):
condiciones de herencia (atributo + valor): s/no (por defecto: relaciones
taxonmicas = s; otras = no)
Marcos: mtodos
Son acciones o funciones que permiten obtener
informacin sobre el mismo marco u otros marcos.
Los mtodos pueden invocarse desde marcos
abstractos (clases) o marcos concretos (instancias).
Pueden ser heredables (se permite invocarlos en los
descendientes) o no heredables (exclusivos del marco
donde estn definidos).
A veces, pueden ser invocados con parmetros.
Ejemplo de mtodo if-modified:
Si Deunan.edad tena valor 28 y se modifica a 32, se
activa un mtodo que cambia el valor del atributo
Deunan.ganas-de-casarse de 1 a 5.
63
Marcos: relaciones
Permiten conectar los marcos entre s.
Se define su semntica mediante un
conjunto de propiedades:
dominio
rango
cardinalidad
inversa
transitividad
64
composicin
Marcos: relaciones
Se pueden establecer mtodos que
tienen efecto ante ciertos eventos:
if-added: si se establece la relacin
entre instancias
if-removed: si se elimina la relacin
entre instancias
Se puede establecer el comportamiento
de la relacin respecto al mecanismo de
herencia (que atributos permite heredar).
65
Marcos: relaciones
Etiqueta
nombre:
dominio: lista de marcos
rango: lista de marcos
cardinalidad: 1 o N
inversa: <nombre> (cardinalidad: 1 o N)
transitiva: s/no (por defecto es no)
compuesta: no / descripcin de la composicin
mtodos: {if-added / if-removed} <nombre.accin>
condiciones de herencia: lista de atributos (por
defecto: lista vaca)
66
Marcos: relaciones
Las acciones asociadas a los mtodos no
tienen parmetros.
La expresin <nombre marco>.<nombre
relacin> devuelve el marco (si la
cardinalidad es 1) o la lista de marcos (si
es N) con los que est conectado
<nombre marco> a travs de <nombre
relacin>.
67
Marcos: relaciones
Para consultar la cardinalidad se usa la funcin
card(<nombre marco>.<nombre relacin>)
que devuelve un entero.
Relaciones predefinidas:
enlace ES-UN (inversa: tiene-por-subclase)
transitiva
enlace INSTANCIA-DE (inversa: tiene-porinstancia)
se puede obtener por composicin:
INSTANCIA-DE ES-UN
68
Marcos: relaciones
Funciones booleanas que quedan definidas:
atributo?(<marco>): cierto si <marco> posee
este atributo.
relacin?(<marco>): cierto si <marco> est
conectado con algn otro marco a travs de
la relacin indicada por la funcin.
relacin?(<marco-o>,<marco-d>): cierto si
existe una conexin entre <marco-o> y
<marco-d> etiquetada con la relacin
indicada por la funcin.
69
Marcos: herencia
La herencia permite obtener en un marco el valor o los
valores de un atributo a travs de otro marco con el que esta
relacionado.
En el caso de las relaciones taxonmicas (caso ms
comn) la herencia (de atributos y valores) se da por defecto.
En el resto de las relaciones se ha de establecer de manera
explcita.
Hay atributos no heredables. Ejemplo:
tiene-por-instancia
Dado un marco es posible que la representacin permita
heredar un valor a travs de mltiples relaciones (herencia
mltiple): hay que establecer criterios (ejemplo: camino
ms corto).
70
75
76
77
Ontologa
En filosofa, la ontologa es una disciplina
que se identifica con la metafsica.
Ontologa: teora del ser, es decir, el
estudio de todo lo que es: qu es, cmo
es y cmo es posible.
La ontologa se ocupa de la definicin
del ser y de establecer las categoras
fundamentales de las cosas a partir del
estudio de sus propiedades, estructuras y
78
sistemas.
Ontologas
En los aos 90, en el campo de la IA, se
adopt el termino ontologa para los
esquemas de representacin del
conocimiento basados en redes
semnticas o marcos:
una especificacin formal y explcita de
una conceptualizacin compartida, que
puede ser leda por un ordenador
(Gruber, 1993; Borst, 1997; Studer et al., 1998; Ceccaroni, 2001)
79
Formalidad
Las ontologas son (deberan ser) formales:
tienen que ser lebles por los ordenadores.
Nivel de formalidad:
de altamente informal: lenguaje natural
a rigurosamente formal: trminos con
semntica formal y axiomas
Especificacin explcita
Los tipos de los conceptos y las
restricciones sobre su uso estn
(deberan estar) definidos
explcitamente.
Accesibilidad y transparencia:
documentacin de los detalles tcnicos
81
82
Conceptualizacin
Las ontologas son un modelo abstracto de
algn dominio de algn mundo posible.
Compromiso comn: hacer el mnimo
nmero de afirmaciones posible (slo las
necesarias) sobre el dominio que se est
modelando, dejando a los reutilizadores de
la ontologa la libertad de especializarla e
instanciarla tanto como haga falta.
83
85
86
87
88
89
90
91
92
Ontologas: ejemplo
Conceptos,
organizados
en
taxonomas,
enlazados
por
relaciones,
en acuerdo
con los
axiomas.
95
Ingenieros de ontologas
Los ingenieros del conocimiento
construyen ontologas basadas en
conocimiento consensual sobre un
dominio.
Permiten a un grupo de agentes
determinado (usuarios de la ontologa)
compartir y reutilizar ese conocimiento
dentro del rea de trabajo seleccionada
(el dominio).
96
Metodologas
Existen y estn disponibles varias
metodologas para la construccin de
ontologas:
Mike Uschold
Michael Grninger
Asuncin Gmez-Prez
John Sowa
Construccin cooperativa
De facto estndar:
Protg (Stanford University):
http://protege.stanford.edu
versin 4.0 beta (basada en OWL)
versin 3.4 (basada en marcos)
98
Protg
99
Protg
100
Implementacin
Uschold: directamente en lenguajes
especficos para ontologas (por ejemplo,
Ontolingua, LOOM, KIF)
Gmez-Prez: a nivel de conocimiento
del dominio, a travs de un shell que
traduce a Ontolingua
Protg: entorno visual con entrada y
salida en OWL
101
Situacin inicial
Presencia de expertos en varios dominios:
IA
Ingeniera qumica
Microbiologa
Informtica
Objetivos de la ontologa
Obtener una terminologa unificada (pero
multilinge), completa y coherente del
dominio de las aguas residuales
Ayudar en la diagnosis de situaciones
problemticas relacionadas con aguas
residuales
Ayudar en la gestin de plantas de
tratamiento de aguas residuales
104
Conceptualizacin
Criterios seguidos:
modelo fcilmente comprensible
modelo que refleje los conocimientos de los
expertos
conocimiento fcilmente ampliable
fcil integracin con otras ontologas
posibilidad de elegir un subconjunto de los
conocimientos y utilizarlos en otras
aplicaciones o ontologas
106
Trminos y jerarqua
Actuator
Body-Of-Water
Descriptor
Descriptor-Off-Line
Descriptor-Qualitative
Appearance-Floc
Appearance-Surface-Clarifier
Descriptor-Quantitative
BOD
Chlorine Cod
Descriptor-On-Line
Water-Flow
107
Entorno de desarrollo
Jerarqua de trminos: Ontolingua (era el
ao 2000)
Axiomas: antes en Lisp, luego en KIF
(asociado a Ontolingua)
Alternativa: Protg + OWL
108
Reutilizacin
The ontology is mainly built from scratch.
Two other ontology are partially reused:
Frame ontology: its Ontolingua metaontology
Cyc ontology (Lenat and Guha, 1990):
manual encoding of millions of encyclopedic
facts (Ontolingua version)
109
Re-engineering
Frame-ontology: as is
Cyc: little re-engineering to adapt the
concepts to the specific domain
No ontology integration (and consistency
checking) needed.
110
Trminos: detalles
The ontology use the English language to describe the world
at the highest level.
Nevertheless the documentation of each term contains the
translation of the term name to Spanish, Catalan and Italian.
Synonyms:
Dato
cualitativo (esp)
Dada qualitativa (cat)
Dato qualitativo (ita)
Qualitative descriptors refer to microscopic observations (e.g.: activatedsludge microbes presence and diversity) and visual information (e.g.:
presence of foam in the aeration tank or in the secondary clarifier, water odor,
111
biomass color).
Formalizacin
The Ontolingua Ontology Server
automatically translates to Lisp.
The translation has been checked and
evaluated.
112
Conclusiones
Success in unifying terminology and as a
way of communication between AI
researchers and chemical engineers.
Evaluation as a tool of support to
diagnosis.
Partial success in using the ontology for
reasoning.
113