A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

19
ALGORITMOS – FORMAS NORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz

Transcript of A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

Page 1: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

ALGORITMOS – FORMAS NORMAIS

Dalton Erasmo

Kelvin Elton

Jorge Luiz

Page 2: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

UTILIDADES DA NORMALIZAÇÃO

A normalização de fórmulas é importante para padronizar a notação, já que é possível escrever fórmulas logicamente equivalentes de muitas maneiras diferentes. As fórmulas lógicas na FND são usadas em circuitos lógicos. Há dispositivos físicos idealizados, chamados de portas lógicas, os quais utilizam funções relacionadas a conjunção, disjunção e negação.

2

Page 3: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

UTILIDADES DA NORMALIZAÇÃO

Qualquer função matemática descrita por uma tabela verdade pode ser especificada por uma fórmula na FNC ou FND. Em Programação lógica, a simplificação ou padronização de expressões resulta em um melhor desempenho ao verificar a satisfatibilidade de uma fórmula. O mesmo ocorre em circuitos lógicos, quanto menor a fórmula lógica menor o circuito.

3

Page 4: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

FÓRMULA NORMAL

Uma fórmula normalizada na FND ou na FNC será ou uma conjunção de cláusulas ou uma cláusula de conjunções. Ela pode ser também só uma cláusula ou conjunção fundamental (CF).

• A, A B, B C A, (AB)(BC), por exemplo, são fórmulas normalizadas.

As formas normais conjuntiva e disjuntiva admitem apenas os conectivos lógicos , e .

4

Page 5: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

FORMA NORMAL DISJUNTIVA

Uma FND é uma conjunção fundamental (CF) ou uma disjunção de duas ou mais CFs.

Toda fórmula proposicional pode ser transformada em outra fórmula logicamente equivalente na FND. Porém, algumas fórmulas ficarão exponencialmente maiores.

Exemplos de fórmulas na FND:A A (disjunção de duas CFs)B C A (é uma CF)(D A) (B C A) (D C A) (disjunção de 3 CFs)

5

Page 6: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

FORMA NORMAL DISJUNTIVA

Exemplos de fórmulas que NÃO estão na FND:A (não é um literal)B C B (repetição de B, portanto não é CF)(A B) (B A) (não é CF, por ter )

6

Page 7: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

FORMA NORMAL CONJUNTIVA

Uma disjunção fundamental é um literal ou a disjunção de dois ou mais literais.

Uma forma normal conjuntiva é uma disjunção fundamental ou uma conjunção de duas ou mais disjunções fundamentais.

Assim como ocorre com a FND, toda fórmula proposicional pode ser transformada em outra fórmula logicamente equivalente na FNC.

Porém, algumas fórmulas normalizadas ficarão exponencialmente maiores.

7

Page 8: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

FORMA NORMAL CONJUNTIVA

Exemplos de fórmulas na FNC:p ∧ (p ∨ q)(p ∨ q) ∧ (q ∨ p)(p ∨ q ∨ r) ∧ (p ∨ q ∨ r)

8

Page 9: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

CONVERSÃO PARA FND OU FNC Uma fórmula proposicional pode ser passada

para FND/FNC através dos seguintes passos: 1º passo: Remoção das equivalências:

A ↔ B (A B) ∧ (B A) 2º passo: Remoção das implicações:

A B A ∨ B. 3º passo: Internalização das negações:

(A ∧ B) (A ∨ B), (A ∨ B) (A ∧ B) 4º passo: Eliminação das negações duplas:

A A 5º passo: Utilização das leis distributivas

para colocar a fórmula resultante do passo anterior em FND ou FNC. 9

Page 10: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

EXEMPLO DE CONVERSÃO PARA FND

Passar (A B) (B A) para a FND: Remoção das implicações:

(A B) (B A) Utilização das leis distributivas:

((A B) B) ((A B) A)(A B) (B B) (A A) (B A)(A B) (A B)

10

Page 11: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

EXEMPLO DE CONVERSÃO PARA FNC

Passar A (B (C A)) para a FNC: Remoção das implicações:

A (B (C A)) Internalização das negações:

A (B ( C A)) Utilização das leis distributivas:

A (B C A)(A B) ( A C) ( A B)

Como pode-se perceber, a diferença da normalização para FNC ou FND fica apenas na ordenação dos conectivos e do último passo.

11

Page 12: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

NORMALIZAÇÃO POR TABELAS-VERDADE

