You are on page 1of 162

Introduo aos Sistemas

Inteligentes
DCA-FEEC-UNICAMP

Prof. Ricardo Gudwin


gudwin@dca.fee.unicamp.br
http://www.dca.fee.unicamp.br/~gudwin
Telefone: (19) 3788-3819

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

Capacidade de resolver problemas


Capacidade de compreender uma situao
Capacidade de planejar o futuro e realizar aes de modo que
os plano se concretizem
Capacidade de aprender coisas novas
Capacidade de atingir objetivos
Capacidade de determinar objetivos

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

Podemos dizer algumas coisas sobre a inteligncia


existe em diferentes nveis (intensidades)
atua sobre diferentes domnios (mltiplas inteligncias)
uma propriedade composta e derivada
em seres humanos, pode ser desenvolvida

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

Desde quando a estudam ?


Desde os primeiros filsofos gregos

reas do conhecimento que lhe so afins


Filosofia (do pensamento), Pedagogia (desenvolvimento da
inteligncia), Biologia celular (comunicao celular), Medicina
(sistemas imunolgicos), Etologia (inteligncia nos animais),
Psicologia e Psiquiatria (distrbios da inteligncia), Engenharia
dos Materiais (materiais inteligentes), Poltica (como negociar),
Retrica (como convencer), Computao (sistemas inteligentes),
etc ...

Taxonomia das Inteligncias


Inteligncia Natural (Anlise)
Inteligncia
Inteligncia
Inteligncia
Inteligncia
Inteligncia

de compostos materiais
em compostos orgnicos
celular
em animais
no homem

desenvolvimento, teraputica em distrbios, modelagem, uso

Inteligncia Artificial (Sntese)


dispositivos mecnicos/materiais
dispositivos eletrnicos (computadores)
software

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

Hemisfrio esquerdo (paradigma sequencial)


produo e compreenso de linguagem, racioccio lgico,
planejamento, tempo,

Hemisfrio direito (paradigma paralelo)


comparao e identificao de imagens visuais, raciocnio por
analogia, coordenao, sentido de corpo, ...

Inteligncia Artificial
Inteligncia Artificial
Termo cunhado em um workshop no Dartmouth College no
vero de 1956 por John MacCarthy para o estudo da inteligncia

Ncleo da Inteligncia Artificial


tem suas razes nas teorias funcionais/estruturais da inteligncia
estruturas fsicas e formais como uma base para o
comportamento inteligente

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

Limitaes na Computao Simblica


Problema Numrico-Simblico

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

Inteligncia Artificial Clssica


Representao e Soluo de
Problemas
Algoritmos de Busca
Estratgias de Jogos
Lgica Matemtica
Sistemas Especialistas
(Sistemas Baseados em
Conhecimento)
Redes Bayesianas

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

Sistema Resolvedor de Problemas


sistema decide sequncias de aes que levaro do estado atual
ao estado desejado

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

Outros Algoritmos de Busca


otimizao
branch and bound, programao dinmica, simulated-annealing

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

Caminho completo - soluo


Folha

descendente

Folha
Fator de ramificao: b
Profundidade:
d
Total caminhos:
bd

Meta

Grafo e rvore de Busca

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

Buscas do Tipo Best-first


Busca A*
Funo de avaliao f(n) = g(n) + h(n)
g(n) - custo atual do caminho (cost-uniform search)
h(n) - funo heurstica (greedy search)

comprovadamente completa e tima dada uma nica restrio


sobre h(n) - heurstica admissvel

Heurstica Admissvel
funo h nunca deve superestimar o custo de se chegar meta

Busca IDA* (Iterative Deepening A*)


semelhante ao ID search, mas ao invs de utilizar um limite de
profundidade, utiliza um limite para a funo f
cada iterao expande somente os ns dentro de um contorno
para o valor corrente de f, aumentando gradativamente esse
contorno

Exemplo de Busca SMA*

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

Jogos e Problemas de Busca


