• No se han encontrado resultados

MODELOS DE KRIPKE. Lógicas para la Informática y la Inteligencia Artificial

N/A
N/A
Protected

Academic year: 2021

Share "MODELOS DE KRIPKE. Lógicas para la Informática y la Inteligencia Artificial"

Copied!
14
0
0

Texto completo

(1)

enero, 2007

“MODELOS DE KRIPKE”

Lógicas para la Informática y la

Inteligencia Artificial

Ana de la Viuda López

(2)

A. de la Viuda Modelos de Kripke

Lógicas para la Informática y la Inteligencia Artificial ii

TABLA DE CONTENIDOS

TABLA DE CONTENIDOS ... ii

Lista de Figuras ... iii

1. Introducción ... 1

Qué es un modelo de Kripke ... 1

2. Descripción de la Aplicación... 2 Definición de modelos... 3 Generación de modelos ... 4 3. Un caso de ejemplo ... 7 4. Conclusiones... 11 5. Bibliografía... 11

(3)

Lista de Figuras

Figura 1: Ventanas de la Aplicación ... 3

Figura 2: Tablas ... 4

Figura 3: Generación de modelos ... 5

Figura 4: Ventana de Ayuda... 6

Figura 5: Definición de un modelo ... 7

Figura 6: Propiedades del modelo definido ... 8

Figura 7: Comprobación de fórmulas... 8

Figura 8: Generación de modelos ... 9

(4)

1. Introducción

En la vida cotidiana, el uso de las aplicaciones informáticas para resolver problemas es cada vez más frecuente, especialmente en tareas que requieren mucha precisión y constancia, o que manejan una gran cantidad de datos. Los diferentes campos en los que la Informática puede aplicarse son muy extensos y diversos. Uno de estos campos es la enseñanza. Las aplicaciones y/o herramientas informáticas de carácter didáctico son cada vez más empleadas, y hoy en día existen multitud de ellas a disposición de profesores y alumnos, que sirven de apoyo, no sólo a la enseñanza, si no también al aprendizaje.

Todo esto también lo hemos visto reflejado en nuestra propia carrera, donde cada vez son más los proyectos que se realizan que tienen un trasfondo didáctico. Concretamente, la aplicación que se va a tratar en este trabajo, se realizó como proyecto

fin de carrera en septiembre de 2005, fue dirigido por María Manzano1 y por Belén

Pérez Lancho2 y presentado por Ana de la Viuda López, quien firma el presente

documento.

La aplicación, titulada “Modelos de Kripke”, fue creada con el fin de desarrollar una herramienta didáctica que pudiera facilitar a los estudiantes de la universidad de Salamanca su trabajo con los modelos de Kripke, la manera actual de representar la semántica de la Lógica Modal. En particular, esta herramienta permite la representación de modelos de Kripke elementales, así como la verificación de algunas de sus propiedades.

Esta aplicación fue presentada a finales de septiembre del año pasado en el congreso “Second International Congress on Tools For Teaching Logic” que se celebró en Salamanca. Está desarrollada en java, y se encuentra disponible para su descarga en

la página web http://logicae.usal.es.

Qué es un modelo de Kripke

La semántica más empleada actualmente en Lógica Modal es la de modelos de Kripke. Están formados por un conjunto no vacío denominado universo, una relación binaria definida sobre él y una colección de subconjuntos del universo.

A =

W, R, ‹pA›pЄATOM

W ≠ Ø: conjunto de puntos (también llamados mundos, estados, situaciones,…).

R Є W×W: relación de accesibilidad.

pA W: conjunto de puntos donde p es verdadera.

Sobre estas estructuras se interpretan las fórmulas, asignando a cada una un subconjunto de W. Una fórmula será verdadera en un modelo si lo es cada uno de sus puntos.

1 Catedrática de la Facultad de Filosofía de la Universidad de Salamanca 2

(5)

2. Descripción de la Aplicación