Outro método para normalizar uma fórmula é através de tabelas-verdade. Primeiro é necessário fazer a tabela-verdade da fórmula, como no exemplo abaixo para p q r:

12

Page 13: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

NORMALIZAÇÃO POR TABELAS-VERDADE

Depois de identificar as linhas falsificáveis, proceder da seguinte forma: os átomos com o valor verdadeiro (1) devem ser modificados para a sua negação; os que já estavam com o valor falso (0) permanecem iguais; todos os átomos de uma mesma interpretação são conectados por e, por fim, cada interpretação é conectada com .

Desse modo, o exemplo dado fica assim: Linha 2: (p q r), Linha 6: (p q r), Linha 8: (p q r) e, após concatenar as interpretações, o resultado será uma fórmula na FNC:(p q r) (p q r) (p q r)

13

Page 14: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

NORMALIZAÇÃO POR TABELAS-VERDADE

De maneira similar podemos produzir uma fórmula na FND: primeiro se constrói a tabela, depois identificam-se as linhas com resultado verdadeiro (1); os átomos com o valor falso (0) devem ser modificados para a sua negação; os que já estavam com o valor verdadeiro (0) permanecem iguais; todos os átomos de uma mesma interpretação são conectados por e, por fim, cada interpretação é conectada com .

14

Page 15: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

NORMALIZAÇÃO POR ADIÇÃO DE ÁTOMOS

A normalização de uma fórmula para FNC ou FND pelos métodos já apresentados é acompanhada pela inconveniência de se obter uma nova fórmula de tamanho exponencialmente maior que a primeira. Nesse caso, é possível usar o artifício da Adição de Novos Átomos para que seu tamanho aumente apenas de forma linear.Para tanto, deve-se executar normalmente os passos de normalização citados anteriormente. A única mudança será na distributividade das conjunções ou disjunções, pois um novo átomo será adicionado nessa parte, como pode se verificar no exemplo a seguir:

15

Page 16: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

NORMALIZAÇÃO POR ADIÇÃO DE ÁTOMOS

X (Y Z) para a FNC por adição de átomos: Substituindo (Y Z) por um novo átomo p:

(X p) (p Y) (p Z) (Y Z p) A primeira cláusula da fórmula acima é

imediata, porém, para achar as outras, é preciso normalizar a equivalência lógica p ↔ (Y Z), a qual terá como resultado:(p Y) (p Z) (Y Z p)

Desse modo, a transformação da fórmula original para a FNC estará concluída. E, de modo semelhante, pode-se transformar uma fórmula para a FND.

16

Page 17: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

NOTAÇÃO DE KOWALSKY

Além da notação tradicional da lógica proposicional, as fórmulas na FNC ou na FND podem ser representadas na notação de Kowalsky. Para isso é necessário separar os literais positivos dos negativos, deixando os positivos à esquerda.

Na notação de Kowalsky, a virgula (,) a esquerda de ¬ representa uma disjunção e a direita, uma conjunção. Essa disjunção é chamada de conclusão e a conjunção é chamada de premissa ou condição.

17

Page 18: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

EXEMPLOS DA NOTAÇÃO DE KOWALSKY

p q r é equivalente a escrever p, q ← r na notação de Kowalsky.

s p q é equivalente a escrever s ← p, q na notação de Kowalsky.

18

Page 19: A LGORITMOS – F ORMAS N ORMAIS Dalton Erasmo Kelvin Elton Jorge Luiz.

REFERÊNCIAS 1. KAESTNER, Celso Antônio Alves. Lógica para

Computação. Disponível em: <http://www.dainf.cefetpr.br/~kaestner/Logica/AlgoritmodeWang.ppt>. Acessado em: 19/03/2009.

2. WIKIPEDIA. Robert Kowalski. Disponível em: <http://en.wikipedia.org/wiki/Robert_Kowalski>. Acessado em: 22/03/2009.

3. CAMPOS, Paulemir Gonçalves. Lógica Proposicional. Disponível em: <http://200.17.137.110:8080/licomp/Members/cicero/logica-e-programacao-logica/turma-lc1-2007.2/arquivos/5-logica_proposicional3.ppt>. Acessado em: 22/03/2009.

4. MARTINI, Alfio. Equivalências e Formas Normais. Disponível em: <http://www.inf.pucrs.br/~alfio/Logica/lec04-prop-equiv.pdf>. Acessado em: 22/03/2009.

19