Resolução (lógica) - Resolution (logic)

Na lógica matemática e na prova automatizada de teoremas , a resolução é uma regra de inferência que leva a uma refutação completa da técnica de prova de teoremas para sentenças em lógica proposicional e lógica de primeira ordem . Para a lógica proposicional, a aplicação sistemática da regra de resolução atua como um procedimento de decisão para a insatisfabilidade da fórmula, resolvendo o (complemento do) problema de satisfatibilidade booleana . Para a lógica de primeira ordem , a resolução pode ser usada como base para um semi-algoritmo para o problema de insatisfação da lógica de primeira ordem , fornecendo um método mais prático do que um que segue o teorema da completude de Gödel .

A regra de resolução pode ser rastreada até Davis e Putnam (1960); no entanto, seu algoritmo exigia tentar todas as instâncias básicas da fórmula fornecida. Esta fonte de explosão combinatória foi eliminada em 1965 pelo algoritmo de unificação sintática de John Alan Robinson , que permitia instanciar a fórmula durante a prova "sob demanda" tanto quanto necessário para manter a integridade da refutação .

A cláusula produzida por uma regra de resolução é às vezes chamada de resolvente .

Resolução em lógica proposicional

Regra de resolução

A regra de resolução na lógica proposicional é uma única regra de inferência válida que produz uma nova cláusula implícita em duas cláusulas contendo literais complementares. Um literal é uma variável proposicional ou a negação de uma variável proposicional. Dois literais são considerados complementos se um for a negação do outro (a seguir, é considerado o complemento de ). A cláusula resultante contém todos os literais que não possuem complementos. Formalmente:

Onde

todos , e são literais,
a linha divisória significa " implica ".

O texto acima também pode ser escrito como:

A cláusula produzida pela regra de resolução é chamada de resolvente das duas cláusulas de entrada. É o princípio do consenso aplicado a cláusulas ao invés de termos.

Quando as duas cláusulas contêm mais de um par de literais complementares, a regra de resolução pode ser aplicada (independentemente) para cada um desses pares; entretanto, o resultado é sempre uma tautologia .

O Modus ponens pode ser visto como um caso especial de resolução (de uma cláusula de um literal e uma cláusula de dois literais).

é equivalente a

Uma técnica de resolução

Quando combinada com um algoritmo de busca completo , a regra de resolução produz um algoritmo sólido e completo para decidir a satisfatibilidade de uma fórmula proposicional e, por extensão, a validade de uma sentença sob um conjunto de axiomas.

Esta técnica de resolução usa prova por contradição e é baseada no fato de que qualquer sentença na lógica proposicional pode ser transformada em uma sentença equivalente na forma normal conjuntiva . As etapas são as seguintes.

  • Todas as sentenças na base de conhecimento e a negação da sentença a ser provada (a conjectura ) estão conjuntivamente conectadas.
  • A frase resultante é transformada em uma forma normal conjuntiva com os conjuntos vistos como elementos em um conjunto, S , de orações.
    • Por exemplo, dá origem ao conjunto .
  • A regra de resolução é aplicada a todos os pares de cláusulas possíveis que contêm literais complementares. Após cada aplicação da regra de resolução, a sentença resultante é simplificada removendo literais repetidos. Se a cláusula contiver literais complementares, ela será descartada (como uma tautologia). Caso contrário, e se ainda não estiver presente no conjunto de cláusulas S , é adicionado a S e é considerado para futuras inferências de resolução.
  • Se depois de aplicar uma regra de resolução a cláusula vazia for derivada, a fórmula original será insatisfatória (ou contraditória ) e, portanto, pode-se concluir que a conjectura inicial segue dos axiomas.
  • Se, por outro lado, a cláusula vazia não pode ser derivada e a regra de resolução não pode ser aplicada para derivar mais nenhuma cláusula nova, a conjectura não é um teorema da base de conhecimento original.

Uma instância desse algoritmo é o algoritmo Davis-Putnam original que foi posteriormente refinado no algoritmo DPLL que removeu a necessidade de representação explícita dos resolventes.

Esta descrição da técnica de resolução usa um conjunto S como a estrutura de dados subjacente para representar as derivações de resolução. Listas , árvores e gráficos acíclicos direcionados são outras alternativas possíveis e comuns. As representações em árvore são mais fiéis ao fato de que a regra de resolução é binária. Junto com uma notação sequente para cláusulas, uma representação em árvore também deixa claro como a regra de resolução está relacionada a um caso especial da regra de corte , restrita a fórmulas de corte atômicas. No entanto, as representações de árvore não são tão compactas quanto as representações de conjunto ou lista, porque mostram explicitamente subderivações redundantes de cláusulas que são usadas mais de uma vez na derivação da cláusula vazia. As representações de gráfico podem ser tão compactas no número de cláusulas quanto as representações de lista e também armazenam informações estruturais sobre quais cláusulas foram resolvidas para derivar cada resolvente.

