Clase # 15: Linear Temporal Logic

Anuncio
Lógicas Modales Computacionales
Clase # 15: Linear Temporal Logic
Carlos Areces / Daniel Gorín / Sergio Mera
2do Cuatrimestre 2006,
Buenos Aires, Argentina
Que Hacemos Hoy
I
I
Autómatas sobre palabras infinitas
PLTL y Autómatas
I
I
I
I
: Complejidad
Sistemas de Transición de Estados (STS)
Verificación de STS
Autómata asociado a una fórmula
Exámen Final
Carlos Areces / Daniel Gorín / Sergio Mera
De Fórmulas a Autómatas
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Autómatas Finitos (FA)
I
Recordemos que un autómata determinístico finito (DFA) es una
5-tupla A = hΣ, S, s0 , ρ, Fi donde
I
I
I
I
I
: Complejidad
Σ es el alfabeto (un conjunto no vacío finito, usualmente de al
menos 2 elementos)
S es el conjunto de estados (no vacío finito)
s0 ∈ S es el estado inicial
ρ : S × Σ → S es la función de transición.
F ⊆ S es el conjunto de estados finales (o de aceptación)
Carlos Areces / Daniel Gorín / Sergio Mera
Büchi Autómata
I
En cambio, un Büchi Autómata determinístico (DBA) es una
5-tupla A = hΣ, S, s0 , ρ, Fi donde
I
I
I
I
I
I
: Complejidad
Σ es el alfabeto (un conjunto no vacío finito, usualmente de al
menos 2 elementos)
S es el conjunto de estados (no vacío finito)
s0 ∈ S es el estado inicial
ρ : S × Σ → S es la función de transición.
F ⊆ S es el conjunto de estados finales (o de aceptación)
Como estructuras son idénticas lo que cambia es la fórma en que
los usamos!
Carlos Areces / Daniel Gorín / Sergio Mera
Aceptando Strings Infinitos
I
Vamos a cambiar las definiciones de string de entrada, de corrida
sobre dicho string, y de aceptación.
I
I
El input es ahora una palabra infinita: w = a0 , a1 , . . . ∈ Σω
Una corrida de A sobre w es una secuencia de estados
r = s0 , s1 , . . . ∈ Sω tq.
1. s0 es el estado inicial de A
2. si+1 ∈ ρ(si , ai )
I
Definimos
inf (r) = {s | s = si para un número infinito de is}
Decimos que A acepta r si inf (r) ∩ F 6= ∅
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Ejemplos
I
Qué lenguaje reconoce A como AF?
L(A) = (0|1)∗ 1
I
Qué lenguaje reconoce A como BA?
L(A) = ((0|1)∗ 1)ω ,
los strings con un número infinito de unos.
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Ejemplos
I
Qué lenguaje reconoce A como FA?
L(A) = (0|1)∗ 1+
I
Qué lenguaje reconoce A como BA?
L(A) = (0|1)∗ 1ω ,
los strings con un número finito de ceros.
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Generalized Büchi Autómata
I
En realidad, vamos a necesitar trabajar con una versíon un poco
más compleja de autómata para palabras infinitas que se llama
Generalized Büchi Autómata (GBA).
I
El único cambio en la estructura es que en vez de tener un
conjunto de estados finales F ⊆ S, tenemos un conjunto de
conjunto de estados finales F = {F1 , . . . , Fn }, Fi ⊆ S.
I
En un GBA una corrida r es aceptada sii
inf (r) ∩ Fi 6= ∅ para todo Fi ∈ F
I
Teo: Todo DGBA tiene un DBA equivalente.
I
Teo: Todo NGBA tiene un NBA equivalente.
I
Teo: Todo NBA tiene un DBA equivalente
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Emptiness de Büchi Autómata
I
I
Teo: Sea A = hΣ, S, s0 , ρ, Fi un NBA y sea GA = (S, E) el grafo
subyacente. Entonces Lω (A) 6= ∅ sii hay un estado t ∈ F tal que
en GA el estado t esta conectado con s0 y con sí mismo.
Algoritmo (basado en Tarjan):
I
I
I
I
: Complejidad
Descomponer GA en MSCC (Maximal Strongly Connected
Components) empezando desde s0 .
Chequear que al menos uno de los MSCC interseca F en forma
no vacía.
Ambos pueden hacerse en tiempo y espacio linear.
Teo: Podemos determinar emptiness para un NBA en tiempo
linear.
Carlos Areces / Daniel Gorín / Sergio Mera
Volviendo a PLTL. . .
I
I
Entonces, como usamos BA para verificación?
Supongamos que tenemos un STS M sobre el que queremos
verificar una propiedad ϕ.
I
I
Podemos pensar M como un generador de corridas que nos
define un lengujae L(M). Por otro lado, tenemos L(ϕ) el
conjunto de corridas en las que ϕ es cierta.
Entonces ϕ es cierta sobre M sii
L(M) ⊆ L(ϕ)
O equivalentemente
L(M) ∩ L(ϕ)c = ∅
I
: Complejidad
En otras palabras, podemos chequear M |= ϕ chequeando por
emptyness el autómata AM ∩ A¬ϕ
Carlos Areces / Daniel Gorín / Sergio Mera
STS como Autómatas
I
Recordemos que las fórmulas de PLTL se interpretaban en
modelos (sistemas de transición de estados) de la forma
hS, I, R, Labeli donde
I
I
I
I
S es un conjunto contable no vacío de estados,
I ⊆ S es un conjunto de estados iniciales,
R ⊂ S × S es la relación de transición tal que
∀s ∈ S.(∃s0 ∈ S.R(s, s0 ))
Label : S → 2PROP es una valuación
I
Podemos pensar que un sistema de transición de estados crea
palabras infinitas (sobre el alfabeto 2PROP ) a medida que el
sistema avanza de estado en estado.
I
Dado M = hS, I, R, Labeli, definimos AM = h2PROP , S, I, ρ, Si
donde
ρ(u, a) = {v | R(u, v) y a = Label(u)}
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Transformando Fórmulas en Autómatas
I
Para ϕ = p
Aϕ = h2PROP , {1, 2}, {1}, ρ, {2}i donde
∅ : p 6∈ a
ρ(1, a) =
{2} : p ∈ a
ρ(2, a) = {2}
I
Para ϕ = ¬ψ
Aϕ = Acψ
I
Para ϕ = ψ1 ∨ ψ2
Aϕ = Aψ1 ∪ Aψ2
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Transformando Fórmulas en Autómatas
I
Para ϕ = Xψ. Asumimos Aψ = h2PROP , S, s0 , ρ, Fi
Aϕ = h2PROP , S ∪ {$}, $, ρ0 , Fi donde
ρ0 ($, a) = s0
ρ0 (s, a) = ρ(s, a), para s 6= $
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Transformando Fórmulas en Autómatas
I
Para ϕ = ψUθ. Asumimos Aψ = h2PROP , S1 , s10 , ρ1 , F1 i y
Aθ = h2PROP , S2 , s20 , ρ2 , F2 i . . .
I
TAREA!
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Transformación Eficiente
I
Sea sub(ϕ) la clausura de ϕ bajo subfórmulas y negaciones
simples.
I
Def: Una satseq para sigma y ϕ (satseq(σ, ϕ)) es una secuencia
en (2sub(ϕ) )ω tq.
satseq(σ, ϕ) = satseq(σ, ϕ, 0),satseq(σ, ϕ, 1),. . .
y satseq(σ, ϕ, i) = {ψ ∈ sub(ϕ) | σ i |= ψ}
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Propiedades de satseq(σ, ϕ)
Supongamos que σ |= ϕ, entonces se cumple que
1. ϕ ∈ satseq(σ, ϕ, 0)
2. para p ∈ sub(ϕ) entonces, p ∈ satseq(σ, ϕ, i) sii p ∈ σ[i]
3. para ϕ1 ∧ ϕ2 ∈ sub(ϕ) entonces, ϕ1 ∧ ϕ2 ∈ satseq(σ, ϕ, i) sii . . .
4. para ¬ϕ1 ∈ sub(ϕ) entonces, ¬ϕ1 ∈ satseq(σ, ϕ, i) sii . . .
5. para Xϕ1 ∈ sub(ϕ) entonces, Xϕ1 ∈ satseq(σ, ϕ, i) sii ϕ1 ∈
satseq(σ, ϕ, i + 1)
6. para ϕ1 Uϕ2 ∈ sub(ϕ) entonces, ϕ1 Uϕ2 ∈ satseq(σ, ϕ, i) sii
ϕ2 ∈ satseq(σ, ϕ, i) o (ϕ1 ∈ satseq(σ, ϕ, i) y ϕ1 Uϕ2 ∈
satseq(σ, ϕ, i + 1))
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Propiedades de satseq(σ, ϕ)
I
Las propiedades 1 a 4 se chequean en el mismo estado
I
Las propiedades 5 a 6 se chequean testeando i e i + 1
I
Lamentablemente, estas condiciones no alcanzan para asegurar
σ |= ϕ :(.
Necesitamos:
7. ϕ1 Uϕ2 ∈ satseq(σ, ϕ, i) sii existe j ≥ i tq. ϕ2 ∈ satseq(σ, ϕ, j)
y esta condición no es local. . . .
I
: Complejidad
Secuencias de Hintikka: α0 , α1 , . . . ∈ (2sub(ϕ) )ω es una
secuencia de Hintikka para ϕ y σ sii satisface las condiciones 1 a
7.
Carlos Areces / Daniel Gorín / Sergio Mera
Construcción del Autómata
Vamos a construir un autómata de Büchi generalizado AH
σ,ϕ que acepta
dos argumentos – un path σ y una secuencia de Hintikka para ϕ y σ:
PROP
AH
× 2sub(ϕ) , 2sub(ϕ) , S0 , ρ, {F1 , . . . , Fk }i
ϕ = h2
donde
I
I
S0 = {α | α ⊆ sub(ϕ), ϕ ∈ α}
ρ(α, (a, β)) = {α0 | α = β and α, α0 cumplen 1 a 5:}
1.
2.
3.
4.
5.
: Complejidad
p ∈ α sii p ∈ a
ϕ1 ∧ ϕ2 ∈ α sii ϕ1 ∈ α y ϕ2 ∈ α
¬ϕ ∈ α sii ϕ 6∈ α
Xϕ1 ∈ α sii ϕ1 ∈ α0
ϕ1 Uϕ2 ∈ α sii ϕ2 ∈ α o (ϕ1 ∈ α y ϕ1 Uϕ2 ∈ α0 )
Carlos Areces / Daniel Gorín / Sergio Mera
Condiciones Globales
La condición que asegura la existencia de un estado satisfaciendo ϕ2
cuando tenemos ϕ1 Uϕ2 en un estado del autómata no puede
chequearse localmente.
Pero podemos codificarla en la condición de aceptación. Sea
Fϕ1 Uϕ2 = {α | ϕ1 Uϕ2 6∈ α o ϕ2 ∈ α}
Definimos
{F1 , . . . , Fk } = {Fϕ1 Uϕ2 | ϕ1 Uϕ2 ∈ sub(ϕ)}
Teo: AH
ϕ acepta exactamente los pares (σ, α) tal que α es una
secuencia de Hintikka para ϕ y σ.
: Complejidad
Carlos Areces / Daniel Gorín / Sergio Mera
Descargar