Parte 2. (l gica de predicados)

Anuncio
TEMA 3 (parte 2).
Representación del Conocimiento
Francisco José Ribadas Pena
INTELIGENCIA ARTIFICIAL
5 Informática
[email protected]
13 de noviembre de 2009
– FJRP ccia [Inteligencia Artificial] –
3.2.2 Lógica de Predicados
Mayor expresividad que la lógica de proposiciones
En lógica de proposiciones: hecho = proposición
Tantas proposiciones como hechos se quieran representar
Proposiciones no tienen estructura interna
No se puede expresar conocimiento sobre conjuntos de hechos
Ejemplo: Mundo de los bloques
B
C
A
sobre C B
sobre A C
¬sobre B A
¬sobre B C
¬sobre C A
¬sobre A B
...
sobre
sobre
sobre
sobre
...
...
...
C
C
B
B
B
A
A
C
→ ¬libre
→ ¬libre
→ ¬libre
→ ¬libre
C
C
B
B
Solución: Lógica de predicados de 1er orden
Representa un mundo constituido por objetos (=elementos individuales del dominio)
Esos objetos tienen propiedades
Existen relaciones entre objetos
Se puede generalizar sobre los objetos, sus propiedades y relaciones
– FJRP ccia [Inteligencia Artificial] –
1
(a) SINTAXIS
ELEMENTOS
Términos: Representan objetos del dominio
• Constantes: Representan un objeto individual en concreto
◦ notación: cadenas de caracteres, comienzan en mayúsculas
◦ Ejemplos: Juan, M i coche, ...
• Funciones: Representan (implı́citamente) un objeto individual que
está relacionado con los n objetos que participan en la función
◦ notación: sı́mbolo de función (cadena, comienza con Mays.)
con aridad n + n argumentos (términos) entre paréntesis
◦ Ejemplos: P adre de(Juan), Hijo de(P edro, Ana), Coseno(45)...
• Variables:
 Representan objetos sin indicar cuáles
