Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

IntArt U3

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 34

EAD

Representação de
Conhecimento, Lógica
Proposicional e
Lógica de Primeira
Ordem
3
1. OBJETIVOS
• Conhecer, refletir e discutir os fundamentos relacionados
à Lógica e à Representação de Conhecimento.
• Aplicar os conceitos sobre Lógica e Representação de Co-
nhecimento.
• Conhecer, refletir e discutir os fundamentos da Lógica
Proposicional.
• Aplicar os conceitos sobre Lógica Proposicional.
• Conhecer, refletir e discutir os fundamentos referentes à
Lógica de Primeira Ordem.
• Aplicar os conceitos sobre Lógica de Primeira Ordem.

2. CONTEÚDOS
• Agentes racionais.
• Formalização do conhecimento.
110 © Inteligência Artificial

• Representação e inferência.
• Propriedades dos mecanismos para raciocínio formal.
• Lógica Proposicional: formalização, limitações, implemen-
tação computacional e utilização prática.
• Lógica Clássica de Primeira Ordem: formalização, limita-
ções, implementação computacional e utilização prática.

3. ORIENTAÇÕES PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, é importante que
você leia as orientações a seguir:
1) Nesta unidade, estudaremos dois cálculos lógicos impor-
tantes para a compreensão da Inteligência Artificial – a
Lógica Proposicional e a Lógica de Predicados de Primeira
Ordem. Teremos a oportunidade de aprender que a se-
mântica utilizada adota uma notação matemática, que re-
presenta significados. Lembrando que proposição é uma
sentença lógica que pode ou não ser verdadeira, assumin-
do, dessa forma, valores V ou F ou, ainda, 1 ou 0.
2) Vale relembrar (ou conhecer, para os que não tenham
visto anteriormente) que a Lógica Clássica se baseia em
três princípios fundamentais, estabelecidos por Aristó-
teles.
a) O primeiro é o Princípio da não contradição, em que
não é verdade que uma proposição  e sua negação
¬ sejam verdadeiras ao mesmo tempo; cuja repre-
sentação simbólica se dá por ¬( ^ ¬). A leitura
dessa expressão pode ser: “não é verdade que uma
proposição ALFA e sua negação sejam verdadeiras
ao mesmo tempo”.
b) O segundo princípio definido por Aristóteles é o Prin-
cípio do terceiro excluído, em que fica estabelecido
que uma proposição  é verdadeira ou sua negação
é verdadeira, mas jamais as duas serão verdadeiras
ao mesmo tempo. A representação simbólica desse
princípio é ˅ ¬.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 111

c) O terceiro princípio, da reflexibidade da identida-


de estabelece que algo é igual a si mesmo; a repre-
sentação simbólica desse princípio é ∀X(X=X) e sua
leitura é "dado um X qualquer, esse X é igual a ele
mesmo".
3) Veremos como a Lógica Proposicional auxilia a resolução
de problemas por meio de relacionamentos de senten-
ças e símbolos básicos, que representam os conectivos.
A Lógica de Predicados de Primeira Ordem ou somente
“Lógica de Primeira Ordem”, no entanto, pode resolver
questões que a Lógica Proposicional não atende.
4) Lembre-se de que pensar sobre a intenção é um passo
importante para mobilizar a utilização dos recursos ade-
quados em busca do alcance de nossos objetivos. Dessa
forma, é importante que você reflita sobre as atitudes
que assume ou pretende assumir diante do estudo pro-
posto para esta unidade. Para tanto, procure responder
às seguintes questões: quero me dedicar para aprender
os conteúdos desta unidade? Como? Pretendo realizar
pesquisas para aprofundar e ampliar meus conhecimen-
tos?
5) A Lógica Proposicional utiliza símbolos, normalmente
letras do alfabeto grego, para representar sentenças e
axiomas. A seguir, apresentaremos o alfabeto grego e a
pronúncia das letras para que você se familiarize e tenha
maior facilidade ao estudar esta unidade.

Pronúncia Minúscula Maiúscula Pronúncia Minúscula Maiúscula


Alfa  Α Ni ν Ν
Beta  Β Ksi ξ Ξ
Gama γ Γ Omicron ο Ο
Delta δ ∆ Pi π Π
Épsilon ε Ε Rho ρ Ρ
Dzeta ζ Ζ Sigma σ Σ
Eta η Η Tau τ Τ
Teta θ Θ Upsilon υ Υ
Iota ι Ι Phi ϕ Φ
Capa κ Κ Khi χ Χ
Lâmbda λ Λ Psi ψ Ψ
Mi µ Μ Ômega ω Ω

6) Antes de iniciar os estudos desta unidade, pode ser in-


teressante conhecer um pouco da biografia de David

Claretiano - Centro Universitário


112 © Inteligência Artificial

Hilbert, que desenvolveu o mecanismo de inferência


hilbertiano, em que separamos algumas sentenças bem
formadas, denominadas “axiomas”, e a elas acrescenta-
mos uma regra de inferência, capaz de construir novas
sentenças de uma forma controlada. Interessante co-
nhecer a grande influência e contribuições que cientistas
na área da Matemática oferecem para a Computação.

David Hilbert (1862-1943)


Brilhante matemático alemão, nascido em Königs-
berg, na Prússia Oriental, hoje cidade de Kalinin-
grado, Rússia. Também renomado professor de
geometria euclidiana em Göttingen. Doutor pela
Universidade de Konigsberg (1884), onde também
foi professor (1886-1895), depois se mudou para a
Universidade de Gottingen (1895-1930), onde deu
continuidade à brilhante tradição matemática de
Gauss, Dirichlet e Riemann e transformou a univer-
sidade em foco permanente de atenção por suas
ideias inovadoras nesse campo de estudos.
Notável na teoria dos números reais, geome-
tria, topologia, equações diferenciais, cálculo de
variações e outros campos, sua consagração
definitiva veio com a publicação Grundlagen der Geometrie (1899), traduzido
em vários idiomas e apresentada no Congresso Internacional de Matemáti-
ca de Paris (1900). Uma coleção de vinte e três postulados conhecidos como
axiomas de Gilbert, reduzindo a geometria a uma série de axiomas e dando
uma contribuição crucial para os fundamentos formalísticos da matemática.
Divulgou um importante trabalho sobre equações integrais (1909) de grande im-
portância para o desenvolvimento da Matemática do século 20, criando a análise
funcional. Também desenvolveu o espaço infinito-dimensional, hoje chamado es-
paço de Hilbert, e contribuiu para o desenvolvimento da teoria cinética dos gases
e a teoria da radiação. Foi premiado com o Mittag-Leffler da Swedish Academy
(1939) e morreu em Göttingen, Alemanha. (imagem disponível em: <http://pho-
tos.aip.org/history/Thumbnails/hilbert_david_a2.jpg>. Acesso em: 29 out. 2010.
Texto adaptado do site: <http://www.dec.ufcg.edu.br/biografias/DavidHil.htm>.
Acesso em 9 ago. 2010).

4. INTRODUÇÃO À UNIDADE
Na unidade anterior, estudamos técnicas de resolução de
problemas baseadas em buscas em espaços de estados. Já a par-
tir desta unidade, estudaremos técnicas de representação e reso-
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 113

lução de problemas baseadas em lógicas formais. Dessa forma, é


fundamental que você compreenda que elas são mais expressivas
e permitem caracterizar problemas mais complexos e elaborados
que as técnicas anteriores. Entretanto, existe um "preço" a pagar
pelos recursos adicionais possibilitados pelas linguagens baseadas
em lógicas formais.
Essas linguagens são mais abstratas e contêm uma gama
maior de elementos sintáticos que precisam ser dominados para
poderem ser bem utilizados. Ou seja, a partir de agora, estuda-
remos recursos formais e computacionais que nos permitirão re-
solver, de forma eficiente e elegante, um número maior de pro-
blemas, os quais poderão exigir um pouco mais de dedicação e
atenção para serem dominados em comparação com as técnicas e
os métodos estudados nas unidades anteriores.

