Você está na página 1de 7

Universidade Federal de Goiás

Instituto de Informática
UFG

Relatório Técnico
Lógica Temporal

Alexandre Arantes, Brayan Amaral e Phillipe Miranda

Inteligência Artificial

Professor: Cedric Luiz

Goiânia - GO
Novembro
Lógica Temporal
B. A. da S. Santos A. A. Naves
P. M. F. Coutinho

Technical Report - RT-INF_000-21 - Relatório Técnico


November - 2021 - Novembro

The contents of this document are the sole responsibility of the authors.
O conteúdo do presente documento é de única responsabilidade dos autores.

Instituto de Informática
Universidade Federal de Goiás
www.inf.ufg.br
Lógica Matemática
Brayan Amaral da Silva Santos Alexandre Arantes Naves
amaral.brayan@discente.ufg.br alexandrearantes@discente.ufg.br

Phillipe Miranda Ferreira Coutinho


phillipemiranda@discente.ufg.br

Abstract. This Technical Report describes where it came from, what the Necessity
and Possibility operators are and their applications, a short summary on Kripke’s
Structures which was a major breakthrough in the theory of non-classical Logics, the
classifications of Time, being it Linear, Ramified or Cyclic, and the applications of this
Logic in ancient and current times.

Keywords: Time, Temporal Logic.

Resumo. Este Relatório Técnico descreve de onde surgiu, o que são os operadores de
Necessidade e Possibilidade e suas aplicações, um pequeno resumo sobre as Estrutu-
ras de Kripke no qual foi foi um grande avanço na teoria das Lógicas não-clássicas,
as classificações do Tempo, sendo elas Linear, Ramificado ou Cíclico e as aplicações
dessa Lógica nos tempos antigos e atuais.

Palavras-Chave: Tempo, Lógica Temporal.

1 Introdução
Lógica Temporal é um sistema de regras e simbolismos capazes de fazer a representação
do raciocínio, levando o tempo como um dos elementos a serem considerados. Primordialmente
chamada de Lógica Tensa, a Lógica Temporal foi introduzida no final dos anos 1950 por Arthur
Prior com contribuições importantes de Hans Kamp, sendo principalmente utilizada pelo ramo
da ciência computacional da época.
Atualmente, lógica temporal encontrou uma aplicação importante na verificação formal,
onde é usada para declarar requisitos de sistemas de hardware ou software. Por exemplo, pode-
se desejar dizer que sempre que uma solicitação é feita, o acesso a um recurso é eventualmente
concedido, mas nunca é concedido a dois solicitantes simultaneamente. Tal afirmação pode ser
convenientemente expressa em uma lógica temporal.
Nos próximos tópicos veremos o que é a Lógica Temporal, seus elementos, algumas de
suas estruras e suas aplicações.

1
Lógica Temporal 2

2 Elementos da Lógica Temporal


Levando em consideração a Lógica de Primeira Ordem, podemos notar que ela tem algu-
mas limitações no sentido de não diferenciar entre o conceito de Possível e Necessário, sendo
suas fórmulas apenas binárias, verdadeiras ou falsas, sem nenhum tipo de classificação.
Por outro lado, a Lógica Temporal permite representar o conceito de necessidade e pos-
sibilidade, ou seja, representa o estudo do comportamento das expressões de necessidade (é
necessário que) e possibilidade (é possível que).
Estes conceitos são formalizados a partir da noção de Mundo Possível, cuja interpretação
pode ser descrita como uma alternativa imaginável ao mundo real. A lógica modal surge dentro
do contexto da Lógica Temporal, pois a linguagem desta contém, além dos operadores verdade
funcional, os operadores da lógica modal, que são:

* Necessidade: representada pelo símbolo de " ";
* Possibilidade: representada pelo símbolo de "⋄”.

Enquanto algumas coisas como a sintaxe e a semântica da Lógica Modal deriva da Ló-
gica de Primeira Ordem, a Lógica Temporal tem suas funções a partir da semântica da modal
adicionando o fator tempo a expressão. Como exemplos dos quantificadores de Necessidade e
Possibilidade, temos:
* ⋄φ : é possível que φ seja verdade;

* φ : é necessário que φ seja verdade;

* φ → ⋄φ : tudo que é necessário é possível;
* φ → ⋄φ: se algo é verdadeiro, então é possível;

* φ → ⋄φ: se algo é verdadeiro é necessariamente possível;

