Universidade
Federal
de
Santa
Catarina
-UFSC
Programa
de
Pós-Graduação
em
Engenharia
Elétrica
Departamento
de
Engenharia
ElétricaGrupo
de Pesquisas
em
Engenharia Biomédica
-GPEB
Emergência da
Inteligência
em
Agentes
Autônomos
através
de
Modelos
Inspirados
na Natureza
Tese
Submetida
à Universidade Federal de Santa CatarinaComo
Parte dos Requisitos paraObtenção
doGrau
de Doutorem
Engenharia Elétrica -Área
deConcentração
em
Sistemas de InformaçãoMauro
Roisenberg
Emergência da
Inteligência
em
Agentes
Autônomos
através
de
Modelos
Inspirados
na
Natureza
Mauro
Roisenberg
ESTA
TEsE
For
JULGADA
ADEQUADA
PARA
QETENÇÃO
Do
TÍTULO
DE
DoUToR
EM
ENGENHARIA
ELETRICA
¡ ~
AREA
DE
CONCENTRAÇAO
EM
SISTEMAS
DE
INFORMAÇAO,
E
APROVADA
EM
SUA
FORMA
FINAL
PELO
PROGRAMA
DE
PÓS-GRADUAÇÃO
,~¿¿4aj×Íä‹zwf§7(
Prof.
Dr.
Jorge
Mumz
Barreto
`“-~
O
tProf.
Dr. Fer11\ndd`Í\/Iendesçdšzišvedo
-Co-Orientador
Prši.
Aãroašãoiflaizer
Coordenador do Curso
de
Pós-Graduação
em
Engenharia
Elétrica
Banca
examinadora:
~¿¿‹¢¢3,Anz‹u×2šâ7
Prof.
Dr
JorgeMuniz
Barreto, orientadorProf. Dr. Fern do
Mendes
de Azevedo, co-orientador. 5' _›\ ' _ l:5ar‹›ne
emana.
' ~Prof. Dr.
'mmanucl
Pis es Lopes PassosPxfl
s o da. ota AlvesProf. Dr. aulo'-.
“Imagination is
more
important than knowledge.”Albert Einstein
“Alguns
homens vêem
as coisascomo
são, e dizem 'Por quê?'Eu
sonhocom
as/4
coisas que nunca
foram
e digo 'Por que não?' ”George Bernard
Shaw
Para os crentes
Deus
está no princípio das coisas.Para os cientistas no final de toda a reflexão.”
Max
PlaneAgradecimentos
Primeiramente gostaria de agradecer ao
meu
orientador, Prof. Dr. JorgeMuniz
Barreto, por toda a sua dedicação, apoio e entusiasmo. Seubom-
humor,
sua capacidade intelectual e sua disponibilidadeem
atender, ou-vir e aconselhar foram fatores fundamentais para que este trabalho se realizasse. Encontrei nele mais do que
um
orientador,mas
um
amigo
econselheiro. Gostaria de agradever
também
aomeu
Co-orientador, Prof.Dr. Fernando
Mendes
de Azevedo, pela sua colaboração incondicional,seu apoio e interesse. Para
mim
foiuma
honra eum
privilégio ter podidotrabalhar sob a supervisão exemplar destes dois cientistas.
Agradeço
também
aosmembros
quecompuseram
a banca da defesa daTese, pela paciência
em
ler omeu
trabalho e pelas suas valiosas sugestoese comentários.
Gostaria de agradecer aos colegas e funcionários do
GPEB
e,em
especial,aos colegas João
da
Silva Dias, LourdesMatos
Brasil,John Wisbek
eRoberto Célio
Limão
pela sua ajuda, interesse e amizade.Especial agradecimento aos
meus
familiares,em
especial aosmeus
paisque
sempre
me
deram
0 amor, o exemplo, a ajuda e o apoio para que euestudasse.
A
minha
Mae, pelo carinho e dedicaçao e aomeu
Pai, peloexemplo
deamor
à Ciência e à Vida Acadêmica.Agradeço
aCAPES
e àUFRGS
pelo suporte financeiro durante a rea~lização deste trabalho.
Finalmente,
mas
nao por último, agradeço à.minha amada
esposa e aosmeus
adorados filhos, pelo seu amor, apoio e inspiração. Esta Tese éä
Publicaçoes
M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo. Generalization capacity in neural networks - the ballistic trajectory learning case. ln II CongressoBrasileiro de Redes Neurais, Curitiba,
PR,
Oct. 1995.M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo. Specialization versusgeneralization in neural network learning for ballistic interception
movement.
ln
MELECONÍ96'
IEEE
Mediterranean Eletrotechnical Conference, pages 627-630, Bari, Italy,
May
1996.M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo.A
neural network that implements reactive behavioredautonomous
agents. In AEN'9ó`IAS
TED
International Conference on Artificial Intelligence, Expert Systems
and
NeuralNetworks, Honolulu, Hawaii, Aug. 1996.
M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo. Biological inspirationsin neural network implementations of
autonomous
agents. ln D. L. Borges andC. A. A. Kaestner, editors, Advances in artificial intelligence : proceedings
/
13th BrazilianSymposium
on Artificial Inteligence,number
1159 in lecturenotes in
computer
science; Lecture notes in artificial intelligence, pages 211-220. Springer~Verlag, Berlin, Oct. 1996.
M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo. Feedforward and re-current neural networks complexity power - a comparison based on a con-
crete example. In III Congresso Brasileiro de Redes Neurais, pages 1-6, Flo-
rianópolis, SC, July 1997.
M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo. Modeling behaviors with artificial neural networks. InWRIÍ97
Workshop
on Intelligent Robotics,pages 34-45, Brasília,
DF,
Aug. 1997.M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo.Uma
proposta de modelização para agentesautônomos
baseada na teoria de sistemas. In 3°i
ii
SBAI
Simpósio Brasileiro deAutomação
Inteligente, pages 500-507, Vitória,ES, Sept. 1997. _
M.
Roisenberg, J.M.
Barreto, and F.M.
de Azevedo.On
a formal concept ofautonomous
agents. InAI
”.98IASTED
International Conference on AppliedInformatícs, Garmisch-Paterkirchen,
Germany,
Feb. 1998.M.
Roisenberg, J .M.
Barreto, and F.M.
de Azevedo. Neural network classifi-cation based on the problem. In
IJCNN
IEEE
International Joint Conferenceon Neural Networks, Anchorage, Alaska,
May
1998.J.
M.
Barreto,M.
Roisenberg, and F.M.
de Azevedo. Developing artificialneural networks for
autonomous
agents using evolutionary programming. In A.S'C".98IASTED
International Conference on Artificial Intelligence and SoftSumário
Publicaçoes
Sumário
Listade
Figuras
Listade
Tabelas
Listade Abreviaturas
Resumo
Abstract
1Introdução
1.1 Motivação . . . .. 1.2 Objetivos da Tese . . . . . 1.3 Organizaçao do Texto . . . . . 2Agentes
Autônomos
2.1 Introdução . . . . . 2.2 Alternativas de Implementação . . . . . 2.2.1Programação
Direta . . . . . 2.2.2 Inteligência Artificial Simbólica . . . . . 2.2.3 Implementações baseadasem
comportamento
2.2.4 Outras alternativas . . . . .
2.2.5 Arquiteturas de Quadro-Negro e Multi-Agentes 2.3
A
Modelagem
de AgentesAutônomos
. . . . .2.3.1 Conceitos de Sistemas . . . . . 2.3.2
Modelo
de Agente . . . . . 2.3.3Modelo
deAmbiente
. . . . . iii - . . . . . - . . . z z . . . z « . . . - ~ i iii vii xi xii xiiixv
çgooi-D-H 12 12 15 16 17 18 21 23 24 26 38 43iv
2.3.4 Interação entre Agente e
Ambiente
. . . 442.3.5 Medidas de
Desempenho
. . . 45Comportamento
Animal
'47 3.1 Introdução . . . 473.2 Fatores que
determinam
ocomportamento
. . . 493.3 Classes de
comportamentos
. . . 503.3.1
Comportamentos
estereotipados . . . 513.3.2
Comportamento
racional . . . 553.4
Autômatos
de Estados Finitoscomo
ferramenta para descrever com-. portamentos . . . 58Aprendizado
64
4.1 Introdução . . . 644.2
O
que é Aprendizado? . . . 654.3 Tipos de Aprendizado . . . 66
4.3.1 Aprendizado
em
Sistemas de IA Clássica . . . 664.3.2 Aprendizado
em
Sistemas Naturais . . . 684.4 Aprendizado e Sistema Nervoso Central . . . 72
4.5 Aprendizado no Contexto deste Trabalho . . . 74
~
Evoluçao
75 5.1 Introdução . . . _ . 75 5.2 Bases Biológicas da Evolução . . . 765.2.1 Origens da
Vida
. . . 765.2.2 Evolução Biológica . . . 77
5.2.3
Fundamentos
de Genética . . . 795.2.4 Genótipo e Fenótipo . . . 80
5.3 Evolução do Sistema Nervoso . . . 80
5.4 Evolução do
Comportamento
. . . 845.4.1 Sistema Nervoso e
Comportamento
. . . 845.4.2 Genética e
Comportamento
. . . 855.5
Computação
Evolucionária . . . 865.5.1 Algoritmos Genéticos . . . 88
5.5.2 Algoritmo Genético Simples . . . _ . 89 5.5.3
Programação
Evolucionária . . . 94V
5.5.5 Diferenças entre os Algoritmos Genéticos e outros Algoritmos
Evolucionãrios . . . ._ . . . 97
5.6
Computação
Evolucionãria na Geração de Redes Neurais . . . 98Redes
Neurais
'103
6.1 Introdução . . . .1036.2
O
Neurônio Biológico . . . 1046.3 Redes de Neurônios -
O
Cérebro . . . 1076.4
A
Abordagem
Conexionista . . . 1086.4.1 Histórico . . . . . .C . 108 6.4.2
O
Modelo
Geral de Neurônio Artificial . . . 1106.4.3 Redes de Neurônios Artificiais . . . 114
6.5 Topologias de
RNAs
. . . 1156.5.1 Redes Diretas . . . 116
6.5.2 Redes Recorrentes . . . 117
6.6 Alguns
Teoremas
. . . 1206.7 Aprendizado de
RNAs
. . . 1206.7.1 Aprendizado
em
Redes Neurais Diretas - o algoritmo “Back- propagation” . . . 1226.7.2 Aprendizado
em
Redes Neurais Recorrentes . . . 123Agentes
Autônomos
eParadigmas
Biológicos124
7.1 Introdução . . . 1247.2 Idéias Gerais . . . 124
7.3 Capacidade de Generalização de
RNAs
. . . 1277.3.1
O
Problema
do Aprendizado de Trajetórias . . . 1297.3.2
Implementação
dos Experimentos . . . 1307.3.3
RNAs
com
Capacidade de Extrapolação . . . 1347.4 Topologias de
RNAs
e suas Potencialidades Computacionais . . . 1367.4.1
Complexidade
de Redes Neurais . . . 1377.4.2
Teoremas
deComplexidade
de Redes Neurais . . . 1387.4.3 Classes de Problemas . . . 140
7.4.4
A
Paridadecomo
um
problema deordem
infinita . . . 1417.5
Implementando Comportamentos
com
RNAs
. . . _ . 143 7.5.1 Taxias e Reflexos . . . 1437.5.2
Comportamentos
Reativos e Instintivos . . . 1467.6 Aprendizado
em
Rede
Neurais Recorrentes . . . 151vi
7.6.2
Um
Algoritmo Biologicamente Inspirado . . . 1547.7
Programação
Evolucionária para a geração de AgentesAutônomos
. . 1597.7.1 Motivação . . . 159
7.7.2
O
SistemaEVAG
. . . 1607.7.3 Experimentos . . . 163
7.8
Uma
Rede
queAprende
Estados Internos . . . 1688
Epílogo
182
8.1 Conclusões e Trabalhos Futuros . . . 182Lista
de
Figuras
1.1 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 3.1 3.2 3.3 3.4 3.5 3.6Comparação
entre os principais paradigmas biológicos e computacio-nais envolvidos neste trabalho . . . . 8
Funcionamento
genérico deum
SistemaAutônomo
. . . 14Arquitetura
em
camadas
de comportamentos da “subsumption archi- tecture” . . . 20Esquema
Inibidor/Supressor parauma
camada
decomportamento
. . 20Módulo
de controlemotor
implementado utilizando a arquitetura de quadro-negro . . . 25Exemplo
de sistema funcional . . . 31Grafo representando
um
autômato
com
dois estados . . . 35Hierarquia de tipos de sistemas . . . 37
Exemplo
de sistema complexo _ _ . . . 38Diagrama
de Estados deum
AA
antes e apósum
aprendizado . . . 41Aprendizado
como
uma
transição “especial” de estados . . . 42Representação esquemática do relacionamento entre hereditariedade, sistema nervoso e aprendizado na determinação do
comportamento
deum
animal . . . 49Apresentação esquemática da forma de
comportamento
dominante.em
série filogenética . . . 51Um
problema
de contorno no qual o animal deve primeiramente se afastar do alimento a fim de atingi-lo . . . 56Máquina
deMealy
representando ocomportamento
de mover-seem
direção ao alimento . . . 60Autômato
de Estados Finitos que descreve demodo
geral o compor-tamento
da vespa descrito noExemplo
3.3.1 . . . 61Dois
Autômatos
de Estados Finitos descrevendoem
diferentes níveisde detalhamento o
comportamento
deuma
barata que procura por. 62
um
ambiente escuro e aomesmo
tempo
foge de perigo . . . . .Vlll
Autômato
de Estados Finitos que descreveum
acasalamentomovido
por
comportamento
instintivo . . . 63Exemplo
deuma
seqüência de condicionamento clássico . . . 70Gatos
na
caixa de Skinner;um
deles a ponto de calcar a barra . . . . 71Três labirintos de dificuldade crescente. S é o local de partida e
F
0 local de alimento . . . 72Ciclo de vida do sistema nervoso apresentando os
mecanismos
de desenvolvimento, aprendizado, seleção natural e variação genética . . 78Exemplo
de roleta para seleção . . . Â . . 91Processo conceitual da operação de cruzamento . . . 92
Processo conceitual
da
operação demutação
. . . 92Exemplo
deum
ciclo do Algoritmo Genético Simples . . . 93Representação simplificada de
um
Neurônio Biológico . . . 106Elementos básicos que
compõem
um
Neurônio Artificial . . . 112Rede
Neural Artificial DiretaMulti-Camada
. . . 117Rede
Neural Artificial Recorrentecom
uma
únicacamada
de neurônios118Um
exemplo
de rede recorrente de tempo-real . . . 119Diagrama
das relações entre neurônios efetivamente observadosem
um
sistema nervoso biológico .` . . . 126Aumento
da complexidade do sistema nervoso através de processos evolucionários . . . 127Rede
Neural Direta para geração de trajetória balística . . . 130Trajetórias, real e calculada pela rede para ângulos de lançamento de 30°, 45° e 60° . . . 131
Erro
máximo
entre as trajetórias reais e calculadas pela rede para ângulos de lançamento entre 0° e 90°,com
rede treinada para veloci- dade inicial de10m/s
e ângulos de lançamento de 30° e 60° . . . 132Erro
máximo
entre as trajetórias reais e calculadas pela rede para ângulos de lançamento entre 0° e 90°,com
rede treinada para veloci- dade inicial de10m/s
e ângulos de lançamento de 15° e 75° . . . _ 133Autômato
finito queimplementa
o cálculo da paridade deum
“string” 135Rede
Neural Artificial Recorrente quemodela
0autômato
finito queimplementa
o cálculo da paridade deum
“string” . . . 135Modelo
deRede
Neural Recorrente capaz de implementarum
autômato
finito . . . 1407.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26
Rede
Neural Artificial Recorrentesem
camada
intermediária para ten- tar implementar o autômato finito que implementa o cálculo da pa-ridade de
um
“string” . . . . .Rede
Neural Direta equivalente à rede recorrentesem
camada
inter-mediária incapaz de aprender o autômato finito da paridade . . . .
Rede
Neural capaz de implementar ocomportamento
de“movimento
em
direção ao alimento” . . . . .Criatura primitiva
com
sistema nervoso composto apenas de conexõesdiretas,
porém
com
uma
camada
de neurônios intermediários . . . .Rede
Neural Recorrentecom camada
escondida capaz de aprender osestados de
um
Autômato
de Estados Finitos . . . . .Rede
-Neural Direta capaz de aprender as saídas deum
Autômatos
de Estados Finitos . . . . .Representação simplificada da formiga simulada
com
seus sensores eatuadores . . . . .
Plano toroidal onde a formiga é posta para operar e trajetória seguida pela formiga . . . . .
Autômato
de Estados Finitos que descreveum
possível comporta-mento
para a formiga . . . . .Rede
Neural ArtificialComposta
que implementa ocomportamento
descrito para a formiga . . . . . . . . .
Autômato
finito que descreve ocomportamento
do agente que resolve0
problema
das lâmpadas e dos botões . . . . .Rede
Neural Direta equivalente à rede recorrente capaz de aprender oautômato
finito da lâmpadas e botões através do algoritmo de back- propagation . . . . .Configuração inicial do sistema nervoso do agente no instante
em
queele é posto para operar no ambiente . . . . .
Ambiente
simples contendo agentes e alimentos aleatoriamente dis-tribuidos . . . . .
Rede
Neural Feedforward desenvolvida pelo sistema que permite ao agente percorrer o ambiente coletando alimentos . . . . .Ambiente
contendo agentes, alimentos e venenos aleatoriamente dis-tribuidos . . . . .
Algumas
soluções encontradas pelo sistema para percorrer o ambinte coletando alimentos aomesmo
tempo
em
que evita consumir veneno7.27 7.28 7.29 7.30 7.31 7.32 7.33 7.34 7.35 7.36
Ambiente
cercado por paredes contendo agentes e alimentos aleatori~amente
distribuídos . . . ._ . . . . .Rede
Neural Recorrente encontrada peloEVAG
paraum
agente capaz de operar no ambiente cercado por paredes . . . . _Interface de operação do sistema
BIONNT
. . . . .Rede
Neural Recorrentecom camada
intermediária e neurônios de estado nacamada
de saída capaz de aprender linguagens regulares .Gráficos mostrando a convergência da rede para o apredizado dos
exemplos da linguagem 1 da Tabela 7.8.
Os
gráficos são plotados a cada 50 épocas de treinamento . . . _ .Gráficos mostrando a convergência da rede para o apredizado dos
exemplos da linguagem 2 da Tabela 7.8 . . . . .
Gráficos mostrando a convergência da rede para o apredizado dos
exemplos da linguagem 3 da Tabela 7.8 . . . . .
Gráficos mostrando a convergência da rede para o apredizado dos
exemplos da linguagem 4 da Tabela 7.8 . . . . .
Gráficos mostrando a convergência da rede para o apredizado dos
exemplos da linguagem 5 da Tabela 7.8 . . . . .
Graficos mostrando a convergência da rede para o apredizado dos
Lista
de
Tabelas
7.1 Conjunto de treinamento para o autômato que implementa o cálculo
da paridade . . . . .i
. . 143 7.2 Função combinacional que descreve o
comportamento
de taxia . . . . 1457.3
Função
combinacional que descreve o novocomportamento
. . . . _ _ 1457.4 Conjunto de treinamento para o
AEF
que implementa o comporta-mento
das lâmpadas e dos botões . . . 1557.5 Conjunto de treinamento para os estados do
AEF
queimplementa
ocomportamento
da formiga simulada . . . 1587.6 Conjunto de treinamento para os valores de saída do
AEF
que des-creve o
comportamento
da formiga simulada . . . 1597.7 Caracterização de algumas das linguagens propostas por
Tomita
[182] 1707.8
Exemplos
positivos e negativos de algumas linguagens investigadasem
Tomita
[182]. § significa a cadeia vazia . . . 1717.9
Resumo
dos resultados de velocidade e acuidade reportados por [188]e [9] para aprendizado das linguages da Tabela 7.7 . . . 174
7.10 Resultados de configuração, velocidade, erro
mínimo
obtido ao finaldo aprendizao e acuidade das redes recorrentes para aprendizado das
linguages da Tabela 7.7 . . . 175
7.11 Conjunto de treinamento para implementar o
comportamento
de an-dar pelo ambiente evitando elementos de veneno colocados
sempre
“atrás” dos alimentos . . . 176
Lista
de
Abreviaturas
AA
ADN
AE
AG
AGS
ARN
BAM
CBI
CRN
EC
EE
ENC
EVAG
NA
PDP
PE
RC
RNA
RNC
RNN
SNC
AgenteAutônomo
Ácido Desóxi-Ribonuclêàzo Algoritmo Evolucionário Algoritmo GenéticoAlgoritmo Genético Simples Ácido Ribonuclêico
Bi-Directional Associative
Memory
Computador
Baseadoem
InstruçãoComputador
Baseadoem
Redes Neurais Estímulo CondicionadoEstratégia Evolucionária
Estímulo Não-Condiciondo Evolutionary Agents Generator Neurônio Artificial
Parallel and Distributed Processing
Programação
Evolucionária Reflexo CondicionadoRede
Neural ArtificialReflexo
Não-CondicionadoRede
Neural Natural Sistema Nervoso CentralResumo
O
desenvolvimento de AgentesAutônomos
que sejam capazes de sobreviver e de desenvolver tarefasem
ambientes complexos, dinâmicos, imprevisíveis, desestrutu-rados e até
mesmo
hostis,como
omundo
real, é tarefaextremamente
desafiadora.Por outro lado, seres vivos, sejam eles mamíferos, aves, insetos ou
mesmo
vermes, apresentamuma
enorme
capacidade de sobrevivência nomundo
realquando
com-parados
com
qualquer AgenteAutônomo
já desenvolvido.Este trabalho propõe que a inspiração biológica
pode
ser a fonte demecanismos
e soluções que,
uma
vez entendidos e implementados,permitam
construir AgentesAutônomos com
alto grau de autonomia e utilidade.Inteligência Computacional, neste trabalho, é entendida
como
comportamentoadaptativo que permite a sobrevivência do sistema no ambiente onde ele é posto
para operar.
Ao
buscarmosuma
inspiração biológica,podemos
considerar que osAlgoritmos Evolucionários fornecem o
modelo
computacional que simula,mesmo
que de maneira simplista, os processos naturais de reprodução,mutação
e seleção quesimulam
a evolução de estruturas individuais no processo de busca por indivíduosmais aptos a sobreviverem e agirem
em
um
dado ambiente.Quanto
à questão demodelagem
de aspectos docomportamento
dos animais, a abordagem Conexionistaé considerada e utilizada para simular aspectos comportamentais na implementação de Agentes
Autônomos.
Este trabalho apresenta a idéia de que
uma
série de classes decomportamentos
observados nos animais
podem
ser implementados através de diferentes arquiteturasde Redes Neurais Artificiais.
Também
se enfatiza o fato de que estas diferentesarquiteturas
podem
ser obtidas através de Algoritmos Evolucionários. Procura-secomprovar a hipótese de que comportamentos reƒlexivos
podem
ser implementadosatravés de arquiteturas mais simples de redes neurais estáticas, do tipo direta ou
“feedƒorward”. Já
comportamentos
mais complexos, taiscomo
os comportamentosreativos, que presistem e se desenrolam
mesmo
após ter cessado o estímulo sensorialexcitador, necessitam de redes neurais realimentadas ou recorrentes,
com
neurôniosdinâmicos, de
modo
a inserir dinâmica ememória
no sistema.XIV
Inicialmente, são apresentados os fatores motivadores e alguns conceitos básicos.
Logo após, apresenta~se o conceito de Agente
Autônomo
e as principais alternativasde
im
lementa ão e ro õe-seum
formalismo basedo na 3 Teoria Geral de Sistema para conceituação de AgentesAutônomos.
A
seguir, os conceitos de comportamento, a rendizado evolu ão 7 e sistema nervoso são descritos e analisados 1 tanto do ontode vista bioló ico
como
dos res ectivos P aradimas com
Putacionais. Finalmente ›são descritas algumas contribuições originais que
têm
como
base os temas estudadosanteriormente e que
permitem
uma
nova alternativa para implementação de Agen-tes
Autônomos
e são a resentadasim
lementa ões concretas deexem
P los sim lesque ilustram as idéias apresentadas neste e nos capítulos anteriores.
No
epílogo éa resentado
um
resumo
final do ue foi discutido e são listados P ontosem
abertopara trabalhos futuros. _
Palavras Chaves:
Agentes
Autônomos,
Redes Neurais, Algoritmos Evolucionários,Vida
Abstract
Title:
Emergence
of Intelligence inAutonomous
Agents through Nature
Inspired
Models
iThe
development ofAutonomus
Agents capable to survive and develop tasks in a complex, dynamic, unforeseeable and even hostile environment, as is the real world, is a very challenging research area. Life beings, asmammalians,
birds, insects oreven worms, present a bigger survival capacity in the real world
when
compared
With any
Autonomous
Agent ever developed.This
Work
proposes that biological inspiration can be the source ofmechanisms
and solutions that, once understood and implemented, allow the development of
Autonomoous
Agents with high level ofautonomy
and utility.Computational Intelligence, in this Work, is understood as adaptive behavior that
allows the system survival and operation in a given environment. Looking for a
biological inspiration, its considered that the Evolutionary Algorithms give the com~
putational
model
that simulates, even in a simplistic fashion, the natural proceduresof reproduction, mutation and selection that allow the evolution of individual struc-
tures searching the
most
capable solution for a given environment.What
concernsabout modeling aspects of animal behaviors,
we
consider and use the Connectio-nist approach as an apropriate tool to
model
and simulate behavioral aspectsWhen
implementing
Autonomous
Agents.This
work
presents the idea that a series of behavior classes, observed in animals, can beimplemented
through different Artificial Neural Networks architecture”s.We
also emphasize that these different architectures can be obtained using Evolutionary Algorithms.We
try to confirm the hypothesis that pure reƒlexive behaviors could beimplemented
through simple static neural networks architecture”s like feedfor-ward architectures.
More
complex behaviors, as reactive behaviors, that persist anddevelop, even after finished the sensorial exciting stimulus, require
more complex
neural networks a.rchitecture's, like a recurrent one, with
dynamic
neurons to insertdynamic
andmemory
in the system. Axvi
Firstly, motivational facts and
some
basic concepts are presented. Just after-Wards the concepts of
Autonomous
Agents and themain
implëmentations strategiesare presented as well as a formal conceptuation, using the General Systems Theory
is proposed. After that, the concepts of behavior, learning, evolution and nervous
system, are described and analysed, both from the biological as from the equiva-
lent computational point-of-view. Finally,
some
original contributions based in thepreviously presented subjects and that allow a
new
strategy inAutonomous
Agentsimplementation are described.
Some
implementations of simple examples that illus-trate the ideas are presented.
A
summary
of what had been discussed is presentedand open points for future works are listed. '
Keywords:
Autonomous
Agents, Neural Networks, Evolutionary Algorithms, Arti- ficial Life, Robotics.Capítulo
1
Introdução
1
.1
Motivação
Quando
se observa omundo
ao nosso redor,um
fato extraordinário muitas vezespassa desapercebido diante de nossos olhos: a sobrevivência.
Uma
minhoca,uma
barata,
um
gato emesmo
os sereshumanos
sãomáquinas
extraordinárias que con-seguem
interagircom
0 ambiente que os cerca, retirando deste ambiente os recursosnecessários à
manutenção
da vida, crescendo e se reproduzindo. Para que estes seresconsigam meios para sua sobrevivência, três capacidades
parecem
fundamentais: a percepção, a mobilidade e a inteligência.A
percepção domundo,
a mobilidade ea inteligência
parecem
ter evoluído juntas.Na
verdade, estes três conceitos estãointimamente ligados e
um
dificilmente poderia existirsem
o outro.Podemos
entender a percepçãocomo
sendo o canal pelo qualuma
entidadeobtém
informações sobre o que ocorre no ambiente ao seu redor. Já a mobilidade é a capa-
cidade da entidade de se mover, explorar e alterar 0 ambiente que a cerca. Entre os seres vivos, os vegetais parecem possuir
uma
capacidade de percepção do ambiente que os cerca (temperatura, dia/noite, etc), no entanto sua mobilidade, da maneiracomo
a definimos, éextremamente
limitada, para não se dizer inexistente.Com
osanimais, os conceitos de percepção e mobilidade são mais evidentes e desenvolvi-
dos.
Em
muitos deles pode-semesmo
identificar sistemas especializados para estasfunções, tais
como
os nervos e os músculos.Assim
como
na
área da teoria da computação, a definição de função computável corresponde à existência deum
algoritmo capaz de calcular o seu valor, poderia sedizer que no caso dos seres vivos, a existência de
uma
funçãocom
característicasemelhante à função computável
pode
sercomprovada
pela existência deum
al-goritmo que permite ao ser-vivo gerar
um
comportamento
adequado e a garantirsobrevivência de sua informação genética.
Ao
se procurar fazeruma
analogia, aindacAPfTULo
1.INTRODUÇÃO
2que superficial,
com
os sistemas computacionais, poder-se-iacomparar
o ambienteexterno
com
a fita de entrada de onde são lidas as instruções a serem executa-das (percebidas) pelo processador (a entidade viva que age no ambiente). Assim,
os vegetais poderiam ser comparados
com
asMáquinas
Seqiienciais que processamseqiiencialmente as instruções lidas da fita de entrada para produzir
um
resultado (asobrevivência), enquanto que os animais poderiam ser comparados a
uma
Máquina
de Turing,
na
qual a percepção seria a capacidade de ler a fita de entrada, enquantoque, a mobilidade, a sua capacidade de alterar 0 ambiente, poderia ser associada ã
capacidade da
Máquina
de Turing de escrever na fita de entrada (o ambiente).Assim
como, computacionalmente,uma
Máquina
de Turing é mais potente queuma
Máquina
Seqiiencial, a mobilidade aumenta,em
muito, as chances de sobre-vivência dos seres vivos, pela modificação do ambiente, através da fuga de preda-
dores, busca de alimentos, procura por elementos da
mesma
espécie, construção de ninhos e abrigos, etc.Enquanto
os conceitos de percepção e mobilidade são relativamentebem
enten-didos, o conceito de inteligência é muito mais aberto e vago. Fogel [66] apresenta
uma
discussão bastante interessante sobre este tema.Em
um
primeiromomento,
ainteligência era geralmente associada a
uma
característica unicamentehumana,
derepresentação de conhecimentos e resolução de problemas, refletindo
um
ponto de vista altamente antropocêntrico. Mas, ainda assim, nós, humanos, não compreen-demos
a nósmesmos,
como
funciona nossa “inteligência” enem
mesmo
a origem de nossos pensamentos [l3].Minsky
[126] apresentou a seguinte definição de inte- ligência “Inteligência significa a habilidade de resolver problemas difíceis”. Esta definição, apesar de bastante geral,também
é problemática.Um
computador,programado
para resolverum
“problema difícil” como, por exemplo, as raízes deum
polinômio de grau n, não pode ser consideradocomo
possuindo inteligência.Passou-se então a associar a idéia de inteligência
com
a capacidade detomar
decisões. Fogel [66] coloca que “...
um
organismo, ou qualquer sistema, para ser in-teligente, ele deve
tomar
decisões. Qualquer decisão deve ser descritacomo
a seleçãode
como
alocar os recursos disponíveis. ...atomada
de decisões requerum
objetivo”.N
ote-se, no entanto, que muitas vezes ocomportamento
deum
sistemapode
não en-volver a
tomada
de decisões,mas
sim o reconhecimento deum
padrão, por exemplo,um
pato que ao nascer associa o primeiro objeto de grande porte que ele enxergacomo
sendo sua“mãe”
e o segue por toda a parte. Estecomportamento
não envolveuma
tomada
de decisão,mas
éum
comportamento
“inteligente” que foi “adquirido” geneticamente ao longo de gerações e queaumenta
a chance de sobrevivência dac_APz'TULo
1.INTRODUÇAO
3Assim, a idéia de inteligência passou a ser associada
com
a idéia de sobrevivência.Carne [45] define: “Talvez a característica basica de
um
organismo inteligente seja sua capacidade de aprender a realizar váriasfunçõesem
um
ambiente dinâmico, taiscomo
sobreviver e prosperar”.E
Fogel [66] generaliza: “inteligênciapode
serdefinida
como
a capacidade deum
sistema de adaptar seucomportamento
paraatingir seus objetivos
em uma
variedade de ambientes”.Seguindo esta linha de raciocinio, vê-se que, no caso dos seres vivos, a inteligência
reside no sistema nervoso e está associado a sua complexidade, ou seja, quanto mais
complexo o sistema nervoso do organismo, maior a capacidade de adaptar o seu com-
portamento e, portanto, maior a sua inteligência. Para o caso de sistemas artificiais,
poder-se-ia associar a inteligência à. capacidade do processador dos sistemas com-
putacionais. Assim, a função primordial da inteligência é de interligar de maneira
coerente a percepção
com
a mobilidade, ou seja, sua função é processar corretamenteos dados que estão sendo lidos da fita de entrada (percepção do ambiente) e gerar
os resultados de saída coerentes que, por sua vez, de
alguma
maneira, são escritosna fita de entrada (através da modificação do ambiente), resultando
em
novos dadose
em
novas ações que, assim, se transformamem
um
imensoprograma
que duraenquanto o processador subsistir (enquanto o ser estiver vivo).
No
entanto, a capacidade do processador não é tudo, é necessário que os “pro-gramas” que ele executa, assim
como
os circuitos e estruturas neurais dos sistemas nervosos naturais, sejam adequadosa
complexidade do processador.Um
super-computador
rodandoum
algoritmo ineficiente ouum
cérebrohumano com
os circui- tos avariados ou que não tenha a oportunidade de aprender novos comportamentos,têm
seu grau de “inteligência” bastante reduzido.Assim, a inteligência é
um
fator que depende tanto da capacidade do sistema nervosocomo
das informações que este sistema é capaz de processarou
aprender.No
caso de sistemas artificiais, quanto melhor o processador e mais
adequado
o “soft-ware” que ele executa maior o grau de inteligência e portanto, melhor a coordenação
entre percepção e mobilidade e, maiores as chances de sobrevivência da entidade.
Ou
seja, quanto mais inteligente a entidade, maisadequada
é a ação gerada parauma
determinada percepção.A
partir daí,podemos
associar este conceitoamplo
de inteligência à algumas de suas características, taiscomo
a adaptação, o aprendizado, a criatividade, aresolução de problemas, etc, que
têm
sido objeto de pesquisas de diversas areas deestudos.
O
mecanismo
de sobrevivência dos animaisem
um
ambiente éum
ciclo fechado.Para poder sobreviver,
um
animal necessita de certa inteligência a fim de coordenarCAPITULO
1.INTRODUÇÃO
4de maneira
adequada
o funcionamento do seu sistema nervoso sensóreo-motor. Por outro lado, é através da mobilidade conferida pelo sistema sensóreo-motor que osanimais aplicam a sua inteligência na busca pela adaptação ao ambiente [150].
A
inteligência do serhumano,
aliado a sua mobilidade e criatividade, o levou adesenvolver
mecanismos
que,uma
vez dotados de inteligência e mobilidade, viessem a substitui'-lo nas tarefas repetitivas, desgastantes ou perigosas. Estesmecanismos
são conhecidos
como
Agentes ou SistemasAutônomos.
~Agentes
Autônomos
(AAs) são sistemas quepossuem
uma
interação duradouracom
um
ambiente dinâmico externo, estandonormalmente
instalados fisicamenteem
mecanismos. Eles são dotados de rodas ou outros meios de locomoção e sensores e projetados para funcionarem por longos períodos de tempo, operandoem
um
ciclo que envolve a aquisição de informações do ambiente e a geração de dados de saída.
Na
sua interaçãocom
o ambiente externo, osAAs podem
influenciara dinâmica deste ambiente,
porém
dificilmentepodem
controla-lo completamente[90].
A
operação destes sistemas envolve principalmente problemas navegacionais,tais
como
fugir de obstáculos, vagar no ambientesem
esbarrarem
objetos, atingiruma
posição determinada, etc.Os
AAs
encontram numerosas aplicações nos dias de hoje. Entre elaspodemos
citar: o transporte de peças e ferramentas nos ambientes industriais, escavação e
transporte de minérios
em
minas subterrâneas, exploração submarina,manutenção
de equipamentos petrolíferos a grandes profundidades, exploração espacial, inves-
tigação de vulcões, construção e
manutenção
de estradas, vigilância, etc [31] [50][38] [12].1
Nas
aplicações descritas, os agentesoperam
nomundo
real, ou seja,em
ambi-entes
chamados
“Ambientes Abertos”.Um
Ambiente
Aberto é aquele que não écem
por cento conhecido,podendo
apresentar obstáculos e eventos imprevisíveis.A
operação dos
AAs
nestes ambientes esta associada auma
série de problemas.Em
primeiro lugar é impossível descrever completamente o ambiente e os obstáculos que o agente irá encontrar; os ambientes abertos apresentam constantemente eventos esituações imprevisíveis que
podem
levar a replanejamentos e novas ações. Desen-volver Agentes
Autônomos
capazes de realizar suas tarefas operandoem
ambientesabertos, dinâmicos e desestruturados, de maneira autônoma,
tem
sidoum
desafiopara muitos pesquisadores de áreas
como
Robótica e Inteligência Artificial [34] [104][105] [31] [106] [90] [1l3].
Os
AAs
desenvolvidos por estes pesquisadores apresentamuma
performance de 1Ao longo deste texto, quando mais deuma
obra for citada, o critério de ordem adotado é o decAPfTULo
1.INTRODUÇÃO
5operação
em
tempo-real nomundo
real infinitamente inferiorquando comparada
àdos organismos biológicos. Assim, selos
mecanismos
utilizados pela Natureza fo-ram
capaz de desenvolver sistemas (os animais) que apresentamuma
extraordináriaperformance de operação e sobrevivência, parece interessante e promissor tentar es- tudar e utilizar estes
mecanismos
naturais afim
de desenvolver modelos que, assimcomo
os animais, funcionariam muitobem
nomundo
real. Nesta area, conhecidade maneira geral
como
Vida
Artificial (“Artificial Life”), encontram-se diversos pes-quisadores trabalhando
em
diferentes aspectos destaabordagem
[8] [28] [190] [l03],entre outros.
A
corrente de pensamento destes autores parece verem
um
modestoinseto, no lugar das habilidades simbólicas de
um
especialista, o melhor protótipopara o que eles consideram
como
inteligência [32].Brooks
em
[37]também
apresentaum
argumento bastante interessante.Ao
refletircomo
se deu a evolução biológica sobre a Terra, vê-se que os primeiros peixes evertebrados surgiram
há
550 milhões de anos atrás enquanto que ohomem
chegou há apenas 2.5 milhões.Além
disso, a agricultura foi inventada há 19000 anos, a escritahá
menos
de 5000 e o conhecimento “especialista” apenashá
umas
poucas centenasde anos. Isto sugeriria que a resolução de problemas, a linguagem, o conhecimento
especialista e o raciocínio seriam mais simples de serem obtidos,
uma
vez que ascapacidade de- ser e de reagir estivessem disponíveis.
A
essência seria a habilidadede se
mover
em
um
ambiente dinâmico, interagindocom
o ambienteem
um
grau suficiente para amanutenção
da vida e_ da reprodução,uma
vez que foi nesta parteda inteligência que a Natureza concentrou a maior parte
do
seu tempo.Segundo
Langton, aVida
Artificial é ocampo
de estudo dedicado a tentar abs-trair a dinâmica fundamental dos princípios que
regem
os fenômenos biológicos e que procura recriar esta dinâmicaem
outro meio físico - os computadores - tornando-osacessíveis a novas formas de manipulação experimental e testes [103].
Porque procurar na Natureza,
em
especial nos fenômenos biológicos, os paradig-mas
para o desenvolvimento de sistemas computacionais mais eficazes e capazes deresolver os problemas propostos?
A
motivação paratomar
esta inspiração biológicavem
da suposição que a Na-tureza,
com
seus mecanismos, buscou resolverum
problema de otimização.A
idéia cada vez mais aceita hoje
em
dia, é de que a Natureza procuraum
ótimo. Pesquisadorescomo
Rashevsky [147] e Rosen [160]têm
procurado mostrarcomo
os fenômenos biológicosobedecem
a leis perfeitamente expressas deforma
matemática,bem
como
a importância dos conceitos de otimizaçãoem
biologia.Observando
a Natureza,vemos
que osmecanismos
de evolução e seleção naturalcAPfTULo
1-.INTRODUÇÃO
ôum
determinado ambiente.A
evolução é omecanismo
pelo qual seobtém
a diversi-dade de organismos biológicos que interagem
com
o meio ambiente, retirando destemeio
as suas condições de vida e, por sua vez, modificando-o.Como
os organis-mos
são diferentes, os mais aptos encontram condições de vida e possibilidade de reprodução maiores que outrosmenos
aptos e, assim, seunúmero
tende a aumentarpelo processo
chamado
seleção.O
mecanismo
de seleção pode ser consideradocomo
uma
busca constante de maior eficiência. ‹Pode-se constatar,
também,
que este processo evolutivo, na busca por elemen-tos cada vez mais aptos, levou ao desenvolvimento de organismos
com
um
sistemanervoso. Este sistema, conectado a toda
uma
gama
de sensores, realizaum
proces-samento de
modo
a atuar sobreum
sistema motor. Este sistema nervoso, compostopor
uma
rede de células especializadas,chamadas
neurônios,mapeia
de maneira coerente as informações do ambiente e do próprio agente, recebidas pelos sensores,em
ações executadas pelos atuadores (sistema motor). Estemapeamento
cria o~que poderiamos
chamar
de comportamentos.Além
disso, este sistema nervosotem
condições,
em
maior oumenor
grau,Qf de se adaptar amudanças
do ambiente,num
processo que poderíamos
chamar
de aprendizado, demodo
a melhorar a operação do agente durante o seu período de existência.Uma
vez estabelecido que a inspiração biológica pode ser a fonte demecanismos
e soluções que,
uma
vez implementadas,permitem
alcançarum
alto grau de autono-mia,
devemos
verificarcomo
estes paradigmas biológicospodem
ser transformadosem
ferramentas para a construção de AAs.Na
área da Inteligência Artificial,vemos
se popularizar a cada dia o conceito deComputação
Evolucionária.Computação
Evolucionãria é onome
genérico dado amétodos
computacionais inspirados na teoria da evolução.Os
algoritmos usadosem
computação
evolucionária sechamam
Algoritmos Evolucionários (AES) [l9].Existe
uma
gama
enorme
de algoritmos inspirados na teoria da evolução.Os
mais conhecidos são os Algoritmos Genéticos propostos por Holland [86], certamente o mais popular deles, aProgramação
Evolucionária, as Estratégias Evolucionárias e aProgramação
Genética. Todos são inspirados nosmecanismos
de evolução biológica e portantousam
mecanismos
de seleção,mutação
e reprodução quepermitem
a evolução de estruturas individuais na procura pela solução maisadequada
paraum
dado ambiente.No
caso deAAs,
é interessante notar que o “problema” que se quer resolver éo da “capacidade de sobrevivência” do agente e a sua habilidade para realizar de-
terminada tarefa
em
um
dado ambiente aberto. Este problema dificilmente poderiacAPfrULo
1.INTRODUÇÃO
7interessados
em
obter o “melhor” agentecomo
solução para este problema, ou seja,o agente que tiver melhor aptidão para sobreviver no ambiente enquanto realiza a
tarefa especificada, estamos diante de
um
problema de otimização,mesmo
que oque se esteja otimizando seja desconhecido. Ora, historicamente, os algoritmos evo-
lucionários e suas variações surgiram justamente
como
ferramenta para solução deproblemas
em
que se buscauma
solução ótima apesar de não se conhecer explicita-mente
o que se está otimizando. VSe os
AEs
são paradigmas da área de Inteligência Computacional que procurambuscar inspiração nos
mecanismos
naturais de evolução e seleção para a soluçãode problemas, é a
abordagem
conexionista através das Redes Neurais Artificiais(RN~As), por sua vez, que procura modelar o funcionamento do sistema nervoso,
simulando o funcionamento de sua unidade básica, o neurônio
com
suas conexões.Rumelhart
et al. [162]em
seu excelente texto introdutório,afirmam
que a es-tratégia até hoje adotada
tem
sido a de desenvolver modelos matemáticos simplifi-cados de sistemas nervosos e de estudar estes modelos a
fim
de entendercomo
váriosproblemas computacionais
podem
ser resolvidos por estes modelos. Este trabalhotem
atraído pesquisadores de diversas áreas: neurocientistas interessadosem
desen-volver modelos dos circuitos neurais encontrados
em
áreas específicas do cérebro dediversos animais; físicos que
vêem
analogias entre ocomportamento
dinâmico de sis-temas nervosos e vários tipos de sistemas dinâmicos não-lineares muito
comuns
nafísica; engenheiros de
computação
interessadosem
fabricar “computadores neurais”, pesquisadores da área de inteligência artificial interessadosem
construir máquinascom
a inteligência de organismos biológicos; engenheiros interessadosem
resolverproblemas práticos; psicólogos interessados
em
compreender osmecanismos huma-
nos de processamento de informações; matemáticos interessados nas características
matemáticas destes sistemas neurais; filósofos interessados
em
entendercomo
estessistemas
podem
mudar
nosso ponto de vista sobre a natureza damente
e sua relaçãocom
o cérebro; e muitos outros.É
importante ressaltar que se osmecanismos
evolutivos encontrados na Naturezasão relativamente
bem
compreendidos, osmecanismos
de funcionamento do sistema nervoso nos seres vivos parecem serbem
mais complexos e muitos são ainda desco-nhecidos. Portanto, ainda hoje
em
dia, os modelos deRNAS
estão muito distantesdas redes neurais naturais
(RNNs)
e, freqüentemente, as semelhanças são mínimas.Apesar das simplificações adotadas, pesquisas
têm
procurado modelar o sistema nervosocom
suficiente precisão de talmodo
a poder observarum
comportamento
emergente que sendo semelhante ao
comportamento
do ser vivo modelado, possacAPfTULo
1.INTRODUÇÃO
8RNAS
é possível criarmecanismos
de adaptação quesimulam
o processo de apren-dizagem.
No
que diz respeito amodelagem
de aspectos docomportamento
dos seres vivos,também
podemos
considerar aabordagem
conexionistacomo
uma
ferramentaapropriada para modelar e simular aspectos comportamentais
na
implementação deAAs.
Resumindo, pode-se dizer que ao longo deste trabalho procura se estudar
como
fazer emergir aspectos de inteligência
em
AAs
através de modelos inspirados na Natureza, tais.como
osAES
e asRNAS.
Adaptado por C
OMPORTAMENTO
-I5>~APRENDIZADOcGera\
P/ModificadoPànànxcmms
HP”
AN¡M¿L
__¡,_
sIs'rEMA__¡,_
EvoLUÇ.§.om°¡^Ó°`m°s
Ntnvoso
E sELEc›.o_
._
._
._._._._._C.°121×°!fl2°._._._0tifl¿i=§d2._.___.-.
PW
PW
AGENTE
REDE
NEURAL
ALGORITMQS
HRÂDTGMÀS
AU1-ôN0M0"°"`
ànrrricim.”"EvoLUc1oNAmos
COB'iPEI'l`à.CIONA¡S
Gem
Modificadopor
C
OMP
ORTAMENTO
-D'*_APRENDIZADO
Adaptado por
Figura 1.1:
Comparaçao
entre os principais paradigmas biológicos e computacionaisenvolvidos neste trabalho `
1.2
Objetivos
da
Tese
Nesta tese se busca
mecanismos
de criação deAAs
que sejam adaptaveis e quepossam
evoluir e teruma
boa performanceem
um
ambiente não especificado a priori.Estes
mecanismos
de criação deAAs
são inspirados nosmecanismos
encontrados naNatureza tais
como
evolução e aprendizado,com
a conseqüente adaptação ao meio. Especificamente, este trabalho pretende:o Apresentar e analisar os pontos principais da Natureza sobre os quais se buscou
cAPfrUL0
1.INTRODUÇÃO
9o Apresentar e analisar os modelos computacionais utilizados para simular os
paradigmas naturais; V
o Apresentar e utilizar a
abordagem
de Teoria de Sistemas para construiruma
base formal para a definição de Agente
Autônomo
e de outros conceitos rela-cionados;
o
Uma
vez estabelecida esta base teórica, mostrarcomo
uma
ferramenta formalbem
conhecida, talcomo
oAutômato
de Estados Finitos,pode
ser utilizadapara descrever
um
AgenteAutônomo;
o Propor
como
os AgentesAutônomos
assim descritospodem
ser implementadospor Redes Neurais Artificiais utilizando o
mesmo
arcabouço teórico;o Introduzir e fundamentar a idéia de que
uma
série de classes de comporta-mento
observadasem
animaispodem
ser implementados através de diferentesarquiteturas de
RNAS;
o Desenvolver algoritmos de aprendizado que sejam biologicamente inspirados
para a implementação de comportamentos aprendidos;
o
Demonstrar
que as diferentes arquiteturas deRNAS
podem
ser obtidas atravésde AEs;
o Relacionar as diferentes arquiteturas obtidas através de
AES com
o grau de complexidade doscomportamentos
necessários para a sobrevivência do agenteem
diferentes ambientes;o Ilustrar os idéias apresentadas
com
a implementação concreta de exemplossimples.
1.3
Organização do Texto
Este trabalho está dividido
em
8 capítulos.O
capítulo 1 descreveu 0 contexto geralno qual o trabalho está inserido.
Também
foram apresentados os objetivos desta tese.O
capítulo 2 procura apresentar e formalizar o conceito de AgentesAutônomos.
Inicialmente são apresentados: o conceito básico de
AA
e as abordagens tradicio-nais já utilizadas no desenvolvimento destes sistemas, tais
como
programação di-reta, técnicas de IA simbólica, “subsumption architecture” , etc., analisando carac-
cAPfTULo
1.INTRODUÇÃO
10Ambiente,
bem
como
as interações entre estes dois sistemas, utilizando aabordagem
de Teoria de Sistemas proposta por Barreto [15] e de Azevedo [59] e que é inspiradapelos trabalhos de Bertalanfy [186] (biologia),
Zadeh
&
Desoer [197] (engenharia),Kalman,
Arbib&
Falb [93] (matemática) e Mesarovic&
Takahara [123] (modelospopulacionais). Finalmente apresenta-se critérios para a avaliação
da
performancedo Agente no Ambiente.
Ao
longo deste trabalho, procura-se mostrar que ocomportamento
dos animais,um
dos fatores de inspiração por nós utilizados para o desenvolvimento deAAs,
éinfluenciado pela hereditariedade e pela aprendizagem.
Conforme
Hebb, a heredi-tariedade, ao longo de
um
processo evolutivo, determina o tipo de cérebro, orgãossensoriais e sistema motor, dos quais a capacidade de aprendizado depende inteira-
mente. Devido às diferenças na hereditariedade,
uma
pessoapode
aprender o queseria impossivel a
um
elefante; os cães, os gatos e os macacosaprendem
damesma
situação coisas diferentes, e assim por diante [81]. Deste
modo,
o capítulo 3 des-creve as diferentes classes de comportamentos animais encontrados na Natureza,
tais
como
comportamentos
reflexos, inatos, aprendidos, etc. Mostra-setambém
quecertos
comportamentos
podem
ser descritos através deautômata
de estados finitos.O
objetivo primordial do aprendizadoem
nosso trabalho é o de aprimorar ocomportamento
do sistema, tornando-o mais apto para operar no ambienteem
quefor colocado. Assim, o capitulo 4 procura fazer
uma
revisão no conceito de apren-dizado, apresentando os diversos conceitos encontrados na literatura tanto na área
da psicologia
como
na área de computação.O
capítulo 5 trata da questão da evolução, descrevendo inicialmente osme-
canismos naturais da evolução e seleção natural, apresentando hipóteses de
como
este processo levou ao desenvolvimento do sistemas nervoso e à evolução dos com-
portamentos. Finalmente, neste capítulo são apresentados os principais métodos
computacionais inspirados nos
mecanismos
biológicos de evolução ecomo
eles po-dem
ser utilizados para gerar diferentes arquiteturas deRNAS.
No
capitulo 6 é feitoum
estudo sobre as Redes Neurais. Primeiramente sãoapresentados os modelos biológicos de Sistema Nervoso Central, o funcionamento dos neurônios naturais e a organização interna do cérebro.
Em
seguida são apresen-tados os modelos artificiais de neurônios e de
RNAS,
tanto estáticascomo
dinâmicas,bem
como
osmecanismos
de aprendizado utilizados. Procura-se relacionar as arqui-teturas de redes neurais apresentadas
com
a capacidade de resolução de diferentesclasses de problemas.
Vemos
que sistemas dinâmicos necessitam de redes neuraisdinâmicas para serem modelados, o que nos leva a apresentar a hipótese de que di-
cAPz'TULo
1.INTRODUÇÃO
11Finalmente, no capítulo 7 são descritas algumas contribuições originais que
têm
como
base os temas estudados anteriormente e quepermitem
uma
nova alternativapara implementação de
AAs.
Estas contribuições envolvem:uma
reflexão sobreas capacidades de generalização das
RNAS
em
função dos exemplos apresentados durante o aprendizado e da própria estrutura daRNA;
um
estudo sobrecomo
a estrutura daRNA
determina suas potencialidades computacionais;uma
proposta de implementação decomportamentos
observados na natureza através de diferen-tes estruturas de
RNAS,
bem
como
mecanismos biologicamente inspirados para oaprendizado de
RNAS;
a desrição deum
sistema baseadoem
Programação
Evo-lucionária para a geração de
RNAS
paraAAs
e finalmente aborda~secomo
RNAS
podem
induzir autômatos através de exemplos decomportamentos
observados.Ao
longo deste capítulo são apresentadas implementações concretas de exemplos simples que ilustram as idéias apresentadas neste e nos capítulos anteriores.No
epílogo é apresentadoum
resumo final do que foi discutido e são listadosCapítulo
2
Agentes
Autônomos
2
.1
Introdução
Quando
secomeça
a pesquisar e ler a bibliografia disponível sobre Agentes Autôno- mos, nos defrontamoscom
uma
séria lacuna.Não
se encontrauma
definição clarae precisa sobre o que é
um
“agente” e,nem
quando, ou porque, ele se torna“autônomo”.
Ao
longo deste capítulo procura-se preencher pelomenos
parte desta lacuna.Analisam-se os trabalhos relacionados
com
esta área e procura-se extrair destes, ini-cialmente,
uma
conceituação básicacomum
a vários autores.Em
seguida, apresenta-se as diversas abordagens utilizadas por estes pesquisadores no desenvolvimento des-
tes sistemas, tais
como
programação direta, técnicas de IA simbólica, “subsumptionarchitecture”, etc., analisando características e limitações de cada abordagem. Por
fim, procura-se construir
uma
fundamentação formal para oproblema
da concei-tuação de agentes autônomos, utilizando a
abordagem
de Teoria de Sistemas.O
objetivo desta- formalização é tornar mais claro os conceitos de Agentes
Autônomos
e de Ambiente,
bem
como
as interações entre estes dois Sistemas e permitiruma
base para a avaliação dedesempenhos
e comparação entre implementações.Os
trabalhos na area de AgentesAutônomos
têm
características multi-disciplinarres e,
dependendo
da área de interesse de determinado autor, a nomenclatura en-contrada e a
abordagem
utilizada pode variar imensamente.O
significado precisodo
termo
“agente” é mal-definido, porém, hojeem
dia encontram-se trabalhos en-volvendo agentes
em
duas grandes áreas.A
primeira grande área de pesquisa envolvendo agentes parece estar mais relaci-onada
com
os “software agents”,um
campo
emergente de pesquisa quecombina
ele-mentos
da inteligência artificial tradicional, teoria de jogos, psicologia e programação orientada a objetos. Nestaabordagem
os agentes são considerados entidadescAPfTULo
2.AGENTES
AUTÓNOMOS
13putacionais baseadas na idéia de que os usuários necessitam apenas especificar
um
objetivo
em
alto-nível, ao invés de utilizar instruções explícitas, deixando as questõesde
como
equando
agir, a cargo do agente. Aplicações utilizando estaabordagem
procuram
criar produtos na área de interfaces amigáveis, cartografia, auxílio ao en- sino, ao diagnóstico médico, etc.Quanto
a nomenclatura utilizada, vê-se que algunsautores
também
utilizam o termo “Agentes Inteligentes”,como
se encontra na ediçãodedicada a este
tema
na revista“Communications
ofACM”
[4] ou ainda “softbots”[169] Maiores informações sobre “software agents”
podem
ser encontradasem
[4][89] [116] [196]
A
outra grande area de pesquisa envolvendo os agentes, e a que nos interessamais especificamente, é a área da robótica,
também
conhecidacomo
a dos “hardwareagents” [89].
O
desenvolvimento de pesquisas nesta area se deu a partir do final dadécada de 70
quando
surgiram os primeiros robôs ditos de terceira geração, os cha-mados
“Robôs Inteligentes” [54] Segundo Alves, o grande diferencial destes robôscom
relação aos robôs “Play-Back” de segunda geração é a capacidade de sensorearo ambiente no qual estão inseridos.
O
salto de qualidade para esta terceira geração de robôs estava na possibilidade do robô detectarmudanças
ambientais e, atravésda reavaliação de seus objetivos, encontrar
uma
nova seqüência de ações capazes depersegui-los,
sem
que esta seqüência tivesse sido prevista [54] Nesta área, além dotermo “Agentes
Autônomos”, vamos
encontrar autores que utilizam o termo “RobôsInteligentes” [54][12], “Sistemas
Autônomos”
[32][184], outroschamam
de “SistemasVeiculares
Autônomos”
(AGVS
-Autonomous Guided
Vehicles)[50] ou simplesmente“Veículos
Autônomos”
[31][109], outros ainda de “Organismo Artificial” [139],“Em-
bedded Systems” [90] e “Situated
Automata”
[91] [38]Da
mesma
maneira que aabordagem
-adotada, as definições e a nomenclatura va-riam entre os diversos autores,
também
os resultados apresentados utilizam métricasde avaliação bastante diversas, o que torna difícil a comparação entre os resultados
de diferentes autores [90].
Ao
procuraruma
definição de AgenteAutônomo
comum
a todos estes autores,chega-se a seguinte definição por senso
comum:
“Um
AgenteAutônomo
éum
sistema computadorizado capaz de extrair in- formações do seu ambiente (eventualmente este ambiente é computacional) e, atravésde
alguma
capacidade cognitiva,mapear
as informações extraídasem
ações que,eventualmente,
podem
afetar o ambiente demodo
a alcançar os objetivos para osquais foi projetado”.