Representacion del conocimiento

Anuncio
Inteligencia Artificial Distribuida
Unidad 3. Representación del conocimiento
Conocimiento en un agente
Representa lo que sabe el agente. Lo integra tanto el conocimiento que ha adquirido en
experiencias pasadas y que le sirve para hallar soluciones o seleccionar acciones a
seguir en cualquier momento, como el conocimiento previo (o inicial) con el que fue
programado.
El conocimiento permite al agente entender el mundo, lo que los demás agentes tratan
de decirles y sus razonamientos internos y explica sus ideas y decisiones a los demás
agentes.
Hay tres clases de conocimiento a tener en cuenta:
-Conocimiento inicial – conocimiento propio o básico del agente una vez que éste
existe, y no puede cambiar con el tiempo.
-Conocimiento know-that – conocimiento de hechos, o saber qué hacer ante un
problema o un conjunto de acciones. Puede cambiar con el tiempo y la experiencia
adquirida por el agente.
-Conocimiento know-how – conocimiento de cómo actuar o cómo hacer las cosas. Es
la habilidad para ejecutar acciones convenientes (dependiendo de la solución del
problema) en un mundo cambiante. Se puede definir como la habilidad o potencial de
un agente para tomar una acción efectiva, y las destrezas que él demuestra cuando hace
cosas que le atribuyen inteligencia. Al igual que el know-that, este tipo de conocimiento
puede cambiar con el tiempo y la experiencia adquirida por el agente.
Se puede decir que: “Un agente conoce cómo al acanzar a p al realizar la acción a, si el
agente tiene el know-that que le indica qué ejecutar a lo que lo lleva a alcanzar a p”.
“Un agente conoce cómo ejecutar una acción a, si el agente tienen el know-how qué le
indica cómo ejecutar a”.
Estructuras de conocimiento y mantenimiento del mismo
Los agentes pueden ser considerados como sistemas basados en conocimiento cuya
sofisticación depende del SMA. Un agente puede ser clasificado en función de la
estructura de conocimiento que emplea:
-hecho o creencia
-objetivos e intenciones
-preferencias
-motivaciones
-deseos, ente otros
Usualmente, un agente adquiere nuevos hechos o creencias como resultado de la
recepción de mensajes de otros agentes o del medio ambiente.
En un SMA, un agente posee una visión parcial de la situación y del problema qué está
siendo resulto. La información que manipula es parcial, incierta o errónea. Por lo que el
1
agente necesita mecanismos para efectuar el mantenimiento de sus bases o para revisar
sus creencias cuando adquiera algún conocimiento contradictorio.
Habilidades del razonamiento
Los agentes por lo general deben razonar sobre los diferentes aspectos de la realidad,
deben de tratar con obligaciones, permisos y prohibiciones. Un agente también debe
poder:
-explorar varias hipótesis antes de tomas una decisión
-razonar sobre la base de sus propias creencias, deseos e intenciones
-razonar a cerca del comportamiento y conocimiento de otros agentes para cambiar las
creencias, y hasta el funcionamiento de otros agentes. Esta característica es deseable en
el proceso de negociación de un SMA.
En los que respecta al razonamiento de las creencias de otros agentes, la mayoría de
sistemas se basan en el modelo de mundos posibles. En este modelo decimos que un
agente conoce un hecho, si este hecho es verdadero. Estas situaciones son descritas
usando lógica modal proposicional y estructuras Kripke.
Un agente no lo conoce que un hecho es verdadero sino que conoce lo que todos
conocen.
Habilidades de adaptación y aprendizaje
Un agente puede tener la necesidad de adaptarse a su ambiente y al funcionamiento de
otros agentes. Existen diversas maneras de obtener este comportamiento de un agente.
Por ejemplo: haciendo que compartan sus tareas y conocimiento, otro ejemplo: por
medio de mecanismos tales como el libre mercado y evolución natural, razonamiento
inductivo, etc.
Algunas definiciones
Agente inteligente – Describe su conocimiento y el ambiente mediante
“conocimiento”, trata de incrementar su conocimiento basándose en la experiencia, con
la comunicación con otros agentes, incorporación de los resultados como conocimiento
nuevo.
Base de conocimiento – Forma avanzada de una base de datos que no solo pretende
almacenar, recuperar, y modificar grandes cantidades de información, sino también,
plasmar elementos de conocimiento (generalmente en forma de hechos y reglas de
inferencia), así como la forma en que éste ha de ser utilizado.
Creencias – Información sobre el entorno. Componente informativo del agente.
Deseos – Algo que el agente quiere conseguir y que por tanto tiene preferencia. Metas
del agente. Componente motivacional del agente.
Estructura de Kripke -- Una estructura de Kripke es un tipo de máquina de estados
finitos no determinista propuesto por Saul Kripke en 1963, utilizado en la comprobación
del modelo para representar el comportamiento de un sistema. Se trata básicamente de
2
un grafo cuyos nodos representan los estados accesibles del sistema y cuyas aristas
representan las transiciones de estado. Una función asigna el etiquetado de cada nodo a
un conjunto de propiedades que tienen en el estado correspondiente. Las lógicas
temporales se clasifican tradicionalmente en términos de estructuras de Kripke.
Intenciones – Son los objetivos elegidos. Existe un compromiso por parte del agente a
conseguir sus intenciones. Componente liberativo del sistema. Es la forma de lograr los
objetivos, incluye un modelo de planes para lograr los objetivos. Influyen las creencias.
Lógica modal -- Una lógica modal es un sistema formal que intenta capturar el
comportamiento deductivo de algún grupo de operadores modales.[1] Los operadores
modales son expresiones que califican la verdad de los juicios.[1] Por ejemplo, en la
oración "es necesario que 2+2=4", la expresión "es necesario que" es un operador modal
que califica de necesaria a la verdad del juicio "2+2=4".
En un sentido más restringido, sin embargo, se llama lógica modal al sistema formal
que se ocupa de las expresiones "es necesario que" y "es posible que". Este artículo trata
exclusivamente sobre este sistema formal. Otros sistemas de lógica modal conocidos
son la lógica deóntica, la lógica temporal, la lógica epistémica y la lógica doxástica.
(http://es.wikipedia.org/wiki/L%C3%B3gica_modal)
Lógica temporal -- La lógica temporal es un tipo de lógica modal usada para describir
un sistema de reglas y simbolismos para la representación y el razonamiento sobre
proposiciones en las que tiene presencia el factor tiempo. Existe una cierta relación con
la lógica modal.
Por ejemplo, la sentencia: "Tengo hambre"; aunque su significado es independiente del
tiempo, el valor de verdad o falsedad de la misma puede variar con el tiempo en un
determinado sistema que incluya acciones de comer; así, en función del sistema, algunas
veces será cierta y otras falsa, aunque nunca será cierta y falsa simultáneamente.
Algunos sistemas lógicos basados en lógica temporal son: Lógica computacional en
árbol (Computational tree logic, CTL), lógica linear temporal (Linear temporal logic,
LTL) y Lógica temporal de intervalos (Interval temporal logic, ITL). Lógica de acciones
temporal
(Temporal
Logic
of
Actions,
TLA).
(http://es.wikipedia.org/wiki/L%C3%B3gica_temporal)
Objetivos – Subconjunto de deseos consistentes entre sí que el agente debe perseguir.
Ontología – Conjunto de símbolos o términos junto con su correspondiente
interpretación o significado.
Ingeniería del
conocimiento)
conocimiento
(Construcción
de
una
base
de
Está orientada a dar respuestas a las preguntas siguientes:
¿Cómo elicitar conocimientos sobre un entorno?
¿Cómo modelar/estructurar el conocimiento?
¿Cómo usar un lenguaje de representación del conocimiento (LRC) para modelar
conocimiento sobre un entorno?
3
Una Base de Conocimientos (BC (otra definición)) es un conjunto de sentencias
expresadas en un lenguaje de representación del conocimiento y representa alguna
aserción acerca del mundo. Es el componente principal de un agente basado en
conocimiento.
La palabra aserción tiene varios significados, entre ellos están:
- Proposición en que se afirma o da por cierta alguna cosa.
- Declaración de que una cosa es cierta. aserto, aseveración.
- Acción de afirmar o dar por cierto
- Discurso, palabras que afirman o dan por cierto algo
Un ingeniero en Conocimientos es alguien que investiga un dominio concreto, aprende
que conceptos son los importantes en ese dominio y crea una representación formal de
los objetos y relaciones del dominio. Es un experto en la adquisición, modelado y
representación del conocimiento, no tiene por qué ser experto en el dominio de la
aplicación.
Analogía de la Ingeniería del conocimiento con respecto a la programación
convencional
Ingeniería del conocimiento
-Ingeniero del conocimiento
-Lenguaje
de
representación
conocimiento
-BC
-Reglas de inferencia
-Inferencia en la BC
Lenguaje de programación
-Analista/programador
del -Lenguaje de programación
-Programa
-Compilador
-Ejecución del programa
Un lenguaje de representación del conocimiento (LRC) está compuesto de:
- Sentencias – describen las características relevantes del entorno
- Inferencia – consiste en sacar conclusiones a partir de esas características
- Semántica – relaciona las sentencias LRC con los hechos del entorno
Tipos de LRC
- Lógicos – lógica de predicados, lógica modal, lógica temporal, lógica difusa
- Cognoscitivos – reglas, marcos, TMS, redes bayesianas
- Interoperabilidad – KIF, KQML, ACL
TMS
–
sistema
de
mantenimiento
del
(http://webdiis.unizar.es/asignaturas/ISBC/IA/~1st-IAIC1.html)
razonamiento
De todo lo anterior, también se puede decir, que una BC es un conjunto de sentencias en
un LRC + un mecanismo de inferencia automática.
La BC de un agente contiene los conocimientos del agente sobre su entorno:
- conocimiento general del dominio
- conocimiento del caso
La interacción con la BC se hace para:
4
-
Informar (sentencia): añadir nueva información a la BC
Preguntar(sentencias): determinar si una sentencia puede inferir a partir de los
conocimientos de la BC
Proceso de la ingeniería del conocimiento:
1) Identificar la tarea – El ingeniero en Conocimientos (IC) debe delinear el rango de
las preguntas que la BC debe soportar y los tipos de hechos que estarán disponibles
para cada instancia del problema en particular. La tarea determinará qué
conocimiento debe ser representado para conectar las instancias de los problemas a
las respuestas.
2) Recopilar el conocimiento relevante – El IC o deberá ser ya un experto en el
dominio, o deberá trabajar con expertos reales para extraer el conocimiento que
ellos poseen. En esta fase el conocimiento no se representa formalmente. La idea es
entender el alcance de las BC, tal como se determino en la tarea, y entender cómo
trabaja realmente el dominio.
3) Decidir el vocabulario de los predicados, funciones y constantes – Es decir,
traducir los conceptos importantes del nivel del dominio a nombres del nivel lógico.
Una vez que se ha realizado las elecciones, el resultado es un vocabulario que se
conoce por la ontología del dominio. Ontología indica una teoría concreta sobre la
naturaleza del ser o de la existencia de algo. Establece que tipo de cosas existen,
pero no determina sus propiedades e interrelaciones específicas.
4) Codificar el conocimiento general acerca del dominio – El IC anota todos los
axiomas para todos los términos del vocabulario (axioma - verdad evidente que no
requiere demostración, es una expresión lógica). Esto hace que se defina (en todo lo
posible) el significado de los términos, permitiendo al experto comprobar el
contenido. Si se detectan lagunas en el vocabulario o ideas equivocadas, regresar al
paso 3.
5) Codificar una descripción de la instancia de un problema específico – Si la
ontología está bien pensada, este paso será fácil. Consiste en escribir sentencias
atómicas sencillas acerca de instancias de conceptos que ya son parte de la
ontología. Para un agente lógico, las instancias del problema se obtienen de los
sensores, para una BC se obtienen de sentencias adicionales de la misma manera que
un programa tradicional las obtiene de los datos de entrada.
6) Plantear peticiones al procedimiento de inferencia y obtener respuestas – Fase
donde se obtiene la recompensa: podemos dejar al procedimiento de inferencia
trabajar sobre los axiomas y los hechos del problema concreto para derivar los
hechos que estamos interesados en conocer.
7) Depurar la BC – Rara vez, las respuestas a las peticiones son correctas en un
primer intento. Las respuestas serán correctas para la BC como si fueran escritas,
asumiendo que procedimiento de inferencia sea sólido, pero no serán las que el
usuario estaba esperando. Por ejemplo, si falta un axioma, algunas peticiones no
serán respondidas por la BC. Esto podría resultar un proceso de depuración
considerable. Axiomas ausentes o que son demasiado débiles se pueden identificar
fácilmente fijándonos en los sitios donde la cadena del razonamiento para (se
detiene) inesperablemente. Los axiomas incorrectos se pueden identificar por que
son enunciados falsos acerca del mundo. La falsedad de estas sentencias se pueden
determinar independientemente del resto de la BC. De lo anterior:
x NoPatas(x,4) => Mamifereos(x), esto es falso para: reptiles, anfibios, mesa
A continuación se da un ejemplo de una función basada en un agente BC:
5
funcion AgenteBC(percepción) devuelve acción
inicio
Variables estáticas BC, t=0 (tiempo)
Decir(BC, construir_sentencia_de_percepción (percepción, t))
Accion  Pregunta (BC, PedirAccion(t))
Decir(BC, construir_sentencia_de_acción (acción, t))
t  t+1
devolver acción
fin
Arquitectura de un agente basado en conocimientos
Percepción
Informar(percepción)
Preguntar(x)
Selección de
acciones
{x/respuesta}
Base de
conocimiento
Informar(acción)
Ejecutar acción
Acción
Compartir el conocimiento
Modelo de representación de el conocimiento común
- representación de conocimiento común: ontología
- lenguaje de comunicación común: KQML, KIF, ACL
FIPA (Foundation for Intelligent Physical) y KSE (Knowdlegde Sharing Effort ARPA) están trabajando en estas representaciones.
Algunos lenguajes, estándares, especificaciones y protocolos de interacción:
-Interlingua
-KIF (Knowledge Interchange Formalism)
-KRSS (Knowledge Representation System Specification)
-SRKB (Shared, Reusable Knowledge Bases)
-KQML
-ACL
www.cs.umbc.edo/kse
www.fipa.org
www.omg.org
6
Descargar