3 Estruturas de Kripke
Uma Estrutura de Kripke é uma semântica formal para sistemas lógicos não-clássicos
criados no final dos anos 1950 e início dos anos 1960 por Saul Kripke. Ela foi feita primeiro para
lógicas modais e, mais tarde adaptado para a lógica intuicionista e outros sistemas não-clássicos.
A descoberta da semântica de Kripke foi um avanço na teoria das lógicas não-clássicas, pois a
teoria dos modelos de tais lógicas era inexistente antes de Kripke.
É uma classe Kr de modelos de Krioke, onde o sistema K é o menor dos sistemas modais
normais. Ou seja, ela é a intersecção de todos os sistemas modais normais, justificado pelos
seguintes princípios: trata-se de um sistema de lógica modal, com um conjunto de axiomas e
regras de inferência que representam formalmente o raciocínio.
Sendo B u, conjunto de proposições atômicas, logo uma Estrutura de Kripke é uma lista
de itens (S, i, R, L), onde:
* S é um conjunto finito de estados;
* i ∈ S é o estado inicial;
* R ⊆ S × S é uma relação total: ∀ s ∈ S . ∃s’ ∈ s . (s, st’) ∈ R;
* L:S → (P) é uma função que marca cada estado com o conjunto de fórmulas atômicas
válidas nesse estado.

A semântica da Lógica Temporal pode ser definida sobre estruturas de Kripke. Desta
forma, as técnicas de especificação e verificação de propriedades podem ser apresentadas inde-
pendentemente do formalismo do modelo a ser adotado.
Lógica Temporal 3

4 Tempo Cíclico vs Tempo Linear vs Tempo Ramificado


As Lógicas Temporais podem divergir quanto ao modo como representam o tempo, exis-
tindo três modelos basicos, Linear, Cíclico e Ramificado.

4.1 Tempo Cíclico


Quando você pensa em se preparar para ir à escola, lembra-se de que há um ritual diário
que precisa cumprir: acordar cedo, organizar o material, arrumar-se, assistir às aulas, voltar
para casa, almoçar e muitas outras coisas até o dia se encerrar! Quando o novo dia se inicia,
porém, você se vê compromissado com as mesmas tarefas, dando a sensação de que se trata
praticamente do mesmo dia.
Essa sucessão repetida e constante de atividades coloca você dentro de um ciclo com
começo, meio e fim, que se torna sempre um novo começo.

4.2 Tempo Linear


Agora pense em outra situação. Quando imagina o futuro e traça planos para alcançar
objetivos, você não tem a sensação de que o tempo é como uma linha reta que aponta para
determinada direção, obedecendo a uma sequência cronológica?
Para dar um exemplo, lembre-se da linha do tempo que estudamos em História: ela traça
os acontecimentos distribuídos ao longo do tempo, numa perspectiva do mais antigo para o mais
recente, vislumbrando o que ainda está por vir.
Nesse caso, a percepção temporal é distinta da do tempo cíclico, pois se tem a sensação
de que os acontecimentos são sucessivos e de que você pode pensar a longo prazo. É como se
houvesse um começo, um meio e um fim mais longos, espaçados. Essa percepção é chamada
de tempo linear.
Contudo, saibamos que essas duas formas de perceber o tempo ocorrem simultaneamente
em nossa vida. Como já vimos, tempo é movimento e, sendo assim, tanto em nosso cotidiano
quanto ao longo de nossa existência, o importante é aproveitarmos o tempo que temos da melhor
maneira possível.
O comportamento do sistema consiste no conjunto de traços infinitos que começam no
estado inicial i.

4.3 Tempo Ramificado


O tempo ramificado implica na possibilidade de existência de diferentes histórias futu-
ras ou passadas. Podem existir várias versões do passado correspondentes a uma situação do
presente, ou existir vários cenários para uma situação futura.
O tempo ramificado no futuro possui diferentes sucessores, e ramificado no passado pos-
sui diferentes antecessores. A maioria das representações da realidade utiliza um passado linear
e um futuro ramificado (Edelweiss e Oliveira, 1994).
Todo o comportamento do sistema é capturado por uma árvore de computação de profun-
didade ilimitada cuja raiz é o estado inicial i.
Lógica Temporal 4