5. AGENTES RACIONAIS
O objetivo da grande maioria dos sistemas em Inteligência
Artificial é a resolução de problemas "concretos", envolvendo
ações que manipulam objetos do mundo físico ou caracterizam
interações entre agentes inteligentes – por exemplo, entre seres
humanos e computadores ou entre sistemas computacionais au-
tomatizados e totalmente autônomos.
Alguns exemplos desses sistemas são programas para con-
trolar o comportamento de robôs autônomos, que se enquadram
na categoria de sistemas para manipular objetos físicos, e sistemas
para processamento de linguagem natural, que se enquadram na
categoria de sistemas que caracterizam interações entre pessoas
e, também, entre pessoas e computadores.
Os robôs autônomos são dispositivos computacionais capa-
zes de se locomover de forma autossuficiente em um ambiente, se
localizar nesse ambiente e decidir que ações devem executar em
cada momento, com base nas informações do ambiente coletadas

Claretiano - Centro Universitário


114 © Inteligência Artificial

através de seus sensores e nos objetivos e tarefas que estiverem


programados em seus componentes. Para isso, um robô precisa
capturar informações através de seus sensores, processá-las e in-
terpretá-las, organizar suas conclusões com base em seus objetivos
e tarefas, decidir que ações tomar, agir efetivamente no ambien-
te – utilizando seus atuadores, como garras mecânicas, pontos de
solda etc. – e monitorar os resultados de suas ações, dessa forma
voltando às atividades de captura de informações e fechando um
ciclo de execução de atividades.
Para construir um robô autônomo e implementar seus siste-
mas de software, é preciso considerar que existe um agente físico,
que é o robô propriamente dito, e um agente de software que o
controla. O agente de software utiliza as informações provenien-
tes dos sensores e constrói informações que posteriormente são
transmitidas para os atuadores do robô.
O agente de software, entretanto, não utiliza, diretamente,
as informações provenientes dos sensores. Para que essas informa-
ções possam ser manipuladas e tratadas para gerar as informações
sobre ações, elas precisam antes ser classificadas em componen-
tes simbólicos com significados bem determinados, ou seja, preci-
sam ser agrupadas em classes de equivalência correspondentes a
elementos de um modelo simplificado da realidade que as gerou.
Por exemplo, um robô dotado de uma câmera que lhe sirva
como um "olho artificial" pode ter, dentre suas tarefas, a requisi-
ção de identificar as cadeiras em uma sala. Podem existir diversas
cadeiras com formatos, cores e modelos distintos na sala. Caberá
ao software contido no robô comparar as informações coletadas
através de sua câmera com os atributos e características de seu
modelo simplificado de cadeira, com a finalidade de decidir se
cada objeto observado deve ou não ser classificado como uma ca-
deira. Se um objeto for classificado como cadeira, isso significará
que suas características específicas serão abstraídas e simplifica-
das, para que o robô possa armazenar apenas os atributos e carac-
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 115

terísticas que estejam representadas em seu modelo simplificado


de uma cadeira.
De posse das informações simplificadas provenientes do mo-
delo de componentes simbólicos ativado pelos sinais advindos dos
sensores, o agente de software constrói informações sobre ações,
representadas também em um modelo simplificado, as quais são
transmitidas para os atuadores do agente físico, que as utilizam
para finalmente produzir ações efetivas.
O ponto chave que você deve considerar é que o agente de
software não interage, diretamente, com o mundo físico, mas sim
com o modelo simplificado composto por elementos simbólicos.
Esse modelo supostamente representa o mundo físico de forma
fidedigna. Assim, é necessário que o agente de software confie
na qualidade da simplificação, que ocorre na transição da infor-
mação dos sensores para o modelo simplificado, e na qualidade
da tradução, que ocorre a partir do modelo simplificado para as
informações nos atuadores.
O agente de software necessita também confiar na qualida-
de dos sensores e atuadores propriamente ditos, para poder supor
que eles sejam precisos e sempre corretos.
A construção de modelos para representar uma realidade
externa, como, por exemplo, o mundo físico dos robôs autônomos
ou o mundo das interações linguísticas entre pessoas envolvidas
em transações de comércio eletrônico, está entre as tarefas mais
complexas da Inteligência Artificial. Outro tema complexo, que fre-
quentemente exige técnicas estatísticas de análise de dados expe-
rimentais, é a verificação da aderência entre modelos e a realidade
externa.
Felizmente, para muitos problemas e aplicações, algumas so-
luções relativamente estáveis e previamente testadas podem ser
utilizadas. Existem terminologias padronizadas para caracterizar o
que se pode esperar de sensores e atuadores de um robô autôno-
mo, teorias linguísticas que capturam as interações mais comuns e

Claretiano - Centro Universitário


116 © Inteligência Artificial

específicas de certo tipo de atividades e assim por diante. Nesses


casos, podemos concentrar nossos esforços de Engenharia de Sis-
temas Inteligentes na manipulação de informações provenientes
de um modelo de componentes simbólicos, com o objetivo de ge-
rar representações de ações a partir de representações recebidas
referentes ao que os sensores perceberam.
Os modelos de componentes simbólicos, embora sejam sim-
plificações da realidade externa em que efetivamente se encon-
tra o problema a ser resolvido, podem ser bastante complexos e
diversificados, dependendo da natureza do problema e do grau
de detalhamento considerado na sua descrição. Para simplificar
a construção de programas de computador que possam efetuar a
manipulação dessas informações, é conveniente construir uma lin-
guagem de manipulação de símbolos padronizada e mecanismos
computacionais predefinidos para a inclusão de novas estruturas
de símbolos, a transformação de estruturas existentes e a exclusão
de algumas, quando for conveniente.
Naturalmente, para que essas linguagens padronizadas
e seus mecanismos predefinidos de manipulação sejam úteis, é
necessário que haja um mapeamento entre as linguagens e os
modelos que caracterizam os problemas. Quanto mais modelos
puderem se relacionar com uma linguagem, mais útil ela será na
resolução de problemas.
Desse modo, o mapeamento entre um modelo e uma lingua-
gem deve atender a certas propriedades. A propriedade básica que
se espera é que a linguagem simule adequadamente o que ocor-
re no modelo de componentes simbólicos, ou seja, a cada opera-
ção realizada na linguagem padronizada, resultante da utilização
de seus mecanismos de manipulação, deve-se corresponder a um
evento no modelo ou na classe de modelos correspondente(s). Se
esse mecanismo ocorrer, dizemos que estamos utilizando uma lin-
guagem correta em relação a um modelo ou a uma classe de mo-
delos de representação de um problema.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 117

Espera-se, também, que uma linguagem simule tudo o que


ocorre no modelo de componentes simbólicos, ou seja, cada even-
to no modelo que representa um problema a ser resolvido deve
corresponder a uma operação na linguagem. Quando isso ocorre,
dizemos que estamos utilizando uma linguagem completa em rela-
ção a um modelo ou a uma classe de modelos. Em outras palavras,
uma linguagem completa consegue capturar e diferenciar todos os
eventos relevantes para a resolução de um problema.
Para obter bons resultados, é fundamental que uma lingua-
gem padronizada seja correta e completa em relação a uma classe
de modelos suficientemente ampla e expressiva, para capturar to-
dos os conceitos relevantes da realidade externa.
Frequentemente, são utilizados cálculos lógicos como lingua-
gens computacionais capazes de capturar os conceitos relevantes
da realidade externa para um agente inteligente.
A seguir, você verá como é a funcionalidade de um cálculo
lógico.

