LÓGICA TEMPORAL ADDSON ARAUJO DA COSTA IGOR LINNIK CAMARA ARAUJO

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Advertisements

Lógica de Predicados e Representação de Conhecimento
Software Básico Silvio Fernandes
IA Importância da IA em jogos Aplicações.
Prof. Marcone Sotéro Cálculo de Predicados Prof. Marcone Sotéro
Capítulo 3 Propriedades semânticas da Lógica Proposicional
Introdução à Ciência da Computação Linguagens de Programação.
Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias
Elementos de Lógica Matemática
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Universidade Federal do Rio Grande do Norte
Linguagem de Montagem Visão geral.
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
Linguagens Formais e Autômatos
Tópicos de Lógica Proposicional
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Introdução à Programação Lógica
Cálculo Relacional Datalog não-recursivo
Resolução.
Linguagens Livres de Contexto
BCC 101– Matemática Discreta
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
Noções de Estrutura de Dados Logica de Programação
Lógica para Computação
Lógicas Não Clássicas Thiago S. Rocha Eduardo Bonet Jean Quevedo 1.
Indução Métodos de prova já vistos Excepções
Linguagem de 1ª ordem da teoria de conjuntos
INF 1771 – Inteligência Artificial
Conceitos Básicos.
UML - Unified Modeling Language
MATEMÁTICA Prof. Carlos Alexandre.
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Dedução Natural.
Lógica de Predicados Teorema de Herbrand.
Capítulo 5 Relações semânticas entre os conectivos da Lógica Proposicional
Gramáticas Livres de Contexto
Capítulo 6 Um sistema axiomático formal na Lógica Proposicional
INF 1771 – Inteligência Artificial
Introdução a Lógica Prof. Luiz Carlos Gabi.
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Cássio Cristo Dawyson Guerra Matheu Santos
Lógica de Predicados Semântica.
Lógicas e Inferência para IA
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Problema do menor Caminho
A Historia da Matemática dos Hindus
Inteligência Artificial
André Luiz da Costa Carvalho
Lógica matemática.
CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Lógica para Computação
Métodos Formais.
Inteligência Artificial: Lógica Proposicional e Prolog
Atividade (A): Representar, por diagrama de blocos,
Requisitos de Software
INE Fundamentos de Matemática Discreta para a Computação
Faculdade Pernambucana - FAPE Setembro/2007
Decidibilidade, Corretude, Completude, Consistência
Sistema Formal Um Sistema Formal para a lógica proposicional é uma 2-tupla < L, R >, onde: L: linguagem proposicional R: conjunto de regras de inferências.
Métodos Formais Juan Andrés Mussini.
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Lógica para Computação
Lógica matemática.
UNIP UNIVERSIDADE PAULISTA Professor: Yure de Queiroz Lima
Interpretação do Teorema de Herbrand
Introdução a Lógica Matemática
Álgebra Booleana e Circuitos Lógicos Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento sistemático da lógica, que é.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Transcrição da apresentação:

LÓGICA TEMPORAL ADDSON ARAUJO DA COSTA IGOR LINNIK CAMARA ARAUJO LUANA WANDECY PEREIRA SILVA MARCOS AURÉLIO C. DOS SANTOS ROSANA CAETANO DE FARIA MONTEIRO SILVIO ROMERO DE AZEVEDO COSTA

LÓGICA TEMPORAL Introdução Histórico Motivação Estrutura de Kripke Caminhos Padrões LTL CTL*/CTL Expressividade Aplicações Verificação de modelos Conclusão

LÓGICA TEMPORAL Introdução Histórico Motivação Estrutura de Kripke

Tempo Linear X Tempo Ramificado Modelos de Tempo Tempo Linear X Tempo Ramificado

Lógica Temporal Na lógica temporal, o tempo não é mencionado explicitamente, mas visto como possíveis seqüências de estados associados às suas transições. Estado é a descrição do sistema em um dado instante de tempo, ou seja, os valores associados às suas variáveis naquele instante, enquanto transição é uma relação entre dois estados. Tipicamente, as afirmações sobre o comportamento do sistema em um determinado estado são feitas através de propriedades, e estas por sua vez são expressas como fórmulas de uma linguagem de lógica temporal, que especificam os comportamentos desejados. A maneira como é feita a representação do tempo nas propriedades, isto é, de maneira linear ou ramificada, faz com que haja dois modelos básicos de lógicas temporais: Linear Temporal Logic (LTL) e Computation Tree Logic (CTL).

