1 Prof. Gustavo Augusto Lima de Campos, Dr. Ciência da Computação Universidade Estadual do Ceará...
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)[email protected]
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
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
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
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.