6. CÁLCULO LÓGICO
Um cálculo lógico é caracterizado por:
• um alfabeto – um conjunto de símbolos que podem ser
representados computacionalmente. Para a Inteligência
Artificial, de maneira geral, consideramos apenas alfabe-
tos enumeráveis, de forma que os símbolos sejam indexa-
dos por números naturais;
• uma sintaxe – determina como podemos combinar sím-
bolos em estruturas complexas;
• um mecanismo de inferência – determina como pode-
mos, a partir de estruturas de símbolos preexistentes,
fazer certas estruturas surgirem, serem alteradas ou de-
saparecerem.

Claretiano - Centro Universitário


118 © Inteligência Artificial

O cálculo lógico relaciona-se com um modelo ou uma classe


de modelos por meio de um mapeamento denominado interpre-
tação. Essa interpretação associa a cada elemento do alfabeto um
elemento do modelo; a cada estrutura de símbolos uma estrutura
de componentes simbólicos do modelo; e a cada operação do me-
canismo de inferência um evento caracterizado no modelo.
Uma interpretação é considerada correta se:
• a cada elemento do alfabeto corresponder um único ele-
mento do modelo;
• a cada estrutura de símbolos do alfabeto corresponder
uma única estrutura de componentes simbólicos do mo-
delo;
• a cada operação do mecanismo de inferência correspon-
der um único tipo de eventos do modelo.
E uma interpretação é considerada completa se a recíproca
também for verdadeira, tal como:
• a cada elemento do modelo corresponder um único ele-
mento do alfabeto;
• a cada estrutura de componentes simbólicos do modelo
corresponder uma única estrutura de símbolos do alfa-
beto;
• a cada evento do modelo corresponder uma única opera-
ção do mecanismo de inferência.
Dessa forma, um cálculo lógico é adequado para um agente in-
teligente interagir com um determinado problema se ele admitir uma
interpretação correta e completa do modelo simplificado de compo-
nentes simbólicos adotado para caracterizar o problema. Esse cálculo
lógico é considerado eficiente se, além de adequado, admitir também
a programação eficiente de seu mecanismo de inferência.
Alguns cálculos lógicos, com o passar do tempo, se mostra-
ram mais versáteis e facilmente aplicáveis que outros. Eles foram
consagrados como ferramentas de uso corrente para a construção
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 119

de representações operacionais de problemas e seus mecanismos


de resolução. Os conteúdos apresentados nos tópicos seguintes
serão dedicados ao estudo de dois desses cálculos lógicos "consa-
grados" – a Lógica Proposicional e a Lógica de Predicados de Pri-
meira Ordem.
A seguir, construiremos um cálculo lógico bem mais simples,
com o intuito de ilustrar como essa construção ocorre e que tipo
de ferramenta formal resulta da elaboração de um cálculo lógico.
Para tanto, vamos considerar os três livros que compõem a conhe-
cida trilogia d'O Senhor dos Anéis, de autoria de J. R. R. Tolkien: A
Sociedade do Anel, As Duas Torres e O Retorno do Rei. Em nosso
modelo simplificado, a única forma de manipulação possível com
esses livros é empilhá-los em cima de uma mesa, ou seja, em nos-
so modelo simplificado existe uma única pilha de livros, compos-
ta exclusivamente por essas três obras, ou por duas delas, ou por
apenas uma, ou então uma "pilha vazia".
Para tornar nosso texto um pouco mais conciso, abreviare-
mos os nomes dos livros como AS (A Sociedade do Anel), DT (As
Duas Torres) e RR (O Retorno do Rei). A pilha [AS,DT] , por exem-
plo, indica o livro A Sociedade do Anel, acima do qual está coloca-
do o livro As Duas Torres.
Em nossa visão simplificada de mundo, caracterizada no
modelo, os livros podem ser empilhados e desempilhados um a
um, sempre do topo, ou seja, a partir da pilha anterior podem, por
exemplo, ser construídas a pilha [AS,DT,RR] ou a pilha [AS] .
Utilizaremos a notação matemática |= para representar a
possibilidade de construção de uma pilha a partir de outra. As-
sim, as duas construções de pilhas anteriores são denotadas como
[AS,DT] |= [AS,DT,RR] e [AS,DT] |= [AS] .

Vamos agora construir um cálculo lógico para representar


esses livros empilhados. O alfabeto de nosso cálculo é composto
pelos símbolos a, b, c e &. A sintaxe de nosso cálculo é definida da
forma a seguir:

Claretiano - Centro Universitário


120 © Inteligência Artificial

• X é uma fórmula, se X for igual a a, b ou c.


• Se M e N forem fórmulas, então M & N também será uma
fórmula.
O mecanismo de inferência de nosso cálculo é definido por
duas regras, que permitem construir uma nova fórmula a partir de
uma já preexistente:
• Se M é uma fórmula e X é igual a a, b ou c, então, pode-se
construir a fórmula M & X.
• Se M é uma fórmula da forma N & X, em que X é igual a a,
b ou c, então, pode-se construir a fórmula N.
Utilizaremos a notação matemática |− para representar a
aplicação dessas regras. Observe como elas podem ser escritas:
M |− M & X e N & X |− N .

Uma possível interpretação dos símbolos desse cálculo as-


socia ao símbolo a o livro AS, ao símbolo b o livro DT, ao símbolo c
o livro RR e a fórmulas mais extensas contendo o símbolo & para
pilhas que tenham mais de um livro. Finalmente, o cálculo associa
às regras de inferência as operações físicas de empilhar e desem-
pilhar um livro.
O nosso cálculo lógico é considerado correto se a uma infe-
rência sempre corresponder uma ação sobre a pilha de livros. O
cálculo será completo se a uma ação sobre os livros sempre cor-
responder uma inferência. Naturalmente, tanto as construções de
novas pilhas a partir de pilhas previamente existentes como as in-
ferências lógicas podem ser encadeadas. Assim, a partir da pilha
[AS] , pode-se construir a pilha [AS,DT,RR] por duas aplicações su-

cessivas da sua construção, e, similarmente, a partir da fórmula a


pode-se construir a fórmula a & b & c pelas aplicações duas vezes
seguidas de uma das regras de inferência.
A construção de cálculos lógicos, entretanto, pode ser mais
complicada do que o exemplo anterior sugere. Mesmo esse exem-
plo simples pode nos reservar algumas surpresas e dificuldades.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 121

Observe, por exemplo, que a sintaxe e as regras de inferência


anteriores não excluem a possibilidade de repetição de um mesmo
livro na pilha. A partir da fórmula a, podemos inferir a fórmula a & a.
Assim, se tivermos em mãos exatamente um exemplar de cada uma
dessas obras literárias, o cálculo lógico que construímos não é uma
representação adequada do que pode ocorrer no mundo físico.
Desse modo, a representação que construímos é mais ade-
quada para a caracterização do que ocorre, por exemplo, quando
um funcionário organiza uma pilha de livros para exposição em
uma livraria. Se pudermos admitir a hipótese que existe um esto-
que infinito de exemplares de cada um desses livros, o funcioná-
rio pode montar uma pilha de exibição de produtos organizando
exemplares dessas três obras das mais diversas maneiras. O cálcu-
lo lógico permite então deduzir, a partir de uma pilha, quais outras
pilhas poderão ser construídas.
Em nosso cálculo lógico, também não é possível escrever
uma fórmula que não contenha, ao menos, um dos símbolos cor-
respondentes aos três livros encontrados no mundo físico, ou seja,
esse cálculo não admite a "pilha vazia". Nesse caso, precisamos
decidir dentre duas alternativas:
• modificar o cálculo lógico e acrescentar ao alfabeto mais
um símbolo para representar a lista vazia, alterando, tam-
bém, a sintaxe e o mecanismo de inferência desse cálculo
para acomodar o novo símbolo;
• modificar o modelo simplificado da realidade, excluindo,
assim, a possibilidade de termos uma “pilha vazia”.
Dependendo do caso, uma das duas alternativas pode se
mostrar mais adequada. Um cálculo lógico mais complexo pode
implicar em dificuldades formais e matemáticas para se conseguir
uma representação computacional eficiente. Um modelo dema-
siadamente simplificado, em contrapartida, pode ser insuficiente-
mente expressivo para capturar todos os aspectos relevantes de
um problema a ser resolvido.