Presena do Oponente
introduz incerteza
estado alterado no somente em funo das decises
tomadas - problema da contingncia

Complexidade da rvore de Busca


nmero de estados a serem testados muito maior
normalmente no h tempo suficiente para calcular todas as
possveis consequncias de um movimento

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

Continue at que a raiz da rvore seja atingida


Escolha sempre a jogada que trar uma maior 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

Jogos com Insero de Acaso


Alguns Jogos
incluem o elemento aleatrio (cartas, dados, etc )
exemplo: gamo

Variao da Estratgia
incluir ns aleatrios em adio aos ns Max e Min

Ao invs de um valor Minimax


valor esperado - usa a mdia dos possveis resultados

Dois valores esperados


Expectmin - jogada aleatria depois de Min
Expectmax - jogada aleatria depois de Max

Poda Alfa-Beta
pode ser utilizada tambm

Estado da Arte em Jogos


Melhoria do Hardware
no dos algoritmos
computadores especficos para o jogo de xadrez

Deep Thought - profundidade de 10 a 11 movimentos


Deep Blue - profundidade de 14 movimentos
Outros jogos
Damas, Othello, Gamo, Go

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

Agentes que Raciocinam Logicamente


Criam representaes do mundo
Usam um procedimento de inferncia para obter novas
representaes sobre o mundo
Utilizam estas novas representaes para deduzir o que fazer

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 de Primeira Ordem (Clculo de Predicados)


objetos e predicados
quantificadores

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

Caracterizao de uma Lgica


Premissa Ontolgica
diz respeito ao tipo de fenmeno do mundo que pode modelar
o que existe no mundo

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

Caracterizao de uma Lgica


Definio de uma Lgica
Sintaxe, Semntica e Regras de Inferncia

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 |

Lgicas de Ordem Superior


Lgica de Primeira Ordem
permite o uso de quantificadores para objetos mas no para
predicados, relaes ou funes entre objetos

Lgicas de Ordem Superior


permitiriam o uso de quantificadores tambm para predicados,
relaes e funes entre objetos
x,y (x = y) (p p(x) p(y))
possuem maior poder expressivo do que a lgica de 1a ordem
dificuldades em encontrar mecanismos de raciocnio para lgicas
de ordem superior
sabe-se que problema geral de resoluo de lgicas de ordem
superior indecidvel
lgicas de ordem superior normalmente no so utilizadas

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

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 do
FIND_AND_INFER(KB, REST(premises), conclusion, COMPOSE(, 2))
end

Mecanismo de Inferncia:
Encadeamento Reverso
function BACK_CHAIN(KB, q) returns a set of substitutions
BACK_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 Proposies
Pode ser substitudo pela idia de Crena

Relaes entre Crenas


Inferncia Probabilstica (Indutiva)

Relaes de Dependncias entre Crenas


Podem ser representadas em um grafo
Propagao probabilstica de Crenas segue a regra de Bayes

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

Duas maneiras bsicas de construir uma rede Bayesiana


obter a estrutura da rede e os valores de probabilidade de um
especialista;
esta estratgia de aplicao comum em Inteligncia Artificial,
visando substituir os Sistemas Especialistas.

anlise estatstica de dados experimentais e do uso de tcnicas


de estimao para gerar valores de probabilidade

Redes Bayesianas

Tipos de Inferncia em
Redes Bayesianas
Causal (da causa para o efeito)
P(JohnCalls/Roubo) = 0,86

Roubo

Alarme

JohnCalls

Evidncia

Query

Diagnstico (do efeito para a causa)


P(Roubo/JohnCalls) = 0,016

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

Mista (combinando duas ou mais das de cima)


P(Alarme/JohnCalls Terremoto) = 0,03
Este um uso simultneo de inferncia causal e diagnstico.

JohnCalls
Evidncia

Alarme
Query

Terremoto
Evidncia

Redes Bayesianas
Interessantes do ponto de vista computacional

algoritmos de tomada de deciso podem ser implementados de