5 Conceitos Básicos
A lógica clássica trata de uma espécie de verdade verdadeira, no sentido em que a mesma
não dispõe de nenhum mecanismo que represente o tempo e suas consequências sobre os valores
verdade nas fórmulas lógicas.
A Lógica Temporal possui como base a lógica modal e permite representar avariação dos
estados do mundo em diferentes períodos de tempo, ou seja, permite verificar a veracidade das
sentenças ao longo do tempo, já que uma sentença pode ser verdadeira em determinado instante
de tempo e falsa em um outro instante.
Na abordagem da Lógica Temporal, as propriedades a serem verificadas são dadas por
meio de fórmulas de Kripke (abordagem dos mundos possíveis) que representam um conjunto
de estados, de transições entre estados e funções que rotulam cada estado com o conjunto de
propriedades verdadeiras dentro dele.
A principal característica da Lógica Temporal é o fato de uma determinada fórmula lógica
poder representar valores verdade diferentes em instantes distintos de tempo. Essa caracterís-
tica é formalizada através da introdução na sintaxe da linguagem lógica de primeira ordem de
diversos operadores temporais. Neste caso, tem-se o Método de Argumentos Temporais, onde:
A é uma fórmula qualquer;
P é um instante no passado;
F é um instante no futuro;
G todos os instantes no futuro;
H todos os instantes do passado.

Com base nesses operadores podemos definir métodos de argumentos temporais para a
Fórmula A:
PA - t (t-now A (t)) - A foi verdade em algum instante do passado;
FA - t (now<t A (t)) - A será verdade em algum instante do futuro;
GA - ∀t (A do t<now → (t)) - A será verdade em todos instantes do futuro;
HA - ∀t (A do now<t → (t)) - A foi verdade em todos os instantes do passado.

6 Aplicações
As aplicações da Lógica Temporal em ciência da computação são apresentadas nos traba-
lhos de renomados pesquisadores com C. Caleiro, Michel Fisher, Chiara Ghidini e outros. No
final da década de 1970, o estilo modal da Lógica Temporal encontrou a aplicação extensiva
na área de informática. Sendo aplicada e relacionada à especificação e verificação dos progra-
mas, em especial naqueles com execução simultânea, isto é, o processamento é executado por
dois ou mais processadores, que trabalham em paralelo, com o objetivo de assegurar o com-
portamento correto dos programas, sendo necessário especificar a maneira em que as ações dos
vários processadores são relacionadas.
A Lógica Temporal pode ser também encontrada em aplicações de inteligência artificial,
como a construção de agentes, sendo um desses tipos os agentes BDI (Belief, Desire and Inten-
tion), que possuem uma arquitetura de crenças, desejos e intenções que necessitam formalização
para que tenham real utilidade. A formalização de tais termos pode ser realizada através de sua
representação lógica. Geralmente, utiliza-se lógica modal para essas situações, mas nos anos
1990, o formalismo lógico baseado em Lógica Temporal passou a ser utilizado, já que permite
a análise de como a crença do agente futuro pode afetar os desejos e intenções do presente.
Lógica Temporal 5

Outra aplicação da Lógica Temporal é na engenharia de software, através do uso de técni-


cas de inteligência artificial, pois esta última utiliza Lógica Temporal na melhoria dos ambien-
tes de construção e qualidade de software. A Lógica Temporal é utilizada nos componentes do
sistema relacionados principalmente na construção dos programas de forma geral, no armazena-
mento e consulta aos dados. No nível mais próximo ao usuário, há a interface homem-máquina;
no nível intermediário, o sistema de informação deve ter mecanismos de processamento de da-
dos para a entrada, edição, análise, visualização e saída dos dados; e no nível mais interno do
sistema, deve ter um sistema de gerência de bancos de dados.
Atualmente, as aplicações estão utilizando Lógica Temporal para resolver muitos proble-
mas da engenharia, da medicina, de grandes bases de dados como as de sequência genética,
entre outros. A Lógica Temporal apresenta-se como uma alternativa para o tratamento de dados
e recuperação de informações históricas. Isto se deve à sua principal característica, ou seja, uma
determinada fórmula lógica poder representar valores verdade diferentes em instantes distintos
de tempo. A utilização da Lógica Temporal em sistemas de informações é de essencial impor-
tância, principalmente naqueles em que a evolução dos dados no decorrer do tempo é fator de
confiabilidade e integridade.

7 Referências
[1] Bertolini, C; Bernardino da Cunha, G. Lógica Matemática. 2017, acessado em
07/11/2021.

[2] Gersting, J. L. Fundamentos Matemáticos para a Ciência da Computação. 5. ed. Rio


de Janeiro: LTC. 2004, acessado em 07/11/2021

[3] Da COSTA, N. C. A.; KRAUSE, D. [2015]. O que é uma lógica?. FUNDAMENTO


Revista de pesquisa no dia 08/11/2021.

Você também pode gostar