Claretiano - Centro Universitário


122 © Inteligência Artificial

A principal vantagem de se manipular computacionalmen-


te um cálculo lógico, em vez de um modelo simplificado de um
problema, está na capacidade de abstração decorrente do uso dos
cálculos lógicos.
Observe outro exemplo: em vez de uma livraria exibindo as
obras de Tolkien, pensemos em uma loja de roupas em que um
funcionário precisa empilhar calças de acordo com três cores dis-
poníveis para venda. Exatamente o mesmo cálculo lógico pode ser
aplicado para representar e resolver esse problema. Veja que o
cálculo lógico construído anteriormente é uma abstração matema-
ticamente operacional de uma enorme classe de problemas, que
envolve o empilhamento e o desempilhamento de objetos de três
espécies distintas, disponíveis em grandes quantidades.

7. LÓGICA PROPOSICIONAL
No tópico anterior, introduzimos as técnicas de representa-
ção e resolução de problemas baseadas em lógicas formais.
Neste item, estudaremos uma lógica específica, a Lógica Pro-
posicional, a qual permite um tratamento matemático e computa-
cional relativamente eficiente, embora comparada a outras lógicas
mais sofisticadas seja pouco expressiva. Isso implica que certos
problemas não possam ser representados e resolvidos utilizando
essa lógica.
A Lógica Proposicional Clássica é um cálculo lógico específi-
co, que apresenta poder expressivo e propriedades matemáticas e
computacionais interessantes para a utilização na representação
do conhecimento na Inteligência Artificial.
Embora essa lógica se mostre, em determinadas situações,
insuficientemente expressiva para descrever certos problemas
com um nível de detalhamento apropriado, em muitos casos prá-
ticos, ela é considerada suficiente.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 123

Nesses casos, a utilização da Lógica Proposicional permite


garantir que a solução computacional do problema possa ser cons-
truída e que seja assegurado certo grau de eficiência em alguns
casos particulares.

Organização da Lógica Proposicional


Veja como a Lógica Proposicional é organizada:
• O alfabeto da Lógica Proposicional pode ser caracteriza-
do de diferentes maneiras, algumas mais "econômicas",
evitando incluir símbolos que sejam, por assim dizer, re-
dundantes, e outras um pouco mais "permissivas", dando
preferência à clareza em vez de minimizar a quantidade
de símbolos distintos utilizados. Em nosso estudo, adota-
remos um alfabeto ligeiramente "permissivo", preferindo
a clareza em vez da economia. Nesse caso, a formulação
do alfabeto proposicional contém um conjunto P = {p1,
p2,...} de símbolos básicos, ou atômicos, podendo ser fini-
to ou infinito. Em muitos problemas práticos, considera-
mos um conjunto P finito. Essa formulação contém, tam-
bém, um conjunto de conectivos, os quais nos permitirão
construir sentenças sintaticamente bem formadas, às
quais associaremos interpretações adequadas. O conjun-
to de conectivos que adotaremos é o conjunto C = {V, &,
→, ┐}. Intuitivamente, esses conectivos indicarão respec-
tivamente os conceitos de disjunção (“ou”), conjunção
(“e”), implicação e negação.
• A sintaxe da Lógica Proposicional determina que os co-
nectivos de disjunção, conjunção e implicação sejam ope-
radores binários infixos e que o conectivo de negação seja
um operador unário prefixo, ou seja, as estruturas aceitas
como sentenças bem formadas na Lógica Proposicional
são as seguintes:

Claretiano - Centro Universitário


124 © Inteligência Artificial

a) Qualquer elemento isolado pi de P é uma sentença


bem formada.
b) Se φ e ψ são duas sentenças bem formadas, então
(φ V ψ), (φ & ψ), (φ → ψ) e ┐φ também o são. Os
parênteses são incluídos para facilitar a legibilidade
dessas sentenças e para indicar de forma não ambí-
gua a precedência das aplicações dos conectivos.
• O mecanismo de inferência da Lógica Proposicional pode
ser apresentado de diferentes maneiras. Apresentare-
mos, neste material, a maneira conhecida como hilbertia-
na, em homenagem ao matemático alemão David Hilbert
(1862-1943). Nesse mecanismo de inferência, separamos
algumas sentenças bem formadas, denominadas “axio-
mas”, e acrescentamos a elas uma regra de inferência,
capaz de construir novas sentenças de uma forma bem
controlada.
Os axiomas subdividem-se em duas classes, denominados
axiomas básicos e axiomas próprios.
Os axiomas próprios são sentenças arbitrárias, assumidas
como parte de um sistema lógico para caracterizar peculiaridades
de um problema específico a ser representado. Eles serão detalha-
dos e o seu papel deverá ficar mais claro quando considerarmos as
interpretações das sentenças na Lógica Proposicional.
Os axiomas básicos servem, intuitivamente, para caracteri-
zar as propriedades que queremos que sejam válidas a respeito
dos conectivos da Lógica Proposicional.
Observe, a seguir, os axiomas básicos:
a) φ → (ψ → φ)
b) (φ → (ψ → ξ)) → ((φ → ψ) → (φ → ξ))
c) φ → (ψ → (φ & ψ))
d) (φ & ψ) → φ
e) (φ & ψ) → ψ
f) φ → (ψ V φ)
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 125

g) ψ → ( ψ V φ)
h) (ψ → φ) → ((ξ → φ) → ((ψ V ξ) → φ))
i) (ψ → φ) → ((ψ → ┐φ) → ┐ψ)
j) ┐┐φ → φ
Vale ressaltar que os axiomas básicos se aplicam a sentenças
bem formadas genéricas, ou seja, cada um deles na verdade carac-
teriza não apenas um único axioma, mas toda uma classe – todas
as sentenças bem formadas que obedeçam ao padrão definido
para aquela classe.
A regra de inferência do sistema lógico hilbertiano determi-
na que, se tivermos uma sentença da forma (φ → ψ) e uma sen-
tença da forma φ, poderemos construir a sentença da forma ψ. Ou
seja, a regra de inferência cria novas sentenças lógicas a partir das
previamente existentes. Se as sentenças utilizadas como “matéria-
prima” na regra de inferência forem sentenças bem formadas, en-
tão a sentença resultante da aplicação da regra de inferência tam-
bém será bem formada. Adicionalmente, conforme veremos mais
adiante, uma regra de inferência bem definida deve preservar a
veracidade das sentenças, ou seja, se a sua "matéria-prima" for
composta por sentenças verdadeiras, a sentença criada pela regra
de inferência também deve ser verdadeira.
Esse cálculo lógico é correto e completo com relação a inter-
pretações que classificam as sentenças bem formadas da Lógica
Proposicional como verdadeiras ou falsas, desde que essas inter-
pretações satisfaçam algumas propriedades essenciais. As proprie-
dades que precisam ser satisfeitas são:
• Todas as sentenças precisam ser inequivocamente classi-
ficadas como verdadeiras (V) ou falsas (F), de maneira que
qualquer uma delas bem formada é rotulada com exata-
mente um dos rótulos dentre V ou F. Nenhuma sentença
recebe dois rótulos, e nenhuma fica sem rótulo nenhum.
• Os axiomas – tanto os próprios como os básicos – são
classificados como verdadeiros (V).

Claretiano - Centro Universitário


126 © Inteligência Artificial

• O rótulo de uma sentença complexa, que contém um ou


