Tema 4
Representación del conocimiento
2
Introducción Se introduce el diseño de un
agente basado en el conocimiento Se ejemplifica con un agente
capaz de desempeñarse bien en el mundo de Wumpus, siendo Wumpus un juego que provoca adicción
3
Introducción En este capítulo se aprende a
diseñar agentes que construyen representaciones
del mundo, derivan nuevas
representaciones del mundo por inferencia y
usan esas nuevas representaciones para saber qué hacer
4Foundations of Artificial Intelligence 20
El papel pretendido de la representación del conocimientoen IA es reducir problemas de acción inteligente en meros
problemas de BÚSQUEDAGrinsberg
1 .Crear un algoritmo para resolverel problema
2. Seleccionar un lenguaje de programación para codificar la tarea
3. Capturar el algoritmo comoprograma
4. Ejecutar el programa
1 .Crear un algoritmo para resolverel problema
2. Seleccionar un lenguaje de programación para codificar la tarea
3. Capturar el algoritmo comoprograma
4. Ejecutar el programa
1. Identificar el conocimiento necesario pararesolver el problema
2. Seleccionar el lenguaje con el cual dichoconocimiento pueda ser representado
3. Escribir el conocimiento dentro de eselenguaje
4. Usar las consecuencias del conocimientopara resolver el problema
1. Identificar el conocimiento necesario pararesolver el problema
2. Seleccionar el lenguaje con el cual dichoconocimiento pueda ser representado
3. Escribir el conocimiento dentro de eselenguaje
4. Usar las consecuencias del conocimientopara resolver el problema
Programación Inteligencia Artificial
La BÚSQUEDA aparece en el punto 4
Analogía entre Programación y Problemas de IA
Representación del Conocimiento (p.232 r&n)
5
La meta consiste en que el conocimiento aparezca explícitamente se logren conclusiones del conocimiento
declarado Para ello es indispensable la LÓGICA
Una dada lógica es una notación ( o un lenguaje) matemáticos para gestionar el conocimiento
La principal alternativa que hay para la lógica es el lenguaje natural (español, inglés,...).
Tanto en el lenguaje natural como en la lógica la unidad es la oración ( “sentence”)
Sintaxis y Semántica Inferencia Lógica Lógica sana y completa
6
6.1 Un agente basado en el conocimiento Función [Fig 6.1] => a aclarar
en temas siguientes base de conocimiento
declarada (dicha) aprendida
- motor de inferencias
7
6.1 Un agente basado en el conocimiento
Función Un agente de conocimiento es una base de
conocimientos Una base de conocimientos es un conjunto
de representaciones de hechos del mundo Cada una de esas representaciones se llama
una “oración” Las oraciones se expresan en un lenguaje
representacional del conocimiento
8
6.1 Un agente basado en el conocimiento
El agente opera como sigue 1. Le dice a la base su PERCEPCIÓN
(añade oraciones a la base) 2. Le pregunta a la base qué ACCIÓN encarar
(contesta preguntas de la base) (mientras, opera un MOTOR DE INFERENCIAS)
3. Ejecuta la ACCIÓN
9
Fig 6.1 Un agente genérico basado en el conocimiento
Función AGENTE-BC(percepción) responde con una acción estático: BC, una base de conocimientos t, un reloj, inicialmente en cero DECIR(BC,HACER-PERCEPCIÓN-ORACIÓN(percepción,t)) acción<-- PREGUNTAR(BC.HACER-ACCIÓN-CONSULTAR (t)) DECIR(BC,HACER-ACCIÓN-ORACIÓN(acción,t)) t <= t+1 responde con acción
10
6.1 Arquitectura de agentes
F ound atio ns of Art ifici al Intell igence 22
loop forever Input perce pts state Update-State(state, percept) rule Rule-Match(state, rules) action Rule-Action[rule] Output action state Update-State(state, action)end
loop forever Input perce pts state Update-State(state, percept) rule Rule-Match(state, rules) action Rule-Action[rule] Output action state Update-State(state, action)end
ESTE AGENTE sigue lapista del estado delmundo externomediante su función“actualizar”.(Update)
ESTE AGENTE sigue lapista del estado delmundo externomediante su función“actualizar”.(Update)
loop forever Input perce pts KB tell(KB, make-sentence(percept)) action ask(KB , action-query) Output action KB tell(KB, make-sentence(action))end
loop forever Input perce pts KB tell(KB, make-sentence(percept)) action ask(KB , action-query) Output action KB tell(KB, make-sentence(action))end
ESTE OTRO AGENTE, acada instante,cualesquiera sean suspercepciones, lo hace enforma de oración. P.ej.“estoy hambriento”
ESTE OTRO AGENTE, acada instante,cualesquiera sean suspercepciones, lo hace enforma de oración. P.ej.“estoy hambriento”
las dos primeras referencias son para un agente reflejo simple y luego para un agente conocimiento .
11
6.1 Arquitectura de un agente basado en el conocimiento Nivel de conocimiento
es el nivel más abstracto - describimos al agente indicando qué conoce
ejemplo - un agente taxi automático podría saber que desde el Stadium a la CU hay una ruta de circunvalacion rápida
12
6.1 Arquitectura de un agente basado en el conocimiento
Nivel lógico es el nivel en el cual el
conocimiento queda codificado en oraciones
p.ej.: enlaces (Stadium, CU Perla, ruta circunvalacion)
13
6.1 Arquitectura de un agente basado en el conocimiento Nivel de implementación
es el nivel en el cual hay una representación física de las oraciones en el nivel lógico
p.ej.:”enlaces (Stadium, CU, ruta circunvalacion)”
conexión{B,P,rcr} = 1 (un 1 en una tabla tridimensional) (un conjunto de apuntadores dirigidos a
los símbolos)
14
6.2. El ambiente del mundo de Wumpus
[Fig6.2] - Percepción = [Hedor, Brisa, Resplandor, Golpe, Grito] - el agente no puede percibir su propia ubicación - Acciones = [avanzar, girarizquierda, girarderecha,
capturar, dispararflecha, trepar] - agente muere al entrar a un habitáculo con pozo o con
Wumpus vivo. - meta del agente es encontrar oro, volver al habitáculo
[1,1] y trepar.
15
6.2. El ambiente del mundo de Wumpus
razonamiento ejemplos de inferencias:
ubicación de pozos, wumpi y habitáculos sin riesgo
16
6.2. El ambiente del mundo de Wumpus detalles
mundos de wumpus elegidos al azar agentes múltiples, en comunicación wumpi móviles múltiples piezas de oro lenguaje natural aprendizaje visión habla
17
6.2 Ayudas en el mundo de wumpus
18
6.2 El mundo de wumpus El agente arranca de (1,1) La meta es encontrar oro,
volver a (1,1) y trepar la pared No viene mal matar al wumpus
con la única flecha, son más bonificaciones y hay un nuevo camino por transitar
19
6.2 Percepciones
Las percepciones forman una vector fila de 1x5 del tipo
(Hedor,Brisa,Nada,Nada,Nada) El primer Nada es resplandor El segundo es Golpe (contra la
pared) El tercero es Grito
20
6.2 PAMA
Percepciones acciones ..avanzar,girariz
q, etc. Meta - Capturar el oro y
volver Ambiente – mundo de
wumpus
21
6.2 Primer paso
22
6.2 Segundo paso
23
6.2 ¿Por qué (x,y) está bien?
(1,1)<= Porque el agente está vivo
(1,2) <=“No hedor en (1,1)” + “No brisa en (1,1)” + “(1,1) y (1,2) son vecinos””
(2,1) <=“no hedor en (1,1)”, + “no brisa en (1,1)” + “(1,1) y (2,1) son vecinos”
24
6.2 Tercer paso
25
6.2 Cuarto paso
26
6.2 ¿Por qué (1,3) = wumpus?
Hedor en (1,2) implica que el wumpus está ya sea en (1,1), ya sea en (2,2), ya sea en (1,3)
(1,1) fue visitado, lo visitado está bien==> el wumpus no está en (1,1)
(2,1) sin hedor fue visitado==>el wumpus no está en (2,1)
==>El wumpus está en (1,3)
27
6.2 ¿Por qué (3,1) = pozo?
Brisa en (2,1) implica que hay un pozo ya sea en (1,1), ya sea en (2,2), o ya sea en (3,1)
(1,1) fue visitado, el agente está vivo ==> el pozo no está en (1,1)
(2,1) sin brisa al ser visitado==>el pozo no está en (2,2)
==>El pozo está en (3,1)
28
6.3. Representación, Razonamiento, Lógica
Representar: lograr que sea entendible para una computadora; y así el agente puede operar sintaxis, forma usada para representar
oraciones semántica, mapeo desde oraciones hacia
hechos del mundo p.ej. Simulador del mundo de wumpus
- hechos ”son consecuencia" de hechos - oraciones ”son consecuencia” de oraciones -conjuntos de oraciones “son consecuencia” de
conjuntos de oraciones.
29
6.3 Representación,Razonamiento y 6.3 Representación,Razonamiento y LógicaLógica
Representar: lograr que sea entendible para una computadora,logrando un buen desempeño de los agentes.
Conocimiento consta de dos aspectos: sintaxis,como están representadas las oraciones semántica,determina los hechos del mundo a los que hacen
alusión las oraciones. Razonamiento: es el proceso de construir nuevas
representaciones, bajo la forma de oraciones, a partir de representaciones anteriores.
Requisitos de la Lógica: opera si y solamente si la sintaxis y la semántica están definidas de manera precisa.
30
6.3 Representación: Los lenguajes de programación como el C o el
Pascal son idóneos para representar algoritmos y estructuras de datos concretas. El problema de los lenguajes de programación es que están diseñados para describir cabalmente el estado de la computadora y de cómo cambia ésta conforme al programa que se está ejecutando.
Sin embargo, sería deseable poder contar con un lenguaje para representar el conocimiento que sirva para el caso cuando no se cuenta con información completa: cuando no hay total certeza de cómo son las cosas, y lo único que se sabe son algunas posibilidades de cómo son. Se dice que un lenguaje que no se presta a satisfacer lo anterior es un lenguaje que no es lo suficientemente expresivo.
31
6.3 Representación:Los lenguajes naturales como el inglés o
el español indudablemente son expresivos. Sin embargo, han experimentado una evolución que tiende más a satisfacer las necesidades de comunicación que las de representación.
En un buen lenguaje para representar el conocimiento se combinan las ventajas de los lenguajes naturales y las de los lenguajes formales.
32
El objetivo de un lenguaje para la representación El objetivo de un lenguaje para la representación del conocimiento es el de expresar los del conocimiento es el de expresar los conocimientos en forma manejable por el agente, conocimientos en forma manejable por el agente, permitiéndole a éste un buen desempeño, p.ej. permitiéndole a éste un buen desempeño, p.ej. En el mundo de En el mundo de wumpus.wumpus.
El lenguaje utilizado para representar el El lenguaje utilizado para representar el conocimiento conocimiento internointerno de un agente es distinto del de un agente es distinto del lenguaje lenguaje externoexterno empleado para comunicarse empleado para comunicarse con otros agentes. En el ej. se usa sólo interno.con otros agentes. En el ej. se usa sólo interno.
6.3 Representación
33
Entonces, tratemos de combinar las ventajas de los lenguajes Entonces, tratemos de combinar las ventajas de los lenguajes naturales y las de los lenguajes formales:naturales y las de los lenguajes formales:» a)a) lo suficientemente expresivo como para lo suficientemente expresivo como para
representar el conocimiento aún cuando no se representar el conocimiento aún cuando no se cuenta con información completa y no hay total cuenta con información completa y no hay total certeza de cómo son las cosas.certeza de cómo son las cosas.
» b)b) lo suficientemente conciso como para evitar lo suficientemente conciso como para evitar ambigüedades, siendo independiente del contexto ambigüedades, siendo independiente del contexto para su interpretación.para su interpretación.
» c)c) apto para un procedimiento de inferencia con el apto para un procedimiento de inferencia con el cual obtener nuevas representaciones a partir de cual obtener nuevas representaciones a partir de las existentes en la base.las existentes en la base.
6.3 Un buen lenguaje6.3 Un buen lenguaje
34
6.3. Representación Cualquier lenguaje representacional del conocimiento
su sintaxis, ella define todas las posibles configuraciones (secuencias) de símbolos que constituyen oraciones del lenguaje ejemplos: oraciones del texto bits de la memoria de la computadora
su semántica, ella determina los hechos del mundo a los cuales se están refieiendo las oraciones. Cada oración argumenta algo del mundo. Un agente CREE en las oraciones referidas al mundo.
35
6.3. Representación Conexión entre oraciones y hechos
su sintaxis, ella define todas las posibles configuraciones (secuencias) de símbolos que constituyen oraciones del lenguaje ejemplos: oraciones del texto bits de la memoria de la computadora
su semántica, ella determina los hechos del mundo a los cuales se están refiriendo las oraciones. De nuevo, el agente CREE en ellas.
36
6.3. Semántica - Lenguajes composicionales
Se llama lenguaje composicional a aquél en que el significado de una oración es la suma de los significados de cada parte. Casi todos los lenguajes tienen una relación sistemática entre las oraciones y los hechos
Ejemplo de la matemática: a^2 + b^2 Su significado es la suma del significado de
a^2 más la de b^2
37
6.3 Inferencia6.3 Inferencia RAZONAMIENTO e INFERENCIA:Son los nombres del proceso por
el cual se obtienen conclusiones. INFERENCIA LÓGICA y DEDUCCIÓN:Son los nombres de todo
razonamiento o inferencia válidos y confiables. Implantan las relaciones de implicación que existe entre oraciones. Inferencia:
Verificar la validez de oraciones que se garanten como verdaderas pese a desconocerse su real interpretación.
Verdad : Depende del estado del mundo y de la interpretación.
Validez : Una oración es válida si es verdadera independientemente
del mundo o de la interpretación.
38
6.3. Razonamiento Consecuencias o implicaciones generan
nuevas oraciones a partir de otras previas, todas fidedignas.
Teoría de la demostración - conjunto de reglas para deducir las implicaciones de un conjunto de oraciones - dentro de un lenguaje - ella estudia los pasos confiables de un razonamiento
39
6.3. Razonamiento Razonamiento es el proceso de
construir nuevas representaciones, bajo la forma de oraciones, a partir de representaciones anteriores.
Repaso - Una lógica es un lenguaje (notación) matemático útil para el logro de demostraciones acomodadas a las posibilidades de la computadora.
40
6.3. Razonamiento Semántica - en lógica el SIGNIFICADO
de una oración es aquello que se afirma del mundo. Restringe a que el mundo sea de la forma expresada y no de otra forma alternativa. Para poder entender lo que SIGNIFICA una oración, quien la compuso debería proporcionar su respectiva INTERPRETACIÓN. Ninguna oración tiene significado por sí misma ni es autoevidente.
41
6.3. Razonamiento RAZONAMIENTO e INFERENCIA son los
nombres del proceso por el cual se obtienen conclusiones.
INFERENCIA LÓGICA y DEDUCCIÓN son los nombres de todo razonamiento o inferencia válidos y confiables. Implantan las relaciones de implicación entre oraciones.
42
6.3. Razonamiento Hay inferencias inválidas
¿Caso de “Hay una brisa en (3,2) o no hay una brisa en (3,2)”?
¿Caso de A = A? Hay inferencias insatisfactibles si no existe un
mundo donde pueda suceder. ¿Caso de “hay varios wumpi”? ¿Caso de “hay un wumpus en (1,1)”? ¿Caso de “hay un wumpus en (1,1) y no hay un wumpus
en (1,1)”?
43
6.3. Lógica
compromiso ontológicopara el agente, qué existe en el mundo
• en el caso de la lógica propositiva, para el agente existen hechos que serán verdaderos o falsos
compromiso epistemológicopara el agente, cuál es la actitud con respecto a
los hechos• en el caso de la lógica propositiva, el agente cree que
una oración es verdadera o falsa, o no ha llegado a conclusión alguna
44
6.3 Tipos de lógicas y sus preocupaciones
Lenguaje Ontología Epistemología
(lo que existe) (qué cree de los hechos)
-----------------------------------------------------------------------------------
Lógica Propositiva hechos verdadero/falso/no sabe
Lógica de primer hechos, objetos, enlaces
orden verdadero/falso/no sabe
Lógica temporal hechos, objetos,
enlaces, tiempos verdadero/falso/no sabe
Teoría de la
probabilidad hechos grado de certidumbre
Lógica difusa grado de verdad grado de certidumbre