Um exemplo simples

Em linguagem simples: suponha que seja falso. Para que a premissa seja verdadeira, deve ser verdadeira. Alternativamente, suponha que seja verdade. Para que a premissa seja verdadeira, deve ser verdadeira. Portanto, independentemente da falsidade ou veracidade de , se ambas as premissas forem válidas, a conclusão é verdadeira.

Resolução na lógica de primeira ordem

A regra de resolução pode ser generalizada para a lógica de primeira ordem para:

onde é um unificador mais geral de e , e e não têm variáveis ​​comuns.

Exemplo

As cláusulas e podem aplicar esta regra como unificador.

Aqui x é uma variável eb é uma constante.

Aqui vemos que

  • As cláusulas e são as premissas da inferência
  • (o resolvente das premissas) é sua conclusão.
  • O literal é o literal resolvido à esquerda,
  • O literal é o literal resolvido certo,
  • é o átomo ou pivô resolvido.
  • é o unificador mais geral dos literais resolvidos.

Explicação informal

Na lógica de primeira ordem, a resolução condensa os silogismos tradicionais de inferência lógica em uma única regra.

Para entender como a resolução funciona, considere o seguinte silogismo de exemplo de lógica de termos :

Todos os gregos são europeus.
Homer é grego.
Portanto, Homer é um europeu.

Ou, de forma mais geral:

Portanto,

Para reformular o raciocínio usando a técnica de resolução, primeiro as cláusulas devem ser convertidas para a forma normal conjuntiva (CNF). Desta forma, toda quantificação torna-se implícita: quantificadores universais em variáveis ​​( X , Y , ...) são simplesmente omitidos como entendidos, enquanto variáveis quantificadas existencialmente são substituídas por funções de Skolem .

Portanto,

Portanto, a questão é: como a técnica de resolução deriva a última cláusula das duas primeiras? A regra é simples:

  • Encontre duas cláusulas contendo o mesmo predicado, onde ele é negado em uma cláusula, mas não na outra.
  • Realize uma unificação nos dois predicados. (Se a unificação falhar, você fez uma escolha incorreta de predicados. Volte para a etapa anterior e tente novamente.)
  • Se quaisquer variáveis ​​não ligadas que foram ligadas nos predicados unificados também ocorrerem em outros predicados nas duas cláusulas, substitua-as por seus valores ligados (termos) lá também.
  • Descarte os predicados unificados e combine os restantes das duas cláusulas em uma nova cláusula, também unida pelo operador "∨".

Para aplicar esta regra ao exemplo acima, encontramos que o predicado P ocorre na forma negada

¬ P ( X )

na primeira cláusula, e na forma não negada

P ( a )

na segunda cláusula. X é uma variável não vinculada, enquanto a é um valor vinculado (termo). Unificar os dois produz a substituição

Xa

Descartar os predicados unificados e aplicar essa substituição aos predicados restantes (apenas Q ( X ), neste caso), produz a conclusão:

Q ( a )

Para outro exemplo, considere a forma silogística

Todos os cretenses são ilhéus.
Todos os ilhéus são mentirosos.
Portanto, todos os cretenses são mentirosos.

Ou mais geralmente,

X P ( X ) → Q ( X )
X Q ( X ) → R ( X )
Portanto, ∀ X P ( X ) → R ( X )

No CNF, os antecedentes tornam-se:

¬ P ( X ) ∨ Q ( X )
¬ Q ( Y ) ∨ R ( Y )

(Observe que a variável na segunda cláusula foi renomeada para deixar claro que as variáveis ​​em cláusulas diferentes são distintas.)

Agora, unificar Q ( X ) na primeira cláusula com ¬ Q ( Y ) na segunda cláusula significa que X e Y se tornam a mesma variável de qualquer maneira. Substituir isso nas cláusulas restantes e combiná-las dá a conclusão:

¬ P ( X ) ∨ R ( X )

Factoring

A regra de resolução, conforme definida por Robinson, também incorporou a factoring, que unifica dois literais na mesma cláusula, antes ou durante a aplicação da resolução conforme definido acima. A regra de inferência resultante é refutação completa, em que um conjunto de cláusulas é insatisfatório se e somente se houver uma derivação da cláusula vazia usando apenas resolução, aprimorada por fatoração.

Um exemplo de uma cláusula insatisfatória definida para a qual a fatoração é necessária para derivar a cláusula vazia é:

