1 Prof. Gustavo Augusto Lima de Campos, Dr. Ciência da Computação Universidade Estadual do Ceará...

Post on 18-Apr-2015

104 views 0 download

Transcript of 1 Prof. Gustavo Augusto Lima de Campos, Dr. Ciência da Computação Universidade Estadual do Ceará...

1

Matemática e Engenharia na Concepção de Sistemas Inteligentes – Uma abordagem por exemplos

Prof. Gustavo Augusto Lima de Campos, Dr.Ciência da Computação Universidade Estadual do Ceará (UECE)gustavo@larces.uece.br

01/10/2009

2

Roteiro

• Área de Computação e

Informática

• Inteligência Artificial: Definição e

Problemas

• Agentes Inteligentes

• Exemplos de Utilização da

Matemática Lógica e Representação do

Conhecimento Conjuntos Fuzzy e Incetezas Otimização e o Treinamento de

Redes Neurais

3

Área de Computação e Informática

4

Área de Formação Básica Área de Formação Tecnológica

Área de Formação Complementar Área de Formação Humanítica

Subáreas de Formação

5

Programação Computação e Algoritmos

Arquitetura de Computadores Matemática

Física Eletricidade Pedagogia

Área de Formação Básica

6

Geometria Analítica Álgebra Linear

Cálculo Diferencial e Integral Lógica

Matemática Discreta

Matéria Matemática

7

Sistemas Operacionais Redes de Computadores Sistemas Distribuídos

Compiladores Banco de Dados

Engenharia de Software Sistemas Multimídia

Interface Homem-Máquina Realidade Virtual

Inteligência Artificial Computação Gráfica

Processamento de Imagens Prática do ensino de Computação

Área de Formação Tecnológica

8

Agentes Inteligentes Agentes Reativos

Agentes de Resolução de Problemas Agentes Lógicos

Redes Neurais Artificiais Sistemas Fuzzy

Redes Bayesianas . . .

Matéria Inteligência Artificial

9

Inteligência Artificial (IA): Definições e Problemas

10

1. que pensamcomo humanos

2. que pensam racionalmente

3. que agem como humanos

4. que agem racionalmente

É uma Tecnologia da Computação que se ocupa com o estudo, o projeto e a implementação de sistemas:

IA

11

1. Modelagem Cognitiva

2. Leis do pensamento

3. Teste de Turing 4. Agente racional

• Denominações das abordagens nas quatro categorias

12

• RACIONALIDADE é um conceito ideal de inteligência:

“Um sistema é racional se ele faz a coisa certa” (Russel e Norvig, 1995)

“Agir racionalmente significa agir de maneira a alcançar as metas de alguém, conhecendo-se as crenças deste alguém” (Russel e Norvig, 1995)

13

• Abordagem centrada nas pessoas (1 e 3) deve ser uma ciência empírica, envolvendo hipóteses e confirmação experimental.

• Abordagem racionalista (2 e 4) envolve a combinação de matemática com engenharia.

14

Problemas de IA

• Quanto à dependência do domínio de aplicação (Kasabov, 1998):

• Problemas Genéricos

• Problemas Específicos

15

• Reconhecimento de Padrões• Classificação• Memória Associativa• Predição• Planejamento• Diagnóstico• Controle• Monitoramento• Otimização • Tomada de Decisão• Jogos

Problemas Genéricos:

16

• Reconhecimento de Caracteres escritos à Mão

• Reconhecimento de Imagens• Reconhecimento de voz• Planejamento de Trajetórias de Robôs • Diagnóstico Médico• Monitoramento de um Carro• Caixeiro-Viajante• Decisões sobre Empréstimos Bancários

Problemas Específicos:

17

Exemplos de problemas específicos Reconhecimento de Caracteres Escritos à

Mão

variabilidade de formas em que o número 3 pode ser escrito

padrão pode ser representado por um conjunto de aspectos: curvas, linhas retas, pontos, cor, ...

