Lógica temporal
-
Upload
ulrich-schiel -
Category
Data & Analytics
-
view
233 -
download
4
description
Transcript of Lógica temporal
Dados Temporais
por
Ulrich Schiel
COPIN - Coordenação de Pós Graduação em Informática - UFCG
POR QUE
LÓGICA TEMPORAL ?
separação entre
ESPAÇO X TEMPO
(Geometria x Aritmética)(Métrica x Ordem)
Se ninguém me perguntar, eu sei;se o quiser explicar, ja não sei
Santo Agostinho - (354-430)
O QUE É O TEMPO ????
N. Edelweiss & J. Palazzo M. de Oliveira “Modelagem de Aspectos Temporais de Sistemas de Informação” IX Escola de Computação, Recife, 1994A. Galton “Temporal Logics and their Applications” Academic Press, 1987Z. Manna & A. Pnueli “The Temporal Logic of Reactive and Concurrent Systems” Springer Verlag, 1991U. Schiel “Aspectos Temporais em Sistemas de Informação”, Relatório Técnico DSC 001/96, UFPB/DSC, 1996
BIBLIOGRAFIA
O TEMPO em sistemas de informação
Modelagemtemporal
Modelagem comportamental
Estuda os temposquando eventos ocorreou fatos existem
Estuda as açõese reações do sistemaaos eventos
•Bancos de Dados Temporais•Lógica temporal•Lógica de intervalos
•Bancos de Dados Ativos
visão absolutista (Newton)
o tempo (e o espaço vazio) existem a priori.
Lógica Temporal
visão relativista (Leibnitz)
As ’coisas’ existem no espaçoe determinam o tempo
CalendáriosLógica do Tempo
dicotomia filosófica de visão do TEMPO e ESPAÇO
aqui
t
Qual é o ‘ZERO’ do eixo do tempo da visão absolutista?
agorapassado futuro
Analogamente:
O conjunto T do tempo é totalmente ordenado pela relação (antes ou ao mesmo tempo), ou seja
t1, t2, t3T vale t1 t1 (reflexividade) t1 t2 t2t1 t1 = t2 (antisimétrica) t1 t2 t2t1 (linearidade) (t1 t2 t2t3) t1t3 (transitividade)
Além do zero o tempo deve ter uma ordem e uma métrica.
Além do zero o tempo deve ter uma métrica.
Uma métrica para o conjunto T do tempo é uma função
d : TxT ->> Rque associa a cada par de elementos de T um número real tal que, para todo t1, t2 e t3 em T, temos
d(t1,t2) = 0 t1 = t2d(t1,t2) = d(t2,t1)d(t1,t2) + d(t2,t3) d(t1,t3)
Se o tempo é um conjunto discreto a métrica é dada por uma constante associada a dois pontos adjacentes, denominada chronon. Pode ser um segundo, uma hora, um século, etc.
Lógica: Primeira Ordem ou Modal
Considerações/modelos sobre o tempo:
elemento primitivo: Ponto ou Intervalo
Densidade: Discreto (enumerável) ou Contínuo
Espaço: Presente ou Futuro ou Passado ou Presente e Futuro ou todos os tempos
Ordem: Linear ou Ramificado ou Paralelo
É uma Lógica Modal
Principais operadores modais
[] P - P será sempre verdadeiro
<> P - P será verdadeiro alguma vez
() P - P será verdadeiro no próximo estado
P até Q - P será verdadeiro até Q ocorrer
FATOS: [] P ~<> ~P[] P ()[] P P até Q Q com (P Q) ()<> Q
P com Q - P será verdadeiro com a próxima ocorrência de Q
Lógica Temporal
EXEMPLOS
1. Todo dia dou um passeio no parque2. Alguma noite irei busca-la3. Vou chorar até você voltar para, então, parar
Seja: P = é diaQ = passeio no parqueR = vou buscar vocêS = estou chorandoT = sua volta
Então temos: 1. [](P <>Q) ?? [] (P ~(~Q até ~P ))
2. <> (~P R )
3. S até T (T ()~S))
AXIOMAS
T1: []p ~<>~p
T2: <>p ~[]~p
T3: ()~p ~()p
T4: p <>p
T5: []p p
T6: <>[]p []<>p
Variantes da Lógica Temporal
Lógica Temporal com passado
[+] P - sempre no futuro [-] P - sempre no passado
<+> P - Alguma vez no futuro <-> P - alguma vez no passado
Lógica Temporal ramificada
T - em todo futuro A - em algum futuro
EXEMPLO: o programa pode dar um deadlock (D). Neste caso, vou interromper o sistema (IS)
A(D () IS) Ou melhor: A(D) (D () IS)
Raciocínio temporal[](trovão (-) raios) “todo trovão é precedido por raios”
Processamento de linguagem natural(Termos quando, enquanto, ontem, sempre, depois, conjugação
dos verbos, ..)
Aplicações:
verificação de programascorretude (safety) P []Qvitalidade (liveness) P <>Qprecedência P Q com R
programação concorrente
INTELIGÊNCIA ARTIFICIAL
PROGRAMAÇÃO
BANCOS DE DADOS
Consistência Temporal Um carro deve ir para a revisão de 3 em 3 anos:
[](revisão(c) = ano-atual - 3 <>(revisão(c) antes fim(ano-atual)
1) salários não podem baixar
temSalário(x, s) [+] (V s’(temSalário(x,s’) s<= s’) )
2) quem ja foi empregado, nunca mais pode ser admitido
<-> ( EXy(trabalhaPara(x,y))) ~EXECUTABLE(admitir(x) )
Teoria Geral de Ações e Tempo de Allen
1) Entidades e relacionamentos vale(p,I) I’ I (vale(p, I’)
2) Eventos (longos) ocorre(E, I) I’ I (~ocorre(E, I’))
3) Processos: ocorrendo(P, I) I’ I (ocorrendo(p, I’)
EXEMPLOS: - ontem choveu (processo) ocorrendo(almoço, 12hs-14hs)
EXEMPLOS: a chuva de ontem (evento) ocorre(SBBD2005, 3-7.10.2005)
EXEMPLOS: vale(ESTUDANTE-PG(Valéria), 1.3.2003-28.2.2005)
Lógica de Intervalos de Allen
BEFORE(I,J)
MEETS(I,J)
OVERLAP(I,J)
BEGIN(I,J)
DURING(I,J)
EQUIVALENT(I,J)
END(I,J)
Dados dois intervalos I e J, vale um dos predicados
Definição: [P]p def <P>p “toda execução de P torna p é verdadeiro”
Modelagem Comportamental
Lógica Dinâmica: [programa] pós-condição
Linguagem:Programas: P, Q, ...Proposições: p, q, r, ...
p q p são proposições<P>p
P::Q P Q são programasP* p?