Uma vez que cada cláusula consiste em dois literais, o mesmo ocorre com cada resolvente possível. Portanto, por resolução sem fatoração, a cláusula vazia nunca pode ser obtida. Usando fatoração, pode ser obtido, por exemplo, da seguinte forma:

Resolução não cláusula

Foram elaboradas generalizações da regra de resolução acima, que não exigem que as fórmulas originárias estejam na forma oracional normal .

Essas técnicas são úteis principalmente na prova de teoremas interativos onde é importante preservar a legibilidade humana das fórmulas de resultados intermediários. Além disso, eles evitam a explosão combinatória durante a transformação para a forma de cláusula e, às vezes, economizam etapas de resolução.

Resolução não oracional na lógica proposicional

Para lógica proposicional, Murray, Manna e Waldinger usam a regra

,

onde denota uma fórmula arbitrária, denota uma fórmula contendo como uma subfórmula e é construída substituindo em cada ocorrência de por ; da mesma forma para . O resolvente se destina a ser simplificado usando regras como , etc. Para evitar a geração de resolventes triviais inúteis, a regra deve ser aplicada apenas quando tem pelo menos uma ocorrência "negativa" e "positiva" em e , respectivamente. Murray mostrou que essa regra é completa se aumentada por regras de transformação lógica apropriadas.

Traugott usa a regra

,

onde os expoentes de indicam a polaridade de suas ocorrências. Enquanto e são construídos como antes, a fórmula é obtida substituindo cada ocorrência positiva e cada ocorrência negativa de in por e , respectivamente. Semelhante à abordagem de Murray, as transformações de simplificação apropriadas devem ser aplicadas ao resolvente. Traugott provou que sua regra é completa, desde que sejam os únicos conectivos usados ​​nas fórmulas.

O resolvente de Traugott é mais forte do que o de Murray. Além disso, não introduz novos juntadores binários, evitando assim uma tendência à forma oracional em resolução repetida. No entanto, as fórmulas podem crescer mais quando um pequeno é substituído várias vezes por um maior e / ou .

Exemplo de resolução proposicional de não cláusula

Por exemplo, partindo das premissas fornecidas pelo usuário

a regra de Murray pode ser usada da seguinte maneira para inferir uma contradição:

Para o mesmo propósito, a regra Traugott pode ser usada da seguinte forma:

A partir de uma comparação de ambas as deduções, os seguintes problemas podem ser vistos:

  • A regra de Traugott pode produzir um resolvente mais nítido: compare (5) e (10), que ambos resolvem (1) e (2) .
  • A regra de Murray introduziu 3 novos símbolos de disjunção: em (5), (6) e (7), enquanto a regra de Traugott não introduziu nenhum novo símbolo; nesse sentido, as fórmulas intermediárias de Traugott se assemelham mais ao estilo do usuário do que as de Murray.
  • Devido a este último aspecto, a regra de Traugott pode tirar vantagem da implicação na suposição (4), utilizando-se como a fórmula não-atómico no passo (12). Usando as regras de Murray, a fórmula semanticamente equivalente foi obtida como (7), entretanto, ela não poderia ser usada devido à sua forma sintática.

Resolução não oracional na lógica de primeira ordem

Para a lógica de predicados de primeira ordem, a regra de Murray é generalizada para permitir subfórmulas distintas, mas unificáveis, e de e , respectivamente. Se for o unificador mais geral de e , então o resolvente generalizado é . Embora a regra permaneça válida se uma substituição mais especial for usada, nenhum desses aplicativos de regra é necessário para atingir a integridade.

A regra de Traugott é generalizada para permitir várias subfórmulas distintas entre pares de e de , contanto que tenham um unificador mais comum, digamos . O resolvente generalizado é obtido após a aplicação das fórmulas parentais, tornando a versão proposicional aplicável. A prova de integridade de Traugott se baseia na suposição de que essa regra totalmente geral é usada; não está claro se sua regra permaneceria completa se restrita a e .

Paramodulação

Paramodulação é uma técnica relacionada para raciocinar em conjuntos de cláusulas onde o símbolo do predicado é a igualdade. Ele gera todas as versões "iguais" de cláusulas, exceto identidades reflexivas. A operação de paramodulação leva um positivo da cláusula, que deve conter um literal de igualdade. Em seguida, procura uma cláusula into com um subtermo que se une a um lado da igualdade. O subtermo é então substituído pelo outro lado da igualdade. O objetivo geral da paramodulação é reduzir o sistema a átomos, reduzindo o tamanho dos termos durante a substituição.

Implementações

Veja também

Notas

Referências

links externos