Lógicas para Inteligência Artificial
Marcílio C. P. de Souto
[email protected]
Tópicos



Introdução: Perspectiva Histórica
Papel da Lógica na Inteligência Artificial (IA)
Lógicas para IA


Deficiências da Lógica Clássica
Lógicas Não-Clássicas






Lógica
Lógica
Lógica
Lógica
Lógica
Modal
Temporal
Não-Monotônica
Multi-valorada
Fuzzy
Considerações Finais
2
Introdução: Perspectiva Histórica

Através de toda sua curta história, a Inteligência Artificial
(IA) vem sendo fortemente influenciada por idéias da
lógica


A maioria dos membros da comunidade de IA concordam que a
lógica tem um papel importante a representar em pelo menos
alguns áreas centrais da pesquisa em IA
Um minoria influente considere a lógica como sendo um dos
fatores mais importantes para avanços fundamentais e estratégicos
3
O papel da lógica na IA (1/2)

Usos relativamente fracos


Usos mais fortes


A lógica proporciona insights analíticos ao processo de
implementação
Pode-se provar que o algoritmo é completo e consistente
Em alguns casos, um sistema é inspirado em idéias da
lógica


Adquire características que a primeira vista parecem logicamente
problemáticas
No entanto, mais tarde elas podem ser explicadas por meio do
desenvolvimento de novas idéias na teoria lógica

Programação em lógica
4
O papel da lógica na IA (2/2)


Implementações direta de idéias da lógica são usadas em
IA, como em Provas de Teoremas e Representação de
Conhecimento
No entanto, em geral, teorias lógicas em IA são
independentes de implementação


Elas podem ser usadas para proporcionar insights em problemas
de raciocínio, sem participar diretamente da implementação
De fato, pode-se distinguir três usos da lógica em IA



Ferramenta de análise
Base para a representação de conhecimento
Linguagem de programação.
5
Ferramentas Lógicas da IA




A lógica clássica (Lógica Proposicional e de Predicados) ainda é
amplamente usada em IA (veja a popularidade da linguagem
PROLOG)
No entanto, ela foi desenvolvida de modo a estudar objetos
matemáticos imutáveis, bem definidos e consistentes
 Adquiriu, por esse motivo, um caracter estático
A IA necessita de tratar com conhecimento em fluxo, em condições
longe da perfeição
Portanto, a IA lançou novos desafios e estimulou o desenvolvimento
de lógicas que pudessem tratar:
 Exceções, inconsistências, conhecimento incerto e incompleto
 Lógicas não-clássicas: desvios ou extensões da lógica clássica
6
Lógicas Não-Clássicas

As lógicas não-clássicas podem ser classificadas em dois grupos
distintos:
 Extensões da lógica clássica: adicionam um vocabulário novo,
portanto novos teoremas e inferências válidas, mas mantêm todos
os teoremas originais
 Lógica Modal
 Lógica Temporal
 Lógicas Não-Monotônicas
 Desvios da lógica clássica: em geral mantêm o vocabulário original
da lógica clássica, no entanto difere com respeito a teoremas e
inferências válidas


Lógica Multi-Valorada
Lógica Fuzzy
7
Extensão da Lógica Clássica: Lógica
Modal


A lógica clássica lida com a verdade ou a falsidade de diferentes
proposições em si mesmas
A lógica modal, em contraste, preocupa-se com os diferentes modos
que uma proposição pode ser verdadeira


Estende a linguagem da lógica de predicados por meio da adição
operadores modais, que enriquecem a linguagem, e regras de inferências
associadas a estes predicados
Dependendo da interpretação dadas aos operadores modais, a lógica
modal nos permite falar sobre a verdade ou falsidade de proposições
relacionadas a crenças, conhecimento, desejos, intenções e obrigações


ACREDITA(A,P) - é verdade sempre que A acredita que P é verdadeiro,
independe que outra pessoa acredite que P é falso e mesmo que P seja falso
A lógica modal fornece um conjunto de ferramentas poderosas para a
compreensão daquilo que é dito na linguagem natural, que
normalmente envolve referências ao estado mental das pessoas
8
Extensão da Lógica Clássica: Lógica
Temporal