18

SL - comprimento sepal PL - comprimento petalSW - largura sepal PW - largura petal

Classificação da Iris

19

Previsão Consumo de Gás

X – meses jan, abr, out dos anos 88-91Y1 – consumo de gás (gallons per capita) Y2 – temperatura mínima média (0C)

20

Diagnóstico Médico Baseado em Regras

4 regras envolvendo 4 manifestações e 4 diagnósticos

21

Controle do Pêndulo Invertido

Y – força aplicada no carro para frente e para trás – ângulo do pêndulo com a vertical – velocidade angular

22

Agentes Inteligentes

23

Definição

Um agente é qualquer coisa que possa

ser visualizada como percebendo (P) seu

ambiente (E) através de sensores e

atuando (A) neste ambiente através de

atuadores, em busca de algum objetivo

(G).

24

Exemplos: pessoas, robôs, programas, ...

Sensores

Efetuadores

?

25

P

E

A

26

Exemplo: O Mundo WUMPUS

27

O Mundo de WUMPUS representado

Ambiente

28

Ambiente

29

Ambiente

30

Ambiente

31

Ambiente

32

Ambiente

33

Sensores

34

Atuadores

35

Atuadores

36

Atuadores

37

Atuadores

38

Atuadores

39

Atuadores

40

Atuadores

41

42

Exemplo: Mundo do Agente Aspirador de Pó

F:\29-09-2009\IA\programas\Aspirador+livr

43

Função Agente – descreve o comportamento do agente em termos matemáticos.

Exemplo: tabulação parcial da função que mapeia qualquer seqüência de percepções para uma ação, no mundo do aspirador de pó simplificado.

Agente = Arquitetura + Programa Agente

44

Seqüência de percepções Ação[A, Limpo] Direita

[A, Sujo] Aspirar

[B, Limpo] Esquerda

[B, Sujo] Aspirar

[A, Limpo], [A, Limpo] Direita

[A, Limpo], [A, Sujo] Aspirar

... ...

[A, Limpo], [A, Limpo], [A, Limpo]

Direita

[A, Limpo], [A, Limpo], [A, Sujo]

Aspirar

... ...

Tabulação Parcial da Função Agente

45

Programa Agente – implementa a função de agente para um agente artificial.

Exemplo: programa agente baseado em tabelas escrito em uma linguagem de pseudocódigo simples

função agente-tabela(percepção) retorna uma ação vars: percepções, tabela, ação anexar percepção ao final de percepções ação ← ACESSAR(percepções,tabela) retornar ação

46

Formalização do agente padrão

Sensores

Efetuadores

ação

S

amb

A

47

Estado do ambiente do agente em um instante:

S = {s1, s2, ...}

Exemplo: Termostato

S = { s1, s2}

s1 = “temperatura Ok” s2 = “temperatura fria”

Capacidade efetuadora do agente:

A = {a1, a2, ...}

Exemplo: Termostato A = { a1, a2} a1 = “aquecer OFF”

a2 = “aquecer ON”

48

49

Noção abstrata de um agente padrão

ação : S* → A

50

Agente puramente reativo:

ação : S → A

Exemplo: Termostato

Se s = temp. OK então ação(s) = aquecer Off

Se s = outro estado então ação(s) = aquecer On

51

Exemplos de Utilização da Matemática na Concretização de Agentes

Inteligentes

52

Exemplo I: Lógica e Representação do

Conhecimento

53

Arquitetura Concreta I

Sensores

Efetuadores

IA Simbólica - Lógica

P

E

A

Se Platão está disposto a visitar Sócrates então Sócrates está disposto a visitar

Platão.Se Sócrates está disposto … então Platão não

está … .Se Sócrates não está … então Platão está … . Sócrates está disposto a visitar Platão?

54

Base de Conhecimento Agente Aspirador em Lógica de Predicados

