41
Lógicas para Inteligência Lógicas para Inteligência Artificial Artificial Marcílio C. P. de Souto [email protected]

Lógicas para Inteligência Artificial Marcílio C. P. de Souto [email protected]

Embed Size (px)

Citation preview

Page 1: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

Lógicas para Inteligência Lógicas para Inteligência ArtificialArtificial

Marcílio C. P. de [email protected]

Page 2: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

2

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 Modal Lógica Temporal Lógica Não-Monotônica Lógica Multi-valorada Lógica Fuzzy

Considerações Finais

Page 3: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

3

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

Page 4: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

4

O papel da lógica na IA (1/2)

Usos relativamente fracos A lógica proporciona insights analíticos ao processo de

implementação Usos mais fortes

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

Page 5: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

5

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.

Page 6: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

6

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

Page 7: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

7

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

Page 8: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

8

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

Page 9: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

9

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

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

Em argumentos informais sobre assuntos não matemáticos, o tempo é algumas vezes crucial

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

Page 10: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

10

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 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 Baseado na lógica clássica, embora seja uma nova lógica

completamente desenvolvida pelo pessoal da IA 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

Page 11: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

11

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

p ~p (lei do terceiro excluído) Por exemplo, na lógica de 3 valores de Kleene, o terceiro valor lógico

intuitivamente representa indecidível 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)

Page 12: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

12

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”

Page 13: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

13

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

Introdução de predicados "vagos" na linguagem A passagem para muitos valores de verdade

contavelmente difusos como resultado de se tratar como vago o próprio predicado meta-lingüístico "verdadeiro", sendo este passo mais controverso e radical

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

Page 14: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

14

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.

Page 15: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

15

Conjuntos Fuzzy (1/3)

Conjuntos com limites imprecisos

Altura(m)

1.75

1.0

Conjunto Clássico1.0

Função depertinência

Altura(m)

1.60 1.75

.5

.9

Conjunto Fuzzy

A = Conjunto de pessoas altas

.8

1.70

Page 16: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

16

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.

Page 17: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

17

Conjuntos Fuzzy (3/3)

Definição formal Um conjunto fuzzy A em X é expresso como um conjunto

de pares ordenados:

}|))(,{( XxxxA A

Universo ouUniverso de discurso

Conjuntofuzzy

Função depertinência

(MF)

Um conjunto fuzzy é totalmente caracterizado Um conjunto fuzzy é totalmente caracterizado por sua função de pertinência (MF)por sua função de pertinência (MF)

Page 18: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

18

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.

MFs

Altura (m)

“alto” no Brasil

1.75

.5

.8

.1

“alto” nos EUA

“alto” na Itália

Page 19: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

19

Formulação da MF

Função Triangular

Função Trapezoidal

Função Gaussiana

Função Sino Generalizada

trimf x a b cx ab a

c xc b

( ; , , ) max min , ,

0

trapmf x a b c dx ab a

d xd c

( ; , , , ) max min , , ,

1 0

gbellmf x a b cx c

b

b( ; , , )

1

12

2

2

1

),,;(

cx

ecbaxgaussmf

Page 20: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

20

Formulação da MF

0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

Gra

u d

e P

ert

inê

nci

a

(a) Triangular

0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

Gra

u d

e P

ert

inê

nci

a

(b) Trapezoidal

0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

Gra

u d

e P

ert

inê

nci

a

(c) Gaussiana

0 20 40 60 80 1000

0.2

0.4

0.6

0.8

1

Gra

u d

e P

ert

inê

nci

a(d) Sino Gerneralizada

Page 21: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

21

Universo Discreto

X = {SF, Boston, LA} (discreto e não ordenado)

C = “Cidade desejável para se viver”

C = {(SF, 0.9), (Boston, 0.8), (LA, 0.6)}

X = {0, 1, 2, 3, 4, 5, 6} (discreto)

A = “Número de filhos” A = {(0, .1), (1, .3), (2, .7), (3,

1), (4, .6), (5, .2), (6, .1)}0 2 4 60

0.2

0.4

0.6

0.8

1

X = Número de filhos

Gra

u d

e P

ert

inê

nci

a

(a) Universo Discreto

Page 22: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

22

Universo Contínuo

X = (Conjunto de números reais positivos) (contínuo)

B = “Pessoas com idade em torno de 50 anos”

B = {(x, B(x) )| x em X}

B xx

( )

1

15010

2

0 50 1000

0.2

0.4

0.6

0.8

1

X = Idade

Gra

u d

e P

ert

inê

nci

a

(b) Universo Contínuo

Page 23: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

23

Notação Alternativa

Um conjunto fuzzy A, pode alternativamente ser denotado por:

x (discreto)

x (contínuo)

Obs.: Os símbolos e representam o conjunto dos pares ordenados (x, A(x)).

iiXx

A xxAi

|)(

xxAX

A |)(

Page 24: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

24

Partição Fuzzy

Partição fuzzy do universo de X representando “idade”, formada pelos conjuntos fuzzy “jovem”, “maduro” e “idoso”.

0 10 20 30 40 50 60 70 80 900

0.2

0.4

0.6

0.8

1

1.2

X = Idade

Gra

u d

e P

ert

inênci

a

Jovem Maduro Idoso

Page 25: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

25

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,...}

Page 26: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

26

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)) C = A(x) B(x)

C = A B c(x) = min(A(x), B(x)) C = A(x) B(x)

Operações Básicas Subconjunto Igualdade Complemento Complemento Relativo

União

Interseção

Page 27: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

27

Representação

0

0.2

0.4

0.6

0.8

1

A está contido em B

Gra

u de

Per

tinên

cia

B

A

(a) Conjuntos Fuzzy A e B (b) Conjunto Fuzzy não “A”

0

0.2

0.4

0.60.8

1A B

0

0.2

0.4

0.60.8

1

0

0.2

0.40.6

0.8

1

(c) Conjunto Fuzzy "A ou B"

0

0.2

0.40.6

0.8

1

(d) Conjunto Fuzzy "A e B"

Page 28: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

28

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}

Page 29: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

29

Propriedades

Comutatividade A B = B A A B = B A

Idempotência A A = A A A = A

Associatividade 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

Page 30: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

30

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]

Page 31: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

31

Sistemas Fuzzy

Fuzificação das variáveis

Atribuir Graus de pertinência

Definir Funções de Pertinência

Saída Crisp

Defuzificação das variáveis

Aplicação das regras

Entradas Crisp ClassificaçãoEstimar uma medida com maior precisão

Page 32: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

32

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...

Page 33: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

33

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.

Page 34: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

34

Regras If - then

alta pequeno

médiaresistência = 5*velocidade

• Estilo Mamdani

Se a pressão é alta, então o volume é pequeno

• Estilo Sugeno

Se a velocidade é média, então a resistência = 5 * velocidade

Page 35: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

35

Sistema de inferência

Se velocidade é baixa então resistência = 2Se velocidade é média então resistência = 4 * velocidadeSe velocidade é alta então resistência = 8 * velocidade

Regra 1: w1 = .3; r1 = 2Regra 2: w2 = .8; r2 = 4*2Regra 3: w3 = .1; r3 = 8*2

Resistência = (wi*ri) / wi = 7.12

Velocidade2

.3

.8

.1

baixa média altaMFs

Page 36: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

36

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.

Page 37: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

37

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.

Page 38: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

38

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.

Page 39: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

39

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.

Page 40: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

40

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

Page 41: Lógicas para Inteligência Artificial Marcílio C. P. de Souto marcilio@dimap.ufrn.br

41

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.