A lógica clássica não parece apropriada para lidar com proposições
que contêm referências temporais



Em argumentos informais sobre assuntos não matemáticos, o tempo é
algumas vezes crucial


Os pioneiros da lógica clássica foram motivados fundamentalmente pelo
desejo de representar argumentos matemáticos de forma rigorosa
Irrelevância do tempo verbal para estabelecer a (in)validade de
argumentos matemáticos
José casa com Maria, José casou com Maria, José casará com Maria
A lógica temporal estende a linguagem da lógica de predicados por
meio da adição operadores temporais, que enriquecem a linguagem, e
regras de inferências associadas a estes predicados

Por exemplos, operadores temporais P e F que transformam uma sentença
no presente do indicativo para, respectivamente, o pretérito e o futuro
9
Extensão da Lógica Clássica: Lógicas
Não-Monotônicas

Tem como principal objetivo o desenvolvimento de sistemas de
raciocínio que modelem a maneira como o senso comum é usado
pelos humanos

Características




Baseado na lógica clássica, embora seja uma nova lógica completamente
desenvolvida pelo pessoal da IA


Capacidade de encurtar caminhos para conclusões
Suficientemente robusto tal que quando uma conclusão alcançada se mostre
errada, ela possa ser revisada
A introdução de novas informações (axiomas) pode invalidar teoremas antigos Não-monotonicidade
Há vários tipos de lógicas não-monotônicas como a teoria da circunscrição,
raciocínio default (adição de novas regras de inferência) e lógica modal (adição
de operador modal “é consistente”)
Geralmente intratável em termos de tempo computacional
10
Variações da Lógica Clássica: Lógica
Multi-Valorada

As lógicas multi-valoradas são lógicas alternativas


Em geral, compartilham o vocabulário da lógica clássica
Mas deixam de ter certos teoremas desta


Por exemplo, na lógica de 3 valores de Kleene, o terceiro valor lógico
intuitivamente representa indecidível



p  ~p (lei do terceiro excluído)
Sua atribuição a uma fórmula não indica que ela seja verdadeira ou falsa.
Em vez disto, seu propósito é indicar um estado de ignorância parcial
Inicialmente, as lógicas multi-valoradas foram concebidas com interesse
puramente matemático em alternativas a semântica bivalente da lógica
clássica
Atualmente, junta com a lógica fuzzy, elas proporcionam ferramentas
poderosas para manipular com conhecimento incerto (por meio, dos
diferentes valores verdade que um sentença pode assumir)
11
Variações da Lógica Clássica: Lógica
Fuzzy


Grande parte da compreensão humana sobre os acontecimentos dos fatos é
imprecisa
Em muitos casos, a precisão pode ser um tanto inútil, enquanto instruções
vagas podem ser melhor interpretadas e realizadas

Exemplo de compreensão humana



Formal:
“Comece a freiar 10 metros antes do sinal PARE”
Vulgar:
“Comece a freiar perto do sinal PARE”
Outro exemplo:




Ao utilizar-se a lógica clássical, definem-se regras como: “Pessoas jovens são aquelas
cujas idades estão entre 0 e 20”
Nesta lógica, uma pessoa com 20 anos e 1 dia não é considerada uma pessoa jovem
Porém, sabemos que isso não é verdade no mundo real
Daí a necessidade de se utilizar mecanismos para descrever o grau de pertinência de uma
pessoa ao conjunto de “jovens”
12
Características: Lógica Fuzzy (1/2)

A lógica fuzzy resulta de dois estágios de fuzificação

A passagem da lógica bivalente para a lógica não-enumerável
multi-valorada como um resultado de se permitir graus de
pertinência a conjuntos denotados por predicados da linguagem
objeto


A passagem para muitos valores de verdade contavelmente difusos
como resultado de se tratar como vago o próprio predicado metalingüístico "verdadeiro", sendo este passo mais controverso e
radical