― Representação dos estados do ambiente Salas do Aspirador de Pó

em(x,y)sujo(x,y)frente(direção)

― Regras comportamentais do Agente Aspirador de Pó

x, y: (em(x,y) л sujo(x,y)) faça(aspirar)x, y: (em(x,y) л ¬sujo(x,y) л frente(norte)) faça(frente)x, y: (em(x,y) л ¬sujo(x,y) л frente(oeste)) faça(direita). . .

55

Princípio da Demonstração

*

*

56

Resolução para a Lógica Proposicional Método de prova que executa em uma

única operação a série de processos envolvidos no raciocínio com fbfs

Opera em fbfs em uma forma padrão conveniente: a Forma Clausal

Uma Cláusula em LP é uma fbf na forma de uma disjunção de símbolos proposicionais, negados ou não.

Produz prova por contradição

57

Algoritmo1: Conversão para Forma Clausal 1. Eliminar , usando:

(p q) (p q)

2. Reduzir escopo de cada a um único termo, usando:(p) p (p q) (p q) (p q) (p q)

3. Converte em conjunção de disjunções, usando:

(p (q r)) ((p q) (p r))

4. Cláusula separada correspondente a cada conjunção:

c1 - p qc2 - p r

58

Algoritmo2: Resolução para LProposicional

1. Converter hipóteses para Forma Clausal.

2. Negar conclusão. Converter conclusão

negada para Forma Clausal e acrescentar

resultado ao conjunto de Cláusulas obtido

no Passo 1.

59

3. Repetir {a) Selecionar duas cláusulas-pais;b) Obter

resolvente = disjunção de todos os símbolos proposicionais nas cláusulas-pais com a seguinte exceção:

Se símbolo proposicional p cláusula-pai1 e p cláusula-pai2 então elimine p e p do resolvente;

c) Se resolvente for cláusula-vazia ( )então contradição foi encontrada e resposta é ‘sim’senão acrescentar resolvente ao conjunto de

cláusulas disponíveis ao procedimento.

 } até uma contradição ser encontrada ou

até nenhum progresso a mais puder ser feito.

60

p1. (p q) rp2. q

Argumento em Lógica Proposicional

q*. p r

Resolução

1. Converter hipóteses para Forma Clausal:c1. p q rc2. q

2. Negar conclusão, converter para Forma Clausal e acrescentar ao conjunto obtido em 1: c3. pc4. r

61

3. Resolver

c3. p c1. p q r

c5. q r c2. q

c6. r c4. r

Logo, argumento é válido.

62

Exemplo II:

Conjuntos Fuzzy e Incertezas

63

Arquitetura Concreta II

Sensores

Efetuadores

Lógica Fuzzy

Se pessoa é fumante inveterado então risco de câncer é alto.

Pessoa é fumante moderado. Qual o risco de câncer?

P

E

A

64

Fonte: Notas de aula - EA072 – Prof. Fernando J. Von Zuben – DCA/FEEC/UNICAMP

Em resumo:

65

Fonte: Notas de aula - EA072 – Prof. Fernando J. Von Zuben – DCA/FEEC/UNICAMP

Conjuntos Clássicos

No contexto da teoria de conjuntos clássicos (Crisp Sets), a função de pertinência de conjuntos clássicos define se um elemento pertence ou não a um conjunto clássico.

Por exemplo:X – universo de discurso de valores possíveis de altura das pessoasx X – altura em metros das pessoasP(X) – família de subconjuntos clássicos de XA P(X) – conjunto das pessoas altas μA(x) {0, 1} – função de pertinência

66

X = [0, 2.5m]A – conjunto das pessoas altas x – altura em metros das pessoas

A função de pertinência de um conjunto clássico A, μA: X {0,1}, mapeia elementos x do universo de discurso X, em um grau de pertinência, 0 ou 1, ao conjunto A. 67