La aplicación consiste en dos partes bien diferenciadas: la primera de ellas permite al usuario definir sus propios modelos, comprobar si una serie de axiomas se cumplen en cada uno de los puntos del modelo y ver las propiedades de la relación de accesibilidad. La segunda, consiste en un generador de modelos que permite a los usuarios generar todos los modelos cuyos puntos cumplan una serie de características previamente establecidas por ellos.

Los principales objetivos de la aplicación son:

Definir un modelo estableciendo sus características principales (número de

puntos, también llamados mundos o estados, número de letras, relaciones entre los puntos, valor de las letras, etc.) y obtener una serie de propiedades cumplidas por ese modelo.

Obtener un grupo de propiedades que verifique el modelo definido.

Mostrar el valor de verdad de cualquier fórmula proposicional modal para cada

punto de un modelo definido.

Generar todos los modelos de Kripke posibles a partir de un grupo de

características o propiedades, como el número de puntos y letras, las propiedades de la relación de accesibilidad, etc.

La aplicación consta de tres ventanas, las cuales son independientes, pudiendo mostrarse u ocultarse a gusto del usuario:

Ventana de dibujo – en la que se irá mostrando la representación gráfica de los

modelos.

Ventana de Propiedades y Fórmulas – donde el usuario podrá establecer las

propiedades y condiciones que desee para sus modelos, así como obtener la información generada por el programa.

Ventana General – en la que se definen el número de puntos y de letras, y a

partir de la cual se podrán desarrollar otras acciones, como la generación de informes o la exportación del contenido de la ventana de dibujo en forma de imagen .jpg.

(6)

A. de la Viuda Modelos de Kripke

Lógicas para la Informática y la Inteligencia Artificial 3 Figura 1: Ventanas de la Aplicación

Definición de modelos

Esta parte de la aplicación permite al usuario definir un modelo de Kripke especificando algunas de sus propiedades, como son:

El número de puntos (entre 2 y 6) y de letras (1 o 2)

Las relaciones entre los puntos. Se seleccionan en la tabla Relación de

accesibilidad, de la forma “el punto fila está relacionado con el punto columna”.

Aparecerán inmediatamente representadas en la ventana de Dibujo.

Y el valor de verdad de cada letra en cada uno de los puntos. Se seleccionan en

la tabla Valor de las letras, de manera que si la casilla de una letra para un punto está seleccionada, el valor de esa letra en ese punto es verdadero.

Veamos un ejemplo de esto. En un modelo con cuatro puntos y dos letras, queremos indicar lo siguiente:

- que el punto 1 está relacionado con el 2, y que el 4 está relacionado con el 2

- que el valor de la letra p es verdadero en el punto 3, y falso en el resto, y el de la

letra q es verdadero en todos los puntos , las tablas aparecerán así (Ver figura 2):

(7)

Figura 2: Tablas

Todo esto será mostrado en la ventana de dibujo, a medida que se vayan estableciendo las propiedades del modelo definido. Además, y de acuerdo con los valores y las relaciones definidos por el usuario, los valores de verdad de algunas fórmulas básicas modales serán mostrados al lado de cada uno de los puntos del modelo, pudiendo ocultarse si el usuario así lo desea. Estas fórmulas modales básicas

son: ◊ρ, □ρ, □◊ρ, □□ρ.

Una vez que el modelo ha sido definido, el usuario podrá:

Comprobar si la relación de accesibilidad cumple una serie de propiedades, que

son: Serial, Reflexiva, Simétrica, Transitiva y/o Euclídea.

Evaluar una serie de axiomas de la Lógica Modal para cada una de las letras.

Dichos axiomas son:

D ≡ (□φ→◊φ)

T ≡ (□φ→φ)

B ≡ (φ→□◊φ)

4 ≡ (□φ→□□φ)

5 ≡ (◊φ→□◊φ)

Evaluar cualquier fórmula proposicional modal introducida por el usaurio en

cada uno de los puntos del modelo, así como en el modelo completo.

Generación de modelos

El generador de modelos, permite producir todos los modelos posibles que cumplan un conjunto de condiciones establecidas por el usuario. Estas condiciones pueden ser:

Establecer el número de puntos (entre 2 y 6) y el número de letras (1 o 2) para el

(8)