mais conectivos, determina os rótulos das sentenças que
a compõem, da seguinte forma:
a) Se (φ & ψ) é V, então necessariamente φ é V e ψ é V. Se
(φ & ψ) é F, então pelo menos um dentre φ e ψ é F.
b) Se (φ V ψ) é F, então necessariamente φ é F e ψ é F. Se
(φ V ψ) é V, então pelo menos um dentre φ e ψ é V.
c) Se (φ → ψ) é F, então necessariamente φ é V e ψ é F.
Se (φ → ψ) é V, então ou φ é F ou então tanto φ como
ψ são V.
d) Se ┐φ é F (respectivamente, V), então necessaria-
mente φ é V (respectivamente, F).
Ao analisarmos as propriedades anteriores, é possível obser-
var que a regra de inferência preserva a verdade, de maneira que
se tivermos uma sentença da forma (φ → ψ) rotulada como V, e
uma sentença da forma φ rotulada também como V, a sentença
construída pela regra de inferência, que terá a forma ψ, necessa-
riamente também será rotulada como V.
Com esse mecanismo de inferência, portanto, podemos re-
solver – inclusive computacionalmente – problemas práticos de
diversas naturezas. A resolução de problemas por meio da Lógica
Proposicional e das inferências lógicas é considerada uma técni-
ca da Inteligência Artificial, pois as sentenças geradas utilizando o
mecanismo de inferência assemelham-se a um processo de dedu-
ção, tendo como base as evidências efetuadas por um ser humano
no processo de resolução de um problema por meio do raciocínio
dedutivo.
Esse tipo de raciocínio é útil, por exemplo, para efetuar o
diagnóstico de falhas de um equipamento.

Exemplo
Um mecânico está com um automóvel que não dá a partida,
e em um determinado momento elimina todas as possibilidades
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 127

para o defeito, exceto duas: falta de combustível ou problema elé-


trico. Para tornar nossa notação um pouco mais sintética, repre-
sentaremos essas proposições como elementos do conjunto P da
seguinte forma:
• p1 = "automóvel dá a partida"
• p2 = "combustível OK"
• p3 = "parte elétrica OK"
O automóvel não está dando a partida, portanto, temos ┐p1.
O mecânico já eliminou todas as possibilidades exceto p2 e p3. Isso
pode ser expresso de diversas maneiras; algumas podem gerar
resultados mais simples de serem demonstrados e outras podem
gerar resultados mais complexos. Consideremos, por exemplo, um
raciocínio por eliminação sucessiva de hipóteses. Nosso mecânico,
portanto, resolve inicialmente testar se o combustível está OK. Se
o automóvel não der a partida e se, nesse caso, o combustível esti-
ver OK, só restará a possibilidade de a parte elétrica não estar OK.
Ou seja, temos ┐p1 → (p2 → ┐p3).
Suponhamos que o mecânico verifique também o nível de
combustível e chegue à conclusão de que está OK, ou seja, o mecâ-
nico acrescenta ao conjunto de axiomas o axioma próprio p2. Des-
sa forma, temos como axiomas próprios os seguintes três axiomas:
(1) ┐p1 → (p2 → ┐p3); (2) ┐p1; (3) p2.
Utilizando a regra de inferência e os axiomas (1) e (2), con-
seguimos construir a sentença p2 → ┐p3; utilizando a regra de
inferência novamente, agora com a sentença que acabamos de
construir e o axioma (3), conseguimos construir a sentença ┐p3.
Chegamos à conclusão de que a parte elétrica não está OK.
Evidentemente, esse exemplo simplificado apenas ilustra o
funcionamento operacional da Lógica Proposicional, e não tem
utilidade prática. Entretanto, se em uma situação real um enge-
nheiro construir um conjunto de sentenças que caracterizem seu
conhecimento a respeito do comportamento de um dispositivo

Claretiano - Centro Universitário


128 © Inteligência Artificial

complexo, na forma de axiomas próprios, e coletar um conjunto de


observações e evidências, que poderão ser fornecidas para uma
teoria lógica como axiomas próprios complementares, a teoria po-
derá ser utilizada para deduzir logicamente o motivo de um com-
portamento específico (ou falha) do dispositivo.
A Lógica Proposicional, quando o conjunto P é finito, tam-
bém pode ser analisada de outra maneira. Como o mecanismo de
inferência construído anteriormente é correto e completo com
relação a interpretações que apresentem as propriedades men-
cionadas anteriormente, o resultado das inferências lógicas deve
coincidir com o de uma análise dos rótulos possíveis de se associar
às sentenças da lógica.
No exemplo anterior, temos que o rótulo de ┐p1 é V. O rótulo
de ┐p1 → (p2 → ┐p3) também é V. Portanto, necessariamente o ró-
tulo de (p2 → ┐p3) é V. Como o rótulo de p2 também, por definição,
é V, o rótulo de ┐p3 é V. Consequentemente, o rótulo de p3 é F, ou
seja, é falso afirmar que a parte elétrica do automóvel está OK.
Esse exemplo foi cuidadosamente selecionado para que tan-
to a demonstração quanto a verificação por meio dos rótulos de
interpretação fossem relativamente simples e sintéticas. Existem
situações aparentemente bastante similares, que podem, entre-
tanto, ser bem mais trabalhosas.
É o que ocorreria, por exemplo, se em vez do axioma pró-
prio (3) anterior, o mecânico utilizasse o axioma (3') ┐p1 → (┐p2
V ┐p3). Nesse caso, a inferência lógica seria mais extensa e com-
plexa, tornando-se, inclusive, demasiadamente extensa para ser
apresentada neste texto. A verificação dos rótulos na interpreta-
ção, nesse caso específico, teria complexidade equivalente à do
caso anterior.
Podemos construir exemplos que se comportem de maneira
inversa, ou seja, que apresentem inferências lógicas relativamente
breves, mas que, para analisar considerando os rótulos das inter-
pretações, exijam a consideração de uma grande quantidade de
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 129

hipóteses e rotulações alternativas, até chegar à rotulação que sa-


tisfaça a todas as condições requeridas para todas as sentenças e
axiomas.
A capacidade da Lógica Proposicional para resolver proble-
mas de maneira computacionalmente eficiente precisa levar em
consideração todos os exemplos possíveis. Uma maneira de se fa-
zer isso é considerar o que ocorre na pior situação possível, ou
seja, analisar o pior caso.
Ao analisá-lo, é necessário considerar aquela situação em
que, computacionalmente, a solução do problema será a última a
ser gerada. Em uma busca exaustiva, essa análise implica construir
todo o espaço de estados antes de atingir o estado final procurado.
Em um sistema lógico, a análise de pior caso implica testar todas as
alternativas possíveis antes de se conseguir resolver o problema.
Portanto, a análise do pior caso para a Lógica Proposicional
indica que a dificuldade de se resolver um problema – utilizando
um mecanismo de inferência ou verificando os rótulos de uma in-
terpretação – é proporcional à quantidade de elementos de P que
ocorrem nas sentenças utilizadas para solucioná-lo. Uma análise
mais cuidadosa indica que essa proporcionalidade é de natureza
exponencial.
Mais especificamente, se a quantidade de elementos de P
necessária para caracterizar um problema a ser resolvido for N1,
então, no pior caso, o custo computacional para solucioná-lo será
caracterizado por uma função f(N1). Se a quantidade de elementos
de P para caracterizar um segundo problema a ser resolvido for N2,
no pior caso, o custo computacional para resolvê-lo será caracteri-
zado por uma função f(N2). Se N2 ≥ N1; então, a diferença entre os
custos computacionais no pior caso será ≥ 2(N2-N1).

Claretiano - Centro Universitário


130 © Inteligência Artificial

8. LÓGICA DE PRIMEIRA ORDEM