O problema da escolha do limiar entre dois conjuntos (alto / não alto) é denominado de paradoxo de Sorites:

Quando um monte de areia

deixa de ser um monte de areia,

caso retiremos um grão de

areia de cada vez?

Ou seja, a partir de quantos centímetros uma pessoa pode ser considerada alta? 169 cm? 170 cm? 171 cm? ... 180 cm?

68

Lógica Fuzzy

Lógica que trata matematicamente informações imprecisas usualmente empregadas na comunicação humana.

Lógica multi-valorada que estende a lógica booleana usualmente empregada em computação.

69

Conjuntos Fuzzy

No contexto da teoria de conjuntos difusos (Fuzzy Sets), a função de pertinência define o grau de participação de um elemento a um conjunto fuzzy.

Por exemplo:

X – universo de discurso de valores possíveis de altura das pessoasx X – altura em metros das pessoasP(X) – família de subconjuntos fuzzy definidos em XA P(X) – conjunto fuzzy das pessoas altas μA(x) [0, 1] – função de pertinência

μA(x) = 0 se x ‹ 1.60;

μA(x) = (x – 1.60)/0.20 se 1.60 ≤

x < 1.80;

μA(x) = 1 se x ≥

1.80.

70

X = [0, 2.5m]A – conjunto nebuloso das pessoas altas x – altura em metros das pessoas

A função de pertinência de conjuntos fuzzy, μA: X [0,1], mapeia elementos x do universo de discurso X, em um grau de participação, [0, 1], no conjunto nebuloso A das pessoas altas.

μA(x) = 0 se x <

1.60;

μA(x) = (x – 1.60)/0.20 se 1.60 ≤

x < 1.80;

μA(x) = 1 se x ≥

1.80.

71

Um conjunto clássico pode ser definido como uma coleção de elementos:

A = { x | x X }.

Um conjunto fuzzy pode ser definido como uma coleção de pares ordenados:

A = { (x, μA(x)) | x X ; μA(x) [0, 1] }.

72

Exemplos: Conjunto Clássico

Conjunto Fuzzy

Fonte: User´s Guide – Fuzzy Logic Toolbox for Use with MATLAB

73

Conjuntos Fuzzy: frio, fresco, morno e quente.

74

Conjuntos Nebulosos: jovem e muito jovem

75

Problema da Gorjeta: dado um conjunto de números entre 0 e 10, representando a qualidade do serviço em um restaurante, onde 0 é péssima e 10 é excelente, qual deve ser a gorjeta?

Abordagem Clássica

Gorjeta é sempre igual a 15% da conta

Gorjeta vai de 5%, se o serviço for péssimo, crescendo linearmente até 25%, se o serviço for excelente:

Gorjeta = 0.05 + (0.20/10)*Serviço

76

Problema da Gorjeta Estendido: dado dois conjuntos de números entre 0 e 10, representando a qualidade do serviço e da comida em um restaurante, onde 0 é péssima e 10 é excelente, qual deve ser a gorjeta?

Gorjeta = 0.05 + (0.20/20)*(Serviço + Comida)

Serviço vale 80% da gorjeta total e a comida vale os 20% restantes:

Gorjeta = 0.8*(0.05 + (0.20/10)*Serviço) +

0.2*(0.05 + (0.20/10)*Comida)

77

Em geral, gorjeta de 15%. Acima, ou abaixo, deste patamar somente se o serviço for excepcionalmente bom, ou mau.

se Serviço < 3, então Gorjeta = 0.8*(0.05 + (0.10/3)*Serviço) + 0.2*(0.05 + (0.20/10)*Comida);

senão se Serviço < 7, então Gorjeta = 0.15*0.8 + 0.2*(0.05 + (0.20/10)*Comida);

senão, Gorjeta = 0.8+(0.15 + (0.10/3)*(Serviço–7)) + 0.2*(0.05 + (0.20/10)*Comida).

78