forma eficiente neste modelo.
cada n de uma rede Bayesiana associado a uma varivel
Reproduo do raciocnio humano indutivo
Eficincia no clculo de probabilidades

Aplicaes Tpicas

Auxlio tomada de deciso


Anlise de Risco
Anlise de Cenrios Estatsticos
Aplicaes em Finanas, Deteco de Falhas, Diagnstico
Mdico
Data Mining

Inteligncia Computacional

Sistemas e Lgica Fuzzy


Redes Neurais
Computao Evolutiva

Sistemas e Lgica Fuzzy


Constatao Bsica
O ser humano capaz de realizar tomadas de deciso
utilizando-se de termos vagos, tais como:
Preo ALTO
Custo BAIXO
Risco MDIO

Pergunta Bsica
Como isso possvel ?

Teoria dos Conjuntos Fuzzy


Nebulosos ? Difusos ? Borrosos ?

Sistemas Fuzzy
Lgica Fuzzy

Conjuntos

A
x

Conjunto
y

Universo

Dicotomia

xA

yA

A = { xR 2 x 5 } Universo X = Nmeros Reais


A = { 1, 2, 4, 7, 8 }

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

Uma semente no constitui uma pilha,


nem duas ou trs por outro lado,
todos concordaremos que 100 milhes
de sementes constituem uma pilha.
Qual ser ento o limite apropriado ?
Podemos dizer que 325.647 sementes
no constituem uma pilha, mas 325.648
sementes o fazem ?
Borel, 1950

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

C(x) = max {A(x), B(x)},


s : [0,1] [0,1] [0,1]

xX

C(x) = A(x) s B(x)


A(x)

A(x)
C=AB

C=AB
1

B
X

Operaes sobre
Conjuntos Fuzzy - Unio

s-normas

s : [0,1] [0,1] [0,1]

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

C(x) = max {A(x), B(x)},

t : [0,1] [0,1] [0,1]


xX

C(x) = A(x) t B(x)


A(x)

A(x)

C=AB

B
1

C=AB

B
2

Operaes sobre
Conjuntos Fuzzy - Interseo

t-normas

t : [0,1] [0,1] [0,1]

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

Exemplo: O Clima est Ameno


Fuzzy
Quente

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

Se a Distncia entre dois carros Pequena


e a Velocidade do carro Alta
Ento Freie Forte

Regra 2

Se a Distncia entre dois carros Moderadamente Alta


e a Velocidade do carro Alta
Ento Freie Moderadamente Forte

(assumindo-se que o carro da frente se move em velocidade constante

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

Freie mais forte que moderadamente forte


100

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

Neurnio Biolgico e Artificial

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

Agrupamento de Dados Aproximao Funcional

y
f
f*

x
Clustering

Aproximao

Previso de Sries Temporais Otimizao


y
B
C
E

?
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

Rede Perceptron Multicamadas


w (1)
qi

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

SOM - Self Organizing Maps


w ij (k) (k)[x(k) - w ij (k)], se (i, j) N(k)
w ij (k 1)
caso contrrio
w ij (k )

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

Algoritmo Gentico Clssico


Codificao binria, Reproduo e Seleo Natural via algoritmo
Roulette Wheel, Crossover Simples, Mutao

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

Algumas estratgias de soluo


Codificao em strings de nmeros reais
Crossover Uniforme
Mecanismos alternativos de seleo

Algoritmo Gentico Modificado


Gerao de Sub-populaes por meio de operaes sobre
membros da populao inicial e das prprias sub-populaes
Reproduo e re-classificao da populao intermediria
Seleo para nova gerao

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)

Mutao do Melhor indivduo


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

Determinao da funo de avaliao


Etapa crtica no desenvolvimento de solues de problemas
utilizando GAs

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

Operam em ambientes com as seguintes caractersticas:


Eventos novos e sucessivos, acompanhados de largas doses de
rudo e dados irrelevantes
Necessidade de agir de maneira contnua e em tempo real
Metas implcitas ou inexatas
Recompensas esparsas, obtidas depois de aes longas

