Lógica Temporal. Tablas semánticas.

16
Lógica Temporal. Tablas Lógica Temporal. Tablas semánticas. semánticas. Beatriz Pérez Sánchez Beatriz Pérez Sánchez Lógica Computacional Lógica Computacional Curso 2005-2006 Curso 2005-2006 Departamento de Computación Departamento de Computación

description

Lógica Temporal. Tablas semánticas. Beatriz Pérez Sánchez Lógica Computacional Curso 2005-2006 Departamento de Computación. Lógica Temporal Proposicional (PTL). Introducción. Además de los operadores del cálculo proposicional ( Λ , ν ,¬,→), existen tres operadores unarios temporales: - PowerPoint PPT Presentation

Transcript of Lógica Temporal. Tablas semánticas.

Page 1: Lógica Temporal. Tablas semánticas.

Lógica Temporal. Tablas semánticas.Lógica Temporal. Tablas semánticas.

Beatriz Pérez SánchezBeatriz Pérez SánchezLógica ComputacionalLógica Computacional

Curso 2005-2006Curso 2005-2006Departamento de ComputaciónDepartamento de Computación

Page 2: Lógica Temporal. Tablas semánticas.

22Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal Proposicional (PTL). Introducción.Lógica Temporal Proposicional (PTL). Introducción.

Además de los operadores del cálculo proposicional (Además de los operadores del cálculo proposicional (ΛΛ,,νν,¬,→),,¬,→),existen tres operadores unarios temporales:existen tres operadores unarios temporales:

• alwaysalways, denotado por , denotado por □□, “, “para cualquier instante t en el futuropara cualquier instante t en el futuro”, ”, • eventuallyeventually, denotado por, denotado por ◊ ◊, “, “para algún instante t en el futuropara algún instante t en el futuro”,”,• nextnext, denotado por , denotado por ○○, “, “en el instante siguienteen el instante siguiente”.”.

Page 3: Lógica Temporal. Tablas semánticas.

33Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Sintaxis y Semántica (I).PTL. Sintaxis y Semántica (I).

La semántica de PTL da una interpretación, para las proposiciones y el La semántica de PTL da una interpretación, para las proposiciones y el tiempo.tiempo.

Define un conjunto de estados. Cada uno contiene una interpretación de las Define un conjunto de estados. Cada uno contiene una interpretación de las proposiciones.proposiciones.

El tiempo se representa mediante transiciones entre estados. El tiempo se representa mediante transiciones entre estados. Una interpretación PTL se dibuja como un diagrama de transición de estados. Una interpretación PTL se dibuja como un diagrama de transición de estados.

pq

pq

¬pq

¬p¬ q

s 0 s 1 s 2

s 3

Page 4: Lógica Temporal. Tablas semánticas.

44Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Sintaxis y Semántica (II).PTL. Sintaxis y Semántica (II). Se da una demostración de cómo el valor cierto de la fórmula temporal Se da una demostración de cómo el valor cierto de la fórmula temporal A = A = □□p p vv □□qq se determina para cada estado se determina para cada estado s s en la figura anterior.en la figura anterior.

• AA es es ciertocierto en en ss00

• A A es es falsofalso en en ss11

• AA es es ciertocierto en en ss22

• AA es es falsofalso en en ss33

PPqq

PPqq

¬P¬P qq

¬P¬P¬q¬qss33

ss11

ss22ss00

Page 5: Lógica Temporal. Tablas semánticas.

55Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Sintaxis y Semántica (III).PTL. Sintaxis y Semántica (III). Una Una interpretación I para una fórmula PTLinterpretación I para una fórmula PTL es un par (s, es un par (s,ρρ) donde S={s) donde S={s11,s,s22,…,s,…,snn} }

es un conjunto de estados cada uno de los cuales es una asignación de valores T a es un conjunto de estados cada uno de los cuales es una asignación de valores T a las proposiciones atómicas de A y las proposiciones atómicas de A y ρρ es una relación binaria entre estados. es una relación binaria entre estados.

Una Una fórmula en PTL es satisfaciblefórmula en PTL es satisfacible ssi existe una interpretación I = (s, ssi existe una interpretación I = (s, ρρ) y un ) y un estado sestado sєєS tal que S tal que υυss(A) = T(A) = T (el valor de A en s es T). Si I,s |= A(el valor de A en s es T). Si I,s |= A para algún spara algún sєєS S entonces I se denomina modelo para A. Una fórmula A en PTL es válida si y sólo entonces I se denomina modelo para A. Una fórmula A en PTL es válida si y sólo si para toda interpretación I de A y para todos los estados si para toda interpretación I de A y para todos los estados ssєєS, I,s |= A.S, I,s |= A.

