Download Agentes Lógicos

Document related concepts

Lógica de descripción wikipedia , lookup

Representación del conocimiento wikipedia , lookup

Attempto Controlled English wikipedia , lookup

Alfred Tarski wikipedia , lookup

Lógica de primer orden wikipedia , lookup

Transcript
INTELIGENCIA ARTIFICIAL
Agentes Lógicos
Mg. Samuel Oporto Díaz
Lima, 25 de Junio 2005
Tabla de Contenido
1.
2.
3.
4.
5.
6.
Agentes Basados en Conocimiento.
Representación del Conocimiento.
Sintaxis y Semántica de un Lenguaje
Inferencia
Resumen
Bibliografía
2 /42
Objetivo
• Presentar a los agentes basados en conocimiento.
• Exponer los conceptos acerca de la representación del
conocimiento y el proceso de razonamiento.
• Exponer las técnicas para el diseño de agentes capaces
de elaborar representaciones del mundo.
3 /42
AGENTES BASADOS EN
CONOCIMIENTO
4 /42
Agentes Basado en Conocimiento
• Un agente basado en conocimiento (ABC) es aquel
sistema que posee conocimiento de su mundo y que es
capaz de razonar sobre las posibles acciones que
puede tomar para cambiar el estado de su mundo.
• El agente es un conjunto de sentencias, representado
mediante un lenguaje de representación de
conocimiento.
5 /42
Agentes Basado en Conocimiento
Motor de
Inferencia
Efectores
Sensores
Percepciones
Base de
Conocimiento
Acciones
mundo
6 /42
Elementos
• Lenguaje de representación de conocimiento.
– Lenguaje formal de representación, se usará la lógica
proposicional y más adelante la lógica de predicados.
– El conocimiento se representa mediante sentencias.
• Inferencia.
– Es la derivación de nuevas sentencias a partir de las sentencias
almacenadas y nuevas percepciones.
– Adición de nuevo conocimiento (TELL)
– Consultas a la BC (ASK)
7 /42
Base de Conocimiento (KB)
• Es la representación de un conjunto de hechos acerca
del mundo.
• Cada hecho está representado por una sentencia u
oración.
• LA BC tiene conocimiento previo, que corresponde al
conocimiento no aprendido.
• Siempre que se ejecuta el programa del ABC, sucede
dos cosas:
– El programa informa a la BC lo que percibe.
– El programa pregunta a la BC qué hacer, luego graba la
respuesta.
8 /42
Agente BC genérico
función AGENTE-BC(percepción) responde con una acción
estático: BC, una base de conocimiento
t, un contador, al inicio=0, mide el tiempo
TELL(BC, HACER-PERCEPCIÓN-SENTENCIA(percepción, t))
acción  ASK(BC, HACER-ACCIÖN-CONSULTA(t))
TELL(BC, HACER-ACCIÓN-SENTENCIA(acción, t))
t  t + 1
responde con acción.
9 /42
Niveles de un ABC
• Nivel de conocimiento o epistemológico.
– Es el nivel abstracto, describe qué es lo que el agente sabe.
Corresponde al dominio del conocimiento (objeto de
conocimiento).
• Nivel lógico.
– Es donde el conocimiento se codifica mediante oraciones o
sentencias.
• Nivel de implementación.
– Es el que opera la arquitectura del sistema.
– Es donde se encuentra las representaciones físicas de las
oraciones correspondientes al nivel lógico
10 /42
REPRESENTACION DEL
CONOCIMIENTO
11 /42
Representación del Conocimiento
• Expresar el conocimiento de forma que sea manejable
por el computador, de modo que pueda ser utilizado
como auxiliar para el desempeño de los agentes.
Tarea.
• Identifique al menos 6 formas de representar el conocimiento,
exponga el dominio de conocimiento, aplicaciones, ejemplifique con
un caso.
12 /42
Representación Declarativa
• Cálculo de Predicados,
Reglas de Producción, y
Redes Semánticas
• Fragmentos de conocimiento
interdependientes unos de
otros
• Facilidad de modificación.
• Los conocimientos se
combinan, mediante un
mecanismo general de
razonamiento y deducción.
• Flexible y modular.
(∀X)(persona(X))  mortal(X)
(∀X)(perro(X))  mortal(X)
persona(Sócrates)
persona(Eva)
perro(Lassie)
13 /42
Representación Procedural
• Algoritmos.
• Autómatas Finitos.
• Difícilmente modificable
(Reglas y Estructuras de
control).
• Facilitan el uso del metaconocimiento.
• Se puede descomponer
explícitamente el problema.
• Operación Eficiente.
function persona(X)
IF (X=Sócrates) or (X=Eva) THEN
return true
ELSE return false
function erro(X)
IF (X=Lassie) THEN return true
ELSE return false
function mortal(X)
IF persona(X) or perro(X) THEN
return true
ELSE return false
14 /42
Representación del conocimiento
15 /42
Representación del Conocimiento
El lenguaje consta de dos aspectos:
• Sintaxis.
– Explica las posibles configuraciones mediante las cuales se
forma las oraciones o sentencias (lenguaje).
• La semántica.
– Determina los hechos del mundo a los que se hace alusión en
las oraciones o sentencias.
• Si la semántica y la sintaxis están definidas de manera
precisa, se dice que el lenguaje es una lógica.
16 /42
Representación del Conocimiento
• La conexión entre oraciones y hechos es algo que se
establece mediante la semántica del lenguaje.
• La propiedad de que un hecho es decir la consecuencia
de otros hechos, se refleja en la propiedad de que una
oración es consecuencia de otras oraciones.
• La inferencia lógica genera nuevas oraciones que son
consecuencia de oraciones ya existentes.
implican
Oraciones
Semántica
Mundo
Semántica
Representación
Oraciones
Hechos
Hechos
producen
17 /42
SINTAXIS Y SEMANTICA DE
UN LENGUAJE
18 /42
Sintaxis
• Un buen lenguaje de representación de conocimiento
debe de combinar las ventajas de los lenguajes
naturales y lenguajes formales:
– Debe ser lo suficiente expresivo y conciso para que nos
permita expresar de manera sucinta todo lo que hay que decir.
– Debe ser inequívoco (no ambiguo) e independiente del
contexto para su interpretación.
– Debe ser eficiente en el sentido de que debe existir un
procedimiento de inferencia que permita obtener nuevas
inferencias a partir de oraciones en nuestro idioma.
19 /42
Ejemplos de Lenguajes
• Lenguajes de programación (C, Pascal, Lisp, etc.)
– Son idóneos para representar algoritmos y estructuras de datos
concretas: Mundo[2,2]  precipicio.
– El problema es que están diseñados para describir cabalmente el
estado de la computadora y de cómo cambiar ésta conforme el
programa se va ejecutando
– ¿Qué pasa cuando la información es incompleta o hay
incertidumbre? En estos casos estos lenguajes no son lo
suficientemente expresivos.
• Lenguajes naturales (español, inglés, francés, quechua….)
– Son expresivos
– El significado de una oración depende tanto de la oración como del
contexto en que se produce.
– Son ambiguos : “pequeños perros y gatos” vs. “-d + c”.
20 /42
Semántica
• En lógica, el significado de una oración es aquello que se
afirma del mundo, que el mundo sea de una forma.
• Para entender una oración, quien la escriba tiene que
proporcionar su respectiva interpretación. Ninguna oración
tiene significado por sí misma.
•
mensajes en código enviados de un espía a otro.
• Los lenguajes que nos interesan son todos compositivos o
de composición: el significado de una oración es función
del significado de sus partes.
•
El significado de “x2+y2” está relacionado con los significados de x2 y y2
• Una vez que mediante la semántica se interpreta una
oración, ésta puede ser cierta o falsa.
• Una oración es cierta dentro de una interpretación determinada si el estado de asuntos que representa es cierta.
21 /42
Ejercicio
Mundo de Bloques.
Considere un Mundo de Bloques consistente de bloques y una mesa.
Los bloques pueden estar apoyados sobre la mesa o sobre otro bloque
y se dice que un bloque está “libre“ si no tiene ningún otro bloque
apoyado sobre él.
Las relaciones que se definen entre los objetos pertenecientes a este
mundo son:
libre(B): es verdadera si el bloque B está “libre".
sobre(A;B): es verdadera si el bloque A está sobre el bloque B.
enMesa(A): es verdadera si el bloque A está apoyado sobre la mesa.
Las acciones permitidas son:
apilar(A;B): apila un bloque A sobre un bloque B. Esta acción puede
llevarse a cabo solo si ambos bloques están “libres”.
desapilar(A;B): desapila sobre la mesa el bloque A que está sobre el
bloque B. Esta acción solo puede realizarse si el bloque A está libre.
22 /42
Ejercicio
El estado inicial del mundo que se considera es el siguiente:
Preguntas:
1. Identifique las clases de este mundo y enumere los objetos.
2. Enumere los hechos que representan el estado inicial del Mundo de
Bloques.
3. Defina las acciones apilar y desapilar
4. Describa el mundo resultante luego de llevar a cabo la siguiente
secuencia de acciones a partir del estado inicial.
desapilar(A,L); apilar(L,O); apilar(A,L)
5. Por cada acción realizada, indique claramente cuales son los
estados intermedios que se van obteniendo.
23 /42
Solución
1.
2.
3.
4.
5.
bloque: A, L, O, H
mesa: M
libre(A), sobre(A, L), libre(O), libre(H), enMesa(L) , enMesa(O) , enMesa(H)
apilar(x, y) condición:
enMesa(x), libre(x), libre(y)
efecto:
¬enMesa(x), sobre(x,y), ¬libre(y)
desapilar(x,y) condición:
sobre(x, y), libre(x)
efecto:
¬sobre(x,y), libre(y), enMesa(x)
A
L
O
A
L
H
O
libre(A), sobre(A, L), sobre(L,O), enMesa(O) , enMesa(H)
H
L
O
H
A
desapilar(A,L)
L
O
H
A
apilar(L,O)
A
L
O
H
apilar(A,L)
24 /42
INFERENCIA
25 /42
Inferencia
• Inferencia lógica.
– Es un proceso mediante el cual se implementa la relación que
existe entre las oraciones o sentencias.
• Deducción.
– Equivalente a inferencia lógica.
• Equivalencia.
– Dos sentencias α y β son equivalentes lógicamente si es que
son verdaderas con el mismo conjunto de hechos.
– P Λ Q y Q Λ P
– Se expresan como α ↔ β
26 /42
Inferencia
• Validez.
– Una oración es valida si está verdadera.
– La oración es validada si y solo si es verdadera en todas las
posibles interpretaciones del mundo.
– Se denominan oraciones analíticas o tautologías.
• Juan está estudiando o Juan no está estudiando.
• Contradicción.
– Es una oración que es falsa en todas las interpretaciones del
mundo.
• Juan es mortal y Juan no es mortal.
27 /42
Inferencia
• Satisfabilidad.
– Se considera que una oración es satisfactible si y solo si existe
una interpretación en algún mundo para el cual es validad.
• Un alumno no rindió su práctica el día lunes.
• (A V B) Λ C, para A = FALSE , B = TRUE, C = TRUE.
– Las oraciones contradictorias son insatisfactibles
• Juan salió a caminar y Juan no salió a caminar.
• A Λ –A, para todo A.
28 /42
RESUMEN
29 /42
Resumen
• La lógica es un sistema formal para describir la realidad,
que consta de:
– Sintaxis del lenguaje, que explica cómo construir oraciones,
– Semántica del lenguaje, que especifica las restricciones
sistemáticas sobre cómo se relacionan las oraciones con la
realidad
• La teoría de la demostración, un conjunto de reglas
para deducir las implicaciones de un conjunto de
oraciones.
30 /42
Lógicas Clásicas
• Lógica propositiva
– En ella los símbolos representan proposiciones completas
(hechos), los cuales se pueden combinar con conectivos
booleanos, por ejemplo:
• D = “el wumpus está muerto”, que puede ser V o F.
• F = “Toledo es el presidente del Perú”
• Lógica de primer orden
– Se preocupa por la representación de los mundos en términos
de objetos y predicados sobre objetos (propiedades de y
relaciones entre objetos), así como del uso de conectivos y
cuantificadores.
31 /42
Lógicas no clásicas
• Lógica temporal
– Tiene en cuenta la conducta cambiante en el tiempo de las
entidades en un dominio determinado.
– Una misma proposición puede tener diferentes valores de
verdad según distintos intervalos temporales.
– Se incluyen conectores ("antes", "después", "durante", "hasta",
"desde") a fin de desarrollar un modelo capaz de simular mejor
el lenguaje natural.
• Lógica difusa
– Expande la teoría de conjuntos.
– Los objetos pueden pertenecer simultáneamente a más de una
categoría, presentando un cierto "grado de pertenencia“
– El aire parece cálido en un 40%
– El aire parece no cálido en un 60%.
– Trabaja con expresiones lingüísticas como "muy", "grande",
"poco", "más o menos", "aproximadamente igual a", etc.
32 /42
Lógicas Clásicas y No Clasicas
Lenguajes formales y sus preocupaciones ontológicas y
epistemológicas de las lógicas clásicas y 2 no clásicas.
Lenguaje
Preocupación
Ontológica
Preocupación
Epistemológica
(naturaleza de la realidad)
(posibles estados del conocimiento)
Lógica propositiva
Hechos
Verdadero/falso/desconocido
Lógica de primer orden
(predicados)
Hechos, objetos,
relaciones
Verdadero/falso/desconocido
Lógica temporal
Hechos, objetos,
relaciones, veces
Verdadero/falso/desconocido
Lógica difusa
Grado de verdad
Grado de certeza 0…1
33 /42
Tarea
• Investigar los siguientes tipos de lógicas no clásicas.
–
–
–
–
–
–
La lógica multivaluada.
La lógica temporal.
La lógica modal.
La lógica no monotónica.
La lógica difusa.
La lógica multidimensional.
34 /42
Bibliografía
• AIMA. Capítulo 6, primera edición.
• AIMA. Chapter 7, second edition.
35 /42
PREGUNTAS
36 /42