Professional Documents
Culture Documents
Inteligentes
DCA-FEEC-UNICAMP
Sistemas Inteligentes
Sistemas Inteligentes
sistemas que exibem um comportamento considerado
inteligente
Definies na Literatura
existem em profuso, desde as mais ingnuas, at as mais
elaboradas e detalhadas
polmicas
incompletas
Palavra-Chave
Inteligncia
O que isso ?
Inteligncia
O que inteligncia ?
Envolve
conhecimento
raciocnio
pensamento
idias
Inteligncia
Sabemos o que inteligncia ?
Podemos avaliar se algum sistema em particular (natural ou
artificial) ou no inteligente
Podemos determinar diversos atributos para um sistema que
consideremos inteligente
No temos uma definio geral e completa para o que seja
inteligncia
Inteligncia
Quem se interessa por estud-la ?
Filsofos - para entend-la
Educadores - para desenvolv-la em seres humanos
Engenheiros - para criar sistemas que a possuam
de compostos materiais
em compostos orgnicos
celular
em animais
no homem
Paradigmas e Inteligncia
Dois hemisfrios do crebro humano
especializados em diferentes formas de tratar problemas
utilizando dois tipos distintos de paradigmas
Sequencial ou Lgico: baseado em uma abordagem de soluo
de problemas que considera somente uma pequena poro das
informaes disponveis em um dado instante de tempo qualquer
Paralelo ou Gestalt: processa informao de forma global, ou
tudo de uma vez. Percepo, por exemplo
Inteligncia Artificial
Inteligncia Artificial
Termo cunhado em um workshop no Dartmouth College no
vero de 1956 por John MacCarthy para o estudo da inteligncia
Evoluo Histrica
ciclos de altos e baixos, principalmente devido a promessas no
cumpridas e expectativas exageradas em funo dos primeiros
resultados obtidos
fracassos levaram a uma viso mais realista e madura,
permitindo um ressurgimento a partir da dcada de 80
Inteligncia Artificial e
Sistemas Inteligentes
Problemas nos Mtodos da Inteligncia Artificial
Frame Problem: impossibilidade de se manter um modelo
simblico do mundo em ambientes complicados evoluindo em
tempo real
Symbol-Grounding Problem: diz respeito ao vazio da
representao simblica em termos do que acontece realmente
no ambiente, pois os smbolos somente apoiam-se uns nos
outros
Frame-of-Reference Problem: diz respeito s diferenas
entre os significados dos smbolos utilizados pelo sistema e
pelos designers do sistema na elicitao do conhecimento
Situatedness: diz respeito ao mundo em constante mudana
Sistemas Inteligentes
Campo da cincia e engenharia de computao que
procura estudar e reproduzir por meios computacionais
sistemas com caractersticas normalmente atribudas
inteligncia humana, tais como:
Solues de Problemas
Lgica
Mtodos de Raciocnio e Pensamento
Representao e Processamento de Conhecimento
Tomada de Decises
Aprendizagem
Percepo e Viso
Compreenso de Linguagem (e signos de um modo geral)
Emoes e Julgamento de Valores
O ABC da Inteligncia
Inteligncia
Inteligncia
Artificial
Biolgica
Inteligncia
Computacional
Inteligncia Computacional
Sistemas e
Lgica Fuzzy
Lgica
Fuzzy
Redes
Neurais
Computao
Evolutiva
Inteligncia
Artificial
Sistemas
Cognitivos
Redes
Neurais
Semitica
Computacional
Inteligncia Computacional
Computao
Evolutiva e
Probabilstica
Sistemas Inteligentes
Evoluo Histrica
Dcada de 40: Ciberntica (Wiener)
Dcada de 50: Estratgias de Busca e Outras
(Shannon, Turing) 1956: Dartmouth Summer Research
Project on Artificial Intelligence
Dcada de 60: LISP, Robtica,Viso, Sistemas
Especialistas, Evoluo, Fuzzy
Dcada de 70: Representao do Conhecimento,
Algoritmos Genticos
Dcada de 80: Aprendizagem, Redes Neurais,
Indstria da IA
Dcada de 90: Inteligncia Computacional, Agentes,
Semitica, Vida Artificial, Swarm Intelligence
Panorama dos
Sistemas Inteligentes
Sistemas Inteligentes
Inteligncia
Artificial Clssica
Inteligncia
Computacional
Busca em Grafos
Lgica Fuzzy
Representao do
Conhecimento
Lgica e Inferncia
Sistemas
Especialistas
LISP e Prolog
Novos Paradigmas
Sistemas
Multi-Agentes
Semitica
Computacional
Redes Neurais
Computao com
Palavras
Computao
Evolutiva
Computao com
Emoes
reas Clssicas da
Inteligncia Artificial
Sistemas
Especialistas
KBS
Processamento
de Linguagem
Natural
Apredizagem
IA
Base
de
Dados
Estratgias de Busca
Representao de Conhecimento
Programao
Automtica
Lgica
Soluo
de
Problemas
Computao Simblica
Robtica/
Sistemas de
Sensoriamento
Viso/
Reconhecimento
de Imagens
Representao e
Soluo de Problemas
Problema
abstrado na forma de:
conjunto de estados
aes possveis: transies entre estados
grafo
Meta
definio das condies que geraro satisfao do problema
Formulao do Problema
escolha dos estados e aes a serem considerados
define o grau de detalhamento na abordagem do problema
Representao e
Soluo de Problemas
Soluo
sequncia de aes que levaro satisfao do problema
encontrada por meio de um mecanismo de busca
uma vez encontrada, leva o sistema fase de execuo
um problema pode ter mais de uma soluo
Algoritmo de Busca
algoritmo que, a partir do estado inicial, percorre os ns do
grafo que representa o problema, buscando por um caminho ou
n que represente a soluo do problema
Questes
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 Bsicos de Busca
no informados (busca cega)
depth-first, breadth-first, non-deterministic
informados
hill-climbing, beam search, best-first
heursticos
A, A* e variaes
Aplicaes
KBS, sequenciamento de produo, planejamento estratgico,
logstica, etc
rvores de Busca:
Nomenclatura
Raiz
Arco
Caminho parcial
Pai
ancestral
Filho
Filho
descendente
Folha
Fator de ramificao: b
Profundidade:
d
Total caminhos:
bd
Meta
Representa o
caminho
S-D
S
D
A
A
B
G
5
3
4
E
F
G
Representa o
caminho
S-D-A-B-E-F-G
Busca em Profundidade
(Depth-first Search)
S
D
A
A
B
G
5
3
4
E
F
G
Busca em Amplitude
(Breadth-first Search)
S
D
A
A
B
G
5
3
4
E
F
G
Busca No-Determinstica
S
D
A
A
B
G
5
3
4
E
F
G
Heurstica Admissvel
funo h nunca deve superestimar o custo de se chegar meta
2
A
3
A
12
4
A
12
13
13(15)
0+12=12
A
10
10+5=15
10
E
30+5=35
10
16
16+2=18
C
D
H
10 20+0=20 8
8
F
30+0=30
15
8+5=13
G
B
10
20+5=25
J
24+0=24
15
13
G
13
H
18
15(15)
15
15(24) A
20(24)
I
24+0=24
G 24()
K
24+5=29
24
15
15
24
B
25
20()
20 D
Questes
Como encontrar o suposto melhor movimento ?
Como agir quando o tempo de deciso limitado ?
Como agir quando o jogo inclui algum tipo de
no-determinismo ?
Estratgia Minimax
Max e Min
dois jogadores
Problema de Busca
estado inicial, conjunto de operadores, teste de terminao,
estados terminais e funo de utilidade
Estratgia
conjunto de movimentos que levem a um n terminal,
independentemente das jogadas adversrias
inclui o movimento correto de Max para qualquer possvel
movimento de Min
Estratgia Minimax
tenta maximizar a funo de utilidade considerando que o
oponente far de tudo para minimiz-la a seu turno
Estratgia Minimax
Algoritmo
Gere toda a rvore do jogo, at os ns terminais
Aplique a funo de utilidade para cada n terminal para
calcular seu valor
Use a utilidade dos ns terminais para calcular a utilidade dos
ns um nvel acima na rvore de busca
caso o nvel de cima seja jogada de Min escolha a mnima utilidade
caso o nvel de cima seja jogada de Max escolha a mxima
utilidade
Variaes da
Estratgia Minimax
Estratgia Minimax
infactvel, em seu formato original
busca at os ns terminais impossvel em casos prticos
Possvel Variao
utilizar uma funo de avaliao ao invs de uma funo de
utilidade
teste terminal pode ser substitudo por um teste de trmino
antecipado de busca, com profundidade arbitrria
Consequncia
decises imperfeitas
factibilidade de implementao
Dificuldades
encontrar uma funo de avaliao adequada
Alfa-Beta Pruning
(Poda Alfa-Beta)
Criao de Toda a rvore de Busca
desnecessria e consumidora de recursos
Poda
corte de parte da rvore de busca, evitando sua criao
Estratgia Minimax
busca em profundidade
Alfa
valor da melhor escolha em um ponto do programa para uma
deciso de Max
Beta
valor da melhor escolha (menor valor) em um ponto de
programa para uma deciso 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 Mtodo
depende da ordem em que os ns sucessores so avaliados
melhora significativamente a estratgia minimax e suas
variaes
reduz a complexidade de O(bd) para O(bd/2) no melhor caso
Variaes do Mtodo
podem levar a complexidade para O((b/log b)d) em mdia
Em alguns casos
podem fazer a diferena entre um novato e um especialista
Variao da Estratgia
incluir ns aleatrios em adio aos ns Max e Min
Poda Alfa-Beta
pode ser utilizada tambm
De maneira geral
clculo da deciso tima em jogos ainda intratvel
maioria dos algoritmos utiliza heursticas e aproximaes
Alternativas ao Minimax/Alfa-beta
Meta-reasoning e Planning
Lgica Matemtica,
Representao, Inferncia
Lgica
linguagem formal pelo meio da qual podemos expressar
conhecimentos
mecanismos de raciocnio nesta linguagem
meios de processar o conhecimento expresso
Inferncia
Mecanismo por meio do qual novos conhecimentos so gerados
Lgicas
Lgica Proposicional (Clculo Proposicional)
simbolos representam proposies
conectivos Booleanos (e, ou , negao, implicao,
equivalncia)
Lgica Temporal
mundo ordenado por um conjunto de pontos ou intervalos
(tempo) - verdades esto associadas a esses pontos
Lgica Fuzzy
valor-verdade pode conter valores intermedirios entre 0 e 1
baseada na teoria dos conjuntos fuzzy
Premissa Epistemolgico
diz respeito aos possveis estados de conhecimento que um
agente pode ter utilizando vrios tipos de lgica
o que um agente pode dizer sobre o que existe no mundo
Linguagem
Premissa Ontolgica
Lgica Proposicional
Fatos
Lgica de Primeira Ordem Fatos, objetos e relaes
Lgica Temporal
Fatos, objetos, relaes e
tempos
Teoria Probabilstica
Fatos
Lgica Fuzzy
Grau de verdade
Premissa Epistemolgica
Verdadeiro, falso ou incerto
Verdadeiro, falso ou incerto
Verdadeiro, falso ou incerto
Grau de crena entre 0 e 1
Grau de crena entre 0 e 1
Sintaxe
define sentenas bem formadas dentro de uma lgica
normalmente definida na forma de uma gramtica
Semntica
define o mapeamento das premissas ontolgicas nas premissas
epistemolgicas
normalmente definida na forma de uma tabela-verdade, ou na
forma de uma expresso analtica derivada desta
Regras de Inferncia
operadores que definem como podemos gerar novas sentenas
a partir de sentenas bem formadas em uma lgica
Lgica Proposicional
Semntica
Supondo que:
O o conjunto das sentenas bem formadas
E o conjunto de estados lgicos que podem ser associados a uma
sentena bem formada = {verdadeiro, falso} (ou {true, false})
funo de interpretao
fi : O E
tabela-verdade
PQ
PQ
PQ
False
False
True
False
False
True
False
True
True
False
True
True
True
False
False
False
True
False
True
True
False
True
True
True
Regras de Inferncia
,
Modus Ponens:
And-Elimination:
And-Introduction:
Or-Introduction:
... n
1 2
i
, ,..., n
1 2
... n
1
... n
1
Double-Negation Elimination:
Resolution:
Lgica de 1 Ordem
Lgica Proposicional
fatos ou proposies: entidades atmicas e diferenciadas
impossvel generalizar conhecimentos envolvendo proposies
semelhantes
Resultado
nmero muito alto de fatos e regras sendo processados
invivel uso prtico mesmo em problemas simples
Lgica de 1a ordem
permite uma descrio ontolgica mais rica
mundo consiste de objetos, isto , coisas com identidades
individuais
objetos podem ter propriedades
podem existir relaes e funes entre os objetos
Lgica de 1 Ordem
Sintaxe para uma Lgica de 1a ordem
Sentena
SentenaAtmica
Termo
Conectivo
Quantificador
Constante
Varivel
Predicado
Funo
Sentena_Atmica
| Sentena Conectivo Sentena
| Quantificador Varivel . Sentena
| Sentena
| (Sentena)
Predicado (Termo,) | Termo = Termo
Funo(Termo, ...) | Constante | Varivel
|||
|
A | B | X1 | FHC
x | y | a | .
Antes _De | Cor | .
Me | f | g |
Sistemas Especialistas
Base de Conhecimento
conjunto de representaes sobre o mundo (KB)
cada elemento do conjunto uma sentena
sentena: expresso de uma linguagem de representao de
conhecimento
background knowledge (conhecimento inicial)
Mecanismos para
Insero de conhecimentos na base de conhecimentos
Consulta aos conhecimentos na base de conhecimentos
Mecanismo de Inferncia
permite, a partir de uma consulta, derivar conhecimentos que
esto armazenados na base de conhecimentos de maneira
implcita
Engenharia do Conhecimento
Aplicao
Base de
Conhecimento
Conhecimento
Aplicao
Especialista
Aplicao
Engenheiro do
Conhecimento
Construindo Bases de
Conhecimento
Engenharia do Conhecimento
processo de construo de bases de conhecimento
Engenheiro do Conhecimento
investiga algum domnio do conhecimento em particular
determina quais conceitos so importantes
cria uma representao formal para os objetos e
relacionamentos nesse domnio
normalmente no um especialista no domnio em questo,
mas se serve de uma interao com esses especialistas para
construir a base de conhecimento
Lgica de 1a ordem
ferramenta para a representao do conhecimento e raciocnio
no oferece nenhum conselho sobre quais fatos devem ser
expresso nem o vocabulrio a ser utilizado
Construindo Bases de
Conhecimento
Aquisio do Conhecimento
metodologia para a elicitao do conhecimento necessrio para
representar um domnio
normalmente obtm-se o conhecimento por meio de entrevistas
com especialistas do domnio
criao de cenrios e estudos de casos
Engenharia de Ontologias
metodologia para a escolha da terminologia e representao de
conhecimentos gerais sobre algum domnio em particular, em
uma linguagem formal
Engenharia do Conhecimento
semelhante, sob certos aspectos, fase de anlise da
engenharia de software, quando se tenta levantar a organizao
de processos do mundo real e criar uma descrio destes
Mecanismo de Inferncia:
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
Mecanismo de Inferncia:
Encadeamento Reverso
function BACK_CHAIN(KB, q) returns a set of substitutions
BACK_CHAIN_LIST(KB,[q],{})
Redes Bayesianas
Valor-Verdade de Proposies
Pode ser substitudo pela idia de Crena
P(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 variveis so associadas a
distribuies de probabilidade discretas
representam distribuies de probabilidade em problemas de
tomada de deciso com grande nmero de variveis
Redes Bayesianas
Tipos de Inferncia em
Redes Bayesianas
Causal (da causa para o efeito)
P(JohnCalls/Roubo) = 0,86
Roubo
Alarme
JohnCalls
Evidncia
Query
JohnCalls
Evidncia
Alarme
Roubo
Query
Tipos de Inferncia em
Redes Bayesianas
Intercausal (entre causas com um efeito comum)
P(Roubo/Alarme) = 0,376
P(Roubo/Alarme Terremoto) = 0,373
Alarme
Roubo
Query
Terremoto
Evidncia
Evidncia
JohnCalls
Evidncia
Alarme
Query
Terremoto
Evidncia
Redes Bayesianas
Interessantes do ponto de vista computacional
Aplicaes Tpicas
Inteligncia Computacional
Pergunta Bsica
Como isso possvel ?
Sistemas Fuzzy
Lgica Fuzzy
Conjuntos
A
x
Conjunto
y
Universo
Dicotomia
xA
yA
Universo X = {1,2,3,4,5,6,7,8,9}
Funo de Pertinncia
A(x)
A(x)
A = { xR 2 x 5 }
A: X {0, 1}
1 2 3 4 5 6 7
8 9 X
A = { 1, 2, 4, 7, 8 }
1 if x A
A(x)
0 if x A
Problema da Dicotomia
Temperatura Confortvel
20 C
20 C
temp
temp
Por volta de 20 C
20 C
temp
Conjunto Fuzzy
A
Conjunto Fuzzy
x
z
Universo
A: X [0, 1]
Funo de Pertinncia
A(x)
Conjunto Fuzzy
Funo de Pertinncia
A: X [0, 1]
Operaes sobre
Conjuntos Fuzzy - Unio
Unio
C=AB
A, B e C em X
xX
xX
A(x)
C=AB
C=AB
1
B
X
Operaes sobre
Conjuntos Fuzzy - Unio
s-normas
Comutatividade
xsy=ysx
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
Condies de Contorno
1 s x = 1, 0 s x = x
Operaes sobre
Conjuntos Fuzzy - Unio
Exemplos
Unio
x y = max (y, x)
Soma Probabilstica
x
y = x + y - xy
Soma Limitada
x y = min (1, x + y)
Soma Drstica
x if y 0
x y y if x 0
1 otherwise
Operaes sobre
Conjuntos Fuzzy - Interseo
Interseo
C=AB
A, B e C em X
xX
A(x)
C=AB
B
1
C=AB
B
2
Operaes sobre
Conjuntos Fuzzy - Interseo
t-normas
Comutatividade
xty=ytx
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
Condies de Contorno
1 t x = x, 0 t x = 0
Operaes sobre
Conjuntos Fuzzy - Interseo
Exemplos
Interseo
x y = min (y, x)
Produto Algbrico
x y = xy
Produto Limitado
x y = min (1, x + y)
Produto Drstico
x if y 1
x y y if x 1
0 otherwise
Operaes sobre
Conjuntos Fuzzy - Complemento
Complemento
A e A em X
A (x) = 1 - A(x),
xX
C : [0,1] [0,1]
A (x) = C (A(x))
xX
A
C(1) = 0 and C(0) =1
C(x) C(y) if x y, x, y [0,1]
C(C(x)) = x, x [0,1]
X
Condies de Contorno
Monotonicidade
Involuo
Variveis Lingusticas
(X, T(X), X, G,M)
Velocidade
Varivel Lingustica
Conjunto de Termos
Termos Lingusticos
Baixa
Alta
Mdia
Regra Semntica
Baixa
Mdia
Alta
Varivel Base
Universo X
Granulao da Informao
Granulao
Larga
(Partio)
Granulao
Fina
(Partio)
Representao do
Conhecimento
Unidade Bsica de Informao uma proposio do tipo:
O ( atributo ) de ( objeto ) ( valor )
Examplo: A temperatura do forno alta
temperatura (forno) alta
Forma Geral (cannica) p: X A
Frio
1
Ameno
Ameno
Quente
Crisp
Frio
1
Ameno
Quente
Frio
Inferncia Fuzzy
Velocidade
Y, km/h
Distncia entre
carros, X (m)
Distncia
Velocidade
X
Y
Inferncia
Fuzzy
(Deciso)
Reduo de Velocidade
(Fora nos Freios)
Regras Fuzzy
Regra 1
Regra 2
Funes de Pertinncia
Z S
Distncia
50
Z L
km
Z: Zero
S: Short
M: Moderately Long
L: Long
80 km/h
Velocidade
Z: Zero
L: Low
M: Moderately High
H: High
L M
0 Freio
100
L: Light
M: Moderately Hard
H: Hard
Inferncia Fuzzy
S
50
km
80 km/h
km
80 km/h
100
50
100
0
M
0
Freio
Controle Fuzzy
e
Base de Regras
de
Inferncia
Decoder
Encoder
Base de Regras
DE
E
NB
NM
NS
ZO
PS
PM
PB
NB
NB
NB
NB
NB
NM
NS
ZO
NM
NB
NB
NB
NM
NS
ZO
PS
NS
NB
NB
NM
NS
ZO
PS
PM
ZO
NB
NM
NS
ZO
PS
PM
PB
PS
NM
NS
ZO
PS
PM
PB
PB
PM
NS
ZO
PS
PM
PB
PB
PB
PB
ZO
PS
PM
PB
PB
PB
PB
Lgica Fuzzy
Valores Fuzzy
Podem ser atribudos ao valor-verdade de uma proposio
Lgica Fuzzy
incerto
indeciso
certo
Valor verdade
Redes Neurais
Histrico e Relevncia
Crtex Humano
100 bilhes de neurnios ( 1011 )
Cada neurnio com 1.000 dendritos
Logo: 100.000 bilhes ( 1014 ) de sinapses
Sinapse: opera a 100 Hz
Velocidade operao: 10.000 bilhes ( 1016 ) con/seg
Aplicaes
pesos
Dendritos
Axnio
Sinapses
x1
w1
xi
wi
xn
wn
Funo de
ativao
y f (in1 w i xi )
Redes Neurais
xr
xi
xj
xn
yk
Processamento Convencional
Sensor
Pr-processamento
Objeto
Projeto Algoritmo
e
Implementao
Anlise
e
Modelagem Dados
Processamento Neural
Sensor
Pr-processamento
Objeto
Bug
Aprendizagem
Rede Neural
Modelos de
Redes Neurais Artificiais
Redes Neurais
Feedforward
Singlelayer
Networks
Multilayer
Networks
Radial Basis
Networks
Feedback
Competitive
Networks
Kohonen
SOM
Hopfield
Networks
ART
Models
Classificao de Padres
Classificador
de
Padres
Normal
Anormal
y
f
f*
x
Clustering
Aproximao
?
A
D
t1
t2
t3
tk
Previso
tk+1
Otimizao
Memria Associativa
Memria
Endereada
pelo Contedo
Controle de Processos
Perturbaes
Sada
Entrada
Processo
Controlador
Aprendizagem Supervisionada
de um Neurnio
1.0
x1 x 2 0.5 Liga
x1 x 2 0.5 Desliga
1.0
x1
x1 x 2
tempo
-1.0
tempo
-1.0
w1
y
1.0
x2
w2
1.0
tempo
y 0
-1.0
Correo
do
Erro
-1.0
Ligada
tempo
Desligada
H LC C
Professor
Aprendizagem Competitiva
x1
xi
wij
yj
xn
( x i w ij ) j j
w ij
j j
0
Aprendizagem Hebbiana
x2
yi
x1
yj
wij
wo
x2
w ij w ij (k) yi y j
x1
w ij(2)
w (L)
jk
y (L)
k
Lj f ' (h Lj )[d uj y Lj ]
xu
du
lj f ' (h lj ) w lji1li 1
i
w lij lj yli 1
Camada
de
Entrada
Camadas
Intermedirias
Camada
de
Sada
Retro-Propagao
do Erro
(Backpropagation)
{( x u , d u ), u 1,...., P}
Rede de Kohonen
x1
(i,j)
x2
xn
Computao Evolutiva
Computao Evolutiva
Ferramenta adaptativa para a soluo de problemas
Modelo computacional de processos evolutivos naturais
Elemento gerador de criatividade
ferramenta de design artstico ou de engenharia
Objetivos
criao, na forma de programas computacionais, de novas
formas de organizao (designs)
sistemas inteligentes (inteligncia artificial)
formas de vida (vida artificial)
Habilidades Envolvidas
auto-replicao, aprendizado, adaptao, controle do meio,
representao e processamento de informao altamente
eficientes
Evoluo
Evoluo
mtodo de busca (em paralelo) de solues dentre um nmero
muito grande de candidatos, sujeitos a condies de adaptao
variveis
Regras Bsicas
as espcies evoluem aleatoriamente (via operadores de
mutao, recombinao e outros), estando sujeitas seleo
natural sob recursos limitados.
os indivduos mais adaptados sobrevivem e se reproduzem,
propagando seu material gentico s prximas geraes
indivduos menos dotados perecem e no participam das
prximas geraes
Evoluo
Bases Biolgicas
Gentica e Hereditariedade
Teoria da Evoluo e Seleo Natural (Darwin)
Terminologia Biolgica
cromossomo
genes
recombinao (crossover)
mutao
gentipo
fentipo
Algoritmos Genticos
Caractersticas Principais
GA's trabalham com a codificao de um conjunto de
parmetros, e no com os prprios parmetros
GA's fazem busca sobre uma populao de pontos e no sobre
um nico ponto
GA's utilizam funes de custo (funes objetivo), e no
derivadas ou outro tipo de conhecimento auxiliar
GA's utilizam regras de transio probabilstica, e no
regras determinsticas
Algoritmos Genticos
Roullete Wheel
Probabilidade de seleo de um cromossomo diretamente
proporcional a seu valor da funo de fitness.
Exemplo
N
1
2
3
4
Cromossomo
0001100101010
0101001010101
1011110100101
1010010101001
0.25
Fitness
6.0
3.0
1.5
1.5
Graus
180
90
45
45
1
0
0.5
1
2
3
0.75
Algoritmos Genticos
011001010100001
110011010010010
010100100100100
101000101001001
010010100101001
001001000101000
101101010101001
001010010111010
101011111010101
001010100010100
Seleo de
pares via
Roulette
Wheel
POPULAO
INICIAL
001010010111010
110011010010010
00101 0010111010
11001 1010010010
010100100100100
011001010100001
0101001001 00100
0110010101 00001
010010100101001
001001000101000
010 010100101001
001 001000101000
011001010100001
001010010111010
101011111010101
001010100010100
Determinao
dos pontos de
Crossover
01100101 0100001
00101001 0111010
10 1011111010101
00 1010100010100
Crossover
001011010010010
110000010111010
010100100100001
011001010101100
010001000101000
001010100101001
011001010111010
001110010100001
101010100010100
001011111010001
PRXIMA
GERAO
Mutao
001011010010010
110010010111010
010100100100001
011001010100100
010001000101000
001010100101001
011001010111010
001010010100001
101010100010100
001011111010101
00101 1010010010
11001 0010111010
0101001001
0110010101
00001
00100
010 001000101000
001 010100101001
01100101
00101001
0111010
0100001
10 1010100010100
00 1011111010101
Algoritmos Genticos
Problemas com o algoritmo clssico
Permite a perda de indivduo timo
Posio do gene influi na probabilidade de realizar crossover
Dificuldades quando os parmetros so nmeros reais
Algoritmos Genticos
SELEO
REPRODUO
OPERAES
MELHOR INDIVDUO
PRXIMA
GERAO
POPULAO
INICIAL
SUB-POPULAES
POPULAO
INTERMEDIRIA
Algoritmos Genticos
Exemplos de Operaes
Crossover Simples entre indivduos aleatrios (Roulette Wheel)
Crossover Simples entre indivduo aleatrio (Roulette Wheel) e
melhor indivduo
Crossover Uniforme entre indivduos aleatrios (Roulette Wheel)
Crossover Uniforme entre indivduo aleatrio (Roulette Wheel) e
melhor indivduo
Mutao de Indivduos Aleatrios (Roulette Wheel) da
Populao Inicial e/ou Sub-populaes
Mutao aleatria
Mutao indutiva (somente p/ codificao real)
Algoritmos Genticos
Exemplo de Mecanismos de Seleo
Seleo Elitista so selecionados os N melhores indivduos
da populao intermediria
Seleo Aleatria so selecionados aleatoriamente N
indivduos da populao intermediria
Salvacionista seleciona-se o melhor indivduo e os outros
aleatoriamente
No-salvacionista seleciona aleatoriamente todos os indivduos
Distribuio uniforme todos tm a mesma chance
Distribuio proporcional
roulette wheel por fitness
roulette wheel por fitness com sigma scaling
seleo de Boltzmann
seleo por rank
Algoritmos Genticos
Outros Mecanismos de Seleo
Seleo por diversidade so selecionados os indivduos
mais diversos na populao intermediria, a partir do melhor
indivduo
Seleo bi-classista so selecionados o P% melhores
indivduos e os (100-P)% piores indivduos
Seleo por Torneio dois indivduos so escolhidos
aleatoriamente. Um nmero aleatrio r entre 0 e 1 gerado. Se
r < k (parmetro) o melhor dos indivduos escolhido. Seno o
outro escolhido.
Seleo Steady-State a populao original mantida, com
a excesso de alguns poucos indivduos menos adaptados.
Algoritmos Genticos
Codificao
Determinao da estrutura dos cromossomos
como um cromossomo representa uma (ou parte da) soluo do
problema
Caractersticas
Codificao deve ser simples e representar a soluo do
problema como um todo
Modificao de cromossomos por crossover/mutao deve gerar
novos indivduos vlidos
Algoritmos Genticos
Problemas a serem evitados
Codificaes em que novos cromossomos gerados por
crossover/mutao possam ser invlidos
Codificaes em que a medida da funo de avaliao seja
dificultada
Abordagens
Abordagem Michigan a populao como um todo a
soluo para o problema
Abordagem Pittsburgh cada elemento da populao
corresponde a uma soluo do problema
Variaes
GAs com populao varivel
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 tcnicas de credit assignment (algoritmo Bucket
Brigade) e rule discovery (algoritmo gentico).
Sistemas Classificadores
Discovery
Genetic Algrorithm
Credit Assignment
Bucket Brigade
Performance
System
Entrada do Ambiente
Sistemas Classificadores
Lista Classificadores
Interface de Entrada
Lista de Mensagens
AMBIENTE
Interface de Sada
Programao Gentica
O que define a programao gentica?
uma tentativa de tratar uma das questes centrais em cincia
da computao:
"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?"
Programao Gentica
Programao gentica
evoluo de programas de computador usando analogias com
mecanismos utilizados pela evoluo biolgica natural.
Aspecto Distintivo
embora demande aperfeioamentos, muitos problemas prticos
j tm sido resolvidos com programao gentica
Programa Computacional
seqncia de aplicaes de funes a argumentos
paradigma funcional
Programao Gentica
Programas
cromossomos no lineares
operaes sobre estruturas
IF
>
+
+
TIME
X
X
10
Algoritmos Memticos
Algoritmos Genticos
Podem encontrar boas solues no mbito global, mas tm
dificuldades em realizar uma otimizao local
Algoritmos Memticos
Algoritmos genticos modificados, que alm dos processos de
crossover e mutao, promovem uma busca local em cada
indivduo, aps a aplicao dos operadores padro
Podem ser bastante efetivos em problemas de otimizao mais
complexos
Agentes Inteligentes
Agentes Inteligentes
entidades de hardware ou de software que nos auxiliam a
resolver problemas, atuando de forma autnoma em ambientes
complexos
Aplicaes
gerenciamento de trfego e servios de transporte;
controle de redes de comunicao e de computadores;
controle de sistemas de potncia;
gerenciamento de transaes em bancos, comrcio;
monitorao, superviso e controle de processos industriais e
sistemas de manufatura;
atendimento e servios mdicos,
etc...
Definio e Caractersticas
Agente
qualquer entidade que perceba um ambiente atravs de
sensores, execute tarefas de processamento de informaes e
de conhecimento e atue sobre o ambiente atravs de atuadores
(Russell & Norvig 1995).
Percepo
Sensores
Agente
Ambiente
Atuao
Atuadores
Caractersticas Desejveis
Direcionabilidade
capaz de receber diretrizes de usurios e outros agentes
Autonomia
comportamento determinado pela prpia experincia
Persistncia
capaz de operar por longos perodos sem ateno
Confiabilidade
desempenho de acordo com expectativas
Antecipao
antecipar necessidades, resultados, informaes, aprendizagem
Caractersticas Desejveis
Pr-atividade (Iniciativa)
capaz de iniciar atividades e comportamentos buscando a
soluo de problemas por conta prpria
Cooperao
entre sistemas e outros agentes; resoluo de conflitos;
capacidade de negociao, etc.
Flexibilidade
estruturas heterogneas de agentes e fontes de informao
Adaptao
capacidade de modificar seus objetivos, adotar novas
prioridades, desenvolver novas tarefas, aprendizagem
Estruturas de Agentes
Centralizadas
Agentes Mecnicos
Agentes Reativos
Agentes Reflexivos
Agentes Dinmicos
Agentes Orientados
por Metas
Agentes Orientados
por Utilidade
Agentes Emocionais
Agentes Comunicativos
Agentes Semiticos
Distribudas
Agentes Uniformes
Agentes Especializados
Agentes Interface
Agentes Tarefa
Agentes Informao
Agentes Especializveis
Sistemas Multi-Agentes
podem atuar como
agentes em um nvel
hierrquico superior
Sistemas Multiagentes e
Sociedades de Agentes
Coleo de agentes x Sociedade de Agentes
interao entre agentes
Protocolos de comunicao
mecanismo para trocar e entender mensagens
Protocolos de interao
mecanismo para negociar e cooperar
Coordenao de Sistemas
Multi-Agentes
Coordenao
sem antagonismo
com antagonismo
Cooperao
Competio
Planejamento
Negociao
Centralizado
Distribudo
Vida Artificial
Definio Genrica
mtodo de gerao, a partir de componentes interativos,
simples e "microscpicos", de comportamentos em nvel
"macroscpico" que podem ser interpretados como anlogos a
processos de vida
Reducionismo
entendimento de um sistema em estudo em termos das
propriedades de suas partes e suas interaes
Vida Artificial
Vida Natural
no existe uma definio universalmente reconhecida de vida
consenso de que a vida um conjunto de atributos tais como:
auto-organizao, adaptao, emergncia, autonomia,
desenvolvimento, crescimento, reproduo, evoluo, adaptao e
metabolismo
Vida Artificial
Pioneiros da vida artificial
1950 (von Neumann): autmatos celulares; estudo dos
fenmenos de auto-organizao e reproduo.
1952 (Turing): publicao de um trabalho sobre morfogenia
(desenvolvimento de formas biolgicas). Os resultados deste
trabalho continuam sendo explorados at hoje.
Autmatos Celulares
Clula
Inteligncia Coletiva
(Swarm Intelligence)
Swarm Intelligence: Qualquer tentativa de se desenvolver
algoritmos ou dispositivos distribudos de resoluo de problemas
inspirados no comportamento coletivo de colnias de insetos sociais
ou outras sociedades animais [Bonabeau, Dorigo, and Theraulaz,
1999]
Colnias de Insetos Sociais
Podem desenvolver
A partir de elementos
Swarm Intelligence
Swarm Intelligence
Colnias de Insetos
Colnias de Insetos Sociais (Formigas, Cupins, Abelhas,
Vespas, etc.)
Comportamentos complexos
Flexveis e robustos
Capacidade da colnia transcende a do inseto individualmente
Comportamento do Inseto depende do de outros iguais a ele
Inseto a inseto
Inseto com o ambiente
Especializao
Colnias de Insetos
Alguns resultados prticos
Algoritmos de Otimizao por Colnias de Formigas
Extremamente bem-sucedidos na otimizao de uma grande
variedade de problemas combinatoriais de otimizao de grande
dificuldade
Algumas das melhores solues para alguns problemas conhecidos
Simulao de
Colnia de Formigas
Engenharia Imunolgica
Engenharia Imunolgica
Engenharia + Imunologia
Motivao
A cooperao e competio entre muitos indivduos (agentes)
simples resulta em sistemas complexos.
Aplicao do conceito de swarm-intelligence aproveitando-se
de conceitos da imunologia
Exemplos
linfcitos (sistema imunolgico), etc.
Engenharia Imunolgica
Engenharia convencional
especificao detalhada do comportamento preciso de cada
componente do sistema (procedimentos passo-a-passo).
Engenharia imunolgica
especificao geral, ou aproximada, de alguns aspectos do
comportamento global do sistema, como uma medida de
desempenho ou funo de adaptabilidade (afinidade)
extrao de informaes contidas no prprio problema para
obteno de solues dedicadas
Seleo Clonal
Anticorpo
Proliferao
(Clonagem)
Linfcitos
Seleo
Clulas de memria
Differenciao
Plasmcitos
Antgenos
Seleo Clonal x
Algoritmo Gentico
Seleo Clonal x
Algoritmo Gentico
p2
i2
p1
Imagem
interna
i1
Reconhecimento
p3
i3
Conjunto anti-idiotpico
Sistemas de Partculas e
Fractais
Objetivo
Representar a complexidade dos objetos do mundo real,
principalmente em aplicaes de computao grfica e realidade virtual
Simulao e Visualizao de Dados Complexos
Aplicaes
Utilizado para modelagem e rendering :
fogo, gua, exploses, fumaa, terrenos, exploses, nuvens, grama, ...
Sistemas de Partculas
Um sistema de partculas definido por:
Partculas individuais:
Movem-se no espao 3D
Trocam seus atributos
Posio inicial
Velocidade e direo inicial
Tamanho inicial
Cor inicial
Transparncia inicial
Forma e tempo de vida
Utilizao dos parmetros ao longo do tempo.
Geometria Fractal
Fractal (Benoit Mandelbrot)
Modelagem de elementos com caractersticas
irregulares
Caractercticas:
Pores menores representam exatamente
pores maiores
Exemplo:
Fractal representado por uma figura geomtrica
inicial (segmento de reta)
E uma regra de subdiviso (divide em 4 partes
com inclinao em duas delas)
Sistemas Endcrinos
Glndulas Endcrinas
Liberam hormnios que regulam parmetros importantes do
corpo humano
Tenso muscular, diminuio das pupilas, controle de temperatura
Emoes
Homeostase
Sistemas Endcrinos
Projeto WAMOEBA-2
Sistema Endcrino Artificial
Utilizado para o controle de
diversos parmetros de
controle em robs
Projeto WAMOEBA-2
Funo de Homeostase
Sistemas Endcrinos
Projeto WAMOEBA 2
Semitica Computacional
O que tem a haver Inteligncia com Semitica ?
Semitica o estudo dos processos de significao
como signos so criados
como signos so usados
como signos significam
Ou seja,
um sistema inteligente porque processa signos
sua inteligncia depender da quantidade e dos tipos de signos
que est apto a processar
estudar semitica a chave para o entendimento dos sistemas
inteligentes, e a criao de sistemas que sejam mais inteligentes
Semitica Computacional
Modelos de Signos
Objeto
(Referente)
Significado
Plano de Contedo
Plano de Expresso
Significante
Signo
(Representao)
Interpretante
(Efeito do Signo)
Pospelov e o Controle
Situacional Semitico
Pendergraft e os Autognomes
Mdulos Auto-Organizveis
Lgico
Pragmtico
Enclaves
D
M
Abduo
M
T
Gerao de Conhecimento
Deduo
Conceitual
Extrao de Conhecimento
D
M
Induo
Teste de
Conhecimento
tico
Esttico
Perceptivo
Estrutura de um Enclave
REALIDADE
Resultados
Aes
Desempenho
INDUO
Situao Externa
Atos Potenciais
Situao
Interna Investigao
CONHECIMENTO
Correes
ABDUO
DEDUO
Semitica Computacional
Outras Abordagens
Semiose Multiresolucional
Albus & Meystel
Semitica Organizacional
Stamper e Liu
Agentes Semiticos
Rocha & Joslyn
Sistemas Intelectuais
Perlovsky
Abordagem Seminica
Intrprete
(Agente Seminico)
Signo
(Signlet)
R1
(e.g. simblica)
R2
(e.g. icnica)
Objeto
Interpretante
(Signlet)
Abordagem Seminica
SNToolkit
Semitica Computacional:
Aplicaes
Modelagem Organizacional
Cognio Artificial
Estudo dos Processos Cognitivos
Cincia Cognitiva
Simulao Computacional de Processos Cognitivos
SOAR
ACT-R
Mentes Artificiais
Cognio Artificial
Evoluo da Linguagem
Abordagens Computacionais
CONCLUSO
Aplicaes Prticas
Diagnstico de Falhas
Deteco de Anormalidades
Apoio Operacional
Configurao e
Reconfigurao
Anlise de Processos
Planejamento e
Programao de Produo
Sequenciamento e
Sincronizao de Produo
Movimentao de Materiais
e Controle de Estoques
Controle de Qualidade
Controle de Processos e
Automao da Manufatura
Planejamento de Processos
de Fabricao
Simulao de Sistemas
Modelagem Qualitativa de
Sistemas e Processos
Sistemas de Suporte
Tomada de Deciso
Logstica
Referncias Bibliogrficas
Mais Importantes
Artificial Intelligence: A Modern Approach
S. Russel & P. Norvig, Prentice Hall, 1995
T. Bck, D.B. Fogel & Z. Michalewicz (eds.) Inst. of Physics Publishing, 2000