Post on 07-Apr-2016
Introdução aos Sistemas Inteligentes
DCA-FEEC-UNICAMP
Prof. Ricardo Gudwingudwin@dca.fee.unicamp.brhttp://www.dca.fee.unicamp.br/~gudwin Telefone: (19) 3788-3819
Sistemas Inteligentes
Sistemas Inteligentes sistemas que exibem um comportamento considerado
inteligente Definições na Literatura
existem em profusão, desde as mais ingênuas, até as mais elaboradas e detalhadas
polêmicas incompletas
Palavra-Chave Inteligência O que é isso ?
Inteligência
O que é inteligência ? Envolve
conhecimento raciocínio pensamento idéias
Capacidade de resolver problemas Capacidade de compreender uma situação Capacidade de planejar o futuro e realizar ações de modo
que os plano se concretizem Capacidade de aprender coisas novas Capacidade de atingir objetivos Capacidade de determinar objetivos
Inteligência
Sabemos o que é inteligência ? Podemos avaliar se algum sistema em particular (natural
ou artificial) é ou não inteligente Podemos determinar diversos atributos para um sistema
que consideremos inteligente Não temos uma definição geral e completa para o que
seja inteligência Podemos dizer algumas coisas sobre a inteligência
existe em diferentes níveis (intensidades) atua sobre diferentes domínios (múltiplas inteligências) é uma propriedade composta e derivada em seres humanos, pode ser desenvolvida
Inteligência
Quem se interessa por estudá-la ? Filósofos - para entendê-la Educadores - para desenvolvê-la em seres humanos Engenheiros - para criar sistemas que a possuam
Desde quando a estudam ? Desde os primeiros filósofos gregos
Áreas do conhecimento que lhe são afins Filosofia (do pensamento), Pedagogia (desenvolvimento da
inteligência), Biologia celular (comunicação celular), Medicina (sistemas imunológicos), Etologia (inteligência nos animais), Psicologia e Psiquiatria (distúrbios da inteligência), Engenharia dos Materiais (materiais inteligentes), Política (como negociar), Retórica (como convencer), Computação (sistemas inteligentes), etc ...
Taxonomia das Inteligências
Inteligência Natural (Análise) Inteligência de compostos materiais Inteligência em compostos orgânicos Inteligência celular Inteligência em animais Inteligência no homem
desenvolvimento, terapêutica em distúrbios, modelagem, uso
Inteligência Artificial (Síntese) dispositivos mecânicos/materiais dispositivos eletrônicos (computadores) software
Paradigmas e Inteligência Dois hemisférios do cérebro humano
especializados em diferentes formas de tratar problemas utilizando dois tipos distintos de paradigmas
Sequencial ou Lógico: baseado em uma abordagem de solução de problemas que considera somente uma pequena porção das informações disponíveis em um dado instante de tempo qualquer
Paralelo ou Gestalt: processa informação de forma global, ou “tudo de uma vez”. Percepção, por exemplo
Hemisfério esquerdo (paradigma sequencial) produção e compreensão de linguagem, raciocício lógico,
planejamento, tempo,… Hemisfério direito (paradigma paralelo)
comparação e identificação de imagens visuais, raciocínio por analogia, coordenação, sentido de corpo, ...
Inteligência Artificial Inteligência Artificial
Termo cunhado em um workshop no Dartmouth College no verão de 1956 por John MacCarthy para o estudo da inteligência
Núcleo da Inteligência Artificial tem suas raízes nas teorias funcionais/estruturais da inteligência estruturas físicas e formais como uma base para o
comportamento inteligente Evolução Histórica
ciclos de altos e baixos, principalmente devido a promessas não cumpridas e expectativas exageradas em função dos primeiros resultados obtidos
fracassos levaram a uma visão mais realista e madura, permitindo um ressurgimento a partir da década de 80
Inteligência Artificial e Sistemas Inteligentes
Problemas nos Métodos da Inteligência Artificial Frame Problem: impossibilidade de se manter um modelo
simbólico do mundo em ambientes complicados evoluindo em tempo real
Symbol-Grounding Problem: diz respeito ao vazio da representação simbólica em termos do que acontece realmente no ambiente, pois os símbolos somente apoiam-se uns nos outros
Frame-of-Reference Problem: diz respeito às diferenças entre os significados dos símbolos utilizados pelo sistema e pelos designers do sistema na elicitação do conhecimento
Situatedness: diz respeito ao mundo em constante mudança Limitações na Computação Simbólica
Problema Numérico-Simbólico
Sistemas Inteligentes
Campo da ciência e engenharia de computação que procura estudar e reproduzir por meios computacionais sistemas com características normalmente atribuídas à inteligência humana, tais como: Soluções de Problemas Lógica Métodos de Raciocínio e Pensamento Representação e Processamento de Conhecimento Tomada de Decisões Aprendizagem Percepção e Visão Compreensão de Linguagem (e signos de um modo geral) Emoções e Julgamento de Valores
O ABC da Inteligência
Inteligência
Artificial
Inteligência
Biológica
Inteligência
Computacional
Inteligência Computacional
Lógica Fuzzy
Redes Neurais
Computação Evolutiva
Sistemas e Lógica Fuzzy
Redes Neurais
Inteligência Artificial
Computação Evolutiva e
ProbabilísticaSemióticaComputacional
Sistemas Cognitivos
Inteligência Computacional Sistemas Inteligentes
Evolução Histórica
Década de 40: Cibernética (Wiener) Década de 50: Estratégias de Busca e Outras
(Shannon, Turing) 1956: Dartmouth Summer Research Project on Artificial Intelligence
Década de 60: LISP, Robótica,Visão, Sistemas Especialistas, Evolução, Fuzzy
Década de 70: Representação do Conhecimento, Algoritmos Genéticos
Década de 80: Aprendizagem, Redes Neurais, Indústria da IA
Década de 90: Inteligência Computacional, Agentes, Semiótica, Vida Artificial, Swarm Intelligence
Panorama dos Sistemas Inteligentes
Sistemas Inteligentes
Inteligência Artificial Clássica
Busca em Grafos
Lógica e Inferência
Sistemas Especialistas
LISP e Prolog
Inteligência Computacional
Lógica Fuzzy
Redes Neurais
Computação Evolutiva
Novos Paradigmas
Sistemas Multi-Agentes
Semiótica Computacional
Representação do Conhecimento
Computação comPalavras
Computação comEmoções
Inteligência Artificial Clássica
Representação e Solução de ProblemasAlgoritmos de BuscaEstratégias de JogosLógica MatemáticaSistemas Especialistas (Sistemas Baseados em Conhecimento)Redes Bayesianas
Representação de Conhecimento
Estratégias de Busca
Lógica
Computação Simbólica
Áreas Clássicas da Inteligência Artificial
SistemasEspecialistas
KBS
IA
Robótica/Sistemas de
SensoriamentoVisão/
Reconhecimentode Imagens
Apredizagem
Processamentode Linguagem
Natural Basede
Dados
ProgramaçãoAutomática
Soluçãode
Problemas
Representação e Solução de Problemas
Problema abstraído na forma de:
conjunto de estadosações possíveis: transições entre estados
grafo Sistema Resolvedor de Problemas
sistema decide sequências de ações que levarão do estado atual ao estado desejado
Meta definição das condições que gerarão à satisfação do problema
Formulação do Problema escolha dos estados e ações a serem considerados define o grau de detalhamento na abordagem do problema
Representação e Solução de Problemas
Solução sequência de ações que levarão à satisfação do problema encontrada por meio de um mecanismo de busca uma vez encontrada, leva o sistema à fase de execução um problema pode ter mais de uma solução
Algoritmo de Busca algoritmo que, a partir do estado inicial, percorre os nós do
grafo que representa o problema, buscando por um caminho ou nó que represente a solução do problema
Questões Busca é a melhor maneira de resolver o problema ? Quais algoritmos de busca resolvem o problema ? Qual algoritmo é o mais eficiente para um dado problema ?
Algoritmos de Busca
Algoritmos Básicos de Busca não informados (busca cega)
depth-first, breadth-first, non-deterministic informados
hill-climbing, beam search, best-first Outros Algoritmos de Busca
otimização branch and bound, programação dinâmica, simulated-annealing
heurísticos A, A* e variações
Aplicações KBS, sequenciamento de produção, planejamento
estratégico, logística, etc…
Árvores de Busca: Nomenclatura
Raiz
Folha
Meta
Caminho completo - solução
Caminho parcial
Folha
Pai
Filho Filhoancestral
descendente
Nó
Arco
Fator de ramificação: bProfundidade: dTotal caminhos: bd
Grafo e Árvore de Busca
A
S
D E
B
C
F
G3
4
5
4
5
4
423
S
F B F C E A CD
G C G F
G
EC B B
B A E
E
D
A D
Representa ocaminhoS-D-A-B-E-F-G
Representa ocaminhoS-D
G
F
Busca em Profundidade(Depth-first Search)
A
S
D E
B
C
F
G3
4
5
4
5
4
423
S
F B F C E A C GD
G C G F
G
EC B B F
B A E
E
D
A D
Busca em Amplitude(Breadth-first Search)
A
S
D E
B
C
F
G3
4
5
4
5
4
423
S
F B F C E A C GD
G C G F
G
EC B B F
B A E
E
D
A D
Busca Não-Determinística
A
S
D E
B
C
F
G3
4
5
4
5
4
423
S
F B F C E A C GD
G C G F
G
EC B B F
B A E
E
D
A D
Buscas do Tipo Best-first
Busca A* Função de avaliação f(n) = g(n) + h(n)
g(n) - custo atual do caminho (cost-uniform search) h(n) - função heurística (greedy search)
comprovadamente completa e ótima dada uma única restrição sobre h(n) - heurística admissível
Heurística Admissível função h nunca deve superestimar o custo de se chegar à meta
Busca IDA* (Iterative Deepening A*) semelhante ao ID search, mas ao invés de utilizar um limite de
profundidade, utiliza um limite para a função f cada iteração expande somente os nós dentro de um contorno
para o valor corrente de f, aumentando gradativamente esse contorno
Exemplo de Busca SMA*
A
B
C D
E F
G
H I
J K
10 8
8 16
88
1010
1010
0+12=12
10+5=158+5=13
24+0=24
24+5=2924+0=2430+0=3030+5=35
20+5=25
20+0=20
16+2=18
1 2
5 6
A 12A 12
A 15(15)
B 15
A 15
B
15
G
24
G 24()
I24
3
7
A 13
A15(24)
B
15
G
13
B
C
15
25
4
8
A 13(15)
A20(24)
G
13H
18
B
D20
20()
Jogos e Problemas de Busca
Presença do Oponente introduz incerteza estado é alterado não somente em função das decisões
tomadas - problema da contingência Complexidade da Árvore de Busca
número de estados a serem testados é muito maior normalmente não há tempo suficiente para calcular todas
as possíveis consequências de um movimento Questões
Como encontrar o suposto melhor movimento ? Como agir quando o tempo de decisão é limitado ? Como agir quando o jogo inclui algum tipo de
não-determinismo ?
Estratégia Minimax
Max e Min dois jogadores
Problema de Busca estado inicial, conjunto de operadores, teste de terminação,
estados terminais e função de utilidade Estratégia
conjunto de movimentos que levem a um nó terminal, independentemente das jogadas adversárias
inclui o movimento correto de Max para qualquer possível movimento de Min
Estratégia Minimax tenta maximizar a função de utilidade considerando que o
oponente fará de tudo para minimizá-la a seu turno
Estratégia Minimax
Algoritmo Gere toda a árvore do jogo, até os nós terminais Aplique a função de utilidade para cada nó terminal
para calcular seu valor Use a utilidade dos nós terminais para calcular a
utilidade dos nós um nível acima na árvore de busca caso o nível de cima seja jogada de Min escolha a mínima
utilidade caso o nível de cima seja jogada de Max escolha a máxima
utilidade Continue até que a raiz da árvore seja atingida Escolha sempre a jogada que trará uma maior utilidade
Variações da Estratégia Minimax
Estratégia Minimax infactível, em seu formato original busca até os nós terminais é impossível em casos práticos
Possível Variação utilizar uma função de avaliação ao invés de uma função de
utilidade teste terminal pode ser substituído por um teste de término
antecipado de busca, com profundidade arbitrária Consequência
decisões imperfeitas factibilidade de implementação
Dificuldades encontrar uma função de avaliação adequada
Alfa-Beta Pruning(Poda Alfa-Beta)
Criação de Toda a Árvore de Busca desnecessária e consumidora de recursos
Poda corte de parte da árvore de busca, evitando sua criação
Estratégia Minimax busca em profundidade
Alfa valor da melhor escolha em um ponto do programa para
uma decisão de Max Beta
valor da melhor escolha (menor valor) em um ponto de programa para uma decisão de Min
Alfa-Beta Pruning(Poda Alfa-Beta)
Busca Alfa-Beta atualiza continuamente os valores de alfa e beta, podando
uma sub-árvore quando se sabe que esta será pior do que os valores correntes de alfa e beta
Efetividade do Método depende da ordem em que os nós sucessores são avaliados melhora significativamente a estratégia minimax e suas
variações reduz a complexidade de O(bd) para O(bd/2) no melhor caso
Variações do Método podem levar a complexidade para O((b/log b)d) em média
Em alguns casos podem fazer a diferença entre um novato e um especialista
Jogos com Inserção de Acaso
Alguns Jogos incluem o elemento aleatório (cartas, dados, etc … ) exemplo: gamão
Variação da Estratégia incluir nós aleatórios em adição aos nós Max e Min
Ao invés de um valor Minimax valor esperado - usa a média dos possíveis resultados
Dois valores esperados Expectmin - jogada aleatória depois de Min Expectmax - jogada aleatória depois de Max
Poda Alfa-Beta pode ser utilizada também
Estado da Arte em Jogos
Melhoria do Hardware não dos algoritmos computadores específicos para o jogo de xadrez
Deep Thought - profundidade de 10 a 11 movimentos Deep Blue - profundidade de 14 movimentos Outros jogos
Damas, Othello, Gamão, Go De maneira geral
cálculo da decisão ótima em jogos é ainda intratável maioria dos algoritmos utiliza heurísticas e aproximações
Alternativas ao Minimax/Alfa-beta Meta-reasoning e Planning
Lógica Matemática, Representação, Inferência
Lógica linguagem formal pelo meio da qual podemos expressar
conhecimentos mecanismos de raciocínio nesta linguagem
meios de processar o conhecimento expresso Agentes que Raciocinam Logicamente
Criam representações do mundo Usam um procedimento de inferência para obter novas
representações sobre o mundo Utilizam estas novas representações para deduzir o que fazer
Inferência Mecanismo por meio do qual novos conhecimentos são
gerados
Lógicas
Lógica Proposicional (Cálculo Proposicional) simbolos representam proposições conectivos Booleanos (e, ou , negação, implicação,
equivalência) Lógica de Primeira Ordem (Cálculo de Predicados)
objetos e predicados quantificadores
Lógica Temporal mundo ordenado por um conjunto de pontos ou intervalos
(tempo) - verdades estão associadas a esses pontos Lógica Fuzzy
valor-verdade pode conter valores intermediários entre 0 e 1 baseada na teoria dos conjuntos fuzzy
Caracterização de uma Lógica
Premissa Ontológica diz respeito ao tipo de fenômeno do mundo que pode
modelar o que existe no mundo
Premissa Epistemológico diz respeito aos possíveis estados de conhecimento que
um agente pode ter utilizando vários tipos de lógica o que um agente pode dizer sobre o que existe no
mundoLinguagem Premissa Ontológica Premissa EpistemológicaLógica Proposicional Fatos Verdadeiro, falso ou incerto
Lógica de Primeira Ordem Fatos, objetos e relações Verdadeiro, falso ou incertoLógica Temporal Fatos, objetos, relações e
temposVerdadeiro, falso ou incerto
Teoria Probabilística Fatos Grau de crença entre 0 e 1Lógica Fuzzy Grau de verdade Grau de crença entre 0 e 1
Caracterização de uma Lógica
Definição de uma Lógica Sintaxe, Semântica e Regras de Inferência
Sintaxe define sentenças bem formadas dentro de uma lógica normalmente definida na forma de uma gramática
Semântica define o mapeamento das premissas ontológicas nas
premissas epistemológicas normalmente definida na forma de uma tabela-verdade, ou na
forma de uma expressão analítica derivada desta Regras de Inferência
operadores que definem como podemos gerar novas sentenças a partir de sentenças bem formadas em uma lógica
Semântica Supondo que:
O é o conjunto das sentenças bem formadas E é o conjunto de estados lógicos que podem ser
associados a uma sentença bem formada = {verdadeiro, falso} (ou {true, false})
função de interpretação fi : O E tabela-verdade
Lógica Proposicional
P Q P P Q P Q PQ
False False True False False TrueFalse True True False True TrueTrue False False False True False
True True False True True True
Regras de Inferência
Modus Ponens:
And-Elimination:
And-Introduction:
Or-Introduction:
Double-Negation Elimination:
Resolution:
,
in
...21
nn
...21
,...,2,1
ni
...21
,
Lógica de 1ª Ordem
Lógica Proposicional fatos ou proposições: entidades atômicas e diferenciadas impossível generalizar conhecimentos envolvendo
proposições semelhantes Resultado
número muito alto de fatos e regras sendo processados inviável uso prático mesmo em problemas simples
Lógica de 1a ordem permite uma descrição ontológica mais rica mundo consiste de objetos, isto é, coisas com identidades
individuais objetos podem ter propriedades podem existir relações e funções entre os objetos
Lógica de 1ª Ordem
Sintaxe para uma Lógica de 1a ordem Sentença Sentença_Atômica
| Sentença Conectivo Sentença | Quantificador Variável …. Sentença | Sentença | (Sentença)
SentençaAtômica Predicado (Termo,…) | Termo = Termo Termo Função(Termo, ...) | Constante | Variável
Conectivo | | | Quantificador | Constante A | B | X1 | FHC Variável x | y | a | ……. Predicado Antes _De | Cor | …. Função Mãe | f | g |
Lógicas de Ordem Superior
Lógica de Primeira Ordem permite o uso de quantificadores para objetos mas não para
predicados, relações ou funções entre objetos Lógicas de Ordem Superior
permitiriam o uso de quantificadores também para predicados, relações e funções entre objetos
x,y (x = y) (p p(x) p(y)) possuem maior poder expressivo do que a lógica de 1a ordem dificuldades em encontrar mecanismos de raciocínio para
lógicas de ordem superior sabe-se que problema geral de resolução de lógicas de ordem
superior é indecidível lógicas de ordem superior normalmente não são utilizadas
Sistemas Especialistas
Base de Conhecimento conjunto de representações sobre o mundo (KB)
cada elemento do conjunto é uma sentença sentença: expressão de uma linguagem de representação de
conhecimento background knowledge (conhecimento inicial)
Mecanismos para Inserção de conhecimentos na base de conhecimentos Consulta aos conhecimentos na base de conhecimentos
Mecanismo de Inferência permite, a partir de uma consulta, derivar conhecimentos
que estão armazenados na base de conhecimentos de maneira implícita
Engenharia do ConhecimentoAplicaçã
o
EspecialistaAplicação
ConhecimentoAplicação
Engenheiro doConhecimento
Base deConhecimento
Construindo Bases de Conhecimento
Engenharia do Conhecimento processo de construção de bases de conhecimento
Engenheiro do Conhecimento investiga algum domínio do conhecimento em particular determina quais conceitos são importantes cria uma representação formal para os objetos e relacionamentos
nesse domínio normalmente não é um especialista no domínio em questão, mas
se serve de uma interação com esses especialistas para construir a base de conhecimento
Lógica de 1a ordem ferramenta para a representação do conhecimento e raciocínio não oferece nenhum conselho sobre quais fatos devem ser
expresso nem o vocabulário a ser utilizado
Construindo Bases de Conhecimento
Aquisição do Conhecimento metodologia para a elicitação do conhecimento necessário para
representar um domínio normalmente obtém-se o conhecimento por meio de entrevistas
com especialistas do domínio criação de cenários e estudos de casos
Engenharia de Ontologias metodologia para a escolha da terminologia e representação de
conhecimentos gerais sobre algum domínio em particular, em uma linguagem formal
Engenharia do Conhecimento semelhante, sob certos aspectos, à fase de análise da
engenharia de software, quando se tenta levantar a organização de processos do mundo real e criar uma descrição destes
Mecanismo de Inferência:Encadeamento Direto
procedure FORWARD_CHAIN(KB, p) if there is a sentence in KB that is a renaming of p then return Add p to KB for each (p1 … pn q) in KB such that for some i, UNIFY(pi, p) =
succeeds do FIND_AND_INFER(KB, [p1, ….,pi-1, pi+1, …., pn], q, )
end
procedure FIND_AND_INFER(KB, premises, conclusion, ) if premises = [ ] then FORWARD_CHAIN(KB, SUBST(, conclusion) else for each p’ in KB such that UNIFY(p’, SUBST(, FIRST(premises))) = 2
doFIND_AND_INFER(KB, REST(premises), conclusion, COMPOSE(, 2))
end
Mecanismo de Inferência:Encadeamento Reverso
function BACK_CHAIN(KB, q) returns a set of substitutionsBACK_CHAIN_LIST(KB,[q],{})
function BACK_CHAIN_LIST(KB,qlist,) returns a set of substitutions inputs: KB, a knowledge base; qlist, a list of conjuncts forming a query ( already
applied); , the current substitution local variables: answers, a set of substitutions, initially empty if qlist is empty then return {} q FIRST(qlist) for each qi’ in KB such that i UNIFY(q, qi’) succeeds do
Add COMPOSE(, i) to answers end for each (p1 … pn qi’) in KB such that i UNIFY (q, qi’) succeeds do
answers BACK_CHAIN_LIST(KB,SUBST(i,[p1 … pn ],COMPOSE(, i)) answers
end return the union of BACK_CHAIN_LIST(KB,REST(qlist), ) for each answers
Redes Bayesianas
Valor-Verdade de Proposições Pode ser substituído pela idéia de Crença
Relações entre Crenças Inferência Probabilística (Indutiva)
Relações de Dependências entre Crenças Podem ser representadas em um grafo Propagação probabilística de Crenças segue a regra de
Bayes
BA SP(A/B) = P(B/A)P(A)
P(B)
P(A/B,E) = P(B/A,E)P(A/E) P(B/E)
Redes Bayesianas
Rede Bayesiana grafo orientado, no qual todas as variáveis são associadas
a distribuições de probabilidade discretas representam distribuições de probabilidade em problemas
de tomada de decisão com grande número de variáveis Duas maneiras básicas de construir uma rede
Bayesiana obter a estrutura da rede e os valores de probabilidade de
um especialista; esta estratégia de aplicação é comum em Inteligência Artificial,
visando substituir os Sistemas Especialistas. análise estatística de dados experimentais e do uso de
técnicas de estimação para gerar valores de probabilidade
Redes Bayesianas
Tipos de Inferência em Redes Bayesianas
Causal (da causa para o efeito) P(JohnCalls/Roubo) = 0,86
Diagnóstico (do efeito para a causa) P(Roubo/JohnCalls) = 0,016
Roubo Alarme JohnCalls
Evidência Query
JohnCalls Alarme Roubo
Evidência Query
Tipos de Inferência em Redes Bayesianas
Intercausal (entre causas com um efeito comum) P(Roubo/Alarme) = 0,376 P(Roubo/Alarme Terremoto) = 0,373
Mista (combinando duas ou mais das de cima) P(Alarme/JohnCalls Terremoto) = 0,03 Este é um uso simultâneo de inferência causal e
diagnóstico.
Roubo Alarme Terremoto
Query EvidênciaEvidência
JohnCalls Alarme TerremotoEvidência EvidênciaQuery
Redes Bayesianas
Interessantes do ponto de vista computacional algoritmos de tomada de decisão podem ser
implementados de forma eficiente neste modelo. cada nó de uma rede Bayesiana é associado a uma
variável Reprodução do raciocínio humano indutivo Eficiência no cálculo de probabilidades
Aplicações Típicas Auxílio à tomada de decisão Análise de Risco Análise de Cenários Estatísticos Aplicações em Finanças, Detecção de Falhas, Diagnóstico
Médico Data Mining
Inteligência Computacional
Sistemas e Lógica FuzzyRedes NeuraisComputação Evolutiva
Sistemas e Lógica Fuzzy
Constatação Básica O ser humano é capaz de realizar tomadas de decisão
utilizando-se de termos vagos, tais como: Preço é ALTO Custo é BAIXO Risco é MÉDIO
Pergunta Básica Como isso é possível ?
Teoria dos Conjuntos Fuzzy Nebulosos ? Difusos ? Borrosos ?
Sistemas Fuzzy Lógica Fuzzy
Conjuntos
Ax AyDicotomia
A = { xR 2 x 5 } Universo X = Números Reais
A = { 1, 2, 4, 7, 8 } Universo X = {1,2,3,4,5,6,7,8,9}
Universo x
x
A
yConjunto
Função de Pertinência
A: X {0, 1}
A xif 0A x if 1
A(x)
1 2 3 4 5 6 7 8 9 X
A(x)
1
A = { 1, 2, 4, 7, 8 }
2 5 R
A(x)
1
A = { xR 2 x 5 }
Problema da Dicotomia
Uma semente não constitui uma pilha, nem duas ou três … por outro lado, todos concordaremos que 100 milhões de sementes constituem uma pilha. Qual será então o limite apropriado ? Podemos dizer que 325.647 sementes não constituem uma pilha, mas 325.648 sementes o fazem ?
Borel, 1950
Temperatura “Confortável”
temp temp
temp
Por volta de 20 C
20 C20 C
20 C
Conjunto Fuzzy
Conjunto Fuzzy
Universo x
x
A
yz
A: X [0, 1]
Função de Pertinência
Conjunto FuzzyFunção de Pertinência
A: X [0, 1]
X
A(x)
1
Operações sobre Conjuntos Fuzzy - União
União C = A B A, B e C em X
C(x) = max {A(x), B(x)}, xX
s : [0,1] [0,1] [0,1]
C(x) = A(x) s B(x) xX
2 5 X
A(x)
1
4 7
A B
C = A B
X
A(x)
1
A B
C = A B
Operações sobre Conjuntos Fuzzy - União
s-normas s : [0,1] [0,1] [0,1]
Comutatividade x s y = y s x
Associatividade x s (y s z) = (x s y) s z
Monotonicidade If x y and w z then x s w y s z
Condições de Contorno 1 s x = 1, 0 s x = x
Operações sobre Conjuntos Fuzzy - União
Exemplos União x y = max (y, x)
Soma Probabilística x y = x + y - xy� Soma Limitada x y = min (1, x + y)
Soma Drástica
otherwise 1
0 xify 0 y ifx
y x
Operações sobre Conjuntos Fuzzy - Interseção
X
A(x)
1A B
C = A B
2 5 R
A(x)
1
4 7
C = A B
A B
Interseção C = A B A, B e C em X
C(x) = max {A(x), B(x)}, xX
t : [0,1] [0,1] [0,1]
C(x) = A(x) t B(x) xX
Operações sobre Conjuntos Fuzzy - Interseção
t-normas t : [0,1] [0,1] [0,1]
Comutatividade x t y = y t x
Associatividade x t (y t z) = (x t y) t z
Monotonicidade If x y and w z then x t w y t z
Condições de Contorno 1 t x = x, 0 t x = 0
Operações sobre Conjuntos Fuzzy - Interseção
Exemplos Interseção x y = min (y, x)
Produto Algébrico x y = xy
Produto Limitado x y = min (1, x + y)
Produto Drástico
otherwise 0
1 xify 1 y ifx
y x
Operações sobre Conjuntos Fuzzy - Complemento
Complemento A e em X
(x) = 1 - A(x), xX
C : [0,1] [0,1]
(x) = C (A(x)) xX
A
A
A
A
X
1A
C(1) = 0 and C(0) =1 Condições de ContornoC(x) C(y) if x y, x, y [0,1] MonotonicidadeC(C(x)) = x, x [0,1] Involução
Variáveis Linguísticas Velocidade Variável Linguística
Baixa Média Alta
Conjunto de TermosTermos Linguísticos
X
1Baixa AltaMédia
Regra Semântica
UniversoVariável Base x
(X, T(X), X, G,M)
Granulação da Informação
X
1
X
1
GranulaçãoLarga
(Partição)
GranulaçãoFina
(Partição)
Representação do Conhecimento
•Unidade Básica de Informação é uma proposição do tipo:
O ( atributo ) de ( objeto ) é ( valor )
• Examplo: A temperatura do forno é alta
temperatura (forno) é alta
• Forma Geral (canônica) p: X é A
Exemplo: O Clima está Ameno
Quente
Ameno
Frio
QuenteAmenoFrio
C
1
Fuzzy
QuenteAmenoFrio
C
1
Crisp
Inferência Fuzzy
Distância entrecarros, X (m)
VelocidadeY, km/h
Inferência Fuzzy (Decisão)
Z Redução de Velocidade (Força nos Freios)
X
Y
Distância
Velocidade
Regras Fuzzy
Regra 1 Se a Distância entre dois carros é Pequena e a Velocidade do carro é AltaEntão Freie Forte
Regra 2 Se a Distância entre dois carros é Moderadamente Alta e a Velocidade do carro é AltaEntão Freie Moderadamente Forte
(assumindo-se que o carro da frente se move em velocidade constante
Funções de Pertinência
L: LightM: Moderately HardH: Hard
L M H
0 100Freio %
Z L M H
0 80Velocidade
km/h
Z: ZeroL: LowM: Moderately HighH: High
Z S M L
0 50Distância
km
Z: ZeroS: ShortM: Moderately LongL: Long
Inferência FuzzyS
0 50 km
H
0 80 km/h
H
0 100 %
M
0 50 km
H
0 80 km/h
M
0 100 %
Freio%
Freie mais forte que moderadamente forte
0 100
M H
Controle Fuzzy
e
deu
Base de RegrasEncoder Decoder
Base de Regras
Inferência
NB NB NB NB NB NM NS ZONM NB NB NB NM NS ZO PSNS NB NB NM NS ZO PS PMZO NB NM NS ZO PS PM PBPS NM NS ZO PS PM PB PBPM NS ZO PS PM PB PB PBPB ZO PS PM PB PB PB PB
NM PBNB NS ZO PS PMDEE
Lógica Fuzzy
Valores Fuzzy Podem ser atribuídos ao valor-verdade de uma
proposição Lógica Fuzzy
Valor verdade
1certoincerto indeciso
Redes Neurais
Histórico e Relevância Córtex Humano
100 bilhões de neurônios ( 1011 ) Cada neurônio com 1.000 dendritos Logo: 100.000 bilhões ( 1014 ) de sinapses Sinapse: opera a 100 Hz Velocidade operação: 10.000 bilhões ( 1016 ) con/seg
Aplicações
Neurônio Biológico e Artificial
Dendritos
Sinapses
Axônio
w1
wi
wn
x1
xi
xn
y
n1i ii )xw(y f
pesos Função de ativação
Redes Neurais
xr
xi
xn
xj
yk
Processamento Convencional
Objeto
SensorPré-processamento
Análisee
Modelagem Dados
Projeto Algoritmoe
Implementação
Processamento Neural
Objeto
SensorPré-processamento
Bug
Aprendizagem
Rede Neural
Modelos de Redes Neurais Artificiais
Redes Neurais
Feedforward Feedback
SinglelayerNetworks
MultilayerNetworks
Radial BasisNetworks
CompetitiveNetworks
KohonenSOM
HopfieldNetworks
ARTModels
Classificação de Padrões
Classificador de
Padrões
Normal
Anormal
Agrupamento de Dados - Aproximação Funcional
Clustering Aproximação
y
x
f
f*
Previsão de Séries Temporais - Otimização
y
t
?
t1 t2 t3 tk tk+1
A
BC
D
E
Previsão Otimização
Memória Associativa
MemóriaEndereçada
pelo Conteúdo
Controle de Processos
Processo
Controlador
SaídaEntrada
Perturbações
Aprendizagem Supervisionada de um Neurônio
w1
w2
tempo
1.0
-1.0
0x1
tempo
1.0
-1.0
0x2
Correção
do
Erro
tempo
1.0
-1.0
0
tempo
1.0
-1.0
0
H L C C
y
y
Ligada
Desligada
21 xx Desliga 0.5xxLiga 0.5xx
21
21
“Professor”
Aprendizagem Competitiva
x1
xi
xn
yj
wij
jj 0
j j )wx(w iji
ij
Aprendizagem Hebbiana
x1
x2
wo
w
jiijij yy(k)ww
wij
yjyi
i
jx1
x2
Rede Perceptron Multicamadas
w(1)qi w(2)
ij w(L)jk y(L)
k
Camadade
EntradaCamadas
Intermediárias
Camadade
Saída
1ijij
i
1i
1jij
'j
Lj
uj
Lj
'Lj
yw
w)h(f
]yd)[h(f
lll
llll
Retro-Propagaçãodo Erro
(Backpropagation)
}P,....,1u),d,x{( uu
xu du
Rede de Kohonen
contrário caso )k(w
N(k) j)(i, se (k)],w-(k)[x(k)(k)w1)(kw
ij
ijijij
SOM - Self Organizing Maps
x1
x2
xn
(i,j)
Computação Evolutiva
Computação Evolutiva Ferramenta adaptativa para a solução de problemas Modelo computacional de processos evolutivos naturais Elemento gerador de criatividade
ferramenta de design artístico ou de engenharia Objetivos
criação, na forma de programas computacionais, de novas formas de organização (designs)
sistemas inteligentes (inteligência artificial) formas de vida (vida artificial)
Habilidades Envolvidas auto-replicação, aprendizado, adaptação, controle do meio,
representação e processamento de informação altamente eficientes
Evolução
Evolução método de busca (em paralelo) de soluções dentre um
número muito grande de candidatos, sujeitos a condições de adaptação variáveis
Regras Básicas as espécies evoluem aleatoriamente (via operadores de
mutação, recombinação e outros), estando sujeitas à seleção natural sob recursos limitados.
os indivíduos mais adaptados sobrevivem e se reproduzem, propagando seu material genético às próximas gerações
indivíduos menos dotados perecem e não participam das próximas gerações
Evolução
Bases Biológicas Genética e Hereditariedade Teoria da Evolução e Seleção Natural (Darwin)
Terminologia Biológica cromossomo genes recombinação (crossover) mutação genótipo fenótipo
Algoritmos Genéticos
Características Principais GA's trabalham com a codificação de um conjunto de
parâmetros, e não com os próprios parâmetros GA's fazem busca sobre uma população de pontos e
não sobre um único ponto GA's utilizam funções de custo (funções objetivo), e
não derivadas ou outro tipo de conhecimento auxiliar GA's utilizam regras de transição probabilística, e
não regras determinísticas Algoritmo Genético Clássico
Codificação binária, Reprodução e Seleção Natural via algoritmo Roulette Wheel, Crossover Simples, Mutação
Algoritmos Genéticos
Roullete Wheel Probabilidade de seleção de um cromossomo é
diretamente proporcional a seu valor da função de fitness.
Exemplo
N Cromossomo Fitness Graus1 0001100101010 6.0 1802 0101001010101 3.0 903 1011110100101 1.5 454 1010010101001 1.5 45
0
1
0.25
0.75
0.5
1
23
4
Algoritmos Genéticos
POPULAÇÃO INICIAL
011001010100001 110011010010010010100100100100101000101001001010010100101001001001000101000101101010101001001010010111010101011111010101001010100010100
001010010111010110011010010010 010100100100100011001010100001 010010100101001 001001000101000 011001010100001 001010010111010 101011111010101001010100010100
00101 0010111010 11001 1010010010 0101001001 00100 0110010101 00001 010 010100101001 001 001000101000 01100101 0100001 00101001 0111010 10 1011111010101 00 1010100010100
00101 1010010010 11001 0010111010 0101001001 00001 0110010101 00100 010 001000101000 001 010100101001 01100101 0111010 00101001 0100001 10 1010100010100 00 1011111010101
001011010010010 110010010111010 010100100100001 011001010100100 010001000101000 001010100101001 011001010111010 001010010100001 101010100010100 001011111010101
001011010010010 110000010111010 010100100100001 011001010101100 010001000101000 001010100101001 011001010111010 001110010100001 101010100010100 001011111010001
PRÓXIMA GERAÇÃO
Seleção de pares via Roulette Wheel
Crossover
Mutação
Determinação dos pontos de
Crossover
Algoritmos Genéticos
Problemas com o algoritmo clássico Permite a perda de indivíduo ótimo Posição do gene influi na probabilidade de realizar crossover Dificuldades quando os parâmetros são números reais
Algumas estratégias de solução Codificação em strings de números reais Crossover Uniforme Mecanismos alternativos de seleção
Algoritmo Genético Modificado Geração de Sub-populações por meio de operações sobre
membros da população inicial e das próprias sub-populações Reprodução e re-classificação da população intermediária Seleção para nova geração
Algoritmos Genéticos
POPULAÇÃO INICIAL
SUB-POPULAÇÕES
SELE
ÇÃ
O
PRÓXIMA GERAÇÃO
POPULAÇÃO INTERMEDIÁRIA
MELHOR INDIVÍDUO
OPE
RA
ÇÕ
ES
REP
RO
DU
ÇÃ
O
Algoritmos Genéticos
Exemplos de Operações Crossover Simples entre indivíduos aleatórios (Roulette Wheel) Crossover Simples entre indivíduo aleatório (Roulette Wheel) e
melhor indivíduo Crossover Uniforme entre indivíduos aleatórios (Roulette Wheel) Crossover Uniforme entre indivíduo aleatório (Roulette Wheel) e
melhor indivíduo Mutação de Indivíduos Aleatórios (Roulette Wheel) da População
Inicial e/ou Sub-populações Mutação aleatória Mutação indutiva (somente p/ codificação real)
Mutação do Melhor indivíduo Mutação aleatória Mutação indutiva (somente p/ codificação real)
Algoritmos Genéticos
Exemplo de Mecanismos de Seleção Seleção Elitista – são selecionados os N melhores
indivíduos da população intermediária Seleção Aleatória – são selecionados aleatoriamente N
indivíduos da população intermediária Salvacionista – seleciona-se o melhor indivíduo e os outros
aleatoriamente Não-salvacionista – seleciona aleatoriamente todos os
indivíduos Distribuição uniforme – todos têm a mesma chance Distribuição proporcional
roulette wheel por fitness roulette wheel por fitness com sigma scaling seleção de Boltzmann seleção por rank
Algoritmos Genéticos
Outros Mecanismos de Seleção Seleção por diversidade – são selecionados os
indivíduos mais diversos na população intermediária, a partir do melhor indivíduo
Seleção bi-classista – são selecionados o P% melhores indivíduos e os (100-P)% piores indivíduos
Seleção por Torneio – dois indivíduos são escolhidos aleatoriamente. Um número aleatório r entre 0 e 1 é gerado. Se r < k (parâmetro) o melhor dos indivíduos é escolhido. Senão o outro é escolhido.
Seleção Steady-State – a população original é mantida, com a excessão de alguns poucos indivíduos menos adaptados.
Algoritmos Genéticos
Codificação Determinação da estrutura dos cromossomos
como um cromossomo representa uma (ou parte da) solução do problema
Determinação da função de avaliação Etapa crítica no desenvolvimento de soluções de
problemas utilizando GA’s Características
Codificação deve ser simples e representar a solução do problema como um todo
Modificação de cromossomos por crossover/mutação deve gerar novos indivíduos válidos
Algoritmos Genéticos
Problemas a serem evitados Codificações em que novos cromossomos gerados por
crossover/mutação possam ser inválidos Codificações em que a medida da função de avaliação seja
dificultada Abordagens
Abordagem Michigan – a população como um todo é a solução para o problema
Abordagem Pittsburgh – cada elemento da população corresponde a uma solução do problema
Variações GA’s com população variável mGA's - Messy Genetic Algorithms
Sistemas Classificadores (Classifier Systems)
Sistemas Classificadores Sistemas baseados em regras, trabalhando massivamente em
paralelo e com passagem de mensagens, capazes de aprender utilizando as técnicas de credit assignment (algoritmo Bucket Brigade) e rule discovery (algoritmo genético).
Operam em ambientes com as seguintes características: Eventos novos e sucessivos, acompanhados de largas doses de
ruído e dados irrelevantes Necessidade de agir de maneira contínua e em tempo real Metas implícitas ou inexatas Recompensas esparsas, obtidas depois de ações longas
Criados p/ absorver novas informações continuamente, Avaliando conjuntos de hipóteses competindo entre si, sem
prejudicar as capacidades já adquiridas.
Sistemas Classificadores
Entrada do Ambiente
Saída para o Ambiente
Discovery Genetic Algrorithm
Credit Assignment Bucket Brigade
Performance System
Sistemas Classificadores
Interface de Entrada
Lista de Mensagens
Lista Classificadores
Interface de Saída
AMBIENTE
Programação Genética
O que define a programação genética? é uma tentativa de tratar uma das questões centrais em
ciência da computação:"Como os computadores podem aprender a resolver problemas
sem serem explicitamente programados para tal? Ou seja, como os computadores podem fazer o que deve ser feito
sem serem orientados exatamente para fazerem isto?" A maior barreira para se atingir este objetivo
está na característica determinística da grande maioria dos ramos de pesquisa em inteligência artificial
propriedades principais que um programa deve apresentar para ser um candidato à solução de problemas de interesse prático são: correção, consistência, motivação lógica, precisão, ordenação, parcimônia, definibilidade
a programação genética, entretanto, inverte esta lógica
Programação Genética
Programação genética evolução de programas de computador usando analogias
com mecanismos utilizados pela evolução biológica natural. Aspecto Distintivo
embora demande aperfeiçoamentos, muitos problemas práticos já têm sido resolvidos com programação genética
Programa Computacional seqüência de aplicações de funções a argumentos
paradigma funcional Implementação de Programação Genética
imediata, quando associada a linguagens de programação funcionais, e.g. LISP
Programação Genética
Programas codificados por meio de:
listas, filas, árvores e grafos cromossomos “não lineares” operações sobre estruturas
*
1 2
3 4
10
IF
>
TIME
+
+
B
C
A
Y
Z
X
+
Z C
YX
+
BA
Algoritmos Meméticos
Algoritmos Genéticos Podem encontrar boas soluções no âmbito global, mas
têm dificuldades em realizar uma otimização local Algoritmos Meméticos
Algoritmos genéticos modificados, que além dos processos de crossover e mutação, promovem uma busca local em cada indivíduo, após a aplicação dos operadores padrão
Podem ser bastante efetivos em problemas de otimização mais complexos
Novas Tendências em Sistemas Inteligentes
Agentes e Sistemas Multi-AgentesVida ArtificialAutômatos CelularesInteligência Coletiva (Swarm Intelligence)Colônias de InsetosEngenharia ImunológicaSistemas EndócrinosSemiótica ComputacionalCognição Artificial
Agentes Inteligentes
Agentes Inteligentes entidades de hardware ou de software que nos auxiliam a
resolver problemas, atuando de forma autônoma em ambientes complexos
Aplicações gerenciamento de tráfego e serviços de transporte; controle de redes de comunicação e de computadores; controle de sistemas de potência; gerenciamento de transações em bancos, comércio; monitoração, supervisão e controle de processos
industriais e sistemas de manufatura; atendimento e serviços médicos, etc...
Definição e Características
Agente qualquer entidade que perceba um ambiente através de
sensores, execute tarefas de processamento de informações e de conhecimento e atue sobre o ambiente através de atuadores (Russell & Norvig 1995).
Ambiente
Percepção
Atuação
Sensores
Atuadores
Agente
Características Desejáveis
Direcionabilidade capaz de receber diretrizes de usuários e outros agentes
Autonomia comportamento determinado pela própia experiência
Persistência capaz de operar por longos períodos sem atenção
Confiabilidade desempenho de acordo com expectativas
Antecipação antecipar necessidades, resultados, informações,
aprendizagem
Características Desejáveis
Pró-atividade (Iniciativa) capaz de iniciar atividades e comportamentos buscando
a solução de problemas por conta própria Cooperação
entre sistemas e outros agentes; resolução de conflitos; capacidade de negociação, etc.
Flexibilidade estruturas heterogêneas de agentes e fontes de
informação Adaptação
capacidade de modificar seus objetivos, adotar novas prioridades, desenvolver novas tarefas, aprendizagem
Estruturas de Agentes
Centralizadas Agentes Mecânicos Agentes Reativos
Agentes ReflexivosAgentes DinâmicosAgentes Orientados
por MetasAgentes Orientados
por Utilidade Agentes Emocionais
Agentes Comunicativos Agentes Semióticos
Distribuídas Agentes Uniformes Agentes Especializados
Agentes Interface Agentes Tarefa Agentes Informação
Agentes Especializáveis
Sistemas Multi-Agentes podem atuar como
agentes em um nível hierárquico superior
Sistemas Multiagentes e Sociedades de Agentes
Coleção de agentes x Sociedade de Agentes interação entre agentes
Protocolos de comunicação mecanismo para trocar e entender mensagens
Protocolos de interação mecanismo para negociar e cooperar
Características de ambientes multiagentes Infraestrutura especificando protocolos de comunicação
e interação Tipicamente aberto, sem elemento central Agentes autônomos, distribuídos, competitivos (self-
interested) ou cooperativos
Coordenação de Sistemas Multi-Agentes
Coordenação
Cooperação Competição
Planejamento Negociação
Centralizado Distribuído
sem antagonismo com antagonismo
Vida Artificial
Definição Genérica método de geração, a partir de componentes interativos,
simples e "microscópicos", de comportamentos em nível "macroscópico" que podem ser interpretados como análogos a processos de vida
Abordagem Reducionista e Sintética explicação de comportamentos de alto nível recorrendo a
causas de baixo nível construção de sistemas mais complexos a partir de
elementos mais simples, possivelmente interdependentes Reducionismo
entendimento de um sistema em estudo em termos das propriedades de suas partes e suas interações
Vida Artificial
Vida Natural não existe uma definição universalmente reconhecida de
vida consenso de que a vida é um conjunto de atributos tais
como: auto-organização, adaptação, emergência, autonomia,
desenvolvimento, crescimento, reprodução, evolução, adaptação e metabolismo
presença de alguns destes atributos (não todos) já é tido como suficiente para se implementar processos de vida.
alguns cientistas acreditam que o conceito de vida pode variar de espécie para espécie, não aceitando, portanto, uma definição única e fechada.
Vida Artificial
Pioneiros da vida artificial 1950 (von Neumann): autômatos celulares; estudo dos
fenômenos de auto-organização e reprodução. 1952 (Turing): publicação de um trabalho sobre morfogenia
(desenvolvimento de formas biológicas). Os resultados deste trabalho continuam sendo explorados até hoje.
Após os primeiros desenvolvimentos parcialmente "esquecidos” foco de atenção : inteligência artificial falta da capacidade computacional necessária para simular os
fenômenos de vida artificial. No início dos anos 80
Artificial Life - termo cunhado em 1987 por Christopher Langton
Autômatos Celulares
Célula
Estado depende dosestados das célulasvizinhas
Inteligência Coletiva(Swarm Intelligence)
Swarm Intelligence: “Qualquer tentativa de se desenvolver algoritmos ou dispositivos distribuídos de resolução de problemas inspirados no comportamento coletivo de colônias de insetos sociais ou outras sociedades animais” [Bonabeau, Dorigo, and Theraulaz, 1999]
Colônias de Insetos Sociais Podem desenvolver
sistemas complexos inteligentes flexíveis e confiáveis A partir de elementos
Estereotipados, não-inteligentes e simples Cada indivíduo de uma sociedade
Segue regras simples, com comunicação local (trilhas de odores, sons, toques), de baixa demanda computacional
Estrutura Global do Sistema Emerge a partir dos comportamentos individuais
Swarm Intelligence
Swarm Intelligence
Colônias de Insetos Colônias de Insetos Sociais (Formigas, Cupins, Abelhas,
Vespas, etc.) Comportamentos complexos Flexíveis e robustos Capacidade da colônia transcende a do inseto
individualmente Comportamento do Inseto depende do de outros iguais a ele
Como esse comportamento inteligente de grupo surge ? Auto-organização Interações Locais
Inseto a inseto Inseto com o ambiente
Especialização Na morfologia do inseto (soldados, rainhas, trabalhadoras, etc.) No comportamento do inseto (insetos iguais, mas com tarefas
distintas – podem mudar de tarefa dependendo-se do contexto Por idade (mais velhos são mais agressivos)
Colônias de Insetos
Alguns resultados práticos Algoritmos de Otimização por Colônias de Formigas
Extremamente bem-sucedidos na otimização de uma grande variedade de problemas combinatoriais de otimização de grande dificuldade
Algumas das melhores soluções para alguns problemas conhecidos
Controle de Sistemas de Telecomunicações Baseados em Formigas
Soluções extremamente flexíveis Melhor solução para alguns problemas
Simulação de Colônia de Formigas
Robótica baseada em Swarms
Múltiplos Robôs Vantagens
significativas em relação a robôs individuais
Sensoreamento e ação em múltiplos lugares
Reconfiguração dependente da tarefa
Divisão de trabalho eficiente
Robustez devido à redundância
Auto-organização e emergência de comportamento
Engenharia Imunológica
Engenharia Imunológica Engenharia + Imunologia
Motivação A cooperação e competição entre muitos indivíduos
(agentes) simples resulta em sistemas complexos. Aplicação do conceito de “swarm-intelligence”
aproveitando-se de conceitos da imunologia Exemplos
linfócitos (sistema imunológico), etc.
Engenharia Imunológica
Engenharia convencional especificação detalhada do comportamento preciso de
cada componente do sistema (procedimentos passo-a-passo).
Engenharia imunológica especificação geral, ou aproximada, de alguns aspectos
do comportamento global do sistema, como uma medida de desempenho ou função de adaptabilidade (afinidade)
extração de informações contidas no próprio problema para obtenção de soluções dedicadas
Aplicações potenciais da engenharia imunológica: reconhecimento de padrões, otimização, aproximação de
funções, controle, etc.
Seleção Clonal
Seleção Clonal x Algoritmo Genético
Seleção Clonal x Algoritmo Genético
Teoria da Rede Imunológica
Rede de moléculas e células que se reconhecem (possuem atividade) mesmo na ausência de estímulos externos
Abordagem sistêmica que fornece uma medida mais precisa de comportamentos emergentes como aprendizagem e memória, tolerância ao próprio, dimensão e diversidade populacional
p1
i1
p2
i2
p3
i3
Ag(epítopo)
Dinâmica do sistema imunológico
Estímulo externo
Imageminterna
Conjunto anti-idiotípico
Reconhecimento
Sistemas de Partículas e Fractais
Objetivo Representar a complexidade dos objetos do mundo real,
principalmente em aplicações de computação gráfica e realidade virtual
Simulação e Visualização de Dados Complexos Aplicações
Utilizado para modelagem e rendering : fogo, água, explosões, fumaça, terrenos, explosões, nuvens, grama, ...
Estão intimamente ligados com animação Movimentos de cobras e vermes
A sua utilização em um ambiente virtual contribui para que esses fenômenos (e outros) possam ser visualizados com maior realismo.
Aplicação em sistemas inteligentes: Vida Artificial
Sistemas de Partículas Um sistema de partículas é definido por:
Uma coleção de partículas que se desenvolvem ao longo do tempo.
Possuem vida própria Podem: gerar novas partículas, ganhar novos atributos,
morrer, se mover. Partículas individuais:
Movem-se no espaço 3D Trocam seus atributos
Parâmetros que podem ser utilizados: Posição inicial Velocidade e direção inicial Tamanho inicial Cor inicial Transparência inicial Forma e tempo de vida Utilização dos parâmetros ao longo do tempo.
Geometria Fractal
Fractal (Benoit Mandelbrot) Modelagem de elementos com
características irregulares Caracterícticas:
Porções menores representam exatamente porções maiores
Exemplo: Fractal representado por uma figura
geométrica inicial (segmento de reta) E uma regra de subdivisão (divide em 4
partes com inclinação em duas delas)
Sistemas Endócrinos
Glândulas Endócrinas Liberam hormônios que regulam parâmetros
importantes do corpo humano Tensão muscular, diminuição das pupilas, controle de
temperatura Emoções
Homeostase Complexo Sistema de Controle
Mesmos hormônios são utilizados simultaneamente para diversas finalidades
Função de Auto-preservação Aplicações múltiplas
Sistemas EndócrinosProjeto WAMOEBA-2
Sistema Endócrino Artificial Utilizado para o controle
de diversos parâmetros de controle em robôs
Projeto WAMOEBA-2 Função de Homeostase
Sistemas Endócrinos Projeto WAMOEBA 2
Semiótica Computacional
O que tem a haver Inteligência com Semiótica ? Semiótica é o estudo dos processos de significação
como signos são criados como signos são usados como signos “significam”
uma das vertentes mais recentes no estudo dos sistemas inteligentes, identifica a capacidade de processar signos como a fonte da inteligência, em todas as classes de sistemas
Ou seja, um sistema é inteligente porque processa signos sua inteligência dependerá da quantidade e dos tipos de signos
que está apto a processar estudar semiótica é a chave para o entendimento dos sistemas
inteligentes, e a criação de sistemas que sejam mais inteligentes
Semiótica Computacional
Modelos de Signos
Significante
Significado
Plano de Expressão
Plano de Conteúdo
Signo (Representação)
Objeto (Referente)
Interpretante (Efeito do Signo)
Modelo Diádico (Estruturalismo) Modelo Triádico (Peirceano)
Pospelov e o Controle Situacional Semiótico
conceito
nome imagem
objeto
ação
MUNDO MENTAL
MUNDO REAL
Pendergraft e os Autognomes
Módulos Auto-Organizáveis Operando sobre conhecimentos
Monádico, diádico e triádico Múltiplos níveis Hierárquicos
Enclaves Abdução
Geração de Conhecimento Dedução
Extração de Conhecimento Indução
Teste de Conhecimento
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
T
D
M
Pragmático
Conceitual
Perceptivo
Lógico
Ético
Estético
Estrutura de um Enclave
INDUÇÃO DEDUÇÃO
ABDUÇÃO
CONHECIMENTO
Desempenho
REALIDADE
Situação Externa
Correções
Situação Interna Investigação
Ações Resultados
Atos Potenciais
Semiótica ComputacionalOutras Abordagens
Semiose Multiresolucional Albus & Meystel
Semiótica Organizacional Stamper e Liu
Sistemas de Processamento Cognitivo Semiótico Rieger
Agentes Semióticos Rocha & Joslyn
Sistemas Intelectuais Perlovsky
Abordagem Ecológica Semiótica Prueitt
Abordagem Semiônica
Intérprete(Agente Semiônico)
Signo(Signlet)
Interpretante(Signlet)
Objeto
R1
(e.g. simbólica)R2
(e.g. icônica)
Abordagem SemiônicaSNToolkit
Semiótica Computacional:Aplicações
Modelagem Organizacional Modelagem e simulação de empresas Reengenharia Virtual
Modelagem de Sistemas Flexíveis de Manufatura Plantas industriais com necessidades de reconfiguração
dinâmica Modelagem de Sistemas Híbridos de Inteligência
Computacional Sistemas Fuzzy, Redes Neurais, Computação Evolutiva
Modelagem de Sistemas de Controle de Robôs Autônomos Mentes artificiais
Cognição Artificial
Estudo dos Processos Cognitivos Ciência Cognitiva Simulação Computacional de Processos Cognitivos
SOAR ACT-R
Conceito de Mente em Filosofia Inteligência, Criatividade, Memória, Atenção,
Aprendizagem, Consciência Auto-organização, emergência, complexidade
Mentes Artificiais Modelos Computacionais de Mentes
Daniel Dennet – Tipos de Mentes Sistemas de Controle de Agentes Inteligentes
Robótica Evolutiva
Cognição Artificial
Evolução da Linguagem Abordagens Computacionais
Resolvendo o Symbol Grounding Problem Paul Vogt, Ron Sun, Angelo Cangelosi, Luc Steels
Consciência em Agentes de Software Stan Franklin Ricardo Manzotti Benny Shanon
Edital do DARPA BAA02-21 Tecnologias de Processamento Cognitivo de
Informações
CONCLUSÃO
Objetivo Principal do Estudo dos Sistemas Inteligentes
Obter soluções eficientes para classes de problemas que não são passíveis de serem resolvidos por métodos computacionais convencionais Problemas para os quais não existem soluções
algorítmicas, sendo necessário pesquisar (buscar) a solução.
Problemas que não podem ser modelados matematicamente por métodos clássicos porque envolvem considerações difíceis de serem tratadas, e.g., conhecimento prático e intuitivo, incerteza, etc.
Problemas cujo domínio de aplicação encontra-se em constante mudança, ou é originalmente desconhecido, demandando algum tipo de aprendizagem pelo sistema.
Compreensão de linguagem, interpretação de imagens, de dados, robótica autônoma, etc.
Aplicações Práticas
Diagnóstico de Falhas Detecção de Anormalidades Apoio Operacional Configuração e
Reconfiguração Análise de Processos Planejamento e
Programação de Produção Sequenciamento e
Sincronização de Produção Movimentação de Materiais
e Controle de Estoques
Controle de Qualidade Controle de Processos e
Automação da Manufatura Planejamento de
Processos de Fabricação Simulação de Sistemas Modelagem Qualitativa de
Sistemas e Processos Sistemas de Suporte à
Tomada de Decisão Logística
Referências Bibliográficas Mais Importantes
Artificial Intelligence: A Modern Approach S. Russel & P. Norvig, Prentice Hall, 1995
Introduction to Fuzzy Sets: Analysis and Design W. Pedrycz & F. Gomide, MIT Press, 1998
Neural Networks: A Comprehensive Foundation S. Haykin, Prentice Hall, 1994
Evolutionary Computation 1: Basic Algorithms and Operators T. Bäck, D.B. Fogel & Z. Michalewicz (eds.) Inst. of Physics Publishing,
2000 Evolutionary Computation 2: Advanced Algorithms and
Operators T. Bäck, D.B. Fogel & Z. Michalewicz (eds.) Inst. of Physics Publishing,
2000 Multiagent Systems -A Modern Approach to Distributed
Artificial Intelligence, G. Weiss (Ed.), MIT Press, Cambridge, USA, 1999.