Download Método de los Árboles Semánticos

Document related concepts

Tautología wikipedia , lookup

Lógica proposicional wikipedia , lookup

Consistencia (lógica) wikipedia , lookup

Teorema de la deducción wikipedia , lookup

Contradicción wikipedia , lookup

Transcript
Sistemas Lgicos Computacionales
Curso académico 2007/2008
Tema 3: Método de los Árboles Semánticos
Guido Sciavicco
Universidad Murcia, Espinardo (Murcia) - Spain
– p. 1/?
La Maquina que Piensa
Formalizar el razonamiento (el pensamiento) tiene un
objetivo especifico, de carácter puramente practico, que
va más allá del puro conocimiento;
Si un “sistema” de razonamiento es suficientemente
formal como para ser reducido a un conjunto de pasos,
entonces puede ser transformado en un programa para
ordenador (o sea es un algoritmo);
Deber del diseñador de un tal algoritmo es demostrar
que se trata de un algoritmo correcto, en un sentido
que aclaramos a continuación.
– p. 2/?
La Maquina que Piensa (cont.)
Cualquier ordenador pasado, presente, y futuro (en
ciertos sentidos) debe contar con dos limitaciones
físicas: el tiempo de computación y el espacio de
memoria son finitos;
Por lo tanto, cualquier algoritmo debe terminar en un
tiempo finito y (por lo menos parcialmente) predecible,
y utilizar una cantidad de espacio finito y (por lo menos
parcialmente) predecible;
Un algoritmo con éstas características se denomina
terminante;
– p. 3/?
La Maquina que Piensa (cont.)
Además, querremos que nuestro algoritmo, siempre
que nos de una respuesta, ésta respuesta sea correcta,
y denominaremos un tal algoritmo correcto;
Finalmente, querremos que nuestro algoritmo no se
“olvide” ninguna posible respuesta correcta, y
denominaremos un tal algoritmo completo;
En términos de lógica, un algoritmo deductivo es un
algoritmo capaz, dada una formula en su lenguaje,
decir si la formula es o menos satisfactible (o es una
tautologia, o es una contradicción), utilizando, por cada
φ, los resultados que ya conocemos:
φ tautologia ⇔ ¬φ contradiccion
y. . .
– p. 4/?
La Maquina que Piensa (cont.)
...
φ satisf actible ∧ ¬φ satisf actible ⇔ φ contingencia
o sea no es ni una tautología ni una contradicción;
Pero, es esto posible para cualquier lógica?
La respuesta es NO. Para lo que nos concierne, es
posible para la Lógica Proposicional, pero no para la
Lógica de Primer Orden;
En concreto, para éste ultimo caso, todos los algoritmo
correctos y completos fallan en la terminación, es decir,
el poder expresivo es tan alto que cualquier algoritmo
correcto y completo puede necesitar de un tiempo
infinito de computación.
– p. 5/?
La Maquina que Piensa (cont.)
Un conjunto de símbolos, con una gramática para la
generación de las formulas y una semántica bien
definida, o sea, una lógica, se denomina decidible si
posee por lo menos un algoritmo de deducción
correcto, completo y terminante, y no decidible en caso
contrario;
Ésta definición, en términos más generales, se aplica a
cualquier clase de problemas, y la hemos tomada en
préstamo desde la teoría de la computabilidad, que
tiene sus raíces en Gödel, Turing, Church, a partir de
los años 40.
– p. 6/?
Razonando con Proposiciones
A nivel de la Lógica Proposicional, formalizar un
sistema automático de deducción resulta bastante
sencillo;
Por el momento, nos centraremos en un sistema
basado en la semántica de las formulas, que por lo
tanto se llama sistema de los árboles semánticos o
tableaux (es decir, tablas);
Las reglas de éste sistema se basan una a una en las
reglas semánticas que ya hemos visto;
Por ejemplo, deduciremos p a partir de ¬¬p, o
deduciremos q a partir de p → q y p.
– p. 7/?
Vamos con Juicio
Un juicio es un afirmación del tipo V.φ o F.φ, donde φ es
una fórmula;
En términos prácticos, nosotros nos preguntaremos,
dada una fórmula, si V.φ vale, o sea, si φ es una
tautología, o, si es conveniente, si F.φ vale, o sea, si φ
es una contradicción;
La cosa más sencilla para demostrar si es un caso o el
otro es encontrar un contra-modelo, o sea una
interpretación tal que la formula NO se satisface;
Por ejemplo, si quiero demostrar que F.φ (φ es una
contradicción), donde φ = p ∧ ¬p, es suficiente enseñar
la interpretación I = {p = V }, porque evidentemente
I 6|= p ∧ ¬p.
– p. 8/?
Reglas
Vamos a ver las reglas formales:
1. V.¬φ ⇒
V.¬φ
F.φ
V.φ ∧ ψ
2. V.φ ∧ ψ ⇒
V.φ
V.ψ
F.φ ∨ ψ
3. F.φ ∨ ψ ⇒
F.φ
F.ψ
F.¬φ ⇒
F.¬φ
V.φ
F.φ ∧ ψ
F.φ ∧ ψ ⇒
F.φ
F.ψ
V.φ ∨ ψ
V.φ ∨ ψ ⇒
V.φ
V.ψ
– p. 9/?
Reglas (cont.)
F.φ → ψ
4. F.φ → ψ ⇒
V.φ
F.ψ
V.φ → ψ
V.φ → ψ⇒
F.φ
V.ψ
– p. 10/?
El Algoritmo
Se empieza con una formula proposicional φ;
Si quiero demostrar que φ ES una tautología, intentaré
demostrar que F.φ NO es satisfacible;
Aplico las reglas a F.φ, teniendo en cuenta:
1. Se aplica la regla al juicio “más arriba” que todavia
no ha sido considerado;
2. Se aplica la regla a TODAS las ramas ACTIVAS
(véase punto siguiente);
3. Si una rama contiene el juicio V.p Y el juicio F.p,
entonces es una rama contradictoria y es preciso
cerrarla (NO ACTIVA).
– p. 11/?
Un Ejemplo Sencillo
Queremos demostrar que la formula (p ∧ (p → q)) → q
es una tautología; verifiquemos F.φ:
√
F.(p ∧ (p → q)) → q
√
V.(p ∧ (p → q))
F.q
V.p
V.(p → q)
F.p
√
V.q
– p. 12/?
Conclur desde un Árbol Semántico
Al final del desarollo del árbol, cada rama ACTIVA es
un modelo para el juicio;
Si el juicio de salida era V.φ, entonces una rama
ACTIVA es un modelo para la formula φ, mientras si era
F.φ es un modelo para la formula ¬φ;
Si no hay ramas ACTIVAS, el juicio de salida es
insatisfactible; por ejemplo, si se trataba de un juicio del
tipo V.φ, entonces φ es insatisfactible, o sea ¬φ es una
tautología.
– p. 13/?
Entonces:
Si quiero demostrar que φ es satisfactible ⇒ expando
V.φ, y cada rama ACTIVA al final del proceso
representa un modelo para φ;
Si quiero demostrar que φ es una tautología, expando
F.φ y verifico que no hay ninguna rama ACTIVA al final
del proceso;
Si quiero demostrar que φ es una contradicción,
expando V.φ, y verifico que al final del proceso no hay
ninguna rama ACTIVA;
Como es la formula del ejemplo anterior?
– p. 14/?
Ejercicios
Elegir una regla de trasformación cualquiera y
demostrar que se trata de una tautología con el método
de los árboles semánticos;
Demostrar que las siguientes son formulas
satisfactibles:
φ1 = p ∧ (p → (q ∨ r)) ∧ ¬r;
φ2 = (p ∨ q) ∧ ¬p ∧ (q → r) ∧ ¬¬r;
Demostrar que las siguientes son tautologías:
φ3 = (¬p ∧ (q → p)) → ¬q ;
φ4 = ((p → q) ∧ (q → r)) → (p → r).
– p. 15/?
Extender el Algoritmo al Primer Orden
Al Primer Orden la cosa se complica un poco: debemos
tener en cuenta:
Variables, constantes, símbolos funcionales y
términos;
Cuantificadores;
Debemos tener presente que al Primer Orden NO
EXISTE una técnica deductiva terminante, por lo tanto
nuestro algoritmo puede ser correcto, completo pero no
necesariamente terminará siempre su computación!
– p. 16/?
Qué Podemos Computar?
La razón intuitiva de los “problemas” que tenemos al
Primer Orden, es que para demostrar que ciertas
fórmulas son satisfactibles, debemos mostrar un
modelo infinito. . .
. . . y el espacio y el tiempo que tenemos a disposición
son finitos;
Pero, al Primer Orden es siempre posible demostrar
que una formula NO es satisfactible en tiempo y
espacio finitos!
Por lo tanto, siempre que una formula sea una
tautología, podremos demostrarlo (recuerda: φ
tautología ⇔ ¬φ no satisfactible);
Para mantener las cosas simples, nos centraremos
solo en formulas cerradas.
– p. 17/?
Razonemos
Como podemos demostrar que una formula de Primer
Orden es insatisfactible?
La parte proposicional de la formula se trata como
hemos visto anteriormente;
Constantes, variables y símbolos funcionales debes ser
tratados de forma “abstracta”; por ejemplo, para
demostrar que la formula
∀xP (x) ∧ ¬P (a)
no es satisfactible, NO ES SUFICIENTE interpretar,
digamos, x y a como numeros naturales (recuerda: no
satisfactible = no existe NINGUNA interpretación,
dominio, . . . ).
– p. 18/?
Interpretaciones Abstractas
Sabemos que la insatisfactibilidad de una formula
depende solamente de su estructura lógica;
Utilizaremos por lo tanto interpretaciones abstractas,
llamadas de Herbrand (por su inventor) que nos
permitiran evitar cualquier hipótesis sobre el dominio y
sus propiedades;
Éstas interpretaciónes dependen exclusivamente del
lenguaje que se utiliza en la formula en cuestión.
– p. 19/?
Interpretaciones Abstractas (cont.)
En general, el dominio es el conjunto de las constantes
de la formula (o conjunto con una sola constante si la
formula no contiene ninguna) + conjunto de todas las
aplicaciones posibles de símbolos funcionales del
lenguaje (si hay) a elementos del dominio;
Ejemplo: el dominio de una interpretación de Herbrand
para la formula φ = ∀x(P (x) ∧ Q(f (x))) ∨ R(a, b) es
DH = {a, b, f (a), f (b), f (f (a)), f (f (b)), . . .}
Ahora, simplemente mirando el numero de parámetros
de cada símbolo de predicado, obtenemos una
interpretación; por ejemplo, en el caso anterior. . .
– p. 20/?
Interpretaciones Abstractas (cont.)
. . . podríamos tener:
1 = (D , P = ∅, Q = ∅, R = ∅);
IH
H
H
H
H
2 = (D , P = {a}, Q = ∅, R = ∅);
IH
H
H
H
H
3 = (D , P = ∅, Q = {a}, R = ∅);
IH
H
H
H
H
4 = (D , P = {a}, Q = ∅, R = {(a, b), (a, f (a))});
IH
H
H
H
H
...
. . . y muchas otras (son infinitas, en éste caso!);
Como cualquier interpretación, una IH puede o no
satisfacer la formula; en éste caso tenemos, por
4 |= φ.
ejemplo, que IH
– p. 21/?
Tomando Confianza con Herbrand
Se consideren las siguientes formulas:
∀x, y(P (x, y) → Q(x) ∨ R(y));
∀x(P (x) → Q(x)) ∧ P (a) ∧ ¬Q(a);
∀x(P (x) → Q(f (x))) ∧ P (a) ∧ ¬Q(b).
Y por cada una de ellas, se encuentre, si es posible,
una interpretación de Herbrand que la satisface y una
que no la satisface.
– p. 22/?
Para Qué?
Las interpretaciones de Herbrand tienen una
característica muy importante que nos ayudará a
desarrollar una metodología de deducción;
Hemos visto que una tal interpretación tiene un dominio
bien definido, que se denomina base de Herbrand;
Cualquier interpretación de Herbrand que utilize como
dominio la base de Herbrand (de su lenguaje) más un
conjunto cualquiera de (nuevas) constantes se
denomina interpretación extendida de Herbrand;
Teorema: cualquier formula de Primer Orden cerrada
es satisfactible si y solo si lo es en una interpretación
extendida de Herbrand.
– p. 23/?
Reglas
El papel jugado en el caso de la logica Proposicional
por las letras proposicionales, ahora lo juegan las
formulas atómicas;
Por lo tanto, no habrá regla para los juicios
V.p(t1 , . . . , tn ) y F.p(t1 , . . . , tn );
Gracias al teorema que hemos visto, podemos buscar
solo en el mundo de las interpretaciones que tienen
como dominio la base (extendida) de Herbrand;
Si la formula en cuestión no contiene constantes,
entonces se empieza con DH = {a}, donde a no
aparece en el lenguaje, mientras si contiene por lo
menos una constante, DH será la base de Herbrand.
– p. 24/?
Reglas (cont.)
Nuevas reglas formales:
5. V.∀xφ(x)
⇒
V.∀xφ(x)
V.φ(t)
F.∀xφ(x)
F.∀xφ(x)⇒
F.φ(s)
V.∀xφ(x)
6. F.∃xφ(x)
⇒
V.∃xφ(x)
F.∃xφ(x)
F.φ(t)
V.∃xφ(x)⇒
V.φ(s)
F.∃xφ(x)
– p. 25/?
Reglas (cont.)
t es el primer término de la base de Herbrand DH que
no aún no ha sido utilizado para la sustitución en la
formula ∀xφ(x), y
s es el primer término de la base de Herbrand DH que
no aún no ha sido utilizado en la rama, o una nueva
constante, que se añade a la base actual, si no hay
ningún término disponible.
– p. 26/?
Ejemplo
φ = (∀x(p(x) → p(f (x))) ∧ p(a)) → p(f (a)) es una
tautología:
√
F.(∀x(p(x) → p(f (x))) ∧ p(a)) → p(f (a))
DH = {a, f (a), . . .
V.∀x(p(x) → p(f (x)))
√
V.p(a)
F.p(f (a))
V.(p(a) → p(f (a)))
√
V.∀x(p(x) → p(f (x)))
F.p(a)
V.p(f (a))
– p. 27/?
. . . Y más Ejercicios
Elegir una regla de trasformación relativa a los
cuantificadores y demostrar que se trata de una
tautología con el método de los árboles semánticos;
Demostrar que las siguientes son tautologías:
φ1 = (∀x, y(P (x, y) → ∃zR(z)) ∧ ∀x¬R(x)) → ¬P (a, b);
φ2 = (P (a) ∨ P (f (a))) → ¬∀x¬P (x);
φ3 = (∀x∃y(P (x) → ¬R(y))) → ¬∃x∀y(P (x) ∧ R(y)).
– p. 28/?