Criados p/ absorver novas informaes continuamente,


Avaliando conjuntos de hipteses competindo entre si, sem
prejudicar as capacidades j adquiridas.

Sistemas Classificadores

Sada para o Ambiente

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?"

A maior barreira para se atingir este objetivo


est na caracterstica determinstica da grande maioria dos
ramos de pesquisa em inteligncia artificial
propriedades principais que um programa deve apresentar para ser
um candidato soluo de problemas de interesse prtico so:
correo, consistncia, motivao lgica, preciso, ordenao,
parcimnia, definibilidade

a programao gentica, entretanto, inverte esta lgica

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

Implementao de Programao Gentica


imediata, quando associada a linguagens de programao
funcionais, e.g. LISP

Programao Gentica
Programas

codificados por meio de:


listas, filas, rvores e grafos

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

Novas Tendncias em Sistemas


Inteligentes
Agentes e Sistemas Multi-Agentes
Vida Artificial
Autmatos Celulares
Inteligncia Coletiva (Swarm
Intelligence)
Colnias de Insetos
Engenharia Imunolgica
Sistemas Endcrinos
Semitica Computacional
Cognio Artificial

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

Caractersticas de ambientes multiagentes


Infraestrutura especificando protocolos de comunicao e
interao
Tipicamente aberto, sem elemento central
Agentes autnomos, distribudos, competitivos (self-interested)
ou cooperativos

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

Abordagem Reducionista e Sinttica


explicao de comportamentos de alto nvel recorrendo a
causas de baixo nvel
construo 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 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

presena de alguns destes atributos (no todos) j tido como


suficiente para se implementar processos de vida.
alguns cientistas acreditam que o conceito de vida pode variar
de espcie para espcie, no aceitando, portanto, uma definio
nica e fechada.

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.

Aps os primeiros desenvolvimentos


parcialmente "esquecidos
foco de ateno : inteligncia artificial
falta da capacidade computacional necessria para simular os
fenmenos de vida artificial.

No incio dos anos 80


Artificial Life - termo cunhado em 1987 por Christopher Langton

Autmatos Celulares

Clula

Estado depende dos


estados das clulas
vizinhas

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

sistemas complexos inteligentes flexveis e confiveis

A partir de elementos

Estereotipados, no-inteligentes e simples

Cada indivduo de uma sociedade

Segue regras simples, com comunicao local (trilhas de


odores, sons, toques), de baixa demanda computacional

Estrutura Global do Sistema

Emerge a partir dos comportamentos individuais

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

Como esse comportamento inteligente de grupo surge ?


Auto-organizao
Interaes Locais

Inseto a inseto
Inseto com o ambiente

Especializao

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 so mais agressivos)

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

Controle de Sistemas de Telecomunicaes Baseados em


Formigas
Solues extremamente flexveis
Melhor soluo para alguns problemas

Simulao de
Colnia de Formigas

Robtica baseada em Swarms


Mltiplos Robs
Vantagens significativas
em relao a robs
individuais
Sensoreamento e ao
em mltiplos lugares
Reconfigurao
dependente da tarefa
Diviso de trabalho
eficiente
Robustez devido
redundncia
Auto-organizao e
emergncia de
comportamento

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

Aplicaes potenciais da engenharia imunolgica:


reconhecimento de padres, otimizao, aproximao de
funes, controle, etc.

Seleo Clonal
Anticorpo
Proliferao
(Clonagem)

Linfcitos

Seleo

Clulas de memria
Differenciao
Plasmcitos

Antgenos

Seleo Clonal x
Algoritmo Gentico

Seleo Clonal x
Algoritmo Gentico

Teoria da Rede Imunolgica


Rede de molculas e clulas
que se reconhecem
(possuem atividade) mesmo
na ausncia de estmulos
externos
Abordagem sistmica que
fornece uma medida mais
precisa de comportamentos
emergentes como
aprendizagem e memria,
tolerncia ao prprio,
dimenso e diversidade
populacional

Dinmica do sistema imunolgico