A. de la Viuda Modelos de Kripke

Lógicas para la Informática y la Inteligencia Artificial 5

Una vez que las propiedades para los modelos y sus puntos han sido definidas, la aplicación genera todos los posibles modelos que las cumplen cuando el usuario de la orden (pinche en el botón Generar). Entonces, todos los modelos aparecerán listados en el recuadro de la parte inferior de la ventana Definiciones y Fórmulas, y a medida que el usuario vaya seleccionando cada uno de ellos, aparecerán representados gráficamente en la ventana de dibujo. Así mismo, debajo del recuadro donde aparece la lista de modelos, la aplicación nos muestra el total de modelos generados hasta el momento y si la generación ha finalizado (cuando el número de modelos a generar es muy alto, estos se generan de 2000 en 2000, puesto que al ir aumentando el número de puntos, el número de modelos posible crece de manera exponencial). (Ver figura 3)

Figura 3: Generación de modelos

Tanto en la generación como en la definición de modelos, el programa permite al usuario salvar, en cualquier momento, el modelo que en ese momento se esté mostrando en la ventana de dibujo, como imagen en formato JPG. Además, si el usuario lo desea, podrá generar un informe HTML que contenga toda la información, características y propiedades del modelo con el que esté trabajando en ese momento (el que aparezca en la ventana de dibujo). Se puede acceder a estas opciones directamente en la ventana General, o bien a través de las opciones de menú Archivo -> Generar informe o Archivo

(9)

La aplicación también incluye una Guía de Ayuda, que estará accesible para el usuario en todo momento a través del menú Ayuda -> Contenidos. Se trata de un breve manual que podrá solucionar al usuario cualquier duda o problema con el que se encuentre durante su uso del programa.(Ver figura 4)

(10)

A. de la Viuda Modelos de Kripke

Lógicas para la Informática y la Inteligencia Artificial 7

3. Un caso de ejemplo

Para terminar de comprender el funcionamiento de la aplicación, lo mejor es poner un ejemplo. Empezaremos con la definición de modelos. El modelo que vamos a definir es el siguiente:

- W = {1, 2, 3, 4}

- R = {(1, 1), (1, 2), (2, 1), (2, 2), (3, 3), (3, 4), (4, 3)} - pA = {1, 4}

- qA = {2, 3}

Una vez definido el modelo, la aplicación tiene el aspecto que se muestra en la

Figura 5.

Figura 5: Definición de un modelo

Como podemos ver en la Figura 6, la aplicación muestra las propiedades de la relación de accesibilidad de nuestro modelo (en este caso, su relación de accesibilidad cumple las propiedades serial y simétrica), así como si cumple o no una serie de axiomas. También podemos seleccionar la pestaña llamada Fórmulas, en la parte inferior de la ventana

Definiciones y Fórmulas, para comprobar si una fórmula proposicional modal es verdadera o

falsa en cada uno de los puntos del modelo (Figura 7). En este ejemplo, se ha comprobado la fórmula (¬□p) ٨ q, y la aplicación nos muestra que dicha fórmula resulta ser falsa en los cuatro puntos del modelo definido, y, por tanto, en el modelo.

(11)

Figura 6: Propiedades del modelo definido

Figura 7: Comprobación de fórmulas

Para generar modelos, hay que seleccionar la pestaña Generar en la ventana

Definiciones y Fórmulas. Lo primero que hay que hacer es seleccionar las

características que queremos que cumplan los modelos. En este ejemplo, la aplicación ha generado todos los modelos con 4 puntos y una letra, cuya relación de accesibilidad cumple las propiedades serial y euclídea y no cumple la propiedad reflexiva, mientras que no se impone ninguna restricción sobre el cumplimiento de las propiedades simétrica y reflexiva. Además, se ha especificado que todos los modelos generados

cumplan la fórmula ◊ρ. En la Figura 8 se observa que en total, la aplicación ha

generado 1096 modelos para las condiciones que se han definido. Se ha seleccionado el primero de ellos, y éste es el que aparece representado en la ventana de dibujo.

(12)

A. de la Viuda Modelos de Kripke