referirse a un objeto especı́fico no identificado
◦ Uso:
referirse a un conjunto de objetos
◦ notación: cadenas de caracteres en minúsculas
◦ Ejemplos: x, y, padre, hijo, ...
Predicados: Representan una propiedad de un término (si aridad 1)
o relaciones entre k términos (si aridad k > 1)
notación: cadenas de caracteres +
k términos (variables, constantes, funciones) entre paréntesis
• Átomos: fórmulas bien formadas (f.b.f.) compuestas por un único
predicado
• Literales: Átomo o negación de un átomo.
Ejemplos: Asesina(Juan, x), Es alto(Juan),
V ive con(Juan, P adre de(Juan)), ...
– FJRP ccia [Inteligencia Artificial] –
2
FÓRMULAS BIEN DEFINIDAS (oraciones lógicas)
Formadas a partir de átomos (=predicados) aplicando conectivas
lógicas y cuantificadores
Conectivas: ∧, ∨, →, ↔, ¬
• IDEM que en lógica proposicional
• Ejemplos:
Hermano(Juan, Luis)∧Hijo(Luis, P edro) → T io(Juan, P edro)
Cuantificadores: (∀, ∃) Permiten expresar propiedades sobre grupos
de objetos sin tener que enumerarlos todos
• cuantificador universal (∀): ”para todo”
◦ Afirmaciones sobre un conjunto de objetos
◦ ∀x α: afirma que α es cierto para cualquier valor por el que
sustituya la variable x
◦ ∀x Hermano(Juan, Luis) ∧ Hijo(Luis, x) → T io(Juan, x)
” Juan es el tio de los hijos de Luis”
• cuantificador existencial (∃): ”existe”
◦ Afirmaciones sobre ”algunos” objetos del dominio
◦ ∃x α: afirma que existe al menos un objeto del dominio para
el cual α es cierto
Alcance del cuantificador: sentencia lógica que le sigue
• La variable que sigue al cuantificador está definida en todo el
alcance del cuantificador
◦ variables cerradas (ligadas): asociadas a sı́mbolos cuantificadores
◦ variables libres: no cuantificadas
• Una f.b.f. con todas las variables ligadas se dice que es una f.b.f.
cerrada, si no es ası́ se dirá f.b.f. abierta
nota: Lógica de proposiciones = lógica de predicados de orden 0
• los predicados no tienen argumentos (son proposiciones)
• no existen constantes, variables, funciones, cuantificadores
– FJRP ccia [Inteligencia Artificial] –
3
(b) SEMÁNTICA
Representamos un mundo donde hay:
Un no infinito de objetos individuales representados por sı́mbolos de
constantes y variables
• Pueden ser entidades concretas (personas, cosas) o abstractas
(números, eventos)
Un no infinito de objetos definidos en función de otros objetos,
representados por sı́mbolos de función
Relaciones entre los objetos del dominio, representadas por sı́mbolos
de predicado
• Si la aridad es 1, se habla de propiedades de objetos
INTERPRETACIONES:
Una interpretación establece las relaciones anteriores entre los sı́mbolos de la lógica y los elementos del mundo real
• asocia a las constantes objetos del mundo
• asocia a las funciones relaciones funcionales entre objetos
• asocia a los predicados relaciones entre objetos
Más compleja que en lógica de proposiciones
– FJRP ccia [Inteligencia Artificial] –
4
dominio de una interpretación: Conjunto de objetos del mundo que se manejan en una interpretación
• Formalmente: Dada una conceptualización formada por:
◦ U : universo de discurso (conj. de individuos/objetos)
◦ R: conj. finito de relaciones entre objetos de U
◦ F : conj. finito de funciones que asocian a 1 objetos de U con
1 o más objetos de U
Una interpretación i es una función que asocia sı́mbolos del
lenguaje con elementos del la conceptualización verificando:
◦ Si c es un sı́mbolo de constante, i(c) ∈ U
◦ Si P es un sı́mbolo de predicado de aridad k, i(P ) ⊆ U k
◦ Si f es un sı́mbolo de función de aridad k, i(f ) = U k −→ U
Conceptualmente se pueden definir estas relaciones sobre U extensionalmente, enumerando en forma de tuplas, los objetos del mundo
real que participan en ellas
Ejemplo:
– FJRP ccia [Inteligencia Artificial] –
5
SATISFACTIBILIDAD
Asignación de variables(A): Función que asina a objetos de U con
las variables de una f.b.f.
Los átomos (predicados) pueden tener variables. Sólo se pueden
asignar valores de verdad a una fórmula atómica si todas sus
variables están asignadas
El valor de verdad de un átomo con todas sus variables asignadas,
es verdadero si y sólo si los objetos del dominio cumplen la relación
que representa ese predicado
→ el valor de verdad de una interpretación i depende de la asignación de variables
considerada
Para las f.b.f. no atómicas, su valor de verdad se obtiene combinando
valores de verdad de acuerdo a las tablas de verdad de las conectivas
(idem que lóg. proposiciones) y al significado de los cuantificadores
∀x α : será V si α es V en cq. asignación de la variable x
∃x α : será V si α es V en al menoa 1 asignación de la var. x

interpretación (i)
⇒ La asignación de verdad es relativa a:
asignac. de variables (A)
nota: Una f.b.f. puede ser V o F en una misma conceptualización
dependiendo de la interpretación y la asignación de variables
Def.:sactisfactibilidad
En una conceptualización, una interpretación i y una asignación de
variables A, satisfacen una f.b.f. Ψ si hacen V a esa f.b.f.
Notación: |=iA Ψ (”Ψ se satisface para i y A”)
• Ψ es satisfactible si y sólo si ∃ i y ∃ A tales que |=iA Ψ
• Ψ es válida si y sólo si ∀ i y ∀ A tales que |=iA Ψ
Una f.b.f. válida sin variables se denomina tautologı́a
Extensión a conjuntos de f.b.f. Φ = {Ψ1, ..., Ψn}
idem que en lógica proposicional
– FJRP ccia [Inteligencia Artificial] –
6
MODELOS
Una interpretación i es modelo de Ψ (respectivamente de Φ) si
Ψ se satisface con esa i para todas las posibles asignaciones de
variables
Notación: |=i Ψ
modelo mı́nimo: Ningún subconjunto de esa interpretación es un
modelo
conclusión: Inaplicable tabla de verdad exhaustiva como mecanismo de evaluación
EQUIVALENCIA E IMPLICACIÓN LÓGICA
Ψ1 y Ψ2 son lógicamente equivalentes si sus valores de verdad son
idénticos bajo todas las interpretaciones y asignaciones de variables.
Ψ1 ≡ Ψ2
Implicación lógica
Φ |= Ψ si y sólo si ∀ interpretación i y ∀ asignación A para las
cuales se satisface Φ, también se satisface Ψ
Φ |= Ψ sii Φ |=iA Ψ ∀i ∀A
Equivalencias Lógicas (sobre cuantificadores)