El análisis hecho para la fórmula El análisis hecho para la fórmula A = A = □□p p vv □□qq y la interpretación I puede repetirse y la interpretación I puede repetirse utilizando la definición formal de interpretación.utilizando la definición formal de interpretación.

ρρ (s (s00) = {s) = {s11,s,s22} y además s} y además s1 1 |= q y s|= q y s2 2 |= q|= q , concluimos que I, s, concluimos que I, s0 0 |= |= □□q . Entonces I, q . Entonces I, ss0 0 |= |= □□p v p v □□qq por interpretación de la disyunción. por interpretación de la disyunción.

Page 6: Lógica Temporal. Tablas semánticas.

66Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Tablas Semánticas (I).PTL. Tablas Semánticas (I). El método de tablas semánticas se puede utilizar para obtener un proceso El método de tablas semánticas se puede utilizar para obtener un proceso

de decisión para la satisfacibilidad en PTL. Se añaden las siguientes reglas de decisión para la satisfacibilidad en PTL. Se añaden las siguientes reglas a las a las αα- y - y ββ-reglas del cálculo proposicional.-reglas del cálculo proposicional.

ββ ββ11 ββ22

◊ ◊AA AA ○○◊◊AA

¬¬□□AA ¬A¬A ¬¬○□○□AA

αα αα11 αα22

□□AA AA ○□○□AA

¬◊A¬◊A ¬A¬A ¬¬○○◊A◊A

XX XX11

○○AA AA

¬¬○○AA ¬A¬A

Las Las αα- y - y ββ-reglas son exactas a las reglas del -reglas son exactas a las reglas del cálculo proposicional aplicadas a fórmulascálculo proposicional aplicadas a fórmulas temporales.temporales. Las X-reglas tienen un estatus diferente.Las X-reglas tienen un estatus diferente.

Page 7: Lógica Temporal. Tablas semánticas.

77Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Tablas Semánticas (II).PTL. Tablas Semánticas (II).Tabla obtenida para la fórmula Tabla obtenida para la fórmula A=(pvq) ^ ○ (¬p^¬q)A=(pvq) ^ ○ (¬p^¬q) al aplicar al aplicar αα- y - y ββ-reglas.-reglas.

¬p¬p¬q¬q ppss00 ss11

¬p¬p¬q¬qqqss00 ss11

(pvq) ^ o (¬ p^ ¬ q)

pvq, o (¬ p^ ¬ q)

p, o (¬ p^ ¬ q) q, o (¬ p^ ¬ q)

p, ¬ p^ ¬ q q, ¬ p^ ¬ q

p, ¬ p, ¬ q q, ¬ p, ¬ q

Page 8: Lógica Temporal. Tablas semánticas.

88Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Tablas Semánticas(III). Ejemplo.PTL. Tablas Semánticas(III). Ejemplo.

A= ¬(□ (p^q) → A= ¬(□ (p^q) → □ □ p)p)

ppqq

ss00ss11 pp

qqppqq

ss22 . . .. . .

¬ ( (p^ q) p)

p, q, o (p^ q),¬ p p, q , o (p^ q), ¬ p

(p^ q) ^ ¬ p

¬ ( ¬ ( (p^ q)) v p)

(p^ q), ¬ p

(p^ q), o (p^ q), ¬ p

p , q, o (p^ q), ¬ p

-re g la : A A ^ A

-re g la : A A v A

x

p, q, (p^ q), ¬ p

X -re g la : A A

Page 9: Lógica Temporal. Tablas semánticas.

99Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

PTL. Tablas Semánticas (IV).PTL. Tablas Semánticas (IV).InputInput Una fórmula PTL (A). Una fórmula PTL (A).OutputOutput Tabla semántica Tabla semántica TT para A. para A.Cada nodo se etiqueta con un conjunto de fórmulas. Inicialmente Cada nodo se etiqueta con un conjunto de fórmulas. Inicialmente TT consta de consta deun nodo simple, la raíz etiquetada con {A}.un nodo simple, la raíz etiquetada con {A}.

Elegir una hoja Elegir una hoja l l que no esté marcada. que no esté marcada. ll se etiqueta con un conjunto de fórmulas se etiqueta con un conjunto de fórmulas U(l).U(l).