Lógicas para la Informática y la Inteligencia Artificial 9 Figura 8: Generación de modelos

Las líneas que aparecen en la lista de modelos, es la forma que tiene la aplicación de representar la información de cada uno de los modelos generados. La primera línea de la lista, simplemente indica que lo que hay debajo entre corchetes se refiere a los puntos y a las letras, respectivamente. En cuanto a las dos líneas siguientes, hay que leerlas juntas y en vertical, y representan lo siguiente:

- el contenido de los primeros corchetes, todas las combinaciones que se pueden

dar entre los puntos que se han definido para el modelo (es decir, las relaciones): (1,1), (1,2), (1,3), (1,4), (2,1), etc.

- el contenido del segundo par de corchetes, empareja cada punto con cada letra,

para poder representar el valor de éstas en cada punto.

A partir de la cuarta, cada línea identifica un modelo de los que se han generado. En el corchete correspondiente a las relaciones, si hay una ‘X’ significa que la relación entre los dos puntos que hay encima, en vertical, existe (en orden ‘arriba-abajo’), y si hay un ‘_’, quiere decir que la relación no existe. En cuanto al corchete de las letras, si hay una ‘X’ significa que en el punto correspondiente, la letra que haya encima tiene valor verdadero, y tendrá valor falso si hay un ‘_’ (la letra p se representa con un 1 y la

q, con un 2).

Por ejemplo, para la cadena que hay seleccionada en la Figura 9, se tiene que el corchete de las relaciones es [X_ _ _ X_ _ _ X_ _ _ X_ _ _], lo cual significa que en ese modelo concreto, existen las relaciones (1,1), (2,1), (3,1) y (4,1) [ver 1*, que señala que existe (2,1), pero no (2,2)]. El corchete de las letras es [X _ _ _] que indica que en el punto 1, la letra 1 (es decir, la p) es verdadera, y en el resto, falsa [ver 2*].

La igualdad que aparece a la derecha simplemente muestra el número de modelo generado (parte izquierda) y una suma de los binarios que representan los dos corchetes,

(13)

siendo el bit más significativo el de la derecha (y no el de la izquierda, como es lo habitual). La ‘X’ indica bit a 1, y ‘_’ indica bit a 0. En el modelo seleccionado en la lista, tenemos que:

[X_ _ _ X_ _ _ X_ _ _ X_ _ _] = 20 + 24 + 28 + 212 = 1 + 16 + 256 + 4096 = 4369 [X _ _ _] = 20 = 1

(14)

A. de la Viuda Modelos de Kripke

Lógicas para la Informática y la Inteligencia Artificial 11

4. Conclusiones

Para terminar, como desarrolladora de la aplicación, sólo añadir que aunque mi principal objetivo cuando la realicé como proyecto fin de carrera fue pasar la defensa del mismo y terminar la carrera, ahora me alegro de que la aplicación esté disponible en la Suma Lógica para todos los alumnos a los que pueda resultar útil o de ayuda en su trabajo con Lógica Modal.

Como usuario, no sé si seré completamente objetiva, pero creo que es una herramienta didáctica útil, sobre todo como apoyo en el aprendizaje y entendimiento de lo que son los Modelos de Kripke así como en la realización de ejercicios, ya que se trata de una aplicación muy visual y muy fácil de usar.

5. Bibliografía

[1] [MANZANO] Manzano, María. Transparencias de Lógicas para la Informática y la

Inteligencia Artificial, Curso 2006-2007.

[2] [DE LA VIUDA] de la Viuda López, Ana. Proyecto Fin de Carrera Modelos de

Referencias

Documento similar

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y

6 Para la pervivencia de la tradición clásica y la mitología en la poesía machadiana, véase: Lasso de la Vega, José, “El mito clásico en la literatura española

El objetivo final de la política reformista de Deng, era que China llegara a ser una potencia de primera línea mediante un crecimiento económico y el desarrollo tecnológico,

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

Sólo que aquí, de una manera bien drástica, aunque a la vez coherente con lo más tuétano de sí mismo, la conversión de la poesía en objeto -reconocida ya sin telarañas