¬(∀x α) ≡ ∃x ¬α
Leyes de DeMorgan:
¬(∃x α) ≡ ∀x ¬α
∀ ≈ conjunción infinita, ∃ ≈ disyunción infinita

∀x α ≡ ∀y α
Renombrado de variables:
∃x α ≡ ∃y α

∀x∀y α ≡ ∀y∀x α ≡ ∀x, y α
Ordenación cuantificadores:
∃x∃y α ≡ ∃y∃x α ≡ ∃x, y α
– FJRP ccia [Inteligencia Artificial] –
7
(c) REGLAS DE INFERENCIA
Reglas inferencia de lógica proposicional siguen siendo válidas
Se deben generalizar para manejar variables
Existen nuevas reglas de inferencia para manejar cuantificadores
SUSTITUCIÓN
sust(Θ, α) representa a la f.b.f. resultado de aplicar la sustitución
Θ a la f.b.f. α
• Una sustitución es un conjunto ordenado de pares de términos
(termino, termino), donde al menos uno de ellos es un sı́mbolo
de variable
Ejemplo: Θ = {x/Juan, y/Ana, z/P adre de(Juan), ...}
• Una sustitución reemplaza en α el primer término de cada par
de la lista por el término asociado.
• Los reemplazos se realizan iterativamente de forma ordenada
REGLAS INFERENCIA CUANTIFICADORES
eliminación del universal (generaliza introd. de la conjunción)
Dada una f.b.f. α, una variable v y un término g (constante o función):
∀v α
sust({v/g}, α)
Ejemplo: Usando la sustitución {x/BillGates}
∀x T ieneDinero(x) → EsRico(x)
T ieneDinero(BillGates) → EsRico(BillGates)
– FJRP ccia [Inteligencia Artificial] –
8
introducción del existencial (generaliza introd. de la disyunción)
Dada una f.b.f. α, una variable v no presente en α y un término g
presente en α:
α
∃v sust({g/v}, α)
Ejemplo: Usando la sustitución {Juan/x}
Casados(Juan, Ana)
∃x Casados(x, Ana)
” hay alguien casado con Ana”
nota: Ambos son sólidos (correctos)
GENERALIZACIÓN MODUS PONENS
Siendo pi, qi y r literales y Θ una sustitución que asegure
sust(Θ, pi) = sust(Θ, qi) ∀i (todos los pi unifican con los qj )
p1, p2, ..., pn
q1 ∧ q2 ∧ ... ∧ qn → r
sust(Θ, r)
Tenemos n literales + 1 implicación con n antecedentes.
Si hay una sustitución que unifique los n literales con los n antecedentes, obtenemos el resultado de aplicar la sustitución sobre el
consecuente.
Ejemplo: Mediante la sustitución Θ = {x/Juan, y/Ana}
Hombre(Juan), M ujer(Ana), Liados(Juan.Ana)
∀x∀y Hombre(x) ∧ M ujer(y) ∧ Liados(x, y) → Casados(x, y)
Casados(Juan, Ana)
[= sust(Θ, Casados(x, y))]
– FJRP ccia [Inteligencia Artificial] –
9
RESOLUCIÓN EN LÓGICA DE PREDICADOS
Unificación
• Procedimiento sintáctico mediante el cual, dadas dos f.b.f. α y β
se encuentra una sustitución Θ que aplicada sobre ellas, ambas
resultan idénticas, esto es
unif icador(α, β) = Θ tal que sust(Θ, α) = sust(Θ, β)
• Θ se denomina unificador de las 2 f.b.f. α y β
• En caso de no existir un unificador el algoritmo falla
• Unificador más general (m.g.u.)
◦ El m.g.u. de α y β es aquel unificador Θ tal que cualquier
otro unificador σ podrá obtenerse a partir de σ mediante una
sustitución τ , esto es
σ = sust(τ, Θ)
→ cualquier otro unificador se puede construir a partir del m.g.u.
Regla Resolución en lógica de predicados
• Siendo pi y qj dos literales para los cuales existe un unificador
de la forma Θ = unif icador(pi, ¬qj )
p1 ∨ p2 ∨ ... ∨ pi ∨ ... ∨ pn
q1 ∨ q2 ∨ ... ∨ qj ∨ ... ∨ qm
sust(Θ, p1 ∨ ... ∨ pi−1 ∨ pi+1 ∨ ... ∨ pn ∨ q1 ∨ ... ∨ qj−1 ∨ qj+1 ∨ ... ∨ qm )
– FJRP ccia [Inteligencia Artificial] –
10
PROCEDIMIENTO DE REFUTACIÓN
Al igual que en lóg. proposicional, el conocimiento tiene que estar
representado en forma de cláusulas (F.N.C.)
• Conjunción de disyunciones (claúsulas)
• Sólo hay cuantificadores universales
Paso a Forma Normal Conjuntiva
1. Eliminar implicaciones

α → β ≡ ¬α ∨ β
• Usar relaciones:
α ↔ β ≡ (α → β) ∧ (β → α)
2. Reducir ámbito de las negaciones 8
< ¬∀xα ≡ ∃x¬α
• Usar DeMorgan + doble neg.:
¬∃xα ≡ ∀x¬α
:
¬¬α ≡ α
3. Independizar variables cuantificadas (renombrar variables ligadas)
• Asegurar que cada sı́mbolo de variable esté ligado a un único
cuantificador
• Ejemplo: ∀xP (x) ∧ ∃xQ(x) ≡ ∀x1P (x1) ∧ ∃x2Q(x2)
4. Eliminar cuantificadores existenciales (skolemización)
• Las ocurrencias de variables cuantificadas existencialmente se
sustituyen por:
a) Una constante (Sk ) no presente en la f.b.f. si el ∃ aparece
al principio de la expresión
∃xP (x) ∧ Q(x)
P (Sk ) ∧ Q(Sk )
{x/Sk }
b) Una función (Sk (...)) con tantos argumentos como cuantificadores universales (∀) haya antes del ∃ que cuantifica la
variable
∀x∀y∃zP (x)∧Q(y, z)
– FJRP ccia [Inteligencia Artificial] –
P (x)∧Q(y, Sk (x, y))
{z/Sk (x, y)}
11
5. Mover cuantificadores universales a la izquierda de la f.b.f.
6. Reordenar f.b.f. para obtener FNC
• Distribuir ∨ sobre ∧:
α ∨ (β ∧ γ) = (α ∨ β) ∧ (α ∨ γ)
7. Abandonar cuantificadores universales
8. Renombrar variables (si es necesario) para que ninguna variable
aparezca en más de una cláusula
Ejemplo 1:
Pasar {∀xP (x)} → {∀x∀y∃z[P (x, y, z) → ∀wR(x, y, z, w)]} a FNC
1.
2.
3.
4.
5.
6.
7.
8.
{¬∀xP (x)} ∨ {∀x∀y∃z[¬P (x, y, z) ∨ ∀wR(x, y, z, w)]}
{∃x¬P (x)} ∨ {∀x∀y∃z[¬P (x, y, z) ∨ ∀wR(x, y, z, w)]}
{∃x1 ¬P (x1 )} ∨ {∀x2 ∀y∃z[¬P (x2 , y, z) ∨ ∀wR(x2 , y, z, w)]}
¬P (SK1 ) ∨ {∀x2 ∀y[¬P (x2 , y, SK2 (x2 , y)) ∨ ∀wR(x2 , y, SK2 (x2 , y), w)]}
∀x2 , ∀y, ∀w ¬P (SK1 ) ∨ [¬P (x2 , y, SK2 (x2 , y)) ∨ R(x2 , y, SK2 (x2 , y), w)]
Nada
¬P (SK1 ) ∨ ¬P (x2 , y, SK2 (x2 , y)) ∨ R(x2 , y, SK2 (x2 , y), w)
Nada
Ejemplo 2: ∀x[P (x) → ∃x(Q(x) → R(x))]
– FJRP ccia [Inteligencia Artificial] –
12
REFUTACIÓN MEDIANTE RESOLUCIÓN (como en lóg. proposicional)
1. Convertir f.b.f. de Φ a FNC
2. Negar f.b.f. Ψ a demostrar y convertir a FNC
3. Unir cláusulas resultantes de Φ y ¬Ψ en Π
4. Aplicar de forma exhaustiva la regla de resolución para lógica de
predicados sobre Π.
Seleccionar un par de cláusulas con dos átomos p y q tales que
unifiquen con Θ = m.g.u.(p, ¬q)
Añadir resolvente a Π
Parar si:
• Se generar la cláusula vacı́a (hay contradicción)
→ Se verifica: Φ |= Ψ
• No hay resolventes nuevos (no contradicción)
→ Se verifica: Φ |=
/ Ψ
nota: Además de comprobar si una f.b.f. Ψ es consecuencia lógica de Φ
o no, la refutación mediante resolución permite ”responder” preguntas
mediante las sustituciones que dan lugar a la cláusula vacı́a.
– FJRP ccia [Inteligencia Artificial] –
13
Ejemplo: Pasar a FNC la siguiente base de conocimientos
1.
2.
3.
4.
5.
6.
Asterix es un galo
Los romanos que son amigos de algún galo odian a César
Asterix ayudó a Marco
Marco es amigo de quien le ayuda
Quien odia a algún romano, lucha contra él
Marco es romano
Comprobar si a partir de este conocimiento es posible demostrar que
’’Marco odia a César’’ mediante refutación.
Base de conocimiento (Φ)
1. galo(Asterix) (en FNC)
2. ∀x [romano(x) ∧ (∃y galo(y) ∧ amigo(x, y)) → odia(x, Cesar)]
3. ayuda(Asterix, M arco) (en FNC)
4. ∀x [ayuda(x, M arco) → amigo(M arco, x)]
5. ∀x∃y [romano(y) ∧ odia(x, y) → lucha(x, y)]
6. romano(M arco) (en FNC)
Hipótesis (Ψ = odia(M arco, Cesar))
– FJRP ccia [Inteligencia Artificial] –
14
PROPIEDADES PROCEDIMIENTO DE REFUTACIÓN
Refutación mediante resolución en lógica de predicados es sólida
(correcta)
• Si se llega a la cláusula vacı́a (Φ `REFUTACION) entonces Φ |= Ψ.
Refutación mediante resolución en lógica de predicados es completa
• Si Φ |= Ψ, el procedimiento de refutación por resolución generará la cláusula vacı́a
Refutación mediante resolución en lógica de predicados no es decidible
• Si Φ |=
/ Ψ el procedimiento de refutación mediante resolución
puede no terminar (”bucle infinito”)
→ Siempre parará si Φ |= Ψ, pero puede no parar si Φ /|= Ψ
• No existe un método que nos pueda decir siempre si Φ |=
/ Ψ
• Se dice que la lógica de proposiciones es semidecidible
◦ Se puede determinar Φ |= Ψ, pero ”a veces” no se puede
probar Φ |=
/ Ψ
soluciones:
• Renunciar a la solidez o a la completitud
• Utilizar un lenguaje de representación menos expresivo →
cláusulas de Horn
– FJRP ccia [Inteligencia Artificial] –
15
CLÁUSULAS DE HORN
Todas las variables están cuantificadas universalmente (∀ implı́cito)
Cláusulas que tienen como máximo un literal positivo (sin negar)
Todas las variables se suponen cuantificadas universalmente
Cláusulas de Horn pueden escribirse como implicaciones
• Consecuente: literal atómico positivo
• Antecedente: conjunción de literales positivos (DeMorgan)
¬p1 ∨ p2 ∨ ...¬pn ∨ q ≡ p1 ∧ p2 ∧ ... ∧ pn → q
Distinguimos
• reglas: q ← p1 ∧ p2 ∧ ... ∧ pn
• hechos: h ←
• objetivos: ← o1 ∧ o2 ∧ ... ∧ ok
Regla de resolución para cláusulas de Horn
Si b y di unifican mediante Θ = unif icador(b, di), inferimos:
b ← a1 ∧ a2 ∧ ... ∧ am
(≡ b ∨ ¬a1 ∨ ... ∨ ¬am )
c ← d1 ∧ d2 ∧ ... ∧ dn
(≡ c ∨ ¬d1 ∨ ... ∨ ¬dn )
sust(Θ, (c ← d1 ∧ ... ∧ di−1 ∧ a1 ∧ ... ∧ am ∧ di+1 ∧ ... ∧ dn ))
Cláusulas de Horn son la base de los intérpretes Prolog
Se añaden simplificaciones para mejorar eficiencia
• Todas las inferencias se realizan por encadenamiento hacia atrás
(desde objetivos a hechos) usando búsqueda en profundidad
• El orden de las cláusulas y de los antecedentes dentro de ellas es
relevante (establece orden de búsqueda)
◦ Búsqueda en los antecedentes de IZQ a DER
◦ Procesamiento de las cláusulas en orden de definición
• Se omite el test de ocurencia (occur check, test de ciclicidad) en
la rutina de unificación
◦ Hace unificaciones más eficientes (menos comprobaciones)
◦ Existe la posibilidad de no terminación (sustituciones cı́clicas)
• Se omite la negación (si se soporta negación por fallo)
– FJRP ccia [Inteligencia Artificial] –
16
3.2.4 Representación del conocimiento en lógica de
predicados
Fases generales en
base de conocimientos
la
construcción
y
utilización
de
una
1. Conceptualización
Decidir qué conceptos son relevantes en el dominio
→ identificar objetos, propiedades y relaciones relevantes
Definir un vocabulario para asignar sı́mbolos a los conceptos
relevantes
→ vocabulario de predicados, funciones y constantes
Se tratará de construir una ontologı́a: conjunto, normalmente
estructurado, de términos relevantes en un dominio
2. Codificación
Traducción, de acuerdo al vocabulario, de todo el conocimiento
considerado de interés a su representación en lógica de predicados
Se construyen los axiomas del dominio (conjunto de f.b.f. Φ)
• Fórmulas que se consideran ciertas en el dominio actual
(Base de Conocimiento)
• Codificar reglas y propiedades generales
• Codificar conocimiento especı́fico de partida
◦ Añadir predicados concretos (hechos iniciales)
◦ Los valores de verdad/falsedad de esos predicados deben de
estar respaldados por algún tipo de percepción del dominio
real representado (sensores, consulta a BD, preguntas al
usuario, etc,...)
– FJRP ccia [Inteligencia Artificial] –
17
3. Actualización del conocimiento y consulta
Durante la ejecución del sistema inteligente
• Se ”consulta”/desencadena el procedimiento de inferencia
(modus ponens, resolución, ...) para obtener respuestas
◦ Distintas alternativas:
Sistemas que sólo usan modus ponens, bien de forma progresiva (razonamiento hacia adelante) o regresiva (razonamiento hacia atrás)
Sistemas que sólo usan resolución y refutación
Etc,...
• Se actualiza el conocimiento
→ introducir nuevos hechos
→ modificar hechos existentes
Sus valores de verdad deben estar respaldados por el ”mundo
real”
Pasos comunes a los demás mecanismos de representación del conocimiento
En general es un proceso largo, que se suele hacer de forma iterativa
→ se amplı́a y refina de forma iterativa la representación
Suele necesitar la intervención de expertos del dominio (entrevistas,
etc...)
– FJRP ccia [Inteligencia Artificial] –
18
Descargar