Seria bom se pudéssemos capturar os aspectos fundamentais do problema, deixando de lado todos os fatores que poderiam ser arbitrários:

se o serviço for pobre ou a comida não for boa, então gorjeta é pouquinha; se o serviço for bom, a gorjeta é razoável; se o serviço for excelente ou a comida for deliciosa, então a gorjeta é generosa.

Abordagem Fuzzy

79

Abordagem Fuzzy

Abordagem Clássica

80

Observações:

As três regras da abordagem fuzzy definem as regras para um sistema fuzzy.

A abordagem clássica para o problema da gorjeta busca uma relação linear por parte (piecewise) para resolver o problema. Pode ser bastante incômodo derivar esta relação e, depois de escrita em algum código, difícil de interpretar.

Sistemas fuzzy baseiam-se em declarações do senso comum. Novas declarações podem ser adicionadas a lista de regras, influenciando a forma da saída sem que seja necessário refazer o que já tinha sido feito; ou seja, modificações subseqüentes no conjunto de regras são realizadas de maneira muito simples.

81

82

Exemplo III:

Otimização e o Treinamento de Redes

Neurais

83

Sensores

Efetuadores

Redes de Neurônios

P

E

AÉ um 3 ?ou é um E ou é ...?

Arquitetura Concreta III

84

Adequação arquitetura concreta ao tipo de informação

85

86

Neurônio Biológico

87

88

Neurônio é o dispositivo computacional elementar do sistema nervoso, com muitas entradas e uma saída.

89

Esquema de um Neurônio Artificial

jwij.xjvi

g(vi)yi

90

Sigmoid

Linear Sinal

Tangente Hiperbólica

g(v) = αv

v > 0

g(v) = 1

g(v) = 1/(1 + e-αv)

g(v) = (1–e-αv)/(1+e-αv)

Funções de ativação nos neurônios artificiais

v 0 g(v) = -1

Rede de múltiplos neurônios dispostos em camadas

91

O Problema que Widrow e Hoff tentaram

resolver com as RedesDada uma função arbitrária y = f(x1, x2, ..., xn) = f(x) tal que f(0) = 0 e L observações desta função:

determinar uma aproximação linear do tipo:

tal que o erro quadrático sobre todos os exemplos:

seja o mínimo possível, ou seja:

92

93

A Regra Delta de Widrow e Hoff busca encontrar os valores

de w* tal que:

94

seja o mínimo possível.

A solução proposta emprega o Método do Gradiente

para chegar em w* por meio de um processo de

iteração local – partindo-se de um ponto arbitrário

w(0) é possível caminhar por E(w) em direção ao

ponto de mínimo, seguindo na direção oposta ao

gradiente da função:

onde:η – determina o tamanho do passo que será

dado na direção contrária à direção do gradiente

95

Cálculo do gradiente da função erro quadrático

sobre os exemplos

96

Substituindo-se na fórmula de atualização dos pesos obtém-se a Regra Delta

97

Exemplo da aplicação da Regra Delta para o caso

em E(w) = w2

98

99

Comentários

A natureza do conjunto de exemplos, Ψ, determina o panorama da superfície erro, influindo grandemente na velocidade do processo de convergência

100

101

Atualmente O algoritmo de treinamento mais utilizado é o Back-propagation, que emprega uma generalização da Regra Delta para redes com camadas escondidas.

102

Entendendo o Treinamento de Redes Neurais com o Algoritmo Back-propagation

103

104

105

106

107

Trabalhando com o Algoritmo Back-propagation

108

109

110

111

112

113

114

115

Indicação Bibliográfica

• KASABOV, N. K. Foundations of Neural Networks, Fuzzy Systems, and Knowledge Engineering. The MIT Press, 2o Edição, 1998.

• RUSSEL, S. e NORVIG, P. Artificial Intelligence: A Modern Approach. New Jersey: Ed. Prentice-Hall. 1995.