Resumo do Artigo “Automated Reasoning”
Felipe S. Boffo
Fernando dos Santos
Leomar Costa
Leonardo Couto
Roger Reis
1/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
 (fi) = Uma conjectura, uma propriedade, uma sentença a
ser verificada
S = Conjunto de suposições que expressam propriedades de
um objeto de estudo (Exemplo: um sistema, circuito,
estrutura matemática, etc )
2/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
 é uma conseqüência lógica do conjunto S
de suposições ?
3/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Problema: representação do conhecimento
Formalismo adequado para S e  para
representar aspectos do mundo real como
ação, espaço, tempo, eventos mentais e
raciocínio de senso comum
4/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Lógica clássica: tem sido o principal formalismo em
raciocínio automático
Lógicas não clássicas: modal, temporal, descritiva e lógicas
não monolíticas
Lógicas não clássicas tem sido largamente investigadas
para representar conhecimento
5/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
1.2
Raciocínio Automático na Lógica Clássica
Teorema da Prova
O Problema e os métodos para demonstrar que uma
propriedade  é uma conseqüência lógica de S
6/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Teorema Dedutivo de Prova
Se interessa em provar que  é uma conseqüência lógica de
S (com os símbolos S ╞ )
Todo homem é mortal.
Sócrates é um homem.
Isto implica que Sócrates é mortal.
7/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Teorema Indutivo de Prova
Se interessa em determinar se S envolve todos os
fundamentos de  (em símbolos S ╞ ), onde 
representa todos os fundamentos
Este gelo é frio.
Uma bola de bilhar se move quando golpeada por um
taco.
Todo gelo é frio.
Toda bola de bilhar se move quando golpeada por8/64
um
taco.
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Teorema de prova automática
Uma máquina deve encontrar sozinha a prova
Teorema de prova interativa
A prova surge apartir da interação entre a máquina e um
humano.
9/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Muito difícil encontrar uma prova ignorando a conjectura
Maioria dos métodos de teorema de prova trabalham
refutacionalmente
Provam que  vem de S mostrando:
S U {} gera uma contradição ou é inconsistente.
10/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Ou provam que  é falso encontrando um contra exemplo
ou contra modelo
Um modelo onde S U {}
Este ramo do raciocínio automático é chamado construção
automática de modelos.
11/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Na lógica clássica de primeira ordem, o teorema dedutivo
de prova é Semi-decidível
Semi-decidível: é possível construir um algoritmo que pára
para determinados casos, mas não para para outros
12/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Teorema indutivo de prova não é nem mesmo semidecidíveis
Isto é significante porque enquanto existem vários livros
que falam sobre teorema de prova desde a década de 70, o
primeiro livro sobre construção de modelos surgiu
recentemente, em 2004
13/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
A maioria das abordagens de construção automática de
modelos combinam características destes três princípios:
1 - Método de enumeração: gera interpretações e testa
se eles são modelos de um dado conjunto de fórmulas;
14/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
2 - Método de saturação:
Extrai modelos de um conjunto finito de fórmulas geradas
por uma tentativa de refutação que falhou
15/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
3 - Métodos simultâneos:
pesquisam simultaneamente por uma refutação ou um
modelo de um dado conjunto de fórmulas
16/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Lógicas de maior ordem (,  )
Até mesmo teorema dedutivo de prova não são semidecidíveis.
Em função disto, o teorema de prova totalmente automática
foca no método dedutiva de prova.
Já introdução, geração de modelos e raciocínio em lógicas
de maior ordem recorrem à teoria de prova interativa.
17/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Como os mais importante recursos das lógicas de maior
ordem para a ciência da computação são funções de maior
ordem, que tem relação com as linguagens de programação
funcional ...
18/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Solução intermediária para lógicas de maior ordem:
Desenvolver um sistema de primeira ordem, que é uma
linguagem
de
programação
funcional,
usada
simultaneamente como linguagem de programação e como
linguagem lógica.
19/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Teorema de Prova Totalmente Automatizado
O melhor possível:
Algoritmo semi-decidível que para e retorna uma prova, se
S U {} é inconsistente.
Se ele para sem chegar há uma prova, nós podemos
concluir que S U {} é consistente e tentar extrair o
modelo da sua saída.
Porém, não é garantido que o procedimento pare quando a
situação for consistente.
20/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Existem finitas provas de inconsistência para S U {}, se
elas existem
Problema: espaço de pesquisa infinito de conseqüências
lógicas necessário percorrer para encontrar a contradição
Uma máquina deve realizar esta tarefa usando o mínimo de
recursos
21/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Idéia fundamental
É crucial a habilidade de reconhecer e descartar formulas
redundantes tanto quanto a capacidade de gerar
conseqüências para uma uma determinada fórmula.
22/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Adicionalmente as regras de inferência na forma
Que adiciona fórmulas inferidas b1 ... bm para o conjunto de
problemas conhecidos, que já inclui as premissas a1... an ...
23/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Sistemas de inferência contemporâneos possuem regras de
contração, que apaga ou simplifica teoremas já inferidos
É uma regra de exclusão se as conseqüências são um
subconjunto apropriado das premissas, caso contrário, é
uma regra de simplificação.
24/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Uma regra de expansão é quando o que é gerado é uma
conseqüência lógica das premissas
Exemplos: resolução(resolution) e (paramodulation).
{A1...An} ╞ { B1...Bn }
Um regra de contração é quando o que é removido é uma
conseqüência lógica do que está a esquerda ou adicionado
Exemplo: subsumption e equational simplification from
Knuth-Bendix completion.
25/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Um sistema de inferência é quando todas as regras são
refutacionalmente completas (refutationally complete), se
ela nos permite derivar uma contradição sempre que o
conjunto inicial de fórmulas é inconsistente.
26/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
O desafio é trabalhar com a contradição sem pôr em perigo
a integralidade.
A chave para isto é ordenar os dados (termos, literais,
clausulas, fórmulas, provas) de acordo com well-founded
orderings.
27/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Procedimentos de Decisão e SAT solvers
Exemplos decidíveis de problemas de raciocínio existem.
Para estes problemas, o espaço de pesquisa é finito e os
procedimentos de decisão são conhecidos.
28/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Decidibilidade pode parar de impor restrições:
;

