Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Los SBCs expresan el conocimiento en una forma que tanto los humanos como los ordenadores puedan entender. Esta parte de la asignatura analiza cmo expresar el conocimiento sobre el mundo 3 real en una forma computacional.
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 basados en la resolucin 5
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
Fases del ciclo bsico:
1. Deteccin (filtro):
Reglas pertinentes
Interprete de reglas: Obtencin, desde la BC, del conjunto de reglas aplicables a una situacin determinada (estado) de la BH
formacin del conjunto de conflictos
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)
aplicacin de todas las reglas (slo si se quieren todas las soluciones posibles) la regla usada ms recientemente meta-reglas, que indican dinmicamente como seleccionar las reglas a aplicar
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)
Propagacin de las instanciaciones Propagacin del grado de certeza El proceso de deduccin acaba cuando:
se encuentra la conclusin (el objetivo) buscado xito no queda ninguna regla aplicable xito? / fracaso?
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
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.
Existen mecanismos eficientes de comparacin y seleccin que evitan repasar todas las reglas de la BC:
OPS-5 usa el algoritmo RETE Prolog indexa las clusulas segn los predicados
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
Llamaremos conocimiento al conjunto de datos que modelan de forma estructurada la experiencia que se tiene sobre un cierto dominio o que surgen de interpretar los datos bsicos:
la interpretacin de los valores de la analtica de sangre o de los sensores de la planta qumica para decir si son normales, altos o bajos, preocupantes, peligrosos...
el conjunto de estructuras de datos y mtodos para diagnosticar a pacientes a partir de la interpretacin del anlisis de sangre, o para ayudar en la toma de decisiones de qu hacer en la planta qumica
30
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
El cometido ocurre incluso al nivel de las tcnicas de representacin del conocimiento (TRCs)
Diagnosis en forma de reglas vs. marcos
An ontological commitment is an agreement to use a vocabulary (i.e., ask queries and make assertions) in a way that is consistent (but not complete) with respect to the theory specified by an ontology. We build agents that commit to ontologies. We design ontologies so we can share knowledge with and among these agents.
Tom Gruber <gruber@ksl.stanford.edu>
Estilos de respuestas
Precisas, formuladas en trminos de un lenguaje formal Imprecisas, no basadas en un lenguaje formal
Utilidad del pluralismo
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
Si la representacin es de muy bajo nivel, las inferencias son muy simples, pero ocupan mucho espacio.
El frame problem
Nihil omnino fit sine aliqua ratione Nothing at all can happen without some reason Ejemplo:
Persistencia
El semforo se pone verde cada minuto par. El semforo se pone rojo cada minuto impar. Un programa puede determinar qu pasa en los puntos de tiempo discretos en que el semforo cambia de color. Pero se necesita ms informacin para determinar qu pasa en los intervalos entre cambios de color.
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:
Son una manera engorrosa de decir algo que debera ser obvio. Desafortunadamente, los ordenadores no reconocen lo obvio, a menos que no se les diga explcitamente cmo. Estos axiomas son la solucin de un caso especial del ms general frame problem.
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.
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)
La parte procedimental permite obtener ms informacin o hacer clculos sobre sus caractersticas o las relaciones que pueda tener con otros marcos. La descripcin de los atributos tambin est estructurada: un atributo puede tener propiedades (facets). En el caso ms general se pueden tener taxonomas de atributos.
57
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)
Para acceder al valor de un atributo se usa la sintaxis: <nombre marco>.<nombre atributo> (valor o lista de 61 valores)
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
En las ontologas maduras, las descripciones permitidas son slo las consistentes con un conjunto de axiomas, que determinan su uso. 80
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 83 haga falta.
85
86
87
88
89
90
91
interoperabilidad entre sistemas a travs de traducciones entre diferentes paradigmas, lenguajes, herramientas informticas y mtodos de modelado
ontologas como nter-lengua integracin de ontologas
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
Adquisicin del conocimiento Conceptualizacin Lista preliminar de trminos principales Definicin del entorno de desarrollo Reutilizacin de otras ontologas Formalizacin 102
Situacin inicial
Presencia de expertos en varios dominios:
IA Ingeniera qumica Microbiologa Informtica
Uso de diferentes vocabularios No siempre hay una terminologa comn. No hay reglas sobre cmo usar los trminos, ni los sinnimos. 103
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.
n
uSynonyms:
FDato
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.