• No results found

Literature Study

Al existir muchas variantes de LM que depende de las propiedades de la relación de accesibilidad, y también otras variantes del lenguaje básico que incluyen otros operadores modales, también existen varios métodos deductivos. Aquí, nos centraremos en la lógica más sencilla, es decir, la lógica K, y veremos solamente un método deductivo para K que es la extensión del método basado en árboles semánticos para LP.

Árboles semánticas para K. La metodología basada en árboles semánticos para la lógica K es bastante sencilla, y, como hemos dicho, está basada esencialmente en la misma metodología para LP. Antes de poder aplicar algún método de razonamiento, con el n de disminuir el número total de las reglas, el primer paso siempre consiste en poner la fórmula considerada en una forma más sencilla, pero equivalente; lo que queremos obtener es una forma que tenga los operadores ¬ sólo delante de letras proposicionales. Las reglas para obtener la forma normal de φ (llamada negated normal form, o NNF), son las mismas que vimos en el caso de la resolución para LP, más las dos reglas siguientes:

transforma ¬♦φ en ¤¬φ; transforma ¬¤φ en ♦¬φ.

Por ejemplo, si tenemos la fórmula ¬¤(p ∧ ¬♦q), podemos aplicar las reglas que hemos visto, obteniendo ♦¬(p ∧ ¤¬q), y, con otro paso, ♦(¬p ∨ ¬¤¬q), y, nalmente, ♦(¬p ∨ ♦q).

En este punto, tenemos que distinguir entre dos clases de reglas para el desarrollo de un ár- bol semántica: reglas proposicionales (que serán prácticamente idénticas al caso de LP), y reglas modales. Exactamente como en el caso de LP, una rama quedará cerrada en cuanto se encuentre una letra proposicional y su negación; la diferencia está en que en este caso, esta contradicción habrá que encontrarla en el mismo mundo de evaluación. La regla que permitirá el desarrollo de un caso como ♦φ será la encargada de construir nuevos mundos de evaluación, mientras que la regla para el caso ¤φ aplicará la evaluación de φ a todos los mundos accesibles a partir del mundo actual. Hay que tener en cuenta que la lógica K no aplica ninguna restricción a la relación R, lo que signica que, por ejemplo, a partir de un mundo wi es posible acceder a través de ♦ también al mismo

mundo wi. También, debemos tener en cuenta que, en el desarrollo del árbol semántica, hay que

distinguir de alguna forma las ramas que provienen de operadores clásicos y ramas que representan (partes) del modelo que estamos construyendo. Es decir, en el momento en que en un mundo wi

evaluamos una fórmula como p ∨ q, estamos teniendo en cuenta que existe un modelo en el que en wi se evalúa a verdadero p, y otro modelo en el que en wi se evalúa a verdadero q. La forma

más sencilla de gestionar este problema es utilizar el no-determinismo. Para tener una idea de como funcionan las reglas, supongamos que tenemos que evaluar la fórmula φ = ♦(p∨q)∧¤¬p∧¤¬q, que ya se encuentra en NNF. Esta fórmula no es satisfacible, y por lo tanto, para cualquier elección no determinista que hacemos, nos encontramos con una contradicción en algún mundo. Supongamos que φ es satisfacible. Entonces, φ se evaluará a verdadero en un mundo w0. Esto supone que el

Figura 1.6: Un ejemplo de árbol semántico modal.

activa que se puede expandir es ♦(p ∨ q); vericamos que, en este momento, no hay mundos que satisfacen la fórmula (p ∨ q), y, por lo tanto, lo creamos; nuestro modelo parcial ahora tiene los mundos w0 y w1, donde w1 satisface solo (p ∨ q). En este punto, las formulas universales se pueden

expandir, y en dos pasos vericamos que el mundo w1 también debe de satisfacer ¬p y ¬q. Para

desarrollar p ∨ q, hacemos una elección no derminista: el algoritmo elige una situación en la que w1

satisface p, llegando a una contradicción, y, con un paso de backtracking (vuelta atrás), verica que también la situación en la que w1 satisface q supone una contradicción. Por lo tanto la fórmula no

es satisfacible. En la Figura 1.4.4 vemos desarrollado este ejemplo, puesto en forma de árbol para evidenciar las elecciones no deterministas; cada nodo del árbol es un modelo modal parcial.

Un algoritmo genérico para el desarrollo de un árbol semántica por una fórmula en K se puede encontrar en el Algoritmo 1.5. Las reglas modales son:

1: Input: φ1∧ . . . ∧ φn→ φ

2: Transforma el input en φ1∧ . . . ∧ φn∧ ¬φ

3: Transforma la fórmula obtenida en NNF φ1∧ . . . ∧ φn∧ ¬φ

4: Elimina todo los símbolos de implicación utilizando la correspondiente regla de LP 5: loop

6: if Hay por lo menos un mundo en el que aparece una fórmula activa φ no expandida aun then

7: if φ es una fórmula proposicional del tipo ψ ∨ τ then

8: cambia φ a no activa y pon el el mundo actual ψ o τ en estado activo eligiendo de forma no determinista

9: if φ es una fórmula proposicional de cualquier otro tipo then

10: cambia φ a no activa, aplica la regla correspondiente y expande la fórmula en el mundo actual, poniendo las formulas resultantes en estado activo

11: if φ es una fórmula modal then

12: cambia φ a no activa si y sólo si no hay ninguna (sub)fórmula modal existencial que no haya sido expandida aún, aplica la regla correspondiente poniendo las formulas resul- tantes en estado activo

13: if hay un mundo en el que aparece una contradicción then

14: vuelve atrás a la última elección no determinista, si hay, o devuelve NO SATISFACIBLE 15: devuelve SATISFACIBLE

Algorithm 1.5: Un algoritmo para K basado en árboles semánticos.

tenemos que averiguar si existe un mundo wj (posiblemente wi) tal que en su etiqueta aparece

la fórmula φ. En este caso, simplemente ponemos el par (wi, wj) en la relación R del modelo

que estamos construyendo, y ponemos el estado de ♦φ a no activo. Por otra parte, si este mundo no existe, entonces introducimos otro mundo wj, ponemos en su etiqueta la fórmula φ,

ponemos el par (wi, wj) en la relación R del modelo que estamos construyendo, y cambiamos

el estado de ♦φ a no activo.

caso universal. Si estamos en un mundo wi y tenemos que evaluar la fórmula ¤φ, entonces

simplemente ponemos la fórmula φ en las etiquetas de todos los mundos wj tales que el par

(wi, wj) está en la relación R del modelo que estamos construyendo.

La complejidad computacional de K, que se puede demostrar decidible ya que el algoritmo es correcto, completo y termina siempre, es PSPACE completo (o sea, utiliza como mucho un espacio de computación polinomial en la dimensión de la entrada; ésta clase de complejidad incluye a NP).

Related documents