na lógica;

na forma de admitir formulas para S ou

na teoria apresentada pela suposição de
S.
29/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
O exemplo mais relevante é a lógica proposicional, cujo
problema da satisfabilidade decidível é conhecido como
SAT.
Muitos problemas na ciência da computação podem ser
codificados dentro da lógica proposicional, reduzidos para
SAT e submetidos para SAT solvers, o paradigma
predominante é o procedimento DPLL.
30/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Decidível  prático
Problemas de raciocínio decidível são tipicamente NPcompletos
Raciocínio automático confia no paradigma de pesquisa da
inteligência artificial.
31/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Raciocínio automatizado como um problema de busca
Métodos de raciocínio automatizado são estratégias
compostas de:
- um sistema de inferência e
- um plano de busca
A forma de descrever estas estratégias não é óbvia e
diferentes formalismos capturam diferentes níveis de
abstração.
32/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Sistema de inferência
É um conjunto de regras de inferência não-determinístico
que define um espaço de busca com todas as possíveis
inferências.
U: Conjunto Universo contendo
todas as inferências possíveis.
S: Conjunto definido pelas regras
de inferência que definem o espaço
de busca.
33/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Plano de busca
O plano de busca guia o procedimento transformando um
sistema de inferência não-determinístico em procedimento
de prova determinístico.
34/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Plano de busca
Define, em qual etapa, qual regra de inferência usar e sobre
quais fórmulas.
Determina de forma única a escolha de regras de expansão
ou de contração sobre o conjunto de fórmulas.
São várias as estratégias que podem ser usadas.
35/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Estratégias
Estratégias baseadas em ordenação
Empregam uma well-founded ordering para permitir
restringir a expansão e definir a contração do
conjunto de fórmulas.
É esta ordenação que permite avançar ou recuar no
desenvolvimento da prova conforme a necessidade.
36/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Estratégias
Estratégias baseadas em contração
São estratégias baseadas em ordenação que
priorizam regras de contração para minimizar o
crescimento da base de fórmulas.
Podem usar simplificações ou generalizações.
37/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Estratégias
Raciocínio postergado
Estas estratégias trabalham com o chamado
raciocínio postergado, ou seja, não distinguem entre
cláusulas do objetivo de outras cláusulas.
Geram redundância por permitirem criar cláusulas
que nada acrescentam à prova
38/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Estratégias
Estratégias semânticas
Usam conjuntos de suporte ou estratégias orientadas
ao alvo para limitar este efeito.
39/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Estratégias
Redução a subobjetivos
Tratam do problema buscando soluções para
subproblemas do problema.
Incluem métodos como

Eliminação de modelo

Resolução linear

Matings