No tópico anterior, você teve a oportunidade de compreender
que a Lógica Proposicional é um cálculo lógico útil para a represen-
tação e solução de problemas em Inteligência Artificial. Ela permi-
te representar de forma precisa e rigorosa relacionamentos entre
proposições – o que justifica seu nome – bem como uma forma de
raciocínio dedutivo baseado em inferências lógicas, que pode inclu-
sive ser automatizada na forma de programas de computador.
Neste item, será apresentada uma extensão da Lógica Pro-
posicional: a Lógica de Primeira Ordem. Essa extensão torna a lin-
guagem lógica mais expressiva, possibilitando que problemas mais
complexos possam ser resolvidos formalmente. Entretanto, ela
torna a linguagem também mais complexa, exigindo cuidados e
estudos adicionais para o seu entendimento e uso.

Proposições versus predicados


Os relacionamentos entre proposições na Lógica Proposicio-
nal são caracterizados com base em seus conectivos, e as inter-re-
lações entre eles são caracterizadas pelos axiomas e pela regra de
inferência do sistema de inferências. Essa lógica é correta e com-
pleta com relação a interpretações das sentenças bem formadas
construídas segundo a sua sintaxe, desde que elas – que classifi-
cam as sentenças como verdadeiras ou falsas – atendam a certos
requisitos formais essenciais.
Em alguns casos, entretanto, a Lógica Proposicional pode
não ser suficientemente expressiva para caracterizar um proble-
ma com o nível de detalhamento apropriado. Nesse caso, é preciso
modificar ou estendê-la, para produzir um cálculo lógico adequa-
do à expressividade desejada.
Diversas extensões podem ser construídas, produzindo dife-
rentes linguagens lógicas que atendem diferentes necessidades de
expressividade e capacidade de representar e resolver problemas.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 131

Para obter a expressividade desejada, contamos com uma


extensão da Lógica Proposicional que se mostra particularmente
útil e que é denominada Lógica de Predicados de Primeira Ordem
ou, simplesmente, “Lógica de Primeira Ordem”, que estudaremos
nesta unidade. Na Lógica Proposicional, as sentenças servem para
relacionar os símbolos básicos por meio dos conectivos. Cada sím-
bolo, por sua vez, pode ser absolutamente falso ou absolutamen-
te verdadeiro, e, conforme visto na unidade anterior, a interpre-
tação dos símbolos básicos determina a interpretação de todas as
sentenças da lógica.
Em muitas circunstâncias, os símbolos básicos podem, entre-
tanto, ter sua interpretação dependente de algum fator adicional.
A sua rotulação como verdadeiro ou falso deixa de ser absoluta e
passa, nesse caso, a ser dependente desse fator adicional. Em ou-
tras palavras, o símbolo básico é verdadeiro ou falso dependendo
do fator adicional a que ele se refere.
Quando eles deixam de ter sua interpretação determinada
de forma absoluta e passam a se referir a fatores externos, são
chamados de predicados, pois indicam qualidades que são verda-
deiras ou falsas quando aplicadas a esse ou àquele fator externo.

Exemplo
Consideremos um time de futebol composto por 11 jogadores
titulares e quatro reservas, totalizando 15 jogadores no time. Para
simplificar, não nomearemos os jogadores, identificaremos cada
um pelo número da camisa que usam. Assim, teremos os jogadores
1, 2,... 15. O técnico desse time pode querer construir um sistema
baseado em Inteligência Artificial – um agente inteligente – que o
auxilie na escalação. Ele pode, por exemplo, iniciar com a Lógica Pro-
posicional e construir regras na forma de sentenças lógicas.
Uma dessas regras pode determinar que se o jogador 1 esti-
ver com boas condições físicas, ele poderá jogar, ou seja, b1 → j1.
Da mesma forma, o técnico pode utilizar esse mesmo critério para
o jogador 2, produzindo a regra b2 → j2.

Claretiano - Centro Universitário


132 © Inteligência Artificial

Evidentemente, um sistema realista contaria com regras


bem mais complexas do que as consideradas nesse exemplo. As
regras utilizadas aqui têm caráter ilustrativo, apenas para apre-
sentar os recursos adicionais que a Lógica de Primeira Ordem nos
possibilitará diante da Lógica Proposicional. Entretanto, deve ser
observado que um sistema de regras dessa natureza, com regras
mais sofisticadas, poderia, de fato, ser construído para servir de
ferramenta de apoio a técnicos esportivos.
Se o técnico não quiser tratar seus jogadores arbitrariamente,
ele poderá construir uma regra genérica, indicando que "quem esti-
ver com boas condições físicas, independentemente de quem seja,
poderá jogar”, ou seja, bi → ji, independentemente do valor de i.
Se considerarmos como símbolos básicos os pares de letras
e números b1, b2,..., b15, j1, j2,..., j15, não conseguiremos gene-
ralizar as condições “está com boas condições físicas" e "pode jo-
gar". Para generalizarmos essas condições, precisamos considerar
como símbolos básicos apenas os elementos qualificadores – os
predicados – que, nesse exemplo, são representados pelas letras
"b" e "j".
As sentenças contendo conectivos, portanto, passam a ca-
racterizar relacionamentos entre propriedades genéricas, em vez
de relacionamentos entre proposições específicas. Elas podem ser
particularizadas para elementos específicos – um jogador especí-
fico – ou tratar daqueles em geral cabíveis para o problema re-
presentado – um jogador arbitrário que esteja ou não com boas
condições físicas, poderá ou não jogar etc.

Lógica de Predicados de Primeira Ordem


A Lógica de Predicados de Primeira Ordem, assim como
qualquer cálculo lógico, é caracterizada por um alfabeto, uma sin-
taxe e um mecanismo de inferência. Ela é útil porque é correta
e completa com relação a uma classe de interpretações grande e
expressiva.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 133

Organização da Lógica de Predicados de Primeira Ordem


Alfabeto da Lógica de Predicados de Primeira Ordem
O alfabeto da Lógica de Predicados de Primeira Ordem é
composto pelos seguintes símbolos:
1) Um conjunto P = {p1, p2,...} de predicados – cada pre-
dicado se refere a uma lista de termos de comprimen-
to específico. Por exemplo, os predicados do exemplo
anterior referem-se, cada um deles, a um jogador por
vez. Um predicado cuja interpretação intuitiva fosse "é
esposa de", em contrapartida, seria aplicado aos pares
de pessoas. Frequentemente, consideramos conjuntos
finitos de predicados.
2) Um conjunto U = {c1, c2,...} de constantes – intuitiva-
mente, as constantes caracterizarão os fatores externos,
ou seja, os índices aos quais os predicados se referem. O
conjunto U é denominado domínio de aplicação da lógi-
ca. Frequentemente, em situações práticas, esse conjun-
to também é considerado finito.
3) Um conjunto F = {f1, f2,...} de funções – intuitivamente,
as funções fazem o papel de "apelidos" para elementos
do domínio de aplicação U: se, por exemplo, não sou-
béssemos o nome de um jogador, mas soubéssemos os
nomes de seus pais, poderíamos identificá-lo por uma
função com dois argumentos. Se o pai do jogador 5 ti-
vesse o nome de "João" e sua mãe o nome de "Maria",
poderíamos nos referir ao jogador 5 pelo número de sua
camisa ou então utilizando uma função "filho de", que
poderia ser representada como f(João, Maria).
4) Um conjunto V = {x1, x2,...} de variáveis, utilizadas para
construir sentenças genéricas. O uso das variáveis ficará
mais claro quando apresentarmos a sintaxe para a Lógi-
ca de Predicados de Primeira Ordem.
5) Um conjunto C = {V, &, →, ┐} de conectivos, idêntico ao
conjunto de conectivos da Lógica Proposicional.

Claretiano - Centro Universitário


134 © Inteligência Artificial

6) Um conjunto Q = { ∀ , ∃ } de quantificadores, denomina-