Tempo Linear X Tempo Ramificado É aquele em que o comportamento do sistema consiste no conjunto de traços infinitos que começam no estado inicial i. Todo o comportamento do sistema é representado por uma árvore computacional de profundidade ilimitada cuja raiz é o estado inicial i.

Tempo Linear Exemplo:

Tempo Ramificado Exemplo:

Linear Temporal Logic - LTL É uma lógica temporal de tempo linear que interpreta fórmulas sobre funcionamentos do sistema, e faz a caracterização de cada caminho linear proporcionado pelas máquinas de estados finitos. A lógica LTL considera que há somente um único estado sucessor, ou seja, um único futuro possível, a cada momento do tempo. As fórmulas LTL são avaliadas sobre caminhos lineares, e uma fórmula somente é considerada verdadeira em um modelo se ela é verdadeira para todos os caminhos iniciando num dos estados iniciais daquele modelo.

Linear Temporal Logic - LTL Sintaxe: Uma fórmula LTL sintaticamente válida é formada pelas variáveis proposicionais p1, p2, (...), os conectivos usuais da lógica proposicional (, , ,  ), e os seguintes operadores temporais: Next: X  -  é verdadeiro no próximo estado; Future: F  -  é eventualmente válida (em algum estado do caminho); Globally: G  -  é sempre válida (em todo estado no caminho); Until:  U  -  é verdadeira no caminho até que  seja verdadeira; Release:  R  - quando a ocorrência de um estado onde  é válida liberta  de o ser. Exists: E  -  é verdadeiro num caminho S se existe um caminho começando em um estado S All: A  -  é verdadeiro para todo caminho começando no estado S. Os conectivos são X, F e G são usados algumas vezes através dos símbolos , , , respectivamente.

LÓGICA TEMPORAL - LTL Caminho - Um caminho em M é uma seqüência infinita de estados s0 , s1 , s2 , ... tal que s0 ∈ I e (si , si+1 ∈ R para todo i ≥ 0).

LÓGICA TEMPORAL - LTL

LÓGICA TEMPORAL - LTL Semântica - Sejam p ∈ AP uma proposição atômica, σ caminho infinito e φ, ψ fórmulas LTL, a relação “satisfaz”, denotada por |=, é definida por:

LÓGICA TEMPORAL - LTL σ |= p ⇔ p ∈ Label(σ[0]) σ |= ¬φ ⇔ not(σ |= φ) σ |= φ ∧ ψ ⇔ (σ |= φ) and (σ |= ψ) σ |=Xφ ⇔ σ 1 |= φ σ |= φUψ ⇔ ∃j ≥ 0, (σ j |= ψ and (∀0 ≤ k < j, σ k |= φ))

LÓGICA TEMPORAL - LTL Os padrões mais freqüentes são: Ausência: quando no contexto se pretende que não ocorram certos eventos ou estados. Universalidade: quando se pretende que em todo o contexto certa propriedade se verifique. Existência: quando se pretende que uma propriedade ocorra alguma vez no contexto. Resposta: dentro do contexto a ocorrência de certo evento (causa) deve ser seguida da ocorrência de outro (efeito).  

LÓGICA TEMPORAL - LTL Axiomas: - Leis de distribuitividade   X (  )  X   X  X (  )  X   X  X   X  F (  )  F   F 

LÓGICA TEMPORAL - LTL Leis de distribuitividade F   G  G(  )  G   G  G   F  (  ) U   ( U )  ( U )  U (  )  ( U )  ( U )

LÓGICA TEMPORAL - LTL - Leis de idempotência FF   F  GG   G    FF   F  GG   G  FGF   GF  GFG   FG   U ( U )   U 

LÓGICA TEMPORAL - LTL - Leis de expansão F     XF  G    XG    F     XF  G    XG   U     (  X ( U ))  

LÓGICA TEMPORAL - LTL Verificação de modelos usando LTL: Dado um modelo M formalmente representado pela estrutura de Kripke M = ( S, I, R, Label) e uma fórmula LTL φ:   M |= φ se e somente se ∀s ∈ I, (∀ Caminhos(s), σ |= φ)