Connections
Que estão dentro do contexto das clausal
normalform tableaux.
40/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Estratégias
Estratégias baseadas em instância
Usam instâncias fixas das cláusulas a serem
refutadas.
Detectam inconsistências no nível proposicional
usando ferramentas SAT.
41/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Sistemas de raciocínio interativo
Sistemas de raciocínio interativo que tratam problemas de
ordem mais elevada que a proposicional também usam
estratégias de busca, mas de forma indireta ou através de
uma metalinguagem.
42/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Sistemas de raciocínio interativo
Uma sessão gera um plano de prova, isto é, uma seqüência
de ações para se chegar à prova.
As ações podem ser escolhidas pelo usuário ou pelo plano
de busca.
43/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Sistemas de raciocínio interativo
Ações




Aplicação de uma regra de inferência
Introdução de um lema
Invocação de um provador de primeira-ordem
para conjectura de primeira-ordem
Invocação de programa de decisão para um
subproblema decidível
44/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Aplicações
Apesar da dificuldade intrínseca, o raciocínio automatizado
é importante por várias razões.
Exemplos de aplicações diretas

Verificação de hardware/software

Geração de programas
45/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Aplicações
Provadores de teoremas foram aplicados com sucesso em

Verificação de protocolos criptográficos

Sistemas orientados a mensagens

Especificações de software
46/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Aplicações
As técnicas desenvolvidas contribuíram com outros campos
de IA como

Planejamento

Aprendizado

Processamento de linguagem natural

Computação simbólica
¤
Solução de problemas com restrições
¤
Álgebra de computador
47/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Aplicações
 Lógica computacional
¤
Programação declarativa
¤
Banco de dados dedutivos
 Matemática
¤
Banco de dados com verificação matemática
por computador
48/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Aplicações
Provadores de teorema são capazes de provar teoremas
matemáticos não triviais tais como teorias em

Álgebras Booleanas

Anéis

Grupos

Quasigrupos

Lógica multivalorada
49/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Aplicações
Deve-se destacar que o estudo de formas mecânicas de
raciocínio lógico é parte da questão fundamental,
particularizada pelo campo da Inteligência Artificial, sobre
o que uma máquina pode fazer.
.
50/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Modelagem IA utilizando
Lógicas não clássicas
Modal
Temporal
etc...
51/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Métodos especialmente desenvolvidos
Técnicas automáticas de dedução

tableau proof methods

Tradução para lógica clássica
52/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Problema Lógicas não monotonicas
Baseados no método tableau
53/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Métodos para raciocínio automatizado usados com sucesso
em lógicas não clássicas

Extensions of logic programming

Model checking
54/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Extensions of logic programming

Prolog

Abductive logic programing
(Tentativa de imitar raciocínio humano)
55/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Model checking
Utilizado para verificar sistemas concorrentes
É construído um modelo apartir do software expresso
através de uma lógica temporal
Expansão do modelo para sistemas de IA de múltiplos
agentes
56/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Raciocínio sobre ações
 Que ações tomar, dado um determinado estado do
mundo?
 É possível automatizar este tipo de raciocínio a
partir de um formalismo lógico chamado cálculo
situacional (proposto por John McCarthy em 1963)
 Considerar exemplo do elevador.
57/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Cálculo Situacional
• Elementos básicos:
- ações: o que pode ser feito no mundo. Podem ter
pré-condições e efeitos.
* up(n): elevador sobe até andar n.
* open: elevador abre porta.
58/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Cálculo Situacional
• Elementos básicos:
- situações: seqüência de ações, result(a, S) é a
situação que sucede a situação
S após aplicar a ação a
* result(open, result(up(3), S)): elevador subiu até 3o
andar e abriu a porta.
59/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Cálculo Situacional
• Elementos básicos:
- fluents: relações/propriedades cujo valor verdade
pode variar de acordo com a situação.
* on(n, s) indica que o botão está apertado no andar
n na situação s.
* current floor(s) indica qual andar o elevador se
encontra na situação s.
60/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Cálculo Situacional
• Elementos básicos:
- uma pré-condição: Poss(up(n), s)  on(n, s)
61/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Cálculo Situacional
 qual será a situação após “processar” a situação
inicial S0?
current floor(S0) = 2, on(5, S0)
 resposta:
S = result(open, result(up(5), S0))
• quais ações devem ser executadas? basta observar
a situação:
up(5), open
62/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Sistemas Multi-agente
• Como garantir que mensagens trocadas entre
agentes sejam compreendidas/tenham significado?
• Aplicando model checking na comunicação
(compatibilidade com o protocolo).
63/64
Lógica Aplicada – Resumo do Artigo “Automated Reasoning”
Raciocínio automático na web
• Utilização de lógica de descrição para representar
ontologias.
- ontologia: descrição de conceitos e relacionamentos
entre conceitos existentes em um domínio do
conhecimento.
• Web-services possuem analogias com sistemas
multi-agente, logo, podem ser utilizadas as mesmas
técnicas para raciocínio.
64/64
Download

raciocicioautomatico