Si U(l) es un conjunto de literales, se comprueba si existe un par complementario Si U(l) es un conjunto de literales, se comprueba si existe un par complementario de literales, en tal caso la rama se cierra. En caso contrario queda abierta.de literales, en tal caso la rama se cierra. En caso contrario queda abierta.

Si U(l) no es un conjunto de literales, elegir un A Si U(l) no es un conjunto de literales, elegir un A єє U(l)U(l) Si es una Si es una αα-fórmula, crear un nuevo nodo l’ como hijo de l y etiquetarlo con -fórmula, crear un nuevo nodo l’ como hijo de l y etiquetarlo con

U(l’)= (U(l)-{A}) U {U(l’)= (U(l)-{A}) U {αα11, , αα 22}.}. Si es una Si es una ββ-fórmula, crear dos nuevos nodos l’ y l’’ como hijos de l y-fórmula, crear dos nuevos nodos l’ y l’’ como hijos de l y etiquetar con U(l’)= (U(l)-{A}) U {etiquetar con U(l’)= (U(l)-{A}) U {ββ11} y U(l’’)= (U(l)-{A}) U {} y U(l’’)= (U(l)-{A}) U {ββ22}.}.

Si U(l) consta sólo de literales y fórmulas Si U(l) consta sólo de literales y fórmulas next. next. Crear un nuevo nodoCrear un nuevo nodo l’ l’ como hijo como hijo dede l y l y U(U(ll’)={A’)={A11,…,A,…,Amm,¬A,¬Am+1m+1,…,¬A,…,¬Ann}.}. Si U(Si U(ll’)=U(’)=U(ll’’) para ’’) para ll’’ un antecesor de’’ un antecesor de l l’, ’, entonces no crear entonces no crear ll’ , en su lugar conectar’ , en su lugar conectar l l’ a ’ a ll’’.’’.

Page 10: Lógica Temporal. Tablas semánticas.

1010Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal. Tablas Semánticas (V).Lógica Temporal. Tablas Semánticas (V).

l1: p

l2 : p, op

p, o p op, o p

-regla: A A ^ A

-regla: A A v A

l3 : l4 :

a l1 l5 : p, p

a l2

Page 11: Lógica Temporal. Tablas semánticas.

1111Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal. Tablas Semánticas (VI).Lógica Temporal. Tablas Semánticas (VI). El siguiente paso es construir una estructura a partir de una tabla completa El siguiente paso es construir una estructura a partir de una tabla completa

y probar que se cumplen las condiciones para una estructura de Hintikka. y probar que se cumplen las condiciones para una estructura de Hintikka.

Una estructura es una tripla H=(s,Una estructura es una tripla H=(s,υυ,,ττ) donde S={s) donde S={s11,s,s22,…,s,…,snn} es un } es un conjunto de estados, conjunto de estados, υυ ={u ={u11,u,u22,…,u,…,unn} es un conjunto de conjuntos de } es un conjunto de conjuntos de fórmulas y fórmulas y ττ es una relación binaria entre estados. es una relación binaria entre estados.

Para construir una estructura a partir de una tabla hay que tomar los X Para construir una estructura a partir de una tabla hay que tomar los X nodos como estados y definir s’ nodos como estados y definir s’ єє ττ(s) si existe un camino en la tabla desde (s) si existe un camino en la tabla desde s a s’ que no pase a través de otro estado. El conjunto de fórmulas s a s’ que no pase a través de otro estado. El conjunto de fórmulas asociadas con s’ es la unión de las etiquetas de los nodos de dicho camino.asociadas con s’ es la unión de las etiquetas de los nodos de dicho camino.

State path es un camino (lState path es un camino (l11, .., l, .., lkk) en una tabla , tal que l) en una tabla , tal que l11 es el nodo raíz, es el nodo raíz, mientras que el resto ninguno es un X-nodo. Es posible que lmientras que el resto ninguno es un X-nodo. Es posible que l11=l=lkk..

Page 12: Lógica Temporal. Tablas semánticas.

1212Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal. Tablas Semánticas (VII).Lógica Temporal. Tablas Semánticas (VII). Sea Sea T T una tabla semántica abierta la estructura H que se construye es:una tabla semántica abierta la estructura H que se construye es:

• S es el conjunto de X-nodosS es el conjunto de X-nodos• Sea sSea si i = l= lkk, un estado y l = {l, un estado y l = {l11, .., l, .., lkk= s= sii} un state path que termina en l} un state path que termina en lkk. .