LÓGICA TEMPORAL LTL considera apenas um único estado Em meados de 80, Clarke e Emerson Considerar diferentes estados possíveis Utilizada em vários verificadores de modelos

Full Computation Tree Logic – CTL* LTL considera apenas um único estado Em meados de 80, Clarke e Emerson Considerar diferentes estados possíveis Utilizada em vários verificadores de modelos

Full Computation Tree Logic – CTL* Possibilidade de descrever MEF como uma árvore de estados infinita Desdobramento de uma estrutura de Kripke em árvore de computação infinita

Linguagem de uma CTL* Acrescenta a LTL, quantificadores de caminho: Composta por: Fórmulas de estados (ФS) Fórmulas de caminhos (ФP) Acrescenta a LTL, quantificadores de caminho: Existencial (E) Universal (A)

Fórmulas de estados (ФS) É verdadeira em um estado s se existe um caminho começando em s tal que α é verdadeira neste caminho; Aα É verdadeira em um estado s se para todo um caminho começando em s, α é verdadeira neste caminho.

Fórmulas de caminhos (ФP) Operadores X F G U

Exemplos… Xα: é verdadeira em um caminho π, se no próximo estado do caminho α é verdadeira α

Exemplos… Fα: é verdadeira em um caminho π, se em algum estado no caminho α é verdadeira α

Exemplos… Gα: é verdadeira em um caminho π, se em todo estado no caminho α é verdadeira α

Exemplos… αUβ: é verdadeira em um caminho π, se α é verdadeira no caminho até que β seja verdadeira α β

Definição da Linguagem de CTL* Gerada pela BNF: ФS ::= P | (¬ФS) | (ФS ∧ ФS) | (ФS ∨ ФS) | (ФS → ФS) | (EФP) | (AФP) ФP ::= ФS | (¬ФP) | (ФP ∧ ФP) | (ФP ∨ ФP) | (ФP → ФP) | (XФP) | (FФP) | (GФP) | (ФP U ФP)

Semântica da CTL* Dada pela definição ⊨ de CTL Satisfação em estado K ⊨s α Satisfação em caminho K ⊨π α

Satisfação em Estado: Semântica de CTL* K ⊨s P ⇔ P ∈ L(s) K ⊨s (¬α) ⇔ NOT K ⊨s α K ⊨s (α ∧ β) ⇔ K ⊨s α E K ⊨s β K ⊨s (α ∨ β) ⇔ K ⊨s α OU K ⊨s β K ⊨s (α → β) ⇔ SE K ⊨s α ENTÃO K ⊨s β K ⊨s (Eα) ⇔ Existe um caminho π a partir de s tal que K ⊨π α K ⊨s (Aα) ⇔ Para todo caminho π a partir de s vale que K ⊨π α

Satisfação em Caminho: Semântica de CTL* K ⊨π α ⇔ se α é uma fórmula da linguagem Фs, K ⊨π0 α K ⊨π (¬α) ⇔ NOT K ⊨π α K ⊨π (α ∧ β) ⇔ K ⊨π α E K ⊨π β K ⊨π (α ∨ β) ⇔ K ⊨π α OU K ⊨π β K ⊨s (α → β) ⇔ SE K ⊨π α ENTÃO K ⊨π β K ⊨π (Xα) ⇔ K ⊨π1,∞ α K ⊨π (Fα) ⇔ Existe um k ≥ 0 tal que K ⊨πk,∞ α K ⊨π (Gα) ⇔ Para todo k ≥ 0 vale que K ⊨πk,∞ α K ⊨π (αUβ) ⇔ Existe k ≥ 0 tal que K ⊨πk,∞ β e para todo 0 ≤ l < k vale que K ⊨πl,∞ α

Computation Tree Logic - CTL Subconjunto da CTL* Operador temporal precedido por quantificador de caminho Semântica e operadores = CTL*

Linguagem de CTL: [EX]α – existe um caminho tal que no próximo estado vale α α

Linguagem de CTL: [AX]α – para todo caminho no próximo estado vale α α

Linguagem de CTL: [EF]α – existe um caminho tal que no futuro vale α α

Linguagem de CTL: [AF]α – para todo caminho no futuro vale α α