Introdução de predicados "vagos" na linguagem
Verdadeiro, muito verdadeiro, não muito verdadeiro,...
A Lógica Difusa foi desenvolvida por Lofti A. Zadeh da Universidade da
Califórnia em Berkeley na década de 60
13
Características: Lógica Fuzzy (2/2)




Trabalha com uma grande variedade de informações vagas e incertas,
as quais podem ser traduzidas por expressões do tipo: a maioria, mais
ou menos, talvez, etc.
Antes do surgimento da lógica fuzzy essas informações não tinham
como ser processadas
A lógica fuzzy contém como casos especiais não só os sistemas
lógicos binários, como também os multi-valorados
A lógica fuzzy vem sendo aplicada nas seguintes áreas




Análise de dados
Construção de sistemas especialistas
Controle e otimização
Reconhecimento de padrões, etc.
14
Conjuntos Fuzzy (1/3)

Conjuntos com limites imprecisos
A = Conjunto de pessoas altas
Conjunto Clássico
1.0
Conjunto Fuzzy
1.0
.9
.8
Função de
pertinência
.5
1.75
Altura
(m)
1.60 1.70 1.75
Altura
(m)
15
Conjuntos Fuzzy (2/3)

Um conjunto fuzzy A definido no universo de discurso X é
caracterizado por uma função de pertinência A, a qual mapeia os
elementos de X para o intervalo [0,1].
A:X[0,1]

Desta forma, a função de pertinência associa a cada elemento x
pertencente a X um número real A(X) no intervalo [0,1], que
representa o grau de pertinência do elemento x ao conjunto A, isto é,
o quanto é possível para o elemento x pertencer ao conjunto A.
16
Conjuntos Fuzzy (3/3)

Definição formal

Um conjunto fuzzy A em X é expresso como um conjunto de pares
ordenados:
A  {( x,  A ( x)) | x  X }
Conjunto
fuzzy
Função de
pertinência
(MF)
Universo ou
Universo de discurso
Um conjunto fuzzy é totalmente caracterizado
por sua função de pertinência (MF)
17
Função de Pertinência

Reflete o conhecimento que se tem em relação a intensidade com que o
objeto pertence ao conjunto fuzzy

Características das funções de pertinência:
 Medidas subjetivas
 Funções não probabilísticas monotonicamente crescentes,
decrescentes ou subdividida em parte crescente e parte
decrescente.
“alto” no Brasil
MFs
.8
“alto” nos EUA
.5
“alto” na Itália
.1
1.75
Altura (m)
18
Formulação da MF

Função Triangular

Função Trapezoidal

x a c  x 
trimf ( x ; a , b , c )  max min 
,
 , 0
b a c b 


d  x 
x a
, 1,
 , 0
b a
d c  
trapmf ( x ; a , b , c , d )  max min


Função Gaussiana
gaussmf ( x; a, b, c)  e

1  x c 
 

2  
2
Função Sino Generalizada
gbellmf ( x ; a , b , c ) 
1
x c
1
b
2b
19
Formulação da MF
(b) Trapezoidal
1
Grau de Pertinência
Grau de Pertinência
(a) Triangular
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
0
20
40
60
80
100
0
40
60
80
100
(d) Sino Gerneralizada
1
Grau de Pertinência
Grau de Pertinência
(c) Gaussiana
20
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
0
20
40
60
80
100
0
20
40
60
80
100
20
Universo Discreto
(a) Universo Discreto

ordenado)

C = “Cidade desejável para se
viver”

