Você está na página 1de 21

IA013 Prof. Fernando J.

Von Zuben
DCA/FEEC/Unicamp

Sistemas Complexos Adaptativos


1 Material de apoio ................................................................................................................................. 1
2 Definio .............................................................................................................................................. 2
3 Subsistema de tratamento de regras e mensagens ............................................................................. 11
4 Subsistema de apropriao de crdito ................................................................................................ 15
5 Subsistema de descoberta de novas regras ......................................................................................... 23
6 Algoritmo simplificado ........................................................................................................................ 26
7 Exemplo didtico de aplicao de um sistema classificador ................................................................ 28
7.1

O SISTEMA CLASSIFICADOR ....................................................................................................................... 30

7.2

A EVOLUO ......................................................................................................................................... 31

7.3

UM CICLO COMPLETO DE EVOLUO .......................................................................................................... 32

8 Referncias ......................................................................................................................................... 41

1 Material de apoio
Como uma complementao ao contedo deste tpico, o Professor recomenda a
leitura dos 4 textos liberados na pgina do curso, particularmente o paper
Studying Complex Adaptive Systems de John H. Holland, 2006.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

2 Definio
O conceito de Sistemas Complexos Adaptativos foi originalmente proposto por
HOLLAND (1995; 1998), com base em sua definio inicial de sistemas
classificadores (HOLLAND, 1975; 1992). uma das abordagens que se inspiram
nos processos da natureza para a soluo de problemas (KOVACS & LANZI, 1999).
Basicamente, um Sistema Classificador consiste de uma metodologia para criao
e atualizao evolutiva de regras (denominadas classificadores) em um sistema
de tomada de deciso (BOOKER et al., 1989).
Dadas as caractersticas de um ambiente em um determinado instante e levando-se
em conta a energia de cada classificador, alguns classificadores podem ser
ativados. Eles codificam alternativas de aes especficas, as quais so
submetidas a uma competio para selecionar aquela que ser executada.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Dependendo do efeito de cada ao (ou sequncia de aes) no atendimento dos


objetivos (os quais podem estar implcitos), os classificadores responsveis pelas
aes sero recompensados ou punidos (ganhando ou perdendo energia).
Periodicamente, o elenco de classificadores submetido a um processo evolutivo,
que toma basicamente como medida de fitness a energia dos classificadores.
Entende-se como ambiente um modelo de um problema do mundo real,
possivelmente no-estacionrio e, normalmente, de otimizao e controle. Como
exemplos de ambiente, tem-se o controle de operao de gs natural encanado
(GOLDBERG, 1983), a otimizao de formas geomtricas obedecendo a critrios de
qualidade em instrumentos industriais (RICHARDS, 1995) e a minimizao de
perdas em redes de distribuio de energia eltrica (VARGAS, 2000).
A interao com o ambiente ocorre atravs da troca de mensagens. As
mensagens provenientes do ambiente procuram retratar o seu estado atual. J as
mensagens advindas do Sistema Classificador retratam aes a serem executadas.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Sistema Classificador
(formado por um
conjunto de regras)
Sensores ou
Detectores
de Mensagens

Retroalimentao

Executores
ou
Atuadores

Ambiente

Um Sistema Classificador comunica-se com o ambiente em que ele atua atravs de


sensores (ou detectores de mensagens) e de atuadores (ou executores).
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Os sensores so responsveis pela recepo e codificao da mensagem (ou


mensagens) recebidas pelo sistema, transformando-as em uma linguagem
inteligvel ao Sistema Classificador.
Os executores decodificam as aes propostas pelo sistema, para que as mesmas
possam ser colocadas em prtica. As consequncias encadeadas a partir de cada
ao (etapa de retroalimentao) determinam a recompensa adequada aos
classificadores responsveis pela ao.
Existem duas variantes para a formao dos classificadores: a abordagem
Pittsburgh, na qual um indivduo representa a soluo para o problema, e a
abordagem Michigan, na qual a soluo dada pela populao e no pelos
indivduos da populao (neste caso, existe uma nica soluo sendo evoluda)
(MICHALEWICZ, 1996).
Utilizaremos a abordagem Michigan, ilustrada na Tabela 1, para formao dos
classificadores.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Tabela 1 - Exemplos de Classificadores