Entonces UEntonces Uiill = U(l = U(l22) U … U U(l) U … U U(lkk). Si l). Si l11 es la raíz añadir U(l es la raíz añadir U(l11) a la unión.) a la unión.

• s’ є τ (s) si y sólo si {s = ls’ є τ (s) si y sólo si {s = l11, .., l, .., lkk = s’} es un state path. = s’} es un state path. Estructura construida para la tabla semántica del ejemplo, donde sEstructura construida para la tabla semántica del ejemplo, donde s00 es l es l33 y s y s11 es l es l44..

Dicha estructura ha de ser una Dicha estructura ha de ser una Hintikka structureHintikka structure.. Pero además ha de ser una Pero además ha de ser una Linear Fulfilling Hintikka Linear Fulfilling Hintikka structurestructure para para AA, (, (A A es satisfacible).es satisfacible).

l1: p

l2 : p, op

p, op op, opl4 :

a l1 l5: p, p

a l2

l3 :p

s 0 s 1

Page 13: Lógica Temporal. Tablas semánticas.

1313Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal. Tablas Semánticas (VIII).Lógica Temporal. Tablas Semánticas (VIII).

Un grafo puede representarse como un grafo de componentes Un grafo puede representarse como un grafo de componentes (Even, S. (1979) , Graph Algorithms, Computer Science Press, Potomac, MD).(Even, S. (1979) , Graph Algorithms, Computer Science Press, Potomac, MD).

Bajo ciertas condiciones una estructura de Hintikka puede ser considerada Bajo ciertas condiciones una estructura de Hintikka puede ser considerada como un grafo.como un grafo.

Algoritmo que permite la construcción de Algoritmo que permite la construcción de fulfilling Hintikka structure:fulfilling Hintikka structure: Input:Input: Hintikka structure HHintikka structure H..

Ouput:Ouput: a) a) Fulfilling Hintikka structure en HFulfilling Hintikka structure en H, , o b) informa de que no existe tal estructura.o b) informa de que no existe tal estructura.

El algoritmo El algoritmo terminatermina con un con un grafo vacíografo vacío si y solo si si y solo si no no existe una linear existe una linear fulfilling Hintikka structure en Hfulfilling Hintikka structure en H..

Page 14: Lógica Temporal. Tablas semánticas.

1414Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal. Tablas Semánticas (IX).Lógica Temporal. Tablas Semánticas (IX).

TeoremaTeorema El método de El método de tablas semánticastablas semánticas es un es un proceso de decisiónproceso de decisión

acerca de la acerca de la satisfacibilitysatisfacibility en PTL. en PTL.

Page 15: Lógica Temporal. Tablas semánticas.

1515Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Lógica Temporal. Tablas Semánticas (X).Lógica Temporal. Tablas Semánticas (X).Resumiendo,Resumiendo, Se Se construye la tabla semántica para la fórmula construye la tabla semántica para la fórmula AA. . Si la Si la tablatabla es es cerrada cerrada, ,

entonces A no es satisfacible. entonces A no es satisfacible. En otro casoEn otro caso hay que hay que construirconstruir a partir de a partir de dicha tabla abierta la dicha tabla abierta la Hintikka structureHintikka structure. .

Obtenida la estructura se aplica el algoritmo que Obtenida la estructura se aplica el algoritmo que dada Hintikka structure dada Hintikka structure obtiene fulfilling Hintikka structure en Hobtiene fulfilling Hintikka structure en H, o bien informa de que no existe , o bien informa de que no existe tal estructura. tal estructura.

Si el Si el grafo resultante es vacío, A no es satisfaciblegrafo resultante es vacío, A no es satisfacible. En . En otro casootro caso se obtiene se obtiene del grafo, del grafo, linear fulfilling Hintikka structurelinear fulfilling Hintikka structure..

Si Si H es una linear fulfilling Hintikka structure para AH es una linear fulfilling Hintikka structure para A, se puede construir , se puede construir un modelo para A, es decir un modelo para A, es decir A se satisfaceA se satisface..

Page 16: Lógica Temporal. Tablas semánticas.

1616Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.Lógica Temporal Proposicional (PTL). Curso de Lógica Computacional.

Bibliografía consultadaBibliografía consultada

Mordechai Ben-Ari. Mordechai Ben-Ari. Mathematic Logic for Computer ScienceMathematic Logic for Computer Science (second edition), (second edition), cap. 11, (2003).cap. 11, (2003).