introdução a inteligência artificial representação do

Propaganda
INTRODUÇÃO A INTELIGÊNCIA ARTIFICIAL
REPRESENTAÇÃO DO CONHECIMENTO
As primeiras pesquisas em IA visavam a construções de resolvedores gerais de problemas,
conhecidos como GPS (General Problem Solver). Alguns exemplos de problemas resolvidos pelos
GPS eram quebra-cabeças, teoremas simples e integrais. Eles foram um marco na história da IA.
Inclusive um pesquisador chamado Hebert Simon recebeu o prêmio Nobel de Economia em 1978
por conta de um.
Por outro lado, apesar de serem conhecidos como “gerais”, havia muitos problemas que eles
não conseguiam resolver. Surgiu então a grande dúvida: se o programa funciona corretamente, por
que não consegue resolver certos tipos de problemas? Será que ele era incompleto? Deveria conter
mais ou outros métodos gerais de raciocínio? Com o tempo os pesquisadores descobriram que a
busca de tais métodos era praticamente impossível. Por outro lado, os sistemas poderiam substituir
tais métodos por conhecimento.
Começaram a surgir, então, os chamados sistemas baseados em conhecimento (SBC). Um
dos primeiros sistemas foi o DENDRAL, um programa que fazia análises químicas. Esse programa
tem uma grande importância, porque ele funcionou muito bem, foi um sucesso e mostrou a
eficiência de sistemas baseados em conhecimento.
A aquisição de conhecimento significa a capacidade de adicionar mais conhecimentos a uma
base já estabelecida, ou utilizar as informações da base para inferir novos conhecimentos.
Todo homem é mortal.
João é um homem.
João é mortal?
Baseado nas duas frases acima, o computador deve conseguir responder se João é mortal.
Mas como ele faz isso? O computador raciocina? Ele pensa? Ele entende o que é mortalidade? O
computador conseguirá responder a pergunta conforme a metodologia utilizada para armazenar e
acessar o conhecimento.
Uma Representação do Conhecimento é um meio de expressão, i.e., uma linguagem na qual
pode-se dizer coisas sobre o mundo.
Como construir uma Base de Conhecimento??? O engenheiro do conhecimento determina
quais conceitos são importantes no domínio escolhido e cria representações (em alguma linguagem
de representação de conhecimento) desses objetos e suas relações no domínio dado.
ESTRUTURAS PARA REPRESENTAÇÃO DE CONHECIMENTO
Existem diversas formas de se representar conhecimento. Alguns exemplos são:
•
Lógica Proposicional, Lógica de predicados, Redes semânticas, Frames, Scripts, Ontologias,
etc...
Redes semânticas
Estruturas em forma de grafo que codificam o conhecimento taxonômico dos objetos e suas
propriedades
Mais utilizadas para representar hierarquias
Nodos e arcos
Nodos: representam categorias ou objetos do domínio
Arcos: representam relações:
subconjuntos (é um tipo de ),
elementos de conjuntos (é uma instância de),
funções (ex. faz)
Animal
Ave
Pomba
Mamífero
gato
pêlo
cachorro
Exemplo 1: O exemplo acima permite responder à pergunta “Qual o relacionamento entre aves e
mamíferos?” ou “qual a relação entre gatos e cachorros?”.
Exemplo 2: cães comem? usar busca
sobre a rede para provar a hipótese.
Buscando a partir do nó cão temos:
− Cão é-um mamífero
− Mamífero é-um animal
− Animal faz comer
Ex. Linguagem LIFE (Logics, Inheritance, Functions and Equations)
Exemplo 3: Para verificar se cães e pássaros estão relacionados:
− Executar uma busca em largura a partir de ambos os nós
− A interseção entre os nós visitados nos dá o relacionamento: são animais e comem
Frames
Frames são um conjunto de atributos (ou slots), onde apenas preenchem-se os valores.
Evolução das redes semânticas, mais estruturados e, portanto, mais poderosos
nós – frames
arcos – atributos
procedimentos podem ser anexados a um frame
Os frames integram conhecimento:
declarativo sobre objetos e eventos e
procedimental sobre como recuperar informações ou calcular valores
analogia com a orientação a objetos:
Frames são classes e dados são instâncias.
Procedimentos: podem inferir valores
para atributos a partir de valores de outros
atributos especificados anteriormente em
qualquer frame do sistema.
Facetas: descrevem conhecimento ou
algum procedimento relativo ao atributo.
Valor: especifica o valor
Valor default: especifica o valor
assumido caso não haja nenhuma informação
Tipo: indica o tipo de dado do valor
Domínio: descreve os valores possíveis para o atributo
Procedimentos: como os triggers nos bancos de dados
Ex. Linguagem F-Logic
Scripts
Um script é um esquema para uma sequência de eventos que compõem uma situação
prototípica: Ir ao cinema; Ir ao médico; Viajar de trem; Ir ao restaurante
É como um roteiro, descreve uma seqüência de passos ou eventos
Pode descrever pessoas, objetos, cenários e condições
Utilizados para descrever eventos seqüenciais
EXEMPLO:
Script: ir ao restaurante
COMPONENTES
Nome: Restaurante
Objetos: mesas, menu, comida, conta, dinheiro
Agentes: cliente, garçom, cozinheiro, caixa, dono
Condições de entrada: o cliente tem fome, o cliente tem dinheiro
Resultados: o cliente tem menos dinheiro, o dono tem mais dinheiro, cliente não tem fome
Seqüência de cenas:
Cena 1: Entrada
1.
2.
3.
4.
5.
cliente entra no restaurante
procura uma mesa
decide onde sentar
vai para a mesa
Senta
Cena 2: Pedido
6. O cliente pega o menu
7. olha o menu
8. decide o que comer
9. chama o garçom
10. vem até a mesa
11. pede a comida
12. ...
Maria foi ao restaurante, comeu uma torta e saiu.
Pode-se inferir sobre Maria que ela:
Estava com fome
Tinha algum dinheiro
Pediu a torta antes de comer
Um garçom a atendeu
Pagou antes de sair
CÁLCULO PROPOSICIONAL E CÁLCULO DOS PREDICADOS.
A lógica moderna tem início em 1879, data em que Gottlob Freeg (1848-1925)
publicou a primeira versão do que hoje é conhecido como cálculo dos predicados. Para
analisar problemas e conceitos do conhecimento sistemático, a lógica precisa
desenvolver um vocabulário preciso e adequado; isto é, através da linguagem
quotidiana, vaga e ambígua, deve criar outra linguagem precisa.
Uma característica importante da lógica é que, quando aplicamos regras de
inferência a fatos que sabemos ser verdade, qualquer fato novo resultante será, com
certeza, verdadeiro. São usados dois sistemas básicos em lógica para representar e
deduzir conhecimento: cálculo proposicional e cálculo dos predicados.
De uma maneira geral, um sistema lógico consiste em um conjunto de fórmulas
e um conjunto de regras de inferência. As fórmulas são sentenças pertencentes a uma
linguagem formal cuja sintaxe é dada. Cada fórmula pode ser associada a um valor
verdade, isto é, ao valor verdadeiro (V) ou falso (F).
Uma regra de inferência é uma regra sintática que, quando aplicada
repetidamente a uma ou mais fórmulas verdadeiras, gera apenas novas fórmulas
verdadeiras. As regras de inferência fornecem uma estrutura dedutiva à linguagem
lógica. A seqüência de fórmulas geradas através da aplicação de regras de inferência
sobre um conjunto inicial de fórmulas é chamada prova.
− LÓGICA PROPOSICIONAL (ou Lógica Booleana)
Uma ``proposição'' é um enunciado verbal, susceptível que tem um significado
semântico e pode ser exclusivamente verdadeiro ou falso. Exemplos de proposições:
A terra é azul.
Manaus é a capital do Amazonas.
Graciliano Ramos escreveu ``Memórias do Cárcere''.
2+2=5
5
Existe um conjunto de símbolos, que representam as proposições, a sintaxe
consiste de um conjunto de conectivos lógicos que podem ser usados para construir
expressões mais complexas.
Os símbolos proposicionais são utilizados para denotar proposições, ou seja,
declarações sobre o mundo que podem ser verdadeiras ou falsas, tais como ‘o carro é
vermelho’. Assim, na lógica proposicional, em vez de escrevermos uma sentença
inteira, apenas a representamos por um símbolo proposicional. Uma proposição simples,
representada por uma letra, é uma fórmula atômica. Por exemplo, representamos toda
a sentença “o céu é azul” pelo símbolo ‘p’.
Combinando-se fórmulas atômicas com o emprego de conectivos tem-se
fórmulas (sentenças) bem formadas – fbf. Por exemplo: “x+y=4” é uma sentença bem
formada, enquanto “x2y=” não é.
Sentenças complexas são construídas a partir de sentenças mais simples com a
utilização de conectivos lógicos. Existem cinco conectivos de uso comum:
•
•
•
•
•
O símbolo ∧ significa ‘e’ ou conjunção.
O símbolo ∨ significa ‘ou’, ou disjunção.
O símbolo ¬ significa a negação.
O símbolo ⇒ significa implicação.
O símbolo = significa equivalência.
As sentenças no cálculo proposicional são formadas por pelo menos um dos três
elementos (símbolos proposicionais, símbolos de verdade e conectivos), de acordo com
as seguintes regras:
1. Todo símbolo proposicional ou símbolo de verdade é uma sentença. Exemplos de
sentenças: verdadeiro, p, q, r.
2. A negação de uma sentença é uma sentença. Exemplos de sentenças: ¬p, ¬false, ¬r
3. A conjunção de duas sentenças é uma sentença. Exemplos de sentenças: p ∧ ¬p, p ∧
q.
4. A disjunção de duas sentenças é uma sentença. Exemplo de sentenças: p ∨ ¬p, p ∨
q, ¬q ∨ r.
5. A implicação de uma sentença em outra sentença é uma sentença. Exemplos de
sentenças: p ⇒ q, ¬q ⇒ r, p⇒ ¬r
6. A equivalência de duas sentenças é uma sentença. Exemplos de sentenças: p ∨ q = r,
p⇒q=r∧s
Em expressões da forma p ⇒ q, p é chamado de premissa ou antecedente,
enquanto q é chamado de conclusão ou conseqüente.
6
Sentenças que obedecem a essas definições, ou regras, são chamadas de wellformed formulas, ou simplesmente formulas bem formadas - fbf.
Os símbolos ( ) e [ ] são usados para agrupar símbolos em sub-expressões e,
assim, controlar sua ordem de avaliação e significado. Por exemplo, as sentenças (1) e
(2) abaixo são bem diferentes uma da outra:
(p ∨ q) = r
(1)
p ∨ (q = r)
(2)
Uma expressão será uma sentença, ou uma fórmula bem formada, se ela for
composta por símbolos legais obedecendo a alguma (ou um conjunto) das seis regras
descritas anteriormente. Por exemplo, podemos provar que a expressão (3) é uma
fórmula bem formada pois:
((p ∧q) ⇒ r) = ¬p ∨ ¬q ∨ r
(3)
•
p, q e r são símbolos proposicionais e, portanto, são sentenças (regra 1).
•
p ∧q, a conjunção de duas sentenças é uma sentença (regra 3).
•
(p ∧q) ⇒ r, a implicação de uma sentença em outra é uma sentença (regra 5).
•
¬p e ¬q, negações de sentenças, são sentenças (regra 2).
•
¬p ∨ ¬q, a disjunção de duas sentenças é uma sentença (regra 4).
•
¬p ∨ ¬q ∨ r, a disjunção de duas sentenças, é uma sentença (regra 4).
•
((p ∧q) ⇒ r) = ¬p ∨ ¬q ∨ r, a equivalência de duas sentenças, é uma sentença (regra
6).
Assim, provamos que a expressão (3) é uma fórmula bem formada.
Semântica do Cálculo Proposicional
Como já dito anteriormente, um símbolo proposicional corresponde a uma
afirmação, ou proposição, sobre o mundo. Por exemplo, um símbolo p pode representar
a frase “está chovendo” e o símbolo q pode representar a frase “eu moro numa casa
amarela”. Uma proposição pode ser tanto verdadeira como falsa, dependendo do estado
atual do mundo. O valor verdade associada a uma proposição é chamado de
interpretação.
Formalmente, uma interpretação é um mapeamento dos símbolos proposicionais
no conjunto {v,f}. Os símbolos ‘v’ e ‘f’ são parte do conjunto de sentenças bem
7
formadas do cálculo proposicional, i.e., são distintos dos valores verdade associados a
uma sentença.
Ou seja, uma sentença pode conter, entre outros símbolos, o símbolo ‘v’ e, no
final, o seu valor verdade ser falso. Para não confundir o símbolo de verdade com o
símbolo da disjunção, vamos utilizar os símbolos de verdadeiro e falso com letra
maiúscula, V e F.
Cada mapeamento de um valor verdade em uma proposição corresponde a uma
interpretação. Por exemplo, se ‘p’ denota a proposição “está chovendo” e ‘q’ denota a
proposição “eu estou trabalhando”, então o conjunto de proposições {p,q} pode ter 4
interpretações possíveis:
1. p é verdade e q é verdade. Ou seja, “está chovendo” e “eu estou trabalhando”.
2. p é verdade e q é falso. Ou seja, “está chovendo” e “eu NÃO estou trabalhando”.
3. p é falso e q é verdade. Ou seja, “NÃO está chovendo” e “eu estou trabalhando”.
4. p é falso e q é falso. Ou seja, “NÃO está chovendo” e “eu NÃO estou trabalhando”.
Regras para determinar o valor verdade de uma sentença
Pela definição formal do cálculo proposicional, o valor verdade de uma sentença
é determinado pelas seguintes regras:
•
Uma negação inverte o valor verdade de uma proposição. Portanto, o valor verdade
de uma negação ¬p será F se o valor verdade de p for V. Do mesmo modo, o valor
verdade de uma sentença ¬p será F se o valor verdade de p for F.
•
O valor verdade de uma conjunção será V apenas o valor de ambos os lados da
sentença forem verdade. Por ex., a sentença (p ∧ q) terá valor verdade V apenas se p
for V e q também for V.
•
O valor verdade de uma disjunção será F quando o valor de ambos os lados da
sentença forem F. Caso contrário, o valor será V.
•
O valor verdade de uma implicação será F apenas quando a premissa (expressão
que vem à esquerda do símbolo ⇒) for V e o conseqüente (expressão à direita do
símbolo ⇒) for F. Em qualquer outro caso o valor será V.
•
O valor verdade de uma equivalência será V apenas quando as expressões dos dois
lados tiverem o mesmo valor verdade para qualquer interpretação. Caso contrário, o
valor verdade será F.
As possíveis interpretações de proposições são descritas por meio de tabelas
verdade. Uma tabela-verdade lista todos os possíveis valores que podem ser associadas
a cada um dos símbolos de uma expressão e também o valor de cada expressão. Assim,
8
uma tabela-verdade lista todos os possíveis “estados do mundo”, ou seja, todas as
possíveis interpretações.
Por exemplo, a tabela verdade da expressão p ∧ q lista todos os possíveis valores
de p, todos os possíveis valores de q e todas as possíveis combinações de valores.
Conseqüentemente, lista todos os possíveis valores da expressão p ∧ q. Como podemos
ver por essa tabela, uma conjunção apenas é verdadeira quando ambos os lados são
verdadeiros, de acordo com a regra para conjunção descrita acima.
p
V
V
F
F
q
V
F
V
F
p∧q
V
F
F
F
Tabela-verdade para a expressão p ∧ q
No cálculo proposicional, duas expressões são equivalentes se elas têm o mesmo
valor para qualquer interpretação. Essa equivalência pode ser demonstrada usando
tabelas-verdade. Por exemplo, a Tabela abaixo mostra a equivalência das expressões (p
⇒ q) e (¬p ∨ q).
p
V
V
F
F
q
V
F
V
F
¬p
F
F
V
V
¬p ∨q
V
F
V
V
p⇒
⇒q
V
F
V
V
(¬
¬p ∨q)=( p⇒
⇒q)
V
V
V
V
Tabela-verdade demonstrando a equivalência de expressões
Mostrando-se que duas expressões são idênticas por meio de suas tabelasverdade, podemos provar outras equivalências do cálculo proposicional.
•
¬(¬p) = p
•
(p ∨ q) = (¬p ⇒ q)
•
lei contrapositiva: (p ⇒ q) = (¬q ⇒ ¬p)
•
lei de ‘de Morgan’: ¬ (p ∨ q) = (¬p ∧ ¬q)
¬ (p ∧ q) = (¬p ∨ ¬q)
•
lei comutativa: (p ∧ q) = (q ∧ p)
(p ∨ q) = (q ∨ p)
•
lei associativa: ((p ∧ q) ∧ r) = (p ∧ (q ∧ r))
((p ∨ q) ∨ r) = (p ∨ (q ∨ r))
•
lei distributiva: (p ∨ (q ∧ r)) = (p ∨ q) ∧ (p ∨ r)
(p ∧ (q ∨ r)) = (p ∧ q) ∨ (p ∧ r)
9
LISTA EXERCÍCIOS – LÓGICA PROPOSICIONAL
Ex: Gosto de viajar se e somente se visitei o chile
Ex.:
p: elefantes podem subir em árvores
q: 3 é um número irracional
pq
5) Considerando que a proposição “todos os pelicanos comem peixe” seja verdadeira,
quais das proposições abaixo são verdadeiras?
(a) Se uma ave é um pelicano, então ela come peixe.
(b) Se uma ave não é um pelicano, então ela não come peixe.
(c) Se uma ave come peixe, então ela é um pelicano.
(d) Se uma ave não come peixe, então ela não é um pelicano.
10
− Lógica de Predicados (Representação declarativa)
Ao invés de verificar as sentenças quanto ao seu valor verdade, o calculo de predicados
é usado para representar objetos e relações entre eles.
Um predicado é o que diz alguma coisa sobre o sujeito. Ex.: O livro é vermelho.
Representação: vermelho (livro).
Na lógica dos predicados, a suposição é que o mundo consiste de:
•
Objetos e suas propriedades
Exemplos de objetos: pessoas, casas, números, cores
Exemplos de propriedades: vermelho, redondo, primo
•
Relacionamentos entre objetos
Exemplos: irmão_de, maior_que, parte_de
•
Funções (relações nas quais há apenas um valor para uma dada entrada)
Exemplos: pai_de, melhor_amigo_de
Nessa representação, existem duas entidades. Os fatos e o engenho de inferência.
Os fatos representam o conhecimento do sistema. O engenho de inferência é
responsável por processar esses fatos para responder perguntas, resolver problemas ou
gerar novos fatos.
Por exemplo, para representar as sentenças “Todo homem é mortal” e “Sócrates
é um homem, eu simplesmente declaro Mortal(homem) e Homem(sócrates). O engenho
de inferência, então, será responsável por acessar esses fatos e, assim, responder
perguntas tais como:“Sócrates é um homem?” ou “Sócrates é mortal”.
Ou seja, o conhecimento é apenas declarado. O uso que se fará dele cabe ao
engenho de inferência. Conhecimento separado de processamento!
Principais Componentes e Características
Os principais elementos da lógica dos predicados são as sentenças e os termos.
Termos: São construídos por símbolos de constantes, variáveis e símbolos de funções,
que formam uma expressão lógica que se refere a um objeto.
Constantes – letras do começo do alfabeto (a,b,c,...) ou palavras (gato, azul)
Variáveis – letras do fim do alfabeto (x, y, ...)
Funções – soma(x,y) equivale a “x+y”
pai_de(x) equivale a “pai de x”
Exemplos de termos:
Mais(x,1)
Mais(mais(x,1),x)
mãe(jane)
Sentenças: São construídas por quantificadores e símbolos de predicado. Predicados
representam relações.
Maior_que(x,3)
“X é maior do que 3”
11
Gosta(Ana,vinho)
Irmão(João, Pedro).
Menor_que(Ana, Maria).
Gosta(jorge,kate).
Gosta(jorge,susie)
Gosta(jorge,maria,joana).
“Ana gosta de vinho”
Os símbolos de predicados nesses exemplos são irmão, menor_que e gosta.
Podemos observar que um símbolo de predicado pode ser utilizado com diferentes
números de argumentos.
Neste exemplo existem dois gosta diferentes, um com dois argumentos e outro
com três. Quando um predicado é utilizado em sentenças com diferentes números de
argumentos, considera-se que ele representa duas relações diferentes. Assim, um
predicado é definido por seu nome e sua paridade. Nesse mesmo exemplo, os outros
símbolos, tais como João e Jorge, são constantes e representam objetos no domínio do
problema.
Sentenças Complexas
Pode-se usar os mesmos conectivos da lógica proposicional, com a mesma semântica.
Irmão(João,Pedro) ∧ irmão(João, Paulo)
Menor_que(x,y) ∨ menor_que(x,z)
P(x) ⇒ Q(x)
P(x,y) ⇒ (Q(x) ∨ R(y))
Quantificadores
Permitem expressar propriedades de conjuntos de objetos.
• Quantificador Universal (∀)
Geralmente utilizado da forma (∀x). Leia-se: “para todo x”. Exemplo: representar a
declaração “Todo número racional é um número real”.
Vamos definir que Q(x) representa “x é um número racional”
Vamos definir que R(x) representa “x é um número real”.
Portanto:
(∀x) (Q(x) ⇒ R(x))
• Quantificador Existencial (∃)
Geralmente utilizado da forma (∃x). Leia-se: “existe x” ou “existe pelo menos um x”.
Esse quantificador expressa a propriedade de um objeto, sem especificar qual. Exemplo:
representar a declaração “Existe um número que é primo”.
Vamos definir que P(x) representa “x é um número primo”
Portanto:
(∃x) P(x)
• Quantificadores aninhados
Pode-se utilizar quantificadores juntamente com duas variáveis, ou ainda um
quantificador universal seguido de um existencial e vice-versa. Exemplos:
∀x,y (pai_de(x,y) ⇒ filho_de(y,x)
∀x ∃y maior_que(x,y)
12
Este último exemplo equivale a dizer que “para todo x existe pelo menos um y
tal que x é mayor que y”. Conseqüentemente, equivale também a dizer que todo número
tem um número maior do que ele.
Variáveis
As variáveis podem ser livres ou ligadas. Diz-se que uma variável é ligada quando está
no escopo de um quantificador. Se pelo menos uma ocorrência da variável for ligada,
então a variável é ligada.
Uma variável é livre se não está no escopo de um quantificador. Exemplos:
(∀x) P(x,y) x ligada (a primeira ocorrência está ligada ao quantificador universal)
y livre
(∀x) P(x,y) ∧ (∀y) Q(y)
ligada livre
ligada
Como podemos ver pelo segundo exemplo, a primeira ocorrência da variável y é livre,
pois até o momento não havia nenhuma ocorrência de y junto a um quantificador. No
entanto, a segunda ocorrência de y é ligada, pois ela já havia aparecido junto a um
quantificador universal (∀y).
Precedência dos conectivos
A precedência indica, numa fórmula, quais conectivos devem ser analisados
primeiro, a não ser em caso de ordenação por meio de parênteses. A ordem na lógica
dos predicados é a seguinte:
1) ∀, ∃
4) ∨
2) ¬
5) ⇒
6) ⇔
3) ∧
Assim, a expressão (∃x) A(x) ∨ B(x) equivale a ((∃x) A(x)) ∨ B(x)
Interpretação de Fórmulas
Formalmente, uma interpretação de uma fórmula F consiste de um domínio D e uma
atribuição de valores a cada constante, símbolo de funções e símbolo de predicado.
Para cada interpretação de uma fórmula sobre um domínio D, a fórmula pode ser avaliada
como V ou F. Uma fórmula que contém variáveis livres não pode ter seu valor verdade calculado.
Exemplo 1: suponha as duas fórmulas seguintes, o domínio e as possíveis interpretações para P.
1. (∀x) P(x)
P(1)
P(2)
2. (∃x) ¬ P(x)
V
F
Domínio: D = {1,2}
A partir do domínio e das possíveis substituições para P, concluímos que :
1. O valor verdade de (∀x) P(x) é falso, pois P(x) não é verdade para todo x (já que quando x=2 o
valor é F, como podemos ver pela tabela).
2. O valor verdade de (∃x) ¬ P(x) é verdadeiro, pois existe pelo menos um x (x=2) tal que a
expressão é V.
13
LISTA EXERCÍCIOS – LÓGICA DE PREDICADOS
1. Represente em lógica de predicados as seguintes frases:
a. João gosta de todo tipo de comida
b. Maçãs são comida
c. Frango é comida
d. Qualquer coisa que alguém coma e que não cause sua morte é comida
e. Paulo come amendoim e ainda está vivo
f. Susana come tudo o que Paulo come
2. Representar o axioma “Para todo número, existe apenas um sucessor”.
3. Representar o axioma “Não existe número para o qual zero é o seu sucessor”.
4. Representar o axioma: “Para todo número diferente de zero, existe apenas um antecessor
imediato”.
5. formalize em lógica de predicados as seguintes frases:
a) Se não chover amanhã, Tom irá para as montanhas.
b) Lisa é um doberman e também uma cadela meiga.
c) Todos os jogadores de basquete são altos.
d) Algumas pessoas gostam de beterraba.
e) Ninguém gosta de impostos
14
Download