dos respectivamente “para todos” e “existe pelo menos
um", cujo uso também ficará mais claro quando apre-
sentarmos a sintaxe para a Lógica de Predicados de Pri-
meira Ordem.
Sintaxe da Lógica de Predicados de Primeira Ordem
A sintaxe da Lógica de Predicados de Primeira Ordem precisa
ser construída em três etapas. Primeiramente, temos de definir
o conceito de termos. Intuitivamente, um termo é uma forma de
nos referirmos a um elemento do domínio de aplicação. Há três
maneiras de nos referirmos a um indivíduo do domínio de aplica-
ção.
• a primeira maneira é nos referirmos de forma direta e
inequívoca a esse indivíduo, pelo seu nome;
• a segunda maneira é nos referirmos a um indivíduo do
domínio de aplicação indiretamente, utilizando de uma
ou mais funções para "chegar" a um determinado indiví-
duo a partir de seus, por assim dizer, "parentes";
• a terceira maneira ocorre quando queremos nos referir a
um único indivíduo, mas não nos importa quem ele exata-
mente seja, o que ocorre, por exemplo, quando estamos
construindo uma sentença genérica.
Em linhas gerais e intuitivamente, para a primeira maneira
utilizamos elementos de U. Para a segunda, utilizamos uma com-
binação adequada de elementos de U e F e, para a terceira, utiliza-
mos elementos de V. Formalmente e de maneira geral, definimos
os termos da seguinte forma: um termo é qualquer objeto sintáti-
co construído segundo as regras a seguir:
• Um elemento isolado de U é um termo.
• Um elemento isolado de V é um termo.
• Se a função f é um elemento de F e é uma função n-ária,
ou seja, é uma função de n argumentos, e se t1, t2,..., tn
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 135

são termos sintaticamente bem construídos, então a fun-


ção f aplicada aos termos t1, t2,..., tn também é um termo,
ou seja, f(t1, t2,..., tn) é um termo.
Após compreender o conceito de termos, iremos utilizá-lo
para definir o conceito de fórmulas, que constitui a segunda eta-
pa na construção da sintaxe da Lógica de Predicados de Primeira
Ordem. Uma fórmula é um objeto sintático construído segundo as
regras a seguir:
• Se p é um elemento de P, ou seja, é um predicado n-ário,
e se t1, t2,..., tn são termos sintaticamente bem construí-
dos, então o predicado p relativo aos termos t1, t2,..., tn é
uma fórmula, ou seja, p(t1, t2,..., tn) é uma fórmula.
• Se φ e ψ são duas fórmulas, então (φ V ψ), (φ & ψ), (φ →
ψ) e ┐φ também o são. Os parênteses são incluídos para
facilitar a legibilidade das fórmulas e para indicar a prece-
dência das aplicações dos conectivos.
• Se φ é uma fórmula e x é um elemento de V, então ∀ x φ
e ∃ x φ também são fórmulas. Essas fórmulas são chama-
das “generalizações” de φ, pois intuitivamente afirmam o
mesmo que a fórmula φ já afirmava, acrescentando àque-
la afirmação a generalização “para todos os valores de x”
ou “para pelo menos um valor de x”, respectivamente. A
variável x, nesse caso, é denominada variável ligada ao
quantificador.
Finalmente, utilizando o conceito de fórmulas, definiremos
o conceito de sentenças, que constitui a terceira etapa na cons-
trução da sintaxe da Lógica de Predicados de Primeira Ordem. As
sentenças são simplesmente um caso particular das fórmulas, no
qual todas as variáveis que ocorrem na fórmula estão ligadas a al-
gum quantificador.

Claretiano - Centro Universitário


136 © Inteligência Artificial

Mecanismo de inferência
O mecanismo de inferência da Lógica de Predicados de Pri-
meira Ordem apresentado nesta unidade é similar ao mecanismo
de inferência apresentado para a Lógica Proposicional na unidade
anterior.
Ele é composto por um conjunto de axiomas básicos que in-
duzem ao comportamento esperado para os conectivos e quantifi-
cadores – garantindo, assim, a sua coerência com as interpretações
formais propostas a seguir – e um conjunto de axiomas próprios
que caracterizam propriedades específicas de um problema que
esteja sendo resolvido. A esses dois conjuntos de axiomas, são
acrescentadas três regras de inferência, que permitem construir
novas sentenças a partir de sentenças anteriores.
Os axiomas básicos da Lógica de Predicados de Primeira Or-
dem são os seguintes:
a) φ → (ψ → φ)
b) (φ → (ψ → ξ)) → ((φ → ψ) → (φ → ξ))
c) φ → (ψ → (φ & ψ))
d) (φ & ψ) → φ
e) (φ & ψ) → ψ
f) φ → (ψ V φ)
g) ψ → (ψ V φ)
h) (ψ → φ) → ((ξ → φ) → ((ψ V ξ) → φ))
i) (ψ → φ) → ((ψ → ┐φ) → ┐ψ)
j) ┐┐φ → φ
k) ∀ x φ → φ (x/t), em que φ (x/t) indica a fórmula obtida
a partir da fórmula φ, substituindo cada ocorrência da
variável x em φ pelo termo t. Para que essa substituição
ocorra, exige-se ainda que x não esteja ligada a nenhum
quantificador em φ, e que x não ocorra no termo t.
l) φ (x/t) → ∃ x φ, em que φ (x/t) indica uma fórmula ob-
tida como no axioma anterior, no qual a variável x e o
termo t atendam as mesmas condições que no axioma
anterior.
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 137

Há três regras de inferência, e elas se aplicam tanto a fórmu-


las quanto a sentenças. Observe a seguir:
• Se tivermos uma fórmula da forma (φ → ψ) e uma fórmu-
la da forma φ, poderemos construir a fórmula da forma
ψ.
• Se tivermos uma fórmula da forma (φ → ψ), poderemos
“generalizar” o lado direito da fórmula e construir a fór-
mula da forma (φ → ∀ x ψ).
• Se tivermos uma fórmula da forma (φ → ψ), poderemos
tornar “menos específico” o lado esquerdo da fórmula e
construir a fórmula da forma ( ∃ x φ → ψ).
Assim como na Lógica Proposicional, nosso interesse é cons-
truir interpretações que classifiquem as sentenças como verdadei-
ras ou falsas. Temos especial interesse em interpretações que sejam
intuitivamente razoáveis, para podermos utilizá-las na modelagem e
resolução de problemas práticos, e também em interpretações com
relação às quais o mecanismo de inferência delineado anteriormen-
te seja correto e completo, pois, dessa forma, iremos utilizá-lo para
raciocinar a respeito de problemas práticos, e traduziremos o meca-
nismo de inferência como um programa de computador, automati-
zando a resolução desses problemas práticos.
Dessa forma, devemos considerar que as interpretações são
construídas com base em um universo de discurso U’ = {c’1, c’2,...} e
em um conjunto de funções nesse universo de discurso F’ = {f’i: U’n
→ U’; n = 1,...,N}. Uma interpretação associa a cada elemento de U
um elemento de U’, e a cada elemento de F uma função de F’; tam-
bém associa a cada elemento p de P um subconjunto construído
de forma adequada com elementos de U’: se p for um predicado
n-ário, o subconjunto apropriado será um subconjunto de n-tuplas
de elementos de U’, ou seja, um subconjunto de U’n.
A cada interpretação, temos, portanto, um conjunto associa-
do de valorações: uma valoração associa a cada variável perten-
cente a V um elemento de U’.

Claretiano - Centro Universitário


138 © Inteligência Artificial

Uma fórmula da forma p(t1, t2,..., tn) será verdadeira para