Rtulo

Classificadores ou Regras

Energia

(SE)... : (ENTO) ...


A

1#1## : 11

8,5

1110# : 01

15,2

11111 : 11

5,9

##0## : 10

19,0

Portanto, cada classificador ir atuar vinculado ocorrncia de uma situao


especfica do ambiente, de modo que o desempenho do Sistema Classificador,
tomando-se todo o histrico de atuao no ambiente, ser sempre determinado
considerando-se toda a populao de classificadores.
Como usual em representaes baseadas em regras, esses classificadores so
compostos por uma parte antecedente e outra consequente.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Existem variaes em que um classificador pode possuir duas ou mais condies


na parte antecedente.
A parte antecedente do Sistema Classificador um vetor de tamanho fixo,
formado pela concatenao dos caracteres 0, 1 e #, os quais so elementos
do conjunto que compe o alfabeto ternrio {0,1,#}. O caractere # conhecido
como o smbolo dont care, tem a funo exercida por um curinga em um jogo
de cartas, podendo assumir o valor 1 ou 0, durante a fase de comparao (a
ser descrita mais adiante).
A parte consequente um outro vetor de tamanho fixo, formada pela
concatenao dos caracteres 0 e 1 do alfabeto binrio {0,1}.
Associada a cada classificador, temos a sua energia (strength, na literatura em
ingls), utilizada para expressar o vigor, ou fora, de cada um durante o processo
evolutivo.
O casamento da parte antecedente do classificador com a mensagem do ambiente
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

que definir quem ir competir ou no. A competio, neste caso, caracteriza-se


por uma forma de avaliao dos classificadores, sendo que os mais bem adaptados
disputaro o direito de atuar sobre o ambiente.
No exemplo da Tabela 1, para uma mensagem do ambiente na forma 11101, os
classificadores A e B iro competir, sendo que o classificador B est mais apto a
vencer a competio, devido ao grau de energia que possui.
Outro conceito importante o da especificidade de cada classificador, medida
inversamente proporcional quantidade de smbolos # (dont care) na parte
antecedente do classificador (Tabela 1).
Por exemplo, os classificadores A e D so menos especficos, podendo portanto
identificar-se com um maior nmero de mensagens do ambiente.
Suponha que cada bit da mensagem caracterize uma informao do ambiente. O
classificador A se identificaria com esta mensagem e tambm com outras 7
mensagens. J o classificador C se identificaria apenas com a mensagem 11111.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

A parte do consequente do classificador separada da parte antecedente pelo


smbolo : . Seu valor determina a ao a ser aplicada no ambiente por
intermdio dos atuadores.
Por exemplo, nos classificadores A e C a sequncia 11 poderia significar siga em
frente, determinando um dentre 4 movimentos possveis de um rob mvel em
um ambiente a ser explorado.
Internamente, os Sistemas Classificadores dividem-se em trs subsistemas
distintos e interativos:


Subsistema de Tratamento de Regras e Mensagens

Subsistema de Apropriao de Crdito

Subsistema de Descoberta de Novas Regras

Descreve-se, a seguir, cada um destes subsistemas.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Sistema Classificador

Mensagens

Ao vencedora

D
e
t
e
c
t
o
r
e
s E
x
e
c
u
t
o
r
e
s

Subsistema de
Descoberta de Novas
Regras
Classificadores
Subsistema de
Tratamento de Regras
e Mensagens

Classificadores Identificados

Subsistema de Apropriao
de Crdito
Retroalimentao

Fluxo Simplificado (Sistema Classificador e Ambiente)

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

10

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

3 Subsistema de Tratamento de Regras e Mensagens


Quando os detectores de mensagens percebem a presena de alguma mensagem
do ambiente, enviam a mesma para o Subsistema de Tratamento de Regras e
Mensagens. Este codifica a mensagem, de forma que o Sistema Classificador
possa reconhec-la, e coloca a mesma disposio para um processo de
identificao, o qual denominaremos comparao.
Na fase de comparao, todos os classificadores tentam identificar sua parte
antecedente com a mensagem. A identificao pode ser feita por comparao bit a
bit, sendo que deve-se levar em conta a maior ou menor especificidade de cada
classificador. Por exemplo, classificadores mais especficos (com menos smbolos
# dont care) devem ser priorizados frente a classificadores menos especficos
que apresentam o mesmo grau de identificao (casamento) com a mensagem do
ambiente.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

11

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Subsistema de Tratamento de Regras e Mensagens

CLASSIFICADORES

CLASSIFICADORES
MENSAGENS

COMPARAO

CLASSIFICADORES

CLASSIFICADORES
IDENTIFICADOS

TAXAO

CLASSIFICADORES
IDENTIFICADOS

Fluxo Interno do Subsistema de Tratamento de Regras e Mensagens

No caso de uma comparao explcita, o casamento dos bits da mensagem com os


bits diferentes de # (dont care) do classificador acontece quando os bits esto
na mesma posio dentro do vetor de bits. O exemplo apresentado na figura
abaixo ilustra o processo de identificao.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

12

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Fase de Comparao
1.1
MENSAGEM ATUAL

CLASSIFICADORES
1#1##
1110#
11111
##0##

11101
CLASSIFICADORES
IDENTIFICADOS

:
:
:
:

11
01
11
10

1#1## : 11
1110# : 01

Processo de Identificao de Classificadores com uma Mensagem do


Ambiente (Fase de Comparao)
Os indivduos que possurem todas as posies no conflitantes com as da
mensagem (mesmo bit ou ento #) sero escolhidos como os classificadores
identificados para participarem da competio e, em seguida, sero enviados ao
Subsistema de Apropriao de Crdito.
Note que o melhor casamento entre a mensagem do ambiente e algum
classificador pode ser parcial.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

13

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

No mdulo Taxao, todos os classificadores, inclusive os classificadores


identificados, sofrero um decrscimo em sua energia correspondente taxa de
vida. Na Equao (1) abaixo, temos o clculo desta taxa, a qual cobrada de cada
classificador a cada iterao.
1

1 n
Taxa _ v = 1
2
onde n representa a meia vida do classificador (em nmero de iteraes).

(1)

Comportamento da taxa de vida para n = 20


1
0.9
0.8
0.7

energia

0.6
0.5
0.4
0.3
0.2
0.1
0

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

10

15

20
geraes

25

30

35

40

14

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

4 Subsistema de Apropriao de Crdito


Durante a fase de Apropriao de Crdito, todos os classificadores que se
identificaram com a mensagem do ambiente participaro de uma competio,
em que o ganhador a regra que apresenta maior bid (lance) efetivo, definido
pela Equao (2) abaixo. Ao ganhador ser concedido o direito de atuar sobre o
ambiente.
eBid t

= Bid t

+ _ bid * N t

(2)

onde:


eBid t representa o bid efetivo no instante t

Bid t representa o bid no instante t (veja Equao (3))

N t representa a modulao caracterizada por um rudo com distribuio

normal de mdia 0 e varincia 1.




_ bid representa o nvel de perturbao do rudo Nt

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

15

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

_bid um parmetro especfico do sistema, utilizado durante a competio, para


determinar o nvel de perturbao desejado durante a aplicao do rudo gaussiano
sobre Bid t . A aplicao deste rudo permite que classificadores com menor
energia tambm tenham chance de vencer a competio.
Calcula-se Bid t a partir da Equao (3):
Bid t

= k 0 * ( k1 + k 2 * Spec SPow ) * S t

(3)

onde:
 Bidt representa o bid no instante t;


k0, k1 e k2 so constantes positivas menores do que 1;

Spec representa a especificidade do classificador (definida na Equao (4)),


associada proporo de smbolos # no vetor;

SPow representa o parmetro de controle da influncia da especificidade no


valor do bid (normalmente igual a 1);

St representa a energia ou strength do classificador no instante t.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

16

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

A especificidade do classificador definida pela Equao (4):


Spec =

N total _#
N

(4)

onde:


N representa o tamanho da parte antecedente do classificador;

total_# representa o nmero de smbolos # (dont care) presentes na parte


antecedente do classificador.

Para exemplificar, consideremos os classificadores identificados na fase de


comparao apresentada na pgina 12. Tomando os parmetros k0 = 0,1, k1 = 0,1,
k2 = 0,0833, SPow = 3 e _bid = 0,1, observe na Tabela 2 o clculo do bid efetivo.
Note que, apesar do classificador ou regra B possuir maior energia St, o mesmo
no conseguiu vencer a competio. Isso foi consequncia da aplicao do rudo
gaussiano ao lance apostado pelos classificadores, evitando que sempre o
indivduo de maior energia seja o vencedor.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

17

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

A aplicao do rudo gaussiano promove uma melhor explorao do conjunto de


classificadores, os quais precisam atuar de forma persistente para receberem uma
avaliao confivel (RICHARDS, 1995).

Tabela 2 (Fase de Competio): Exemplo de Clculo do bid ou lance efetivo


Rtulo

Regras

St

Spec

Bidt

Nt

EBidt

Regra
Vencedora

1#1## : 11

8,5

0,4

0,0895

1,4151

0,2310

1110# : 01

15,2

0,8

0,2168

-0,8051

0,1363

1#1## : 11

Uma taxa de participao, representada na Equao (5), cobrada de cada


indivduo que participou da competio. O ganhador da competio paga
tambm uma taxa, equivalente ao valor de seu prprio Bidt, por ter o direito de
atuar sobre o ambiente.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

18

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Taxa _ bid

(5)

Bid _ tax * Bid t

onde:


Taxa_bid representa a taxa de participao na competio;

Bid_tax a constante aplicada sobre o Bid do classificador;

Bidt o Bid do classificador no instante t.

O ambiente responder fornecendo uma retroalimentao para o Sistema


Classificador, conforme ilustrado na figura a seguir.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

19

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

CLASSIFICADORES
IDENTIFICADOS

AO

COMPETIO

VENCEDORA

CLASSIFICADORES
IDENTIFICADOS

CLASSIFICADORES
IDENTIFICADOS

CLASSIFICADOR
VENCEDOR

TAXAO

CLASSIFICADOR
VENCEDOR

APROPRIAO DE CRDITO

RETROALIMENTAO

Fluxo Interno do Subsistema de Apropriao de Crdito

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

20

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

De acordo com os objetivos previamente definidos, responsabilidade do


Subsistema de Apropriao de Crdito definir o valor da recompensa ou punio
Rt e incorporar este valor energia do classificador ativo no momento, ou a um
elenco de classificadores que agiu recentemente.
A Equao (6) apresenta a frmula geral do clculo da nova energia do
classificador, a cada iterao (RICHARDS, 1995):
St +1 = (1 Taxa _ v )* St + Rt Bidt Taxa _ bid

(6)

onde:




Taxa_v a taxa de vida;


St a energia ou strength no instante t;
Rt o valor baseado na retroalimentao dada pelo ambiente, caso o
classificador tenha sido vencedor da competio no instante t1. Observe que
Rt > 0, em caso de recompensa (ao positiva) e Rt < 0 em caso de punio
(ao negativa);
Bidt o Bid do classificador no instante t, pago somente se o classificador foi
vitorioso na competio no instante t1;
Taxa_bid a taxa de participao na competio.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

21

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Uma vez definido o classificador vencedor, que ser responsvel pela ao sobre o
ambiente, uma nova mensagem ser fornecida pelo prprio ambiente,
caracterizando o seu novo estado.
Este novo estado, consequncia da ao indicada pelo classificador vencedor, ser
o ponto de partida para se definir o valor da recompensa Rt.
Em seguida, volta-se novamente ao tratamento de mensagens e apropriao de
crdito. O processo continua por uma poca de iteraes. Ao final de cada
poca, o Sistema Classificador participar de outra fase de sua evoluo: a fase de
descoberta de novas regras.
O processo de atribuio de crditos pode ser muito mais refinado do que aquele
apresentado acima, caso se adote o algoritmo de bucket brigade, geralmente
voltado para verses mais complexas de sistemas classificadores, em que podem
existir regras apenas para ativar outras regras, e no para competir diretamente
pela atuao no ambiente. Para maiores detalhes, veja BOOKER et al. (1989).
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

22

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

5 Subsistema de Descoberta de Novas Regras


Ao final de cada poca de iteraes, espera-se que a energia dos classificadores
tenha sido devidamente ajustada e, ento, aplicam-se os procedimentos intrnsecos
aos algoritmos genticos.
Neste momento, todas as vantagens desta ferramenta evolutiva so exploradas em
busca de uma populao de classificadores cada vez mais adaptada ao ambiente,
de acordo com o elenco de objetivos a serem atendidos, representados
formalmente no Subsistema de Apropriao de Crdito.
Basicamente, o algoritmo gentico produz uma nova gerao de classificadores
pela aplicao, em uma parte da populao original, dos operadores de seleo,
crossover e mutao.
A probabilidade de seleo de um classificador proporcional sua energia. Os
filhos gerados sero inseridos na populao em substituio aos indivduos com
menor energia, conforme apresentado na figura a seguir.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

23

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Decidida a forma de representao do classificador, ele ser tratado como um


cromossomo. Existem variaes para esta codificao, por exemplo, codificao
binria ou em ponto flutuante.
Subsistem de Descoberta de Novas Regras
Algoritmo
Gentico
CLASSIFICADORES

SELEO

CLASSIFICADORES

RECOMPO-

CLASSIFICADORES
SELECIONADOS
REPRODUO

SIO
FILHOS
GERADOS
NOVA
POPULAO DE
CLASSIFICADORES

Fluxo Interno do Subsistema de Descoberta de Novas Regras


Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

24

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

criada aleatoriamente a populao inicial de indivduos a evoluir. Em seguida,


calcula-se uma medida de adequao, denominada fitness na literatura em
ingls, a qual, em nossa aplicao, representada pela energia (em ingls,
strength) de cada classificador.
Inicialmente, todos os classificadores tm a mesma energia.
Como j observado anteriormente, o valor da energia est associado adequao
do classificador ao ambiente com o qual ele interage. A ao indicada pelo
classificador vencedor pode ir contra ou a favor dos objetivos, de modo que o
classificador poder diminuir ou aumentar sua energia ao longo das iteraes.
Atravs desta medida, ser possvel a avaliao de cada classificador durante o
processo evolutivo.
Uma vez criada a populao e atribuda a energia de cada classificador, aplicamos,
aps uma poca de iteraes (sequncia de aes indicadas pelos classificadores
vencedores a cada passo), os operadores de crossover e mutao.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

25

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

A seleo pode ser implementada atravs do mecanismo de Roulette Wheel,


proposto por GOLDBERG (1983).
O tamanho da populao inicial e das subsequentes geraes definido
empiricamente e mantido constante durante o processo de evoluo.
No mdulo Recomposio, a substituio dos indivduos ou classificadores
menos aptos (baixa energia) obedece a um tipo de seleo na forma: para cada
filho gerado, uma porcentagem da populao original selecionada e o
classificador com menor energia includo em um conjunto, o qual servir em
seguida para as substituies. A partir deste conjunto, o filho gerado substituir o
classificador com o qual ele possuir maior afinidade.

6 Algoritmo Simplificado
De forma simplificada, o algoritmo de gerao de um Sistema Classificador est
representado a seguir.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

26

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

INCIO DO PROCESSO EVOLUTIVO


INCIO DE UMA POCA DE ITERAES

Passo 1
Passo 2
Passo 3
Passo 4

: Receber mensagem do ambiente.


: Codificar mensagem.
: Selecionar classificadores que se identificam com a mensagem.
: Iniciar Competio :
- Calcular bid de cada competidor.
- Apontar vencedor.
- Cobrar taxas dos participantes e do vencedor.
Passo 5 : Atuar sobre o ambiente.
Passo 6 : Receber mensagem (retroalimentao) do ambiente.
Passo 7 : Codificar mensagem.
Passo 8 : Recompensar ou punir o classificador vencedor.
Passo 9 : Cobrar taxa de vida de todos os indivduos.
Passo 10 : Caso no seja fim de uma poca, retornar ao Passo 3.
FIM DE UMA POCA DE ITERAES

Passo 11 : Selecionar indivduos mais aptos para aplicao do algoritmo gentico.


Passo 12 : Aplicar os operadores de crossover e mutao para gerar os filhos.
Passo 13 : Selecionar os indivduos mais fracos da populao.
Passo 14 : Inserir os filhos gerados no Passo 12 na populao, substituindo os indivduos
selecionados no Passo 13.
Passo 15 : Caso no seja fim do processo evolutivo, voltar ao Passo 1.

FIM DO PROCESSO EVOLUTIVO

Algoritmo Simplificado de Gerao de um Sistema Classificador


Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

27

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

7 Exemplo Didtico de Aplicao de um Sistema Classificador


Para ilustrar o funcionamento de um Sistema Classificador, vamos discutir as
vrias etapas de sua aplicao a um exemplo didtico: o controle de um veculo
auto-guiado.
Este exemplo foi concebido pelo Prof. Ricardo Gudwin (DCA/FEEC/Unicamp).
O ambiente computacional implementado para simulao do desempenho deste
Sistema Classificador est representado a seguir, sendo que a rea para
deslocamento do veculo de 700700 unidades.
O veculo deve desenvolver uma velocidade constante de 15 unidades por
iterao, podendo deslocar-se em linha reta ( = 0 ), direita ( = 15o ) ou
esquerda ( = 15o ). Para decidir sobre os deslocamentos, o veculo possui dois
sensores, um de viso, com nove campos sensoriais, os quais detectaro a
presena de pilastras ou paredes, e outro de contato, para deteco de coliso.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

28

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Ambiente computacional proposto


700
600

PAREDES

500
400

VECULO

300

PILASTRAS

200

CAMPOS
SENSORIAIS

100
0
0

100

200

300

400

500

600

700

Ambiente Computacional Proposto

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

29

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

7.1 O Sistema Classificador

Cada classificador ser representado por uma regra, constituda por um vetor de
11 posies, onde as 9 primeiras posies refletem os nove campos sensoriais do
sensor de viso (chamada parte antecedente).
As 10a e 11a posies representam as aes a serem tomadas (parte
consequente); 00 ou 11 significam siga em frente, 01 significa vire 15o
direita, e 10 significa vire 15o esquerda.

1
4

5
8
9

O Veculo e seus Campos Sensoriais


Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

30

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Tanto a parte antecedente quanto a parte consequente sero criadas aleatoriamente


para a populao inicial.
A cada classificador ser designada uma energia inicial de 100 unidades. A
especificidade de cada classificador ser calculada com a metodologia descrita na
Equao (4).

7.2 A Evoluo

Caso um classificador obtenha xito em sua ao, ele ser recompensado,


somando-se 1 unidade sua energia. Caso contrrio, ele ser punido, subtraindose 2 unidades de sua energia.
Adota-se um algoritmo gentico para criao de novas regras, o qual ser aplicado
a cada perodo de 100 iteraes. Uma vez selecionado o par para reproduo, a
taxa de crossover aplicada ser de 100%, enquanto que a taxa de mutao aplicada
ser de 2%.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

31

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Apenas 10% da populao ser selecionada para reproduo, o que significa um


total de 10% da populao original sendo substituda para compor a nova gerao.

7.3 Um Ciclo Completo de Evoluo

Durante esta simulao, vamos acompanhar todos os passos descritos no


Algoritmo Simplificado, supondo que algumas iteraes j foram realizadas.
Assim, j existe um valor distinto de energia atribuda a cada classificador.
Formularemos a hiptese de que o veculo encontra-se na posio ilustrada na
figura da pgina 28.
Para efeito de demonstrao, vamos supor tambm que aps o Passo 10 do
Algoritmo Simplificado caracterizar-se- o final de uma poca de iteraes,
permitindo-nos visualizar a fase de descoberta de novas regras.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

32

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Receber mensagem do ambiente


Codificar mensagem
Selecionar classificadores que se identificam com a mensagem

Passos 1, 2 e 3:

MENSAGEM
DO
AMBIENTE

POPULAO DE
CLASSIFICADORES
CLASSIFICADOR

010000000
CLASSIFICADORES
Rtulo

Classificador

##00###0# : 01

01# 000###: 11

010#0#0#0 : 00

ENERGIA

##00###0# :

01

80

01 0 1 1 0 0 0 0 :

11

20

101011000 :

10

10

0#1#1#1#1 :

01

98

01# 000###:

11

87

#11##1##1 :

01

45

010#0#0#0 :

00

67

No processo de codificao da mensagem, o estado detectado pelos campos


sensoriais foi transformado em uma sequncia de bits 010000000, indicando a
existncia de um obstculo no campo 2 (veja figuras das pginas 27 e 28).
Para esta mensagem do ambiente, foram selecionados 3 classificadores (A, B e C),
os quais sugerem como prxima ao: vire 15o direita (01) ou siga em frente (11
e 00), respectivamente.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

33

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Iniciar Competio :
Calcular bid de cada competidor.
Apontar vencedor.
Cobrar taxas dos participantes e do vencedor.

Passo 4:

Rtulo

St

80

0,3333 1,0221 1,6656

Regra
Taxa Novo
Vencedora
St
0,003 79,997
0,6581

87

0,5556 1,2726

0,1253

1,0068

67

0,6667 1,0421

0,2877

0,8641

Spec

Bidt

Nt

Regra
Ao
Vencedora
B
11 - siga em frente

eBidt

0,004 86,996
0,003 66,997

St

Bidt

Novo St

86,996

1,2726

85,7234

A regra B vencedora indica que o veculo deve seguir em frente.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

34

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Atuar sobre o ambiente

Passo 5:

Ambiente aps atuao do Classificador Vencedor


700
600
500
400
300
200
100
0

100

200

300

400

500

600

700

O veculo segue em frente, deslocando-se 15 unidades de distncia sem sofrer


coliso.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

35

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Passos 6,7 e 8:

Receber mensagem (retroalimentao) do ambiente


Codificar mensagem
Recompensar ou punir classificador vencedor
PUNIO

RETROALIMENTAO

SIM

PUNIO

HOUVE
COLISO OU
APROXIMAO
DE OBSTCULO

NO

Hiptese

Energia

Energia

Vencedora

Antes

Aps

85,7234

83,7234

RECOMPENSA

No houve coliso resultante da aplicao da regra B. Entretanto, a ao proposta


fez com que a pilastra invadisse um campo sensorial mais interno.
A regra B ser punida com um decrscimo de 2 unidades em sua energia.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

36

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Passo 9:

Cobrar taxa de vida de todos os indivduos (Equao (6))


1

1 n
TAXA DE VIDA: Taxa _ v = 1 = 0,0069 , com n = 100.
2

POPULAO DE CLASSIFICADORES
ENERGIA APS
CLASSIFICADOR

ENERGIA

##00###0# :01
01 0 1 1 0 0 0 0 : 1 1
101011000 :10
0#1#1#1#1 : 01
01# 000###: 11
#11##1##1 : 01
010#0#0#0 : 00

79,997
20,000
10,000
98,000
83,723
45,000
66,997

COBRANA DA TAXA
79,4444
19,8618
9,9309
97,3231
83,1240
44,6892
66,5342

A taxa de vida foi calculada considerando-se n = 100 (nmero de iteraes antes


da aplicao do algoritmo gentico)
Apenas o classificador que venceu a competio sofreu um maior decrscimo em
sua energia, devido punio que recebeu.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

37

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Passos 11 e 12:

Selecionar indivduos mais aptos para aplicao do AG


Aplicar os operadores de crossover e mutao

SELEO E APLICAO DO OPERADOR DE CROSSOVER


CLASSIFICADORES
SELECIONADOS

FILHOS
GERADOS

0#1#1#1#1 : 01

01#000##1: 01

01#000###: 11

0#1#1#1## : 11

PONTO DE
CROSSOVER

O ponto de crossover foi selecionado aleatoriamente (logo aps o lcus no 8).

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

38

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

APLICAO DO OPERADOR DE MUTAO


01#000 # #1: 01

01#000 1 #1: 01

PONTO DE
MUTAO

Foi escolhido aleatoriamente o gene do lcus no 7. Como se trata do smbolo #,


este poder ser mutado para 0 ou 1
Os operadores genticos aqui apresentados podem at no ser os mais indicados
para este caso de aplicao. E tambm podem no ser os mais indicados em geral.
A diversidade de operadores genticos j trabalhados no curso pode ser
devidamente explorada no sentido de aumentar a eficcia do processo de busca,
escolhendo operadores de acordo com a natureza de cada aplicao.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

39

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

Passos 13 e 14:

Selecionar os indivduos mais fracos da populao.


Inserir os filhos gerados no Passo 12 na populao,
substituindo os indivduos selecionados no Passo 13.

POPULAO DE CLASSIFICADORES

NOVA POPULAO DE CLASSIFICADORES

ENERGIA

CLASSIFICADOR

ENERGIA

##00###0# :01

79,4444

##00###0# :01

79,4444

01 0 1 1 0 0 0 0 : 1 1

19,8618

01#000 1 #1: 01

90,2230

0#1#1#1## : 11

90,2230
97,3231

CLASSIFICADOR

101011000 :10

9,9309

RECOLOCAO

0#1#1#1#1 : 01

97,3231

0#1#1#1#1 : 01

01# 000###: 11

86,1240

01# 000###: 11

86,1240

#11##1##1 : 01

44,6892

#11##1##1 : 01

44,6892

66,5342

010#0#0#0 : 00

66,5342

010#0#0#0 : 00

Os filhos gerados substituram os indivduos mais fracos (com menor energia).


A energia (strength) dos filhos ser calculada pela mdia da energia dos pais.
Tpico 9 - Sistemas Complexos Adaptativos
Adaptado de VARGAS (2000), cap. 4

40

IA013 Prof. Fernando J. Von Zuben


DCA/FEEC/Unicamp

8 Referncias
BOOKER, L.B. Improving the Performance of Genetic Algorithms in Classifier Systems, Proceedings of the International Conference on
Genetic Algorithms and Their Applications, pp. 80-92, 1985.
BOOKER, L.B., GOLDBERG, D.E. & HOLLAND, J.H. Classifier Systems and Genetic Algorithms, Artificial Intelligence, vol. 40, pp. 235282, 1989.
GOLDBERG, D.E. Computer-Aided Gas Pipeline Operation using Genetic Algorithms and Rule Learning, Ph.D. Thesis, University of
Michigan, Ann Arbor, MI., 1983.
HOLLAND, J.H. Adaptation in Natural and Artificial Systems, University of Michigan Press, 1975.
HOLLAND, J.H. Adaptation in Natural and Artificial Systems, 2nd edition, The MIT Press, 1992.
HOLLAND, J.H. Hidden order: how adaptation builds complexity, Addison Wesley, Inc, 1995.
HOLLAND, J.H. Emergence: from chaos to order, Addison Wesley, Inc, 1998.
KOVACS, T. & LANZI, P.L. A Learning Classifier Systems Bibliograph, Technical Report: CSRP-99-19, University of Birmingham,
United Kingdom, 1999. http://www.cs.bham.ac.uk/~tyk/lcs
MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution Programs, 3rd edition, Springer, 1996.
RICHARDS, R.A. Zeroth-Order Shape Optimization Utilizing Learning Classifier Systems, Ph.D. Thesis, Stanford University, 1995.
http://www.stanford.edu/~buc/SPHINcsX/book.html
VARGAS, P.A. Sistemas Classificadores para Reduo de Perdas em Redes de Distribuio de Energia Eltrica, Dissertao de
Mestrado, Faculdade de Engenharia Eltrica e de Computao, 2000.

Tpico 9 - Sistemas Complexos Adaptativos


Adaptado de VARGAS (2000), cap. 4

41