Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLuiz Henrique Câmara de Santarém Alterado mais de 8 anos atrás
1
1 Lógica de Predicados BCC101 Matemática Discreta I
2
2 O que é um Predicado? Predicado Coleção parametrizada de proposições Exemplos: P(x): x é par D(x,y): x é divisível por y Tipicamente uma proposição diferente para cada x P(2) é True P(5) é False D(10,5) é True D(20,3) é False Domínio (ou universo de discurso) Conjunto de valores que as variáveis podem assumir Deve ser especificado explicitamente
3
3 Conjunto verdade de um Predicado Seja P(x) um predicado e suponha que P(x) tem domínio D O conjunto verdade de P(x) é o conjunto dos x D tais que P(x) é True { x D | P(x) } Exemplo P(x): 5<x<9 e D=Z { x D | P(x)} = {6,7,8}
4
4 — Quantificador Universal, (para todo) x p(x) É uma fórmula se p(x) é uma fórmula True se p(x) é True para cada valor de x no Domínio False se existe algum valor de x no Domínio tal que p(x) é False Exemplo – P(x): x é primo D = {2,5,11} - x P(x) é True x P(x) significa P(2) P(5) P(11) D = {3,6,9} - x P(x) é False Contra-exemplos: P(6) e P(9) D = N = {0, 1, 2, … } - x P(x) é False x P(x) significa P(0) P(1) P(2) … “ ” provê uma maneira de escrever fórmulas que teriam um número infinito de símbolos na Lógica Proposicional
5
5 — Quantificador Existencial, (existe) x p(x) É uma fórmula se p(x) é uma fórmula True se p(x) é True para algum valor de x no Domínio False p(x) é False para todo valor de x no Domínio Exemplo – P(x): x é primo D = {3,6,9} - x P(x) é True x P(x) significa P(3) P(6) P(9) D = {6,9,15,28} - x P(x) é False x P(x) significa P(6) P(9) P(15) P(28) D = N = {0, 1, 2, … } - x P(x) é True x P(x) significa P(0) P(1) P(2) … “ ” provê uma maneira de escrever fórmulas que teriam um número infinito de símbolos na Lógica Proposicional
6
6 Universo Vazio Qual o significado de x p(x) se o universo de discurso é vazio? x p(x) é True Isso é compatível com o fato de que o é uma generalização do ∧ e a identidade do ∧ é true. Qual o significado de ∃ x p(x) se o universo de discurso é vazio? ∃ x p(x) é False Isso é compatível com o fato de que o ∃ é uma generalização do ∨ e a identidade do ∨ é false.
7
Exercício P(0) P(1) P(2) P(-1) P(y) x P(x) x P(x) x P(x) x P(x) x P(x) 7 Seja P(x): x == x 2 e suponha que o universo é o conjunto dos números inteiros. Qual é o valor verdade de cada uma das afirmações a seguir:
8
PROLOG PROLOG é uma linguagem de programação baseada em lógica. Um programa em PROLOG é uma sequência de declarações de fatos e regras. Declarações de fatos definem os objetos do Domínio e quais desses objetos satifazem determinados predicados. Regras definem novos predicados, por meio de asserções condicionais. Vejamos um exemplo 8
9
9 O seguinte programa PROLOG descreve o mundo da figura: color(g,gray) isabove(g,b1) color(b1,blue)isabove(b1,w1) color(b3,blue)isabove(w2,b2) color(b2,blue) isabove(b2,b3) color(b1,white) isabove(X,Z) :- isbove(X,Y), isabove(Y,Z) color(w2,white) Yes As seguintes perguntas podem ser feitas ?color(b1,blue) ?isabove(X,w1) PROLOG adota a hipótese de mundo fechado. b1, g
10
Exercício (ENADE 2014) Considere o seguinte programa PROLOG: superior(jorge). superior(ana). selecionados(P,Q) :- superior(P), superior(Q). desconsiderados(P,Q) :- not(superior(P)); not(superior(Q)). descartado(P) :- not(superior(P)). Marque as afirmações verdadeiras: 10 Para todos os possíveis valores de P e Q, selecionados(P,Q) é falso Falso
11
Exercício (ENADE 2014) Considere o seguinte programa PROLOG: superior(jorge). superior(ana). selecionados(P,Q) :- superior(P), superior(Q). desconsiderados(P,Q) :- not(superior(P)); not(superior(Q)). descartado(P) :- not(superior(P)). Marque as afirmações verdadeiras: 11 Para todos os possíveis valores de P e Q, selecionados(P,Q) tem valor lógico diferente de desconsiderados(P,Q) Verdadeiro
12
Exercício (ENADE 2014) Considere o seguinte programa PROLOG: superior(jorge). superior(ana). selecionados(P,Q) :- superior(P), superior(Q). desconsiderados(P,Q) :- not(superior(P)); not(superior(Q)). descartado(P) :- not(superior(P)). Marque as afirmações verdadeiras: 12 A conjunção de selecionados(P,Q) e desconsiderados(P,Q), para quaisquer valores de P e Q, tem valor lógico verdadeiro Falso
13
Exercício (ENADE 2014) Considere o seguinte programa PROLOG: superior(jorge). superior(ana). selecionados(P,Q) :- superior(P), superior(Q). desconsiderados(P,Q) :- not(superior(P)); not(superior(Q)). descartado(P) :- not(superior(P)). Marque as afirmações verdadeiras: 13 Para qualquer valor de P, descartado(P) tem valor lógico verdadeiro Falso
14
Exercício (ENADE 2014) Considere o seguinte programa PROLOG: superior(jorge). superior(ana). selecionados(P,Q) :- superior(P), superior(Q). desconsiderados(P,Q) :- not(superior(P)); not(superior(Q)). descartado(P) :- not(superior(P)). Marque as afirmações verdadeiras: 14 Verdadeiro A disjunção de selecionados(P,Q) e desconsiderados(P,Q), para quaisquer valores de P e Q, tem valor lógico verdadeiro
15
Fórmulas com vários quantificadores Seja N o domínio de discurso N = {0, 1, 2, 3, … } e se R (x,y ) = “ x < y ”. Q1: O que significa x y R (x,y ) ? Todo número x admite um número maior y Verdadeiro ou falso? Q2: O que significa y x R (x,y ) ? Algum número y é maior que todo x Verdadeiro ou falso? 15 Inverter a ordem dos quantificadores e em uma fórmula pode alterar seu sifnificado
16
Fórmulas com vários quantificadores x. y. p(x,y) é True se p(x,y) é True para todo par (x,y) em DxD Exemplo (D = N): x y y=x+1 -> x < y é True x. y. p(x,y) é True se, para cada x ∈ D, é possível escolher um y ∈ D tal que p(x,y) é True Exemplos (D = N): x y y > x é True y. x. p(x,y) é True se existe um determinado y ∈ D, tal que p(x,y) é True, para todo x ∈ D Exemplo (D = N): y x y > x é False y. x. p(x,y) é True se existe um par (x,y) ∈ DxD tal que p(x,y) é True Exemplo(D = N): y x y. x é True 16
17
Exercícios Q(1,1) Q(2,0) y Q(1,y) x Q(x,2) y Q(2,y) x Q(x,y) x y Q(x,y) x y Q(x,y) x y Q(x,y) y x Q(x,y) y x Q(x,y) 17 Seja Q(x,y): x+y == x-y e suponha que o universo é o conjunto dos números inteiros. Qual é o valor verdade de cada uma das afirmações a seguir:
18
Lógica de Predicados – sintaxe formal 18 formula ::= true | false |pred (termo 1, …, termo n ) n ≥ 0 |(¬ formula) |(formula ∧ formula) |(formula ∨ formula) |(formula -> formula) |(formula formula) |( var. formula) |( var. formula) Termos denotam objetos do Domínio Fórmulas denotam valores lógicos (T ou F) termo ::= var | func (termo 1, …, termo n ) n ≥ 0 Precedência dos operadores
19
Termos denotam objetos do domínio 19 Termos funções aplicadas a termos x+2 (y+1) 2 constantes 2 5 variáveisx y Domínio = N 2 5 3 6 4 49 Lógica de Predicados - semântica
20
Fórmulas denotam valores lógicos 20 Fórmulas x > y (x > y) -> (y+1 = 3) x x=3 Bool T F Lógica de Predicados - semântica x x+3=2y A interpretação depende dos valores de x e y -- x e y são variáveis livres x=3, y=6 T ou F? A interpretação não depende do valor de x! -- x é uma variável ligada A interpretação não depende do valor de x, mas depende do valor de y! -- x é uma variável ligada e y é livre
21
Variáveis livres e ligadas 21 variável ligadavariável livre escopo de ocorrência ligadaocorrência livre
22
Modelo Dizemos que uma interpretação é um modelo para uma fórmula se a fórmula é verdadeira nessa interpretação. Exemplo: ∀ x(P(x) ∨ Q(x)) → ∀ xP(x) ∨∀ xQ(x) É modelo para essa fórmula: D={a,e,i,o,u} P(x):x é minúscula Q(x): x é vogal Não é um modelo para essa fórmula: D=Z P(x): x>=0 Q(x): x<0 22
23
Tautologia Uma fórmula é uma tautologia se toda interpretação é um modelo para essa fórmula. Exemplos: ∀ x (P(x) ∨ ¬P(x)) ¬ ∀ x P(x) ∃ x ¬P(x) ∀ x(P(x) ∧ Q(x)) ∀ xP(x) ∧∀ xQ(x) 23
24
Exercício Quais das seguintes fórmulas são tautologias: ∀ x (P(x) ∧ ¬P(x)) ∀ x ∃ y (P(x) ∧ ¬P(y)) ¬ ∃ x P(x) ∀ x ¬P(x) ∃ x(P(x) ∨ Q(x)) ∃ xP(x) ∨∃ xQ(x) ∃ x(P(x) ∧ Q(x)) ∃ xP(x) ∧∃ xQ(x) 24
25
Traduzindo para Lógica de Predicados G(x,y): x gosta de y 1.João gosta de Maria 2.João gosta de todo mundo 3.Todo mundo gosta de João 4.Maria gosta de alguém 5.Maria não gosta de ninguém 6.Todo mundo gosta de alguém 7.Ninguém gosta de todo mundo 8.João gosta de todo mundo de quem Maria não gosta 25 G(João,Maria) y G(João,y) x G(x,João) y G(Maria,y) ¬ y G(Maria,y) y ¬ G(Maria,y) → G(João,y) x y G(x,y) x y ¬ G(x,y)
26
Exercícios Traduza as seguintes sentenças para a Lógica de Predicados: 1.Todo número par maior que 2 é a soma de 2 primos 1.Em toda cidade existe uma rua que tem pelo menos 1 buraco 26 ∀ x (par(x) ∧ x>2 → ∃ y ∃ z (primo(y) ∧ primo(z) ∧ x=y+z)) ∀ x (Cidade(x) → ∃ y ∃ b (Rua(y) ∧ Inr(R,b) ∧ Buraco(b) ∧ Inb(R,b)))
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.