C = {(SF, 0.9), (Boston, 0.8), (LA,
0.6)}
1
Grau de Pertinência
X = {SF, Boston, LA} (discreto e não
0.8
0.6
0.4

X = {0, 1, 2, 3, 4, 5, 6} (discreto)

0.2

0
0
2
4
A = “Número de filhos”
A = {(0, .1), (1, .3), (2, .7), (3, 1),
(4, .6), (5, .2), (6, .1)}
6
X = Número de filhos
21
Universo Contínuo
(b) Universo Contínuo

Grau de Pertinência
1
X = (Conjunto de números
reais positivos) (contínuo)
0.8

0.6
B = “Pessoas com idade em
torno de 50 anos”
0.4
0.2

B = {(x,
B(x)
)| x em X}
0
0
50
100
X = Idade
B(x) 
1
 x  50 
1 

 10 
2
22
Notação Alternativa

Um conjunto fuzzy A, pode alternativamente ser denotado
por:
A    A ( xi ) | xi
 x (discreto)
xi X

x (contínuo)
A    A ( x) | x
X

Obs.: Os símbolos  e  representam o conjunto dos pares
ordenados (x, A(x)).
23
Partição Fuzzy
Grau de Pertinência

Partição fuzzy do universo de X representando “idade”, formada
pelos conjuntos fuzzy “jovem”, “maduro” e “idoso”.
1.2
Jovem
Maduro
Idoso
1
0.8
0.6
0.4
0.2
0
0
10
20
30
40
50
60
70
80
90
X = Idade
24
Variáveis Lingüísticas

Uma variável lingüística possui valores que não são números, mas
sim palavras ou frases na linguagem natural.



Idade = idoso
Um valor lingüístico é um conjunto fuzzy.
Todos os valores lingüísticos formam um conjunto de termos:

T(idade) = {Jovem, velho, muito jovem,...
Maduro, não maduro,...
Velho, não velho, muito velho, mais ou menos velho,...
Não muito jovem e não muito velho,...}
25
Operações Básicas





Subconjunto
Igualdade
Complemento
Complemento
Relativo
União

A  B, se B(x)  A(x) para cada x X
A = B, se A(x) = B(x) para cada x X
 A = X - A  A(x) = 1 - A(x)

E(x) = Max [0, A(x) - B(x)]

C = A  B  c(x) = max(A(x), B(x))




Interseção



C = A(x)  B(x)
C = A  B  c(x) = min(A(x), B(x))

C = A(x)  B(x)
26
Representação
(a) Conjuntos Fuzzy A e B
Grau de Pertinência
A está contido em B
1
0.8
0.6
0.4
B
A
1
0.8
0.6
0.4
0.2
0
A
B
(b) Conjunto Fuzzy não “A”
1
0.8
0.6
0.4
0.2
0
(c) Conjunto Fuzzy "A ou B"
0.2
(d) Conjunto Fuzzy "A e B"
0
1
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
27
Exemplo (União|Interseção)

X = {a, b, c, d, e}




A = {1/a, 0.7/b, 0.3/c, 0/d, 0.9/e}
B = {0.2/a, 0.9/b, 0.4/c, 1/d, 0.4/e}
União
 C = {1/a, 0.9/b, 0.4/c, 1/d, 0.9/e}
Interseção
 D = {0.2/a, 0.7/b, 0.3/c, 0/d, 0.4/e}
28
Propriedades

Comutatividade


AA=A
AA=A
Associatividade


AB=BA
Idempotência


AB=BA
A  (B  C) = (A  B)  C = A  B  C
A  (B  C) = (A  B)  C = A  B  C
Distributividade

A  (B  C) = (A  B)  (A  C)
A  (B  C) = (A  B)  (A  C)
Propriedades padrões: Comutatividade, Idempotência Associatividade, Distributividade
etc. são válidas para os conjuntos fuzzy. Exceção:
AA
AAX
29
Grau de Crença x Grau de Verdade

Grau de Crença x Teoria das Probabilidades


80% dos pacientes com dor de dentes têm cáries
 Uma probabilidade de 0.8 não significa “80% verdade” mas sim um
grau de crença de 80% na regraGrau de verdade x Lógica Fuzzy
Mário é alto
A proposição é verdadeira para uma altura de Mario 1.65m ?
 ...mais ou menos....
 Observar que não há incerteza, estamos seguros da altura de Mario
O termo linguístico “alto” é vago, como interpretá-lo?
Por exemplo, a teoria de conjuntos Fuzzy (semântica para lógica fuzzy)
permite especificar quão bem um objeto satisfaz uma descrição vaga
(predicado vago)




O grau de pertinência de um objeto a um conjunto fuzzy é representado por
algum número em [0,1]
30
Sistemas Fuzzy
Entradas Crisp
Fuzificação
das variáveis
Definir Funções
de Pertinência
Classificação
Aplicação das
regras
Atribuir Graus
de pertinência
Estimar uma medida
com maior precisão
Defuzificação das
variáveis
Saída Crisp
31
Fuzzificação


Etapa na qual os valores numéricos são transformados em
graus de pertinência para um valor lingüístico
Cada valor de entrada terá um grau de pertinência em
cada um dos conjuntos fuzzy. O tipo e a quantidade de
funções de pertinência usados em um sistema dependem
de alguns fatores tais como: precisão, estabilidade,
facilidade de implementação...
32
Determinação das regras

Descrição das situações nas quais há reações através de
regras de produção (If - then). Cada regra na saída
especifica uma ou várias conclusões.
33
Regras If - then
• Estilo Mamdani
Se a pressão é alta, então o volume é pequeno
alta
pequeno
• Estilo Sugeno
Se a velocidade é média, então a resistência = 5 * velocidade
média
resistência = 5*velocidade
34
Sistema de inferência
Se velocidade é baixa então resistência = 2
Se velocidade é média então resistência = 4 * velocidade
Se velocidade é alta então resistência = 8 * velocidade
MFs baixa
média
alta
.8
.3
.1
2
Regra 1: w1 = .3; r1 = 2
Regra 2: w2 = .8; r2 = 4*2
Regra 3: w3 = .1; r3 = 8*2
Velocidade
Resistência = (wi*ri) /
= 7.12
wi
35
Avaliação das regras

Cada antecedente (lado if) tem um grau de pertinência. A ação da
regra (lado then) representa a saída fuzzy da regra. Durante a
avaliação das regras, a intensidade da saída é calculada com base nos
valores dos antecedentes e então indicadas pelas saídas difusas da
regra.
 Alguns métodos de avaliação:

MinMax, MaxMin, MaxProduto, MinMin, MaxMedia, MaxMax e Soma
dos produtos.
36
Agregação das Regras


São as técnicas utilizadas na obtenção de um conjunto
fuzzy de saída “x” a partir da inferência nas regras.
Determinam quanto a condição de cada regra será
satisfeita.
37
Defuzzificação

Processo utilizado para converter o conjunto difuso de
saída em um valor crisp correspondente.

Alguns métodos de defuzzificação:




Centróide,
Média dos máximos,
Distância de Hamming,
Método da altura, etc.
38
Lógica Fuzzy: considerações finais

Lógica Fuzzy é uma importante ferramenta para auxiliar a
concepção de sistemas complexos, de difícil modelagem, e
pode ser utilizada em conjunto com outras tecnologias de
ponta, como é o caso da combinação entre Lógica Fuzzy e
Redes Neurais Artificiais, e Lógica Fuzzy e Algoritmos
Genéticos.
39
Lógicas para IA: considerações finais

Limitações da Lógica Clássica para lidar com argumentos informais

Lógica Não-Clássicas


Extensões da Lógica Clássica

Lógica Modal

Lógica Temporal

Lógicas Não-Monotônicas
Desvios da Lógica Clássica

Lógica Multi-Valorada

Lógica Fuzzy
40
Bibliografia





R. Turner. Logics for Artificial Intelligence. John Wiley,
1985.
E. Rich e K. Knight. Inteligência Artificial. Makron Books,
2a. Edição, 1994.
S. Haack. Filosofia das Lógicas. UNESP Editora, 1998.
P. Almeida e A. Evsukoff. Sistemas Fuzzy em Sistemas
Inteligentes. Manole, 2003
J. Jang, C. T. Sun e E. Mizutani. Neuro-Fuzzy and Soft
Computing. Prentice Hall, 1997.
41
Download

Sistemas Fuzzy II - Centro de Informática da UFPE