Upload
jose-carlos-cortizo-perez
View
2.151
Download
0
Embed Size (px)
DESCRIPTION
Apuntes de la asignatura "Ingeniería de los Sistemas Basados en el Conocimiento" impartida por José Carlos Cortizo en la UEM
Citation preview
ISBC: Tema 4Representaciones del Conocimiento
José Carlos Cortizo Pérez http://www.esp.uem.es/jccortizo [email protected]
Departamento de Sistemas Informáticos Escuela Superior Politécnica Universidad Europea de Madrid
1
José Carlos Cortizo Pérez
Repr. del Conocimiento
2
José Carlos Cortizo Pérez
Repr. del Conocimiento
La representación del conocimiento es un problema a medio camino entre la ciencia cognitiva y la inteligencia artificial
En ciencia cognitiva, tiene que ver con cómo la gente almacena y procesa la información
En inteligencia artificial, el objetivo principal es almacenar conocimiento que los programas puedan procesar y así simular cierta inteligencia humana
José Carlos Cortizo Pérez
Definición
3
José Carlos Cortizo Pérez
Repr. del Conocimiento
1.- Una representación del conocimiento es un sucedáneo
Objetos físicos, eventos y relaciones, que no pueden ser almacenadas directamente en una computadora, se representan por símbolos
Los símbolos y las relaciones entre ellos forman un modelo del sistema externo
Manipulando los símbolos internos, la computadora puede similar razonamiento
José Carlos Cortizo Pérez
Principios de la Representación del Conocimiento
4
José Carlos Cortizo Pérez
Repr. del Conocimiento
2.- Una representación del conocimiento es un conjunto de compromisos ontológicos
Ontología es el estudio de la existencia
En una base de datos o del conocimiento, la ontología determina la categoría de cosas que existen o pueden existir en el dominio
Esas categorías representan los compromisos ontológicos del diseñador o ingeniero del conocimiento
José Carlos Cortizo Pérez
Principios de la Representación del Conocimiento
5
José Carlos Cortizo Pérez
Repr. del Conocimiento
3.- Una representación del conocimiento es una teoría fragmentaria de razonamiento inteligente.
Para soportar el razonamiento acerca de las cosas en un dominio, la representación del conocimiento debe describir su comportamiento e interacciones
La descripción constituye una teoría del dominio de aplicación
José Carlos Cortizo Pérez
Principios de la Representación del Conocimiento
6
José Carlos Cortizo Pérez
Repr. del Conocimiento
4.- Una representación del conocimiento es un medio para una computación eficiente.
Además de representar el conocimiento, el sistema de IA debe codificarlo de forma que pueda ser procesado de forma eficiente contando con un equipo determinado
Algunos problemas pueden ser representados de forma muy simple, pero resolverlos de esta forma puede ser muy costoso en tiempo y esfuerzos
José Carlos Cortizo Pérez
Principios de la Representación del Conocimiento
7
José Carlos Cortizo Pérez
Repr. del Conocimiento
5.- Una representación del conocimiento es un medio de expresión humana.
Un buen lenguaje de representación del conocimiento debe facilitar la comunicación entre los ingenieros del conocimiento y los expertos del dominio
Los IC escribirán definiciones y reglas, pero los expertos deben ser capaces de leerlas y verificarlas, para ver si representan una teoría del dominio que sea cierta
José Carlos Cortizo Pérez
Principios de la Representación del Conocimiento
8
José Carlos Cortizo Pérez
Repr. del Conocimiento
Estos 5 principios pueden ser usados como marco de desarrollo para la discusión de problemas relacionados con la representación del conocimiento
Los ilustraremos con ejemplos del mundo de los semáforos
José Carlos Cortizo Pérez
Principios de la Representación del Conocimiento
9
José Carlos Cortizo Pérez
Repr. del Conocimiento
Un modelo computacional es un sucedáneo real o hipotético
En este caso, de las luces de tráfico
Cada una de las entidades significativas, como la hora actual o el color de la luz, se asigna a una variable que sirve como sucedáneo interno para la entidad externa
Los valores de estas entidades pueden transformarse, tanto de forma procedural como declarativa, para simular el comportamiento del sistema
José Carlos Cortizo Pérez
Sucedáneo
10
José Carlos Cortizo Pérez
Repr. del Conocimiento
El acercamiento procedural usa programas o reglas que
Representan cada posible evento como una operación que modifica el modelo de la forma adecuada
Diseña una estructura de control que desencadena cada operación en el momento en el que la condición necesaria se cumple
Ejecuta los programas para ver como el modelo evoluciona en el tiempo
José Carlos Cortizo Pérez
Sucedáneo
11
José Carlos Cortizo Pérez
Repr. del Conocimiento
Los programas pueden ser ejecutados directamente en una computadora
Las reglas deben de ser interpretadas por otro programa (motor de inferencia)
Para un mayor rendimiento, un compilador puede transformar las reglas en programas que corran directamente en la computadora
José Carlos Cortizo Pérez
Sucedáneo
12
José Carlos Cortizo Pérez
Repr. del Conocimiento
El acercamiento declarativo se basa en axiomas que definen las precondiciones, postcondiciones y transformaciones para cada evento que pueda ocurrir en el modelo
Describe el estado de inicio S mediante una colección de fórmulas
Añade la descripción de S a los axiomas del modelo M
Para determinar el estado de M en cualquier otro tiempo t, comienza con los axiomas de M y la descripción de S y prueba un teorema que describa M en t
José Carlos Cortizo Pérez
Sucedáneo
13
José Carlos Cortizo Pérez
Repr. del Conocimiento
Los compromisos ontológicos se determinan por los tipos de variables en la representación del conocimiento
Para el ejemplo de los semáforos, las variables representan las entidades significativas, como los semáforos en si mismo, el tiempo, el color actual, la última vez que cambió el color, etc.
Estos compromisos pueden ser representados por variables en cálculo de predicados, por conceptos en un grafo, o por slots en structuras de datos llamadas marcos, esquemas o templates
José Carlos Cortizo Pérez
Compromisos ontológicos
14
José Carlos Cortizo Pérez
Repr. del Conocimiento
Un ejemplo de template para Semáforo escrito en CLIPS(deftemplate semaforo (slot nombe (type SYMBOL)) (slot colorActual (allowed-values rojo verde)) (slot tiempoRojo (type FLOAT)) (slot tiempoVerde (type FLOAT)) (slot cuandoCamb (type FLOAT)) (slot cambioAuto (allowed-values on off)))
José Carlos Cortizo Pérez
Compromisos ontológicos
15
José Carlos Cortizo Pérez
Repr. del Conocimiento
Este template tiene 6 slots (huecos)
El template con sus slots, representan el compromiso ontológico primario
Las facetas añaden más compromisos ya que reflejan la existencia de entidades de tipo FLOAT y SYMBOL
que no pertenecen al dominio real de los semáforos
pero si al metalenguaje del dominio utilizado para representar
José Carlos Cortizo Pérez
Compromisos ontológicos
16
José Carlos Cortizo Pérez
Repr. del Conocimiento
Después de definir el template, se puede instanciar(assert (semaforo (nombre Parpadeante) (colorActual verde) (tiempoRojo 60) (tiempoVerde 60) (cuandoCamb 0) (cambioAuto on)) )
José Carlos Cortizo Pérez
Compromisos ontológicos
17
José Carlos Cortizo Pérez
Repr. del Conocimiento
En lógica, cada slot corresponde a predicados o relaciones como tiempoRojo(x, y), dónde la primera variable representa el semáforo y la segunda (y), representa el valor actual del slot
José Carlos Cortizo Pérez
Compromisos ontológicos
18
José Carlos Cortizo Pérez
Repr. del Conocimiento
Tanto los acercamientos procedurales como los declarativos pueden transformarse en algo computable
Si se necesitan mejoras en la eficiencia para algunos problemas, se puede programar con un lenguaje de más bajo nivel
El siguiente ejemplo muestra un programa que simula un semáforo mediante un bucle que va cambiando el estado
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
19
José Carlos Cortizo Pérez
Repr. del Conocimiento
loop while cambioAuto set colorActual to rojo; wait tiempoRojo; set colorActual to verde; wait tiempoVerde;
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
20
José Carlos Cortizo Pérez
Repr. del Conocimiento
Este programa puede usarse para simular un semáforo o bien para conducir a un microprocesador que controle el semáforo
Como representación del conocimiento falla en un punto esencial: no proporciona una forma de obtener información
El semáforo no explica por qué cambia de color
No mantiene un registro de los cambios de color
No responde a preguntas acerca del tiempo medio de los estados rojo y verde
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
21
José Carlos Cortizo Pérez
Repr. del Conocimiento
Si no necesitamos este tipo de información, quizas el bucle sea una buena forma de resolver este problema
Pero si el semáforo es, en si mismo, importante, entonces necesitaremos más instrucciones para mantener otro tipo de datos
Estas son instrucciones metanivel que soportan razonamiento acerca del semáforo, que pueden volverse muy voluminosas y pesadas de ejecutarse
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
22
José Carlos Cortizo Pérez
Repr. del Conocimiento
Para manejar este tipo de situaciones, se han desarrollado varios lenguajes de simulación para operar en 2 niveles en paralelo
El nivel de objeto, dónde se calculan los efectos de cada acción sobre el mundo simulado
En el metanivel, se monitorizan los objetos y se almacena información acerca de los mismos
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
23
José Carlos Cortizo Pérez
Repr. del Conocimiento
La manera declarativa de simular los semáforos es traducir la descripción en fórmulas lógicas y probar los teoremas sobre sus estados
(∀x:Semáforo)(∀t:Tiempo)(∀r:Duracion)((poneRojo(x,t)⋀tiempoRojo(x,r)⋀autoCambio(on))⊃ poneVerde(x, t+r)).
(∀x:Semáforo)(∀t:Tiempo)(∀g:Duracion)((poneVerde(x,t)⋀tiempoVerde(x,g)⋀autoCambio(on))⊃ poneRojo(x, t+g)).
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
24
José Carlos Cortizo Pérez
Repr. del Conocimiento
La traducción de esta lógica a un lenguaje computable (p.e. Prolog) sería
pone_verde(X, T2) := semaforo(X) & pone_rojo(X, T) & tiempo_rojo(X, R) & cambio_auto(on) & suma_tiempos( T, R, T2).
pone_rojo(X, T2) := semaforo(X) & pone_verde(X, T) & tiempo_verde(X, G) & cambio_auto(on) & suma_tiempos( T, G, T2).
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
25
José Carlos Cortizo Pérez
Repr. del Conocimiento
Antes de poder ejecutar estas reglas, deben establecerse las condiciones previas, p.e. traduciendo la instancia de CLIPS
semaforo( parpadeante ).
tiempo_rojo( parpadeante, 60 ).
tiempo_verde( parpadeante, 60 ).
pone_verde( parpadeante, 0:00 ).
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
26
José Carlos Cortizo Pérez
Repr. del Conocimiento
A partir de todo esto, el motor de inferencia podría deducir conclusiones del tipo
pone_rojo( parpadeante, 0:01 ).
pone_verde( parpadeante, 0:02 ).
pone_rojo( parpadeante, 0:04 ).
pone_verde( parpadeante, 0:05 ).
etc.
José Carlos Cortizo Pérez
Medio para una Computación Eficiente
27
José Carlos Cortizo Pérez
Repr. del Conocimiento
El bucle procedural, la fórmula lógica y las reglas ilustran 3 estrategias diferentes para razonar acerca de los semáforos
Las instrucciones en el bucle llevan una simulación paso a paso del semáforo
Las fórmulas lógicas soportan la demostración de un teorema que predice el estado del semáforo para cualquier tiempo t
Las reglas esperan a que su precondición sea cierta para actualizar la descripción del semáforo
José Carlos Cortizo Pérez
Teoría de razonamiento fragmentaria
28
José Carlos Cortizo Pérez
Repr. del Conocimiento
Cualquiera de estas estrategias podría ser utilizada por un humano para razonar acerca de los semáforos
Cada una de ellas tiene sus ventajas y sus inconvenientes, lo cuál las convierte en estrategia preferida para según que propósitos
José Carlos Cortizo Pérez
Teoría de razonamiento fragmentaria
29
José Carlos Cortizo Pérez
Repr. del Conocimiento
Los Ingenieros del Conocimiento deben trabajar con expertos de otros campos
Deben ser capaces de comunicarse con ellos en lenguajes y notaciones que eviten la jerga de la IA y la informática
Los grafos conceptuales y otros diagramas han sido utilizados de forma exitosa como medio de comunicación entre IC y expertos de dominio
José Carlos Cortizo Pérez
Medio de expresión humana
30
José Carlos Cortizo Pérez
Repr. del Conocimiento
Los Ingenieros del Conocimiento deben trabajar con expertos de otros campos
Deben ser capaces de comunicarse con ellos en lenguajes y notaciones que eviten la jerga de la IA y la informática
Los grafos conceptuales y otros diagramas han sido utilizados de forma exitosa como medio de comunicación entre IC y expertos de dominio
José Carlos Cortizo Pérez
Medio de expresión humana
31
José Carlos Cortizo Pérez
Repr. del Conocimiento
José Carlos Cortizo Pérez
Medio de expresión humana
32
José Carlos Cortizo Pérez
Repr. del Conocimiento
Como se puede ver en la figura anterior, los grafos conceptuales son más legibles que las reglas lineales, pero no son autoexplicativos
Un experto del dominio que no haya visto nunca un GC necesitaría alguna explicación acerca de las distinciones entre ovalos y cajas, las direcciones de las flechas, las diferencias entre *x y ?x, etc
José Carlos Cortizo Pérez
Medio de expresión humana
33
José Carlos Cortizo Pérez
Repr. del Conocimiento
Como notación alternativa, los GC pueden traducirse a lenguaje natural
Si un semáforo x se vuelve rojo en tiempo t, tiene una duración en estado rojo de r, y el estado del auto cambiado esta en on,entonces x se vuelve verde en un tiempo que es la suma de t y r
José Carlos Cortizo Pérez
Medio de expresión humana
34
José Carlos Cortizo Pérez
Repr. del Conocimiento
Hemos visto varias formas de simular el comportamiento de los semáforos
Estas simulaciones son limitadas, ya que describen lo que pasa para un caso específico
No pueden probar un teorema general
Sin embargo, la lógica tiene una flexibilidad mayor, puede ser utilizada la diseñar una simulación, o bien para probar teoremas
José Carlos Cortizo Pérez
Prueba y simulación de teoremas
35
José Carlos Cortizo Pérez
Repr. del Conocimiento
Si una simulación se ejecutara durante mucho tiempo, los resultados sugerirían el patrón predicho por los teoremas
Ya que la simulación comienza en el instante 0, tanto la simulación como el demostrador de teoremas mostrará que “parpadeante” se pone verde cada minuto impar
Sin embargo, solo el demostrador de teoremas puede explicar como los resultados se suceden a partir de las condiciones iniciales
José Carlos Cortizo Pérez
Prueba y simulación de teoremas
36
José Carlos Cortizo Pérez
Repr. del Conocimiento
La cuestión de si el conocimiento debe representarse de forma declarativa, en alguna forma de lógica, o procedural, en algún lenguaje de programación, es uno de las discusiones más antiguas y que genera más confrontación dentro de la IA
Depende mucho de las necesidades, tiempos de ejecución, etc.
José Carlos Cortizo Pérez
Prueba y simulación de teoremas
37
José Carlos Cortizo Pérez
Repr. del Conocimiento
Tanto la simulación como el demostrador de teoremas determinan que ocurre en instantes de tiempo puntuales, cuándo los semáforos cambian de color
Pero es necesario disponer de información de lo que ocurre entre estos instantes de tiempo
Esta información adicional se proporciona con axiomas de persistencia
José Carlos Cortizo Pérez
Persistencia
38
José Carlos Cortizo Pérez
Repr. del Conocimiento
Persistencia del rojo y del verde(∀x:Semáforo) (∀t:Tiempo)(∀t1:Tiempo)(∀r:Duracion)((poneRojo(x,t1)⋀tiempoRojo(x,r)⋀(t=t1⋁(antes(t1, t)⋀antes(t,t1+r))) ⊃ poneVerde(x, t+r)).
(∀x:Semáforo) (∀t:Tiempo)(∀t1:Tiempo)(∀r:Duracion)((poneVerde(x,t1)⋀tiempoVerde(x,g)⋀(t=t1⋁(antes(t1, t)⋀antes(t,t1+g))) ⊃ poneRojo(x, t+r)).
José Carlos Cortizo Pérez
Persistencia
39
José Carlos Cortizo Pérez
Repr. del Conocimiento
Este tipo de información puede parecer obvia, sin embargo las computadoras no pueden reconocer lo obvio salvo que esté expuesto de forma explícitica
José Carlos Cortizo Pérez
Persistencia
40
José Carlos Cortizo Pérez
¿Alguna pregunta?
41
José Carlos Cortizo Pérez
Bibliografía
Capítulo 3 (Knowledge Representations): John F. Sowa, “Knowledge Representation: Logical, Philosophical and Computational Foundations”
Capítulo 1 (Introducción a los SBC): Amparo Alonso et al., “Ingeniería del Conocimiento, Aspectos Metodológicos”
Específica
42