Estmulo externo
Ag
(eptopo)

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

Esto intimamente ligados com animao


Movimentos de cobras e vermes

A sua utilizao em um ambiente virtual contribui para que esses


fenmenos (e outros) possam ser visualizados com maior realismo.
Aplicao em sistemas inteligentes:
Vida Artificial

Sistemas de Partculas
Um sistema de partculas definido por:

Uma coleo de partculas que se desenvolvem ao longo do tempo.


Possuem vida prpria
Podem: gerar novas partculas, ganhar novos atributos, morrer, se
mover.

Partculas individuais:

Movem-se no espao 3D
Trocam seus atributos

Parmetros que podem ser utilizados:

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

Complexo Sistema de Controle


Mesmos hormnios so utilizados simultaneamente para
diversas finalidades
Funo de Auto-preservao
Aplicaes mltiplas

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

uma das vertentes mais recentes no estudo dos sistemas


inteligentes, identifica a capacidade de processar signos como a
fonte da inteligncia, em todas as classes de sistemas

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

Modelo Didico (Estruturalismo)

Signo
(Representao)

Interpretante
(Efeito do Signo)

Modelo Tridico (Peirceano)

Pospelov e o Controle
Situacional Semitico

Pendergraft e os Autognomes
Mdulos Auto-Organizveis

Lgico

Operando sobre conhecimentos

Mondico, didico e tridico

Mltiplos nveis Hierrquicos

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

Sistemas de Processamento Cognitivo Semitico


Rieger

Agentes Semiticos
Rocha & Joslyn

Sistemas Intelectuais
Perlovsky

Abordagem Ecolgica Semitica


Prueitt

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

Modelagem e simulao de empresas


Reengenharia Virtual

Modelagem de Sistemas Flexveis de Manufatura

Plantas industriais com necessidades de reconfigurao


dinmica

Modelagem de Sistemas Hbridos de Inteligncia


Computacional
Sistemas Fuzzy, Redes Neurais, Computao Evolutiva

Modelagem de Sistemas de Controle de Robs


Autnomos
Mentes artificiais

Cognio Artificial
Estudo dos Processos Cognitivos

Cincia Cognitiva
Simulao Computacional de Processos Cognitivos
SOAR
ACT-R

Conceito de Mente em Filosofia

Inteligncia, Criatividade, Memria, Ateno, Aprendizagem,


Conscincia
Auto-organizao, emergncia, complexidade

Mentes Artificiais

Modelos Computacionais de Mentes


Daniel Dennet Tipos de Mentes

Sistemas de Controle de Agentes Inteligentes


Robtica Evolutiva

Cognio Artificial
Evoluo da Linguagem
Abordagens Computacionais

Resolvendo o Symbol Grounding Problem


Paul Vogt, Ron Sun, Angelo Cangelosi, Luc Steels

Conscincia em Agentes de Software


Stan Franklin
Ricardo Manzotti
Benny Shanon

Edital do DARPA BAA02-21


Tecnologias de Processamento Cognitivo de Informaes

CONCLUSO

Objetivo Principal do Estudo


dos Sistemas Inteligentes
Obter solues eficientes para classes de problemas que
no so passveis de serem resolvidos por mtodos
computacionais convencionais
Problemas para os quais no existem solues
algortmicas, sendo necessrio pesquisar (buscar) a soluo.
Problemas que no podem ser modelados
matematicamente por mtodos clssicos porque envolvem
consideraes difceis de serem tratadas, e.g., conhecimento
prtico e intuitivo, incerteza, etc.
Problemas cujo domnio de aplicao encontra-se em
constante mudana, ou originalmente desconhecido,
demandando algum tipo de aprendizagem pelo sistema.
Compreenso de linguagem, interpretao de imagens, de
dados, robtica autnoma, etc.

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

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. Bck, D.B. Fogel & Z. Michalewicz (eds.) Inst. of Physics Publishing, 2000

Evolutionary Computation 2: Advanced Algorithms and Operators


T. Bck, 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.