uma dada interpretação e valoração, se os elementos de U’ corres-
pondentes às interpretações dos termos t1, t2,..., tn pertencerem
todos ao subconjunto de U’n correspondente à interpretação de
p. Uma fórmula da forma p(t1, t2,..., tn) será verdadeira para uma
dada interpretação, independentemente de valoração, se ela for
rotulada como verdadeira com qualquer valoração e aquela dada
interpretação. Finalmente, uma fórmula da forma p(t1, t2,..., tn)
será verdadeira se ela for rotulada como verdadeira com qualquer
interpretação e valoração.
De maneira similar, uma fórmula da forma p(t1, t2,..., tn) será
falsa para uma dada interpretação e valoração, se pelo menos um
dos elementos de U’ correspondentes às interpretações dos ter-
mos t1, t2,..., tn não pertencer ao subconjunto de U’n correspon-
dente à interpretação de p. Uma fórmula da forma p(t1, t2,..., tn)
será falsa para uma dada interpretação, independentemente de
valoração, se ela for rotulada como falsa com qualquer valoração
e aquela dada interpretação. Finalmente, uma fórmula da forma
p(t1, t2,..., tn) será falsa se ela for rotulada como falsa com qualquer
interpretação e valoração.
As fórmulas mais longas que as consideradas anteriormente
têm suas interpretações definidas da seguinte maneira:
1) φ → ψ é verdadeira para uma dada interpretação e va-
loração se φ e ψ forem verdadeiras, ou então se φ for
falsa; caso contrário, φ → ψ é falsa.
2) φ & ψ é verdadeira para uma dada interpretação e va-
loração se tanto φ como ψ forem verdadeiras; caso con-
trário, φ & ψ é falsa.
3) φ V ψ é falsa para uma dada interpretação e valoração
se tanto φ como ψ forem falsas; caso contrário, φ V ψ é
verdadeira.
4) ┐φ é falsa para uma dada interpretação e valoração se φ
for verdadeira e vice-versa.
5) ∀ x φ é verdadeira para uma dada interpretação e va-
loração se φ (x/t) for verdadeira, considerando a subs-
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 139

tituição das ocorrências de x em φ por qualquer termo


t, desde que x não esteja ligada a nenhum quantificador
em φ, e que x não ocorra no termo t.
6) ∃ x φ é verdadeira para uma dada interpretação e valo-
ração se φ (x/t) for verdadeira, considerando a substitui-
ção das ocorrências de x em φ por pelo menos um termo
t, desde que x não esteja ligada a nenhum quantificador
em φ, e que x não ocorra no termo t.
Nas interpretações assim construídas, a rotulação das sen-
tenças independe das valorações.
As regras de inferência preservam a verdade quando:
• as fórmulas (φ → ψ) e φ forem verdadeiras, então a fór-
mula ψ será verdadeira;
• a fórmula (φ → ψ) for verdadeira, então a fórmula “gene-
ralizada” (φ → ∀ x ψ) será verdadeira;
• a fórmula (φ → ψ) for verdadeira, então a fórmula “me-
nos específica” ( ∃ x φ → ψ) será verdadeira.
Após conhecer todos esses recursos formais, podemos re-
tomar o exemplo do início deste tópico, representá-lo e resolvê-lo
adequadamente. Para tanto, vamos considerar os predicados b(x)
e j(x), representando respectivamente "x tem boas condições fí-
sicas" e "x pode jogar". Com base nessas informações, podemos
representar a regra geral de que qualquer jogador com boas con-
dições físicas pode jogar como ∀ x (b(x) → j(x)). Agora, conside-
remos a informação adicional de que o jogador 1 apresenta boas
condições físicas.
Utilizando o axioma ∀ x φ → φ (x/t), em que φ é a fórmula
b(x) → j(x) e t é a constante 1, e dada a regra geral anterior, pela
primeira regra de inferência temos que b(1) → j(1). Com a infor-
mação adicional a respeito das boas condições físicas de 1 – ou
seja, b(1) – e utilizando novamente a primeira regra de inferência,
temos j(1). Ou seja, o jogador 1 pode jogar.

Claretiano - Centro Universitário


140 © Inteligência Artificial

9. QUESTÕES AUTOAVALIATIVAS
As questões autoavaliativas foram propostas para que você
possa verificar sua aprendizagem e a necessidade de retomar os
estudos da unidade.
1) Os axiomas básicos servem, intuitivamente, para carac-
terizar as propriedades que queremos que sejam válidas
a respeito dos conectivos da:
a) Lógica do Analisador de Riscos.
b) Lógica de Inferência.
c) Lógica Proposicional.
d) Lógica de Atribuição.
e) Lógica Pura.

2) A capacidade Lógica Proposicional para resolver proble-


mas de maneira computacionalmente eficiente precisa
levar em consideração todos os possíveis exemplos que
possam ocorrer. Uma maneira de se fazer isso é conside-
rar o que ocorre na:
a) Melhor situação possível, analisando o pior caso.
b) Pior situação possível, analisando o melhor caso.
c) Pior situação possível, analisando o pior caso.
d) Por inferências do pior caso.
e) Por desconsideração do melhor caso.

3) Os quantificadores utilizados na Lógica de Predicados de


Primeira Ordem são:
a) Para todos e para pelo menos um.
b) Para todos e para quase todos.
c) Para M e para N.
d) Para um e para mais de um.
e) Para todos e para nenhum.

4) Considere uma malha ferroviária, com entroncamentos


conforme identificado no diagrama a seguir:
© U3 - Representação de Conhecimento, Lógica Proposicional e Lógica de Primeira Ordem 141

Codifique essa malha ferroviária de maneira adequa-


da utilizando a Lógica Proposicional, para identificar as
condições, de maneira que um trem saia de um deter-
minado ponto e chegue a outro ponto da malha. Por
exemplo, identifique as condições lógicas para um trem
sair do ponto 1 e chegar ao ponto 7. Utilize inferências
lógicas para deduzir se esse caminho é viável ou não, de-
pendendo do estado dos entroncamentos 3 e 5.

Gabarito
Confira, a seguir, as respostas corretas para as questões au-
toavaliativas propostas:
1) c.
2) c.
3) a.

10. CONSIDERAÇÕES
Nesta unidade, estudamos técnicas de representação e reso-
lução de problemas baseadas em lógicas formais, que têm como
características a expressividade e a flexibilidade para representar
problemas e suas soluções. A maior dificuldade das técnicas base-
adas em Lógica reside em conseguir que elas sejam computacio-
nalmente eficientes.
Aprendemos que a Lógica Proposicional é bastante utilizada
na resolução de problemas práticos e tem a qualidade de admitir
um tratamento computacional relativamente eficiente. A sua ex-
pressividade, entretanto, é limitada, conforme estudaremos nas
unidades seguintes.
Também estudamos a Lógica de Predicados de Primeira Or-
dem. Outras lógicas podem ser definidas, ainda mais expressivas
que essa, porém, a dificuldade conceitual e notadamente a com-
plexidade computacional associada a essas lógicas podem ser
enormes. A Lógica de Predicados de Primeira Ordem, ademais,

Claretiano - Centro Universitário


142 © Inteligência Artificial

mostra-se suficientemente expressiva para resolver muitos pro-


blemas práticos.
Desse modo, a Lógica de Predicados de Primeira Ordem ser-
viu de base para a construção de uma linguagem de programação
especializada, muito útil para a representação e resolução de pro-
blemas em Inteligência Artificial, denominada PROLOG. Na próxi-
ma unidade, estudaremos essa linguagem de programação.

11. REFERÊNCIAS BIBLIOGRÁFICAS


BACCHUS, F. Representing and reasoning with probabilistic logic. USA: MIT, 1990.
PEARL, J. Probabilistic reasoning in intelligent systems. USA: Morgan Kaufmann, 1988.
REITER, R. A logic for default reasoning. Artificial Intelligence, Amsterdam, v. 13, Elsevier,
1980.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. de. Lógica para computação. São Paulo:
Thomson, 2006.
SOWA, J. Knowledge representation: logical, philosophical and computational foundations.
Oxford: Blackwell, 1999.

Você também pode gostar