Linguagem de CTL: [EG]α – existe um caminho tal que sempre vale α α

Linguagem de CTL: [AG]α – para todo caminho vale sempre α α

Linguagem de CTL: E(αUβ) – existe um caminho tal que vale α até que vale β α β

Linguagem de CTL: A(αUβ) – para todo caminho vale α até que vale β β α

Expressividade [ CTL x LTL ] Existe uma discussão sobre a melhor lógica para expressar propriedades, LTL ou CTL. Contudo, as propriedades usualmente utilizadas na verificação de tais sistemas podem ser expressas nas duas lógicas. Propriedades podem ser descritas em uma lógica e não podem na outra, e vice-versa. A maior parte das propriedades pode ser expressa tanto em CTL quanto em LTL.

Expressividade [ CTL x LTL ] Por exemplo, a invertibilidade apenas pode ser expressa em CTL. Propriedades existenciais não podem ser expressas na lógica LTL. Este tipo de propriedade é muito útil na procura de possíveis deadlocks em um sistema. Já a lógica CTL, não é capaz de expressar algumas propriedades de razoabilidade.

Expressividade [ CTL x LTL ] Cada uma destas lógicas é usada em situações diferentes, pois o uso de uma lógica ou da outra depende do tipo de propriedade que se quer verificar. O quantificador existencial (E) foi incluso na lógica CTL, mas isso não faz com que a mesma tenha um poder de expressividade maior do que a lógica LTL. As expressividades de LTL e CTL são incomparáveis.

APLICAÇÕES

Sistemas de segurança crítica Sistema de controle de uma aeronave Sistema de controle de uma usina nuclear Sistema de controle de tráfego aéreo

Sistemas críticos de comercialização Produção em massa de produtos eletrônicos. Programa de Estimativa de vendas Simulador de investimentos

Formalização de sentenças envolvendo o tempo Principal aplicação Exemplos: "será sempre o caso que...“ será o caso que...“ "sempre foi o caso que...“ "foi o caso que..."

VERIFICAÇÃO DE MODELOS Exemplos de implementações de verificação de modelos: SMV: Symbolic Model Verifier SMVNu: software livre SPIN UPPAAL: trata de tempo-real HYTECH: autômatos híbridos PRISM: autômatos estocásticos

CONCLUSÃO Lógicas temporais formalizam de modo natural problemas computacionais. A verificação das especificações de modelos pode ser feita automaticamente, através de provadores de teorema ou checagem de modelos.

Referências http://poesiagnosticaefilosofia.blogspot.com/2006/05/lgica-temporal-algo-descartavel- frente_12.html http://es.wikipedia.org/wiki/L%C3%B3gica_temporal http://pt.wikipedia.org/wiki/Regra_de_infer%C3%AAncia http://en.wikipedia.org/wiki/Temporal_logic http://plato.stanford.edu/entries/logic-temporal/ http://pt.wikibooks.org/wiki/L%C3%B3gica:_L%C3%B3gicas_N%C3%A3o- cl%C3%A1ssicas:_Introdu%C3%A7%C3%A3o http://books.google.com.br/books?id=ZFY3S8iinfMC&pg=PA2842&lpg=PA2842&dq=l%C3%B3gica+t emporal&source=bl&ots=MomERmQf3j&sig=_bbRg7A7GNx8Tr8tZkvQNAgBXkQ&hl=pt- BR&ei=HGB3SqCbMcmptgfVgc2WCQ&sa=X&oi=book_result&ct=result&resnum=9#v=onepage&q=l %C3%B3gica%20temporal&f=false http://www.itl.nist.gov/div897/sqg/dads/HTML/temporllogic.html http://lat.inf.tu-dresden.de/teaching/ss2006/tl/ http://books.google.com.br/books?id=ghy2CMU2FIoC&pg=PA995&lpg=PA995&dq=E.+Allen+Emers on:+Temporal+and+Modal+Logic.+In+J.+van+Leeuwen&source=bl&ots=5dMvWy4Aih&sig=XyaR2rJ- KHN7C4pTcbGgRioOM5o&hl=pt-BR&ei=Rox4Su- BLYajtgfFh92WCQ&sa=X&oi=book_result&ct=result&resnum=1#v=onepage&q=&f=false Slides explicativos relacionados ao tema.