Está en la página 1de 39

Sintaxis y Semntica de ASP

Parte I: Introduccin a LP y FOL

Carmen Leticia Garca Mata

Chihuahua, Chih., Sept. 2 del 2017


Contenidos
Introduccin a AI con un Enfoque basado en Lgica
- Aspectos bsicos de Lgica
- Seleccin del Lenguaje
- Ejemplo simple de Base de Conocimiento
- Historia

Motivacin para ASP

Sintaxis y Semntica de ASP


- Sintaxis
- Semntica Informal
- Semntica Formal
- Traduccin desde Lenguaje Natural
- Propiedades de los Programas ASP
Enfoque de AI Basado en Lgica
Seleccin del Lenguaje

algortmico describe las secuencias de acciones a ser


ejecutadas por una computadora

declarativo describe las propiedades de objetos y


relaciones entre ellos

El enfoque de AI basado en lgica propone:


* El uso de un lenguaje declarativo para describir el dominio
* expresa varias tareas (como planificacin o explicaciones de
observaciones inesperadas) como preguntas del programa resultante
* usa un motor de inferencia (una coleccin de algoritmos de
razonamiento) para responder las preguntas
El sueo de Leibniz

Gottfried Wilhelm Leibniz (1646-1716)


fu el primero que propuso la
ambiciosa meta de mecanizar el
proceso de razonamiento humano,
mediante la aplicacin del mtodo
axiomtico.
Una Primera definicin Formal del Problema de
Razonamiento Automatizado

En 1928 David Hilbert estableci


formalmente el problema de decisin
conocido como Entscheindung. Este
problema bsicamente consiste en:
.... determinar si existe un
procedimiento que permita decidir si:
dada cualquier expresin lgica, sta
es vlida o satisfacible utilizando un
nmero finito de operaciones...
El problema de Entscheindungs es
David Hilbert considerado el principal problema de
(1862-1943) Lgica Matemtica
Una Primera definicin Formal del Problema de
Razonamiento Automatizado

En 1936, Alonzo Church y


Alan Turing dieron una
respuesta negativa al
problema Entscheidung
(Church us Clculo Lambda
y Turing hizo una reduccin
del Problema
Entscheindung al problema
de Halting). Esto fu una
Alonzo Church gran decepcin para Hilbert y
Alan Turing
(1903-1995) su programa de mecanizar las
(1912-1954)
matemticas.
Despus de Church y Turing... est todo
perdido para el Razonamiento Automatizado ?

NO... Si se restringe el conjunto de modelos (ej. A quellos que solamente


satisfacen una teora especfica), se ha encontrado muchos fragmentos
interesantes que son decidibles.
Lgica como un Lenguaje para KR
Lgico Proposicional (LP)
y
Lgica de Primer Orden
Lgico Proposicional (LP)

Constantes Lgicas: falso, verdadero


Smbolos Proposicionales: P, Q, S, ... (sentencias
atmicas)
Parntesis: ( )
Las Sentencias son combinadas por conectivos:
...and [conjuncin]
...or [disjunccin]
...implica [implicacin / condicional]
..es equivalente [bicondicional]
...not [negacin]
Literal: una sentencia atmica o una sentencia atmica
negada
Ejemplos de sentencias (LP)

P significa est caliente.


Q significa es hmedo.
R significa est lloviendo.
(P Q) R
Si est caliente y est hmedo, entonces est lloviendo
QP
Si est hmedo est caliente
Un mejor manera:
Caliente = Est caliente
Hmedo = Est hmedo
Lloviendo = Est lloviendo
Lgica Proposicional (LP)
LP es un til lenguaje simple para demostrar definiciones e ideas claves

El usuario define un conjunto de smbolos proposicionales, tales como P


y Q.

El usuario define la semntica de cada smbolo proposicional


- P significa est caliente.
- Q significa es hmedo.
- R significa est lloviendo.

Un sentencia (frmula bien formada) est definida como sigue:


- Un smbolo es una sentencia
- Si S es una sentencia, entonces S es una sentencia
- Si S es una sentencia, entonces (S) es una sentencia
- Si S y T son sentencias, entonces (S T), (S T), (S T), y (S T) son
sentencias

Una sentencia es el resultado de aplicar un nmero finito de veces las


anteriores reglas
Algunos Conceptos de (LP)

El significado de la semntica de una sentencia determina su


interpretacin.

Dados ciertos valores de verdad de todos los smbolos en una sentencia,


puede ser evaluado para determinar su valor de verdad (Falso o
Verdadero).

Un modelo para una KB es un mundo posible ( sea asignaciones


De valores de verdad a los smbolos proposicionales) en los cuales
cada sentencia en la KB es verdadero.
Algunos Otros Conceptos de (LP)

Una sentencia vlida o tautologa es una sentencia que es vlida


bajo todas las interpretaciones, no importa cmo luzca el mundo
actualmente o cmo la semntica sea definida. Por ejemplo:
Est lloviendo o no est lloviendo

Una sentencia inconsistente o contradiccin es una sentencia


que es Falsa bajo todas las interpretaciones. El mundo nunca es
como lo describe, esto es Est lloviendo o no est lloviendo

La expresin: P implica Q, written P Q, significa que


dondequiera que P sea Verdadero, tambin lo es Q. En otros
mundos, todos los modelos de P son tambin modelos de Q.
Tablas de Verdad

P P Q
AND OR IF..THEN SI Y
0 1 SOLO SI
1 0 0 0 0 0 1 1

0 1 0 1 1 0

1 0 0 1 0 0

1 1 1 0 1 1
Reglas e Inferencia

La Inferencia Logica es usada para crear nuevas


sentencias que lgicamente sigan de un conjunto dado de
sentencias de clculo de predicados (KB).

Una regla de inferencia es correcta (sound) si cada sentencia


X producida por una regla de inferencia operando en una KB
lgicamente sigue de la KB. (O sea, que la regla de inferencia
no crea ninguna contradiccin).

Una regla de inferencia es completa si es capaz de producir


cada expresin que lgicamente siga de (o sea, que est
implicada por) la KB.
Reglas Correctas de Inferencia

Algunos ejemplos de reglas correctas de inferencia


Una regla es correcta si su conclusin es verdadera en
cualquier lugar donde la premisa sea verdadera

Demostracin de corretez usando la tablas de verdad


REGLA PREMISA CONCLUSION
Modus Ponens A, A B B
And, Introduccin A, B AB
And, Eliminacin AB A
Doble Negacin A A
Unit Resolution A B, B A
Resolution A B, B C AC
Correctez del Modus Ponens
P Q PQ OK?
Premisa: P Q = T y P = T. Solo una lnea de la tabla
de verdad la ltima satisface estas dos condiciones
(P y P Q). En esta lnea, tambin Q = T.
0 0 1
Por lo tanto, cada vez que P Q = T y P = T, tambin
Q debe ser T.
0 1 1

1 0 0

1 1 1

EJEMPLO:
P1: Si hoy es sbado, entonces Carmen se ir a trabajar
P2: Hoy es sabado.
C: Por lo tanto, Carmen se ir trabajar
Regla de Inferencia de Resolucin
P1:A B,P2: B C; C: A C

Tabla de Verdad demostrando su Correctez


Haciendo Pruebas
Una prueba es una secuencia de sentencias, donde cada sentencia es, o una
premisa o una sentencia derivada de las sentencias anteriores en la prueba por una
de las reglas de inferencia.

La ltima sentencia es el teorema (tambin llamado meta o pregunta) que queremos


probar.

Por ejemplo, para el problema del clima antes citado:


1 Hmedo Premisa Est hmedo
2 Hmedo Caliente Premisa Si est humedo, est caliente
3 Caliente Conclusin:
Modus Ponens(1,2) Est caliente

4 (HmedoCaliente)Lluvia Premisa Si est caliente y hmedo, est lloviendo


5 HmedoCaliente Introduccin And(1,2) Est caliente y humedo
6 Lluvia Conclusin:
Modus Ponens(4,5) Est lloviendo
Sentencias de Horn
Una sentencia de Horn sentence o clusula de Horn clause
tiene la forma:
P1 P2 P3 ... Pn Q
o alternativamente (P Q) = ( P Q)
P1 P2 P3 ... Pn Q

donde las Ps y las Qs son tomos no-negados

Para obtener una prueba de las sentencias de Horn, se aplica


Modus Ponens repetidamente hasta que ya no se pueda derivar
ninguna otra conclusin
Implicacin Vinculacin y Derivacin

Implicacin: KB
- Q est implicado por KB (un conjunto de premisas o asumciones), si y solo si, no
hay un mundo lgicamente posible en el cual Q es falso mientras que todas las
premisas en KB son verdaderas.

- O, establecindolo positivamente, Q est implicado por KB si y solo si la


conclusin es verdadera en cada mundo lgicamente posible en el cual todas las
premisas en KB son verdaderas.

Derivacin: KB :
- Podemos derivar Q desde KB si hay una prueba consistente de una secuencia de
etapas de inferencia vlidas empezando desde las premisas en KB y resultando
en Q.
Completez y Decidibilidad

Completo: Si KB , entonces KB
Si est implicado, hay una prueba

Semi-decidible:
Si hay una prueba, entonces para
Si no, puede que pare o no pare

KB : es verdadero en cada modelo de KB


(consecuencia semntica)
KB : es probable desde KB
(consecuencia sintctica)
Debilidades de la Lgica Proposicional

Es dficil identificar individuos (por ejem. Mary, 3)


No puede hablar directamente acerca de propiedades de individuos o
relaciones entre individuos (ejem: Lalo es alto)
No pueden ser fcilmente representadas generalizaciones, patrones,
regularidades (ejem. todos los tringulos tienen 3 lados)

La Lgica de Primer Orden (First-Order Logic, FOL) es suficientemente


expresiva para representar concisamente esta clase de informacin.
FOL agrega relaciones, variables, cuantificadores, ejem:
Cada elefante es gris: x (elefante(X) gris(X))
Hay un caimn blanco: x (caimn(X) ^ blanco(X))
Ejemplo

En LP tenemos que crear smbolos proposicionales para establecer toda o


parte de cada sentencia. Por ejemplo, podemos tener:
P = persona; Q = mortal; R = Confucio

De forma que las 3 sentencias estn representadas como:


P Q; R P; R Q

Aunque la tercer sentencia est vinculada por las primeras dos,


necesitamos un smbolo explcito, R, para representar un individuo,
Confucio, quin es miembro de las class persona y mortal.
Para representar a otros individuos, debemos introducir smbolos separados
para cada uno, junto con alguna manera de representar ell hecho de que
todos los individuos son personas y tambin mortal.
Actividad

Revisar el problema de Wumpus. Seccin 7.5 Libro de Inteligencia


Artificial: Un Enfoque Moderno. Autores: Peter Norvig y Stuart J. Russell
Lgica de Primer Orden (FOL)

FOL
Propiedades, relaciones, funciones, cuantificadores,...
Trminos, sentencias axiomas, teoras, pruebas,...

Extensions a FOL

Agentes Lgicos
- Agentes reflejos
- Representacin de cambio: Clculo de Situaciones, el Problema del
Marco (Frame)
- Preferencias en las acciones
- Agentes dirigidos por metas
Lgica de Primer Orden (FOL)

First-order logic (FOL) modela el mundo en trminos de:

Objetos, cules son las cosas con identidades individuales


Propiedades de los objetos que los distinguen de otros objetos

Relaciones que se mantienen entre conjuntos de objetos

Funciones, subconjunto de relaciones donde slo hay un valor para


cualquier entrada
Lgica de Primer Orden (FOL)

Objetos: cs472, fred, ph219, emptylist

Relaciones/Predicados: is_Man(fred), Located(cs472, ph219)

Funciones: Pair(search,Pair(learning,Pair(kbsystems, emptylist)))

Connectivos: , , , ,

Cuantificadores:
Universal: x: ( is_Man(x) is_Mortal(x) )
Existencial: y: ( is_Father(y, fred) )
Lgica de Primer Orden (FOL)
Un trmino (denotando un individuo del mundo real) es un smbolo de
constante, un smbolo de variable, o una funcin de n-posicin de n trminos.
x y f(x1, ..., xn) son trminos, donde cada xi es un trmino.

Un trmino sin variables es un trmino instanciado.
Una sentencia atmica (la cual tiene valor de T o F) es un predicado de n-
posicin de n trminos.
Una sentencia compleja est formada de sentencias atmicas conectadas por
conectivos lgicos.
P, PQ, PQ, PQ, PQ donde P y Q son sentencias.
Una sentencia cuantificada agrega los cuantificadores y
Una frmula bien formada (well-formed formula, wff) es una sentencia que
no contiene variables libres. Esto es, todas las variables estn ligadas por
cuantificadores universales o existenciales.
(x)P(x,y) tiene a x ligada como una variable cuantificada universalmente, pero y es libre.
Cuantificadores

Cuantificacin Universal
(x)P(x) significa que P aplica para todos los valores de x en el dominio
asociado con esa variable.

Ejemplo: (x) delfn(x) mamfero(x)

Cuantificacin Existencial
( x)P(x) significa que P aplica para algn valor de x en el dominio
asociado con esa variable.

Ejemplo: ( x) mamfero(x) pone-huevos(x)

Le permite a uno hacer una sentencia acerca de algn objeto sin


nombrarlo
Cuantificadores

Los cuantificadores universales a menudo se usan con impplica para


formar reglas.
(x) estudiante(x)inteligente(x) significado: Todos los estudiantes son inteligentes

Los cuantificadores existenciales usualemente son usados con and


para especificar una lista de propiedades acerca de un individuo
(x) estudiante(x)inteligente(x) significado: Hay un estudiante que es inteligente

Un error comn es representar esta sentencia en ingls como la


siguiente sentencia FOL
(x) estudiante(x) inteligente(x)

Pero qu ocurre si hay una persona que no es un estudiante?


Traduccin de Lenguaje Natural a FOL
A cada jardinero le gusta el sol
x jardinero(x) gusta(x,Sol)
Tu puedes todo el tiempo hacer tonta a algunas personas.
x t persona(x) tiempo(t) hacer-tontal(x,t)
Tu puedes hacer tonta a todas las personas por algn tiempo.
x t (persona(x) tiempo(t) hcer-tonta(x,t)) Equivalentes
x (person(x) t (time(t) can-fool(x,t)))
Todos los hongos morados son venenosos.
x (hogos(x) morados(x)) venenosos(x)
Ningn hongo morado es venenoso.
x morado(x) hongo(x) venenoso(x) Equivalentes
x (hongo(x) morado(x)) venenoso(x)
Hay exactamente dos hongos morados.
x y hongo(x) morado(x) hongo(y) morado(y) ^ (x=y) z (hongo(z)
morado(z)) ((x=z) (y=z))
Juan no es alto.
alto(Juan)
X est por encima de Y si X est directamente sobre la parte superior de Y o hay una pila
de uno o ms objetos directamente uno encima de otro comenzando con X y terminando
con Y.
x y arriba(x,y) (encima(x,y) z (encima(x,z) encima(z,y)))
Actividad: Escribe una simple genealoga KB
mediante FOL
Construir una pequea base de conocimientos sobre una genealoga utilizando FOL
que contenga hechos de relaciones familiares inmediatas (cnyuges, padres, etc.)
Adems debe contener definiciones de relaciones ms complejas (antepasados,
parientes) y debe ser capaz de responder preguntas sobre las relaciones entre las
personas

Predicados:
parent(x, y), child(x, y), father(x, y), daughter(x, y), etc.
spouse(x, y), husband(x, y), wife(x,y)
ancestor(x, y), descendant(x, y)
male(x), female(y)
relative(x, y)

Hechos:
husband(Joe, Mary), son(Fred, Joe)
spouse(John, Nancy), male(John), son(Mark, Nancy)
father(Jack, Nancy), daughter(Linda, Jack)
daughter(Liz, Linda)
Actividad: Escribe una simple genealoga KB
mediante FOL
Reglas para las relaciones genelogicas
(x,y) parent(x, y) child (y, x)
(x,y) father(x, y) parent(x, y) male(x) (similarmente para mother(x, y))
(x,y) daughter(x, y) child(x, y) female(x) (similarmente para son(x, y))
(x,y) husband(x, y) spouse(x, y) male(x) (similarlmente para wife(x, y))
(x,y) spouse(x, y) spouse(y, x) (la relacin de esposos es simtrica)
(x,y) parent(x, y) ancestor(x, y)
(x,y)(z) parent(x, z) ancestor(z, y) ancestor(x, y)
(x,y) descendant(x, y) ancestor(y, x)
(x,y)(z) ancestor(z, x) ancestor(z, y) relative(x, y)
(related by common ancestry)
(x,y) spouse(x, y) relative(x, y) (related by marriage)
(x,y)(z) relative(z, x) relative(z, y) relative(x, y) (transitiva)
(x,y) relative(x, y) relative(y, x) (simtrica)
Preguntas
ancestor(Jack, Fred) /* la respuesta es s */
relative(Liz, Joe) /* la respuesta es s */
relative(Nancy, Matthew)
/* ninguna respuesta en general, no si es bajo la asumcin de mundos cerrados */
(z) ancestor(z, Fred) ancestor(z, Liz)
Semntica de FOL

Dominio M: el conjunto de todos los objetos del mundo (de inters)


Interpretacin I: incluye:
Asigne cada constante a un objeto en M
Defina cada funcin de n argumentos como una asignacin M^n => M
Defina cada predicado de n argumentos como una asignacin
M^n => {T, F}
Por lo tanto, todo predicado instanciado tendr un valor de verdad
En general hay un nmero infinito de interpretaciones porque | M | es
infinito
Definir conexiones lgicas: ~, ^, , =>, <=> como en PL
Definir la semntica de (x) y (x)
(x) P (x) es verdadera si P (x) es verdadera en todas las interpretaciones
(x) P (x) es verdadera si P (x) es verdadera bajo alguna interpretacin
/* ninguna respuesta en general, si no es bajo la asumcin de mundos cerrados */
(z) ancestor(z, Fred) ancestor(z, Liz)
Semntica de FOL

Modelo: una interpretacin de un conjunto de oraciones tales que cada


oracin es verdadera

Una sentencia es:


Satisfacible si es verdad bajo alguna interpretacin
vlida si es cierto bajo todas las interpretaciones posibles
inconsistente si no existe ninguna interpretacin segn la cual la
oracin es verdadera
Consecuencia lgica: S X si todos los modelos de S son tambin
modelos de X
Lgicas Decidibles

Validez/Satisfacibilidad en Logica Proposicional (LP) es decidible (SAT).

Validez/Satisfacibilidad en muchas Logicas Temporales es decidible

Validez/Satisfacibilidad en Logica de Primer Orden (FOL) es semidecidible


Es decir, hay muchos procedimientos de prueba completos pero que
pueden correr por siempre en frmulas invlidas

Validez en Lgicas de Orden Ms Alto ni siquiera son semidicidibles


Decidibilidad de Lgicas Especficas

La Teora Lineal de o es decidible. La Teora No-Lineal ni siquiera es


semidicidible.

La Teora Lineal y No-Lineal de es decidible, aunque la complejidad es muy


mala en el caso no lineal.

La Teora Lineal y No-Lineal de es decidible. Comnmente es usado en


geometra.