Você está na página 1de 105

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMTICA
PROGRAMA DE PS-GRADUAO EM COMPUTAO

Inteligncia Artificial Popperiana


por
JOO PAULO SCHWARZ SCHLER

Dissertao submetida
avaliao, como requisito parcial para a
obteno do grau de Mestre em
Cincia da Computao

Prof. Luis Otvio Campos Alvares


Orientador

Porto Alegre, dezembro de 2002.

CIP CATALOGAO NA PUBLICAO


Schler, Joo Paulo Schwarz
Inteligncia Artificial Popperiana / por Joo Paulo Schwarz Schler. - Porto Alegre:
PPGC da UFRGS, 2002.
105 f.: il.
Dissertao (mestrado) Universidade Federal do Rio Grande do Sul. Programa de
ps-graduao, Porto Alegre, BR RS, 2002. Orientador: Alvares, Luis Otvio
Campos.
1. Inteligncia Artificial. 2. Agentes. 3. Criaturas popperianas. 4. Redes neurais. I
Alvares, Luis Otvio Campos. II Ttulo

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL


Reitora: Professora Wrana Panizzi
Pr-Reitor de Ensino: Jos Carlos Ferraz Hennemann
Pr-Reitor Adjunto de Ps- Graduao: Prof. Jaime Evaldo Fensterseifer
Diretor do Instituto de Informtica: Prof. Philippe Olivier Alexandre Navaux
Coordenador do PPGC: Prof. Carlos Alberto Heuser
Bibliotecria-Chefe do Instituto de Informtica: Beatriz Regina Bastos Haro

AGRADECIMENTOS
Agradeo CAPES por ter financiado a minha pesquisa, ao meu orientador por
sua grande ateno dedicada ao presente trabalho, ao meu pai e a todos os familiares que
contriburam para a realizao desta pesquisa.

Sumrio
Lista de Abreviaturas................................................................................6
Lista de Figuras.........................................................................................7
Lista de Tabelas........................................................................................8
Resumo......................................................................................................9
Abstract...................................................................................................10
1 Introduo............................................................................................11
1.1 Evoluo Biolgica .............................................................................................12
1.2 Neurnios Naturais..............................................................................................14
1.2.1 Neurnio em Repouso........................................................................................14
1.2.2 Disparo do Neurnio..........................................................................................15
1.3 A Necessidade da Evoluo e Adaptao do Conhecimento.............................16
1.4 Inteligncia...........................................................................................................17
1.5 Criaturas de Dennett...........................................................................................18
1.5.1 Criatura Darwiniana............................................................................................19
1.5.2 Criatura Skinneriana...........................................................................................20
1.5.3 Criatura Popperiana............................................................................................20
1.5.4 Criatura Gregoriana............................................................................................21
1.6 Non-Axiomatic Reasoning System......................................................................23
1.6.1 Introduo..........................................................................................................23
1.6.2 O Valor Verdade................................................................................................23
1.6.3 Crena................................................................................................................25
1.6.4 Gramtica...........................................................................................................25
1.6.5 Regras de Inferncia...........................................................................................25
1.6.6 Exemplo.............................................................................................................26
1.6.7 Comentrios Finais.............................................................................................27
1.7 WebMind Artificial Intelligence Engine.............................................................28
1.7.1 Introduo..........................................................................................................28
1.7.2 Tipos de Agentes no WAE.................................................................................28
1.7.3 Mdulos.............................................................................................................30
1.7.4 A Corporificao................................................................................................31
1.7.5 O Esquecimento.................................................................................................31
1.7.6 O raciocnio........................................................................................................32
1.7.7 Representao do Conhecimento........................................................................33
1.7.8 Processamento de Linguagem Natural................................................................34
1.7.9 Baby WebMind...................................................................................................35
1.7.10 Comentrios Finais...........................................................................................36
1.8 Proposta de um Modelo de Esquema Cognitivo Sensrio-Motor Inspirado na
Teoria de Jean Piaget..........................................................................................37

2 Implementao da Inteligncia das Criaturas...................................39


2.1 Modelo de Agente Skinneriano...........................................................................39
2.2 Modelo de Agente Popperiano............................................................................40
2.3 Implementao da Induo de Funo Lgica no Determinista.....................42
2.3.1 Exemplo Introdutrio Simples............................................................................44
2.3.2 A Relao entre a freqncia f, a crena d e o Aprendizado de Hebb..................46
2.3.3 Exemplo Introdutrio de Agente Popperiano......................................................48
2.3.4 Exemplo de Induo...........................................................................................48
2.3.5 Testes.................................................................................................................51

2.3.6 Operaes...........................................................................................................52
2.3.7 Gramtica...........................................................................................................53
2.4 Testes da Induo de Funo Lgica no Determinista....................................53
2.4.1 Contador de 2 Bits..............................................................................................53
2.4.2 Bit que Vai e Vem..............................................................................................57
2.4.3 Comparao com o Modelo Neural Combinatrio..............................................60
2.4.4 Comparao com Redes Bayesianas....................................................................61
2.5 Sistema de Planejamento....................................................................................62
2.5.1 Estrutura de Dados.............................................................................................64
2.5.2 Algoritmo...........................................................................................................65

3 Experimentos com Criaturas Popperianas.........................................71


3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8

Agentes Mineradores Existentes.........................................................................71


Algoritmo do Agente Minerador Popperiano....................................................74
Implementao do Agente Minerador Popperiano............................................77
Resultados Obtidos com o Agente Minerador Popperiano ..............................82
Predador e Presa..................................................................................................84
Modelo do Predador Popperiano........................................................................85
Implementao do Predador Popperiano...........................................................86
Resultados Obtidos com o Predador Popperiano..............................................88

4 Concluso.............................................................................................90
Anexo 1 Algoritmo do Sistema de Induo..........................................92
Anexo 2 Listagem do Algoritmo EscolheAo do Agente
Minerador Popperiano..........................................................98
Anexo 3 Listagem do Algoritmo EscolheAo do Agente Minerador
Popperiano...........................................................................100
Bibliografia............................................................................................102

Lista de Abreviaturas
CNM

combinatorial neural model

DFD

diagrama de fluxo de dados

DNA

deoxiribonucleic acid

NARS

non-axiomatic reasoning system

UCP

unidade central de processamento

TP

tamanho da procura

TR

tabela de relao

WAE

Webmind AI Engine

Lista de Figuras
FIGURA 1.1 Neurnio Natural..................................................................................16
FIGURA 1.2 Mdulos do WAE................................................................................30
FIGURA 2.1 Modelo de Agente Skinneriano.............................................................40
FIGURA 2.2 Modelo de Agente Popperiano.............................................................41
FIGURA 2.3 Rede Neural de Causas e Efeitos..........................................................42
FIGURA 2.4 Rede Neural de Causas e Efeitos..........................................................43
FIGURA 2.5 Algoritmo para Testar Induo de Contador.........................................54
FIGURA 2.6 Regras Induzidas..................................................................................55
FIGURA 2.7 Implementao em Object Pascal..........................................................57
FIGURA 2.8 Tela do programa Contador de 2 bits....................................................57
FIGURA 2.9 Evoluo do Bit que Vai e Vem...........................................................57
FIGURA 2.10 Algoritmo para Testar Induo do Bit que Vai e Vem........................59
FIGURA 2.11 Rede CNM.........................................................................................60
FIGURA 2.12 Exemplo de Rede Bayesiana...............................................................62
FIGURA 2.13 Diagrama da Escolha da Ao............................................................64
FIGURA 2.14 Algoritmo da Funo PodeAgir..........................................................65
FIGURA 2.15 Algoritmo da funo FunoDePredio.............................................66
FIGURA 2.16 Algoritmo do funo PlanejaCegamente.............................................66
FIGURA 2.17 Exemplo de plano a ser otimizado.......................................................67
FIGURA 2.18 Exemplo de plano e otimizao...........................................................67
FIGURA 2.19 Plano otimizado..................................................................................67
FIGURA 2.20 Algoritmo do procedimento OtimizaCegamente..................................68
FIGURA 3.1 Energia Consumida x Nmero de Robs do Grupo S...................74
FIGURA 3.2 Janela Principal do Programa Rob Minerador Popperiano...............77
FIGURA 3.3 Janela de Opes..............................................................................79
FIGURA 3.4 Diversos Planos no Otimizados.......................................................80
FIGURA 3.5 Planos da Figura 3.4 um Pouco Otimizados......................................80
FIGURA 3.6 Planos da Figura 3.5 um Pouco mais Otimizados..............................81
FIGURA 3.7 Planos da Figura 3.6 um Pouco mais Otimizados..............................81
FIGURA 3.8 Planos com movimentos diagonais....................................................84
FIGURA 3.9 Janela Principal do Prottipo............................................................87
FIGURA 3.10 Janela de Opes do Prottipo de Predador e Presa..........................87
FIGURA 3.11 Janela de Planos do Prottipo de Predador e Presa...........................88
FIGURA A01 Algoritmo do procedimento AtFreq....................................................93
FIGURA A02 Algoritmo do Procedimento SAtFreq..................................................94
FIGURA A03 Algoritmo do procedimento Pred........................................................94
FIGURA A04 Algoritmo do Procedimento AtualizaVitorias......................................95
FIGURA A05 Algoritmo Genrico de Previso.........................................................95
FIGURA A06 Algoritmo Genrico de Previso.........................................................96
FIGURA A07 Algoritmo da Funo Encontrou( Efeitos ).........................................96
FIGURA A08 Algoritmo da Funo EscolhePiorRelao(TP)...................................97
FIGURA A09 Modelo dos Principais Mdulos da Induo de Funo.......................97

Lista de Tabelas
TABELA 1.1 Tipos de Raciocnio.............................................................................32
TABELA 2.1 Percepo do Ambiente.......................................................................44
TABELA 2.2 Pesos da Rede aps a percepo dos eventos da tabela 1.1..................45
TABELA 2.3 Pesos da Rede aps a percepo dos eventos hipotticos.....................45
TABELA 2.4 Aprendizado de Hebb em sinapse excitatria em neurnio artificial do
tipo [0,1].............................................................................................46
TABELA 2.5 Aprendizado de Hebb em sinapse excitatria em neurnio artificial
bipolar.................................................................................................47
TABELA 2.6 Aprendizado de Hebb proposto por Moser em sinapse excitatria.......47
TABELA 2.7 Comportamento de m,n,f e d para causas e efeitos...............................48
TABELA 2.8 Exemplo de Causas e Efeitos...............................................................49
TABELA 2.9 Exemplo de Tabela de Relao............................................................50
TABELA 2.10 Problema de Previso.........................................................................50
TABELA 2.11 Prevendo o Efeito1............................................................................50
TABELA 2.12 Prevendo o Efeito2............................................................................51
TABELA 2.13 Causas e Efeitos para Induzir Contador de 2 Bits...............................54
TABELA 2.14 Execues do algoritmo da figura 2.5................................................55
TABELA 2.15 Execues do algoritmo da figura 2.5................................................56
TABELA 2.16 Execues do algoritmo da figura 2.5................................................56
TABELA 2.17 Execues do algoritmo da figura 2.10..............................................57
TABELA 2.18 Execues do algoritmo da figura 2.10..............................................57
TABELA 2.19 Execues do algoritmo da figura 2.5................................................59
TABELA 2.20 Exemplo de Vetor do tipo Plano........................................................65
TABELA 3.1 Comportamento dos Robs Petit Poucet 3..........................................72
TABELA 3.2 Comportamento dos Robs Dockers.................................................72
TABELA 3.3 Comportamento dos Robs Dockers.................................................73

Resumo
A inteligncia tem sido estudada como fruto de evoluo biolgica. Nas ltimas
centenas de milhes de anos, a inteligncia tem evoludo juntamente com a biologia. Essa
concluso pode ser obtida ao analisar o comportamento das criaturas que emergiram
assim como a sua capacidade de armazenar e processar informao. A evoluo gerou
criaturas possuidoras de crebros com grande poder de adaptao. Partindo-se do
pressuposto que a inteligncia humana resultado de um processo evolutivo paulatino
que ocorreu ao longo de milhes de anos, faz sentido tentar repetir os mesmos passos
dados ao longo da evoluo da inteligncia artificialmente. A evoluo oferece uma rota
que vai desde tipos de mentes simples at tipos de mentes mais complexas apresentando
um caminho de caractersticas e capacidades que evoluram ao longo do tempo. No
presente trabalho, acredita-se que esse caminho seguido pela evoluo uma boa fonte
de inspirao para a gerao de inteligncia artificial. De acordo com Dennett, um tipo
de mente que apareceu ao longo da evoluo a mente popperiana que aprende as
regras do ambiente e tem a capacidade de imaginar ou planejar estados futuros
permitindo que ela se adapte com facilidade a novas e inesperadas situaes. Sendo
assim, modela-se e implementa-se um agente popperiano capaz de aprender as regras do
seu ambiente e planejar aes futuras baseando-se no seu aprendizado. Por fim, so
implementados dois prottipos de agentes popperianos para resolver problemas distintos
e observa-se a capacidade dos agentes popperianos em se adaptar s condies do seu
meio para alcanar seus objetivos.

Palavras-chaves: inteligncia artificial, agentes, criaturas popperianas, redes neurais.

10

TITLE: POPPERIAN ARTIFICIAL INTELLIGENCE

Abstract
Intelligence has been science's subject of study as a result of biological evolution.
In the last hundred million years, intelligence has evolved together with biology. One
may get to this conclusion by analyzing the behavior of creatures that have surged as
well as their ability to store and process information. Evolution has generated creatures
having brains with great adaptive capacity. Assuming that human intelligence has evolved
through a long and slow process that took place along several million years, it would
make sense to try and replicate artificially the same steps taken in this process. Evolution
shows us a path that goes from the simplest to the most complex minds presenting the
features and abilities that have evolved along time. On the present work it is believed that
the way evolution goes is a good source of inspiration to artificial intelligence. According
to Dennett, a kind of mind that appeared along evolution is the Popperian mind capable
of imagining, planning future states and learning from environment presenting great
capacity to adapt to new and unexpected situations. A Popperian agent is modeled and
implemented to learn from environment rules and to plan future actions based on self
knowledge. Finally, two prototypes of Popperian agents are implemented to solve
distinct problems and it can be observed the capacity of the Popperian agents to adapt to
environment conditions in order to accomplish own objectives.

Keywords: artificial intelligence, agents, popperian creatures, neural networks.

11

1 Introduo
A inspirao biolgica freqentemente usada no estudo da inteligncia artificial
especialmente nas reas de algoritmos evolutivos e redes neurais artificiais. No presente
trabalho, a evoluo da vida e da inteligncia usada como ponto de partida para o
desenvolvimento de agentes artificiais.
A vida terrestre pode ser vista como um sistema onde a ordem e a complexidade
crescem ao longo dos milhes de anos[DAR87]. A inteligncia algo que emergiu e
selecionada pela evoluo natural . Sendo assim, pode-se discutir o que inteligncia sob
o aspecto evolutivo. Essa discusso pode inclusive comear com a origem da vida e ir
at a conscincia humana.
A evoluo da inteligncia pode ser estudada esquecendo-se os meios biolgicos
que a tornam possvel conforme faz Daniel Dennett. Dennett preocupa-se com a
evoluo do processo informacional com que as criaturas resolvem seu problemas e no
com a evoluo do substrato usado nessas solues. Por outro lado, estudar o impacto
evolutivo e comportamental que ocorreu com a evoluo dos primeiros seres vivos
possuidores de neurnios assim como a funo neuronal no menos interessante. De
fato, os enfoques biolgico[SAG77] e filosfico[DEN97] sobre a evoluo da
inteligncia so discutidos aqui.
O estudo da evoluo da inteligncia justifica-se no presente trabalho tendo em
vista que ele usado como base para o desenvolvimento de um tipo especfico de
inteligncia que emergiu durante a evoluo: a inteligncia popperiana nos moldes que
sugere Dennett. Ainda que as criaturas de Dennett sejam discutidas em profundidade na
presente dissertao, vale ressaltar que a criatura popperiana uma criatura que aprende
as regras do seu meio ambiente e usando essas regras aprendidas planeja o seu futuro
podendo planejar seqncias de aes.
A criatura popperiana tem caractersticas marcantes como o fato de que os planos
que ela gera para alcanar a sua prpria satisfao so difceis de serem previstos por
outra criatura. A experincia vivida por duas criaturas independentes raramente a
mesma. Sendo assim, seu aprendizado raramente o mesmo implicando em
planejamentos feitos sobre aprendizados distintos. O objetivo da presente dissertao a
construo de agentes ou criaturas artificiais com grande capacidade de adaptao na
busca de seus objetivos inspirada na evoluo da vida e da inteligncia. A capacidade da
criatura popperiana de aprender e planejar confere grande capacidade adaptativa na
busca da satisfao.
Pode-se questionar o porqu do uso da teoria da evoluo como fonte de
inspirao para a criao de criaturas extremamente adaptveis ao seu meio.
Considerando que a evoluo vai do mais simples para o mais complexo, sob o aspecto
de engenharia de software, parece fazer sentido comear com modelos de inteligncia
simples que so facilmente entendidos e implementveis artificialmente e gradualmente
avanar para modelos mais complexos seguindo os mesmos passos de complexificao
encontrados na evoluo biolgica. Para tanto, na presente dissertao, discute-se os
seguintes assuntos:

Gentica e evoluo da vida.


Aparecimento e funo dos neurnios.
Evoluo da inteligncia e das criaturas de Daniel Dennett.

12

Experimentos j feitos na rea.


Modelo, implementao e testes do agente popperiano.

1.1 Evoluo Biolgica


Nos primeiros milhes de anos aps a formao da Terra, os relmpagos e a luz
ultravioleta do sol estavam decompondo as molculas da atmosfera primitiva rica em
hidrognio. Novas molculas de complexidade gradualmente maior combinavam-se na
atmosfera. Os produtos da qumica atmosfrica precipitavam-se no oceano que
conseqentemente se tornava quimicamente mais complexo [SAG 83]. O Jardim do
den molecular estava pronto. Caoticamente, a primeira molcula capaz de fazer cpias
grosseiras de si mesma formada. Toda uma estrutura de herana e evoluo e toda
atividade biolgica que tivemos contato est baseada em uma molcula ancestral do
cido desoxirribonuclico, o DNA. Molcula principal da vida na Terra, o DNA tem a
forma de uma escada em que cada degrau pode conter um de quatro tipos de
nucleotdeos diferentes que so as quatro letras do alfabeto gentico. Considerando que
so necessrios dois bits para representar uma de quatro alternativas possveis, cada letra
do alfabeto gentico carrega 2 bits de informao.
A vida uma conseqncia da qumica orgnica. Na origem do universo e na
origem da qumica, no foram definidas as regras da biologia. As regras da biologia
emergem das regras da qumica. As regras do todo emergem das regras das partes. O
comportamento do todo emerge do comportamento das partes. Considerando a qumica
um sistema simples e a biologia um sistema complexo, o sistema complexo emerge do
sistema simples. O aparecimento da vida um exemplo de auto-organizao.
No oceano primitivo, no existiam predadores; existiam somente molculas se
duplicando. A evoluo ao nvel molecular seguia de forma implacvel. Com o passar de
milhes de anos, molculas especializadas se agruparam formando as primeiras clulas
primitivas [SAG 83].
A vida na Terra apareceu logo depois de sua formao. A Terra foi formada h
4.6 bilhes de anos atrs enquanto que a vida apareceu h 4 bilhes de anos.
Considerando as dimenses de tempo, a vida apareceu pouco depois da formao da
terra. Toda a vida na Terra possui cdigo gentico descrito na mesma cadeia de DNA
com 4 nucleotdeos [SAG 83]. Seres humanos, rvores e bactrias so descritos pelo
mesmo alfabeto gentico. Darwin no poderia estar mais certo. O motivo pelo qual os
organismos so diferentes est no fato de que as instrues em seus cdigos genticos
so diferentes ainda que seus alfabetos sejam os mesmos [SAG 77].
interessante observar que o DNA um sistema que armazena informao de
forma digital. A seleo natural escolheu um sistema de armazenamento de informao
digital. Para efeito de cpia ou replicao, a informao digital regenerada enquanto
que a informao analgica amplificada. Quando a informao analgica replicada, os
rudos ou erros presentes na informao analgica so igualmente replicados ou at
amplificados. De forma contrria, durante a replicao, a informao digital pode ser
regenerada e os rudos podem ser filtrados. Sendo assim, a informao digital mais
resistente contra erros se queremos transport-la atravs do espao ou do tempo.
Os segredos da evoluo so mutao, tempo, replicao e morte[SAG77]. A
mutao uma alterao de um nucleotdeo que passado para a gerao seguinte. A
maior parte das mutaes so desfavorveis para o indivduo enquanto que uma

13

pequenssima parte torna o indivduo melhor adaptado melhorando suas chances de


propagar seu DNA. A morte responsvel pela eliminao dos indivduos menos
adaptados contribuindo para a evoluo. Considerando que o cdigo gentico digital, a
mutao tambm ocorre de forma digital.
Para Manfred Eigen [EIG 97], todo sistema que possua auto-replicao, mutao
e metabolismo est sujeito a evoluo. Sem a auto-replicao, a informao seria perdida
a cada gerao. Sem a mutao, a informao seria inaltervel e no poderia emergir.
Sem o metabolismo, o sistema cairia em equilbrio significando a morte do ser vivo.
De forma mais abstrata, se queremos implementar um algoritmo de otimizao,
basta implementar a replicao e mutao de solues e alguma presso seletiva que
selecione as solues de maior interesse. A evoluo um processo de otimizao. O
ambiente em que os seres vivos habitam impem uma presso que seleciona os mais
adaptados naturalmente. A presso seletiva implicar na evoluo das solues.
Os segredos da evoluo no dependem de um determinado substrato tendo em
vista que eles podem ser encontrados na natureza e em algoritmos evolutivos
desenvolvidos para computadores. Para que a vida evolua, basta que exista reproduo,
mutao e seleo. importante observar que a evoluo no depende de espao e
tempo contnuos tendo em vista que a continuidade no necessria para a reproduo,
morte e mutao.
Molculas com funes especializadas formaram colnias que resultaram nas
primeiras clulas. H 3 bilhes de anos, os primeiros seres multicelulares evoluram a
partir de clulas vegetais. importante observar que rvores e seres humanos so
colnias de clulas. Cada clula tambm uma colnia de seres vivos descendentes dos
seres vivos que existiram no mar primitivo da Terra. O fato de que as mitocndrias
tenham seu prprio DNA sugere fortemente que elas sejam descendentes de organismos
independentes do mar primitivo da Terra. Somos uma colnia de clulas em que cada
clula tambm uma colnia.
H 1 bilho de anos atrs, a atmosfera da Terra foi alterada de forma irreversvel.
Os organismos vegetais primitivos da Terra fabricaram quantidades enormes de oxignio
molecular que foi lanado na atmosfera. As clulas vegetais possuem cloroplastos que
so responsveis por converter luz solar, gua e dixido de carbono em carboidratos e
oxignio. A atmosfera perdia suas caractersticas primitivas como a presena abundante
de hidrognio. O oxignio, molcula altamente reativa com diversas molculas orgnicas,
foi um gs letal para a maior parte dos seres vivos desprotegidos [SAG 83].
H 600 milhes de anos, o domnio das algas sobre o planeta foi perdido na
revoluo cambriana para uma enorme diversidade de novos e mais complexos seres
vivos. At ento, a evoluo ocorria principalmente no nvel de estrutura celular e
bioqumica. Pouco depois, apareceu o primeiro peixe e o primeiro vertebrado. Plantas
migraram para a terra e a evoluo seguiu seu curso [SAG 83].
Bactrias e outras formas de vida simples que baseiam suas regras de
comportamento em DNA so agentes biolgicos com pouca capacidade de adaptao. O
momento da evoluo que gerou formas de vida em que o comportamento poderia se
modificar durante a vida do agente sem alterao do seu cdigo gentico foi um
tremendo salto evolutivo.
No incio da vida na Terra, a evoluo dependia da mutao e da seleo natural.
Todo o conhecimento (informao usada para resolver problemas) dos seres primitivos

14

estava armazenado no seu DNA. A evoluo seguia de forma lenta [SAG77]. Uma
bactria usa o conhecimento do seu DNA para construir uma cpia de si mesma. Uma
bactria uma mquina auto-replicativa.
Com o aparecimento dos crebros, a memria dos eventos ocorridos durante a
existncia dos seres poderia ser usada como base de conhecimento para resolver novos
problemas. A medida que a evoluo transcorre, agentes biolgicos cada vez mais
adaptveis ao ambiente e cada vez mais distantes da noo de agente reativo evoluem.
Nesse momento, os seres vivos que possuam crebro tinham uma ferramenta que
incrementava e adaptava o seu conhecimento e comportamento de forma extremamente
dinmica.
Os agentes biolgicos que possuem crebro possuem memria e regras de
comportamento extragenticas (fora do gentico). Na prxima seo, introduzida a
unidade funcional do crebro: o neurnio.

1.2 Neurnios Naturais


Para entender a maneira que um neurnio biolgico processa informao, deve-se
entender algumas de suas propriedades qumicas e eltricas encontradas na bibliografia
[DOW98] [GUY91] [KAN97] [NET92]. Sob certas condies, um neurnio sofre um
distrbio no seu potencial eltrico do tipo tudo ou nada que se propaga conduzindo
informao para outros neurnios. Esse distrbio no potencial eltrico chamado de
potencial de ao ou simplesmente disparo. Neste captulo, primeiramente, aborda-se o
neurnio no estado de repouso. Posteriormente, estuda-se o disparo do neurnio.
1.2.1 Neurnio em Repouso
A membrana de um neurnio permevel aos ons Na+ e K+ entre outros. Os
canais de repouso so responsveis pela passagem passiva de determinadas substncias
qumicas pela membrana. Um canal de repouso de Na+ um canal onde somente passa
Na+ sem gasto de energia por parte do neurnio.
A fora que promove a passagem de ons atravs da membrana a fora
eletroqumica. A fora eletroqumica resultado das foras qumicas e eltricas. A fora
qumica resultado de gradientes de concentrao de elementos qumicos enquanto que
a fora eltrica resultado de gradientes de potenciais eltricos.
No interior do neurnio biolgico, a concentrao de K+ muito maior que fora
dele. Sendo assim, em um neurnio em repouso, existe fora qumica que fora os ons
K+ a sarem do neurnio pelos canais de repouso de K+. Por ser o K+ eletricamente
positivo, a medida que os ons de K+ saem do neurnio, o neurnio fica eletricamente
negativo. A medida que o neurnio fica eletricamente negativo, a fora eltrica que fora
o K+ positivo a entrar no neurnio cresce. O potencial eltrico de equilbrio para o K+
de -75mV.
No exterior do neurnio, a concentrao de Na+ maior do que no interior dele.
Sendo assim, foras qumicas e eltricas impulsionam os ons de Na+ para o interior do
neurnio atravs dos canais de repouso de Na+. Com a passagem de Na+ para o interior
do neurnio, o neurnio tende a ficar eletricamente positivo. O ponto de equilbrio de
potencial eltrico para o Na+ de +55mV. Existem mais canais de repouso de K+ do que
canais de repouso de Na+. Sendo assim, em repouso e em equilbrio, a diferena de
potencial registrada entre o interior e o exterior da membrana do neurnio de -60mV.

15

Em um neurnio em equilbrio de potencial eltrico, entram e saem a mesma


quantidade de K+ e Na+ mantendo a quantidade desses ons quase constante. O fluxo
passivo de K+ saindo e Na+ entrando compensado pelas bombas de K+,que bombeiam
K+ para o interior, e pelas bombas de Na+,que bombeiam Na+ para o exterior do
neurnio.
Se, por algum motivo, o neurnio apresentar um potencial eltrico de -50mV,
sairo mais ons de K+ pelo canal de K+ do que entraro pela bomba de K+ fazendo com
que o potencial do neurnio volte para o seu potencial de equilbrio de -60mV.

1.2.2 Disparo do Neurnio


Na membrana dos neurnios, alm dos canais de repouso e das bombas, existem
os canais voltagem-dependentes. Como o prprio nome sugere, os canais voltagemdependentes abrem-se quando submetidos a uma determinada voltagem. Os canais
voltagem-dependentes de Na+ abrem-se a medida que a voltagem torna-se mais positiva
ultrapassando o limiar que de cerca de -35mV.
Quanto maior for o nmero de canais de Na+ abertos, maior ser o nmero de
ons de Na+ que ingressaro no interior do neurnio tornando-o mais eletricamente
positivo. Quanto mais eletricamente positivo for o neurnio, mais canais de Na+ se
abriro. Nesse processo, o potencial no interior do neurnio cresce at atingir cerca de
+50mV atingindo o potencial mximo.
Quando o potencial necessrio para abertura dos canais voltagem-dependentes de
Na+ atingido na zona de gatilho do neurnio, o gatilho dispara e os canais voltagemdependentes do axnio comeam a se abrir um aps o outro conduzindo o sinal eltrico
(variao brusca de potencial eltrico ou potencial de ao) por todo axnio at as
sinapses com outras clulas. Aps algum tempo, os canais de Na+ voltam a se fechar
permitindo que o neurnio volte ao seu estado de repouso. A zona de gatilho pode ser
vista na figura 1.1.
A chegada do potencial de ao nas sinapses qumicas provoca de forma indireta
a entrada de ons eletricamente positivos (excitatrios) ou a entrada de ons
eletricamente negativos (inibitrios) nos neurnios alvo.
Quando um neurnio alvo de um potencial eltrico que resulta em um estmulo
inibitrio atravs de sua sinapse, ele fica mais eletricamente negativo. Ao contrrio, se
ele recebe um estmulo excitatrio, ele fica mais eletricamente positivo. Entre outros
fatores, o potencial eltrico resultado da soma dos estmulos excitatrios e inibitrios
que recebe em pontos espacialmente diferentes. Nesse aspecto, os neurnios so
somadores espaciais. Um nico neurnio pode receber estmulos de milhares de
neurnios diferentes.
Quando um neurnio excitado mas no chega a disparar, ele no volta
imediatamente ao seu estado de repouso. Sendo assim, o potencial eltrico instantneo
de um neurnio resultado dos estmulos que recebeu em seu passado recente na ordem
de 10-3s. O neurnio um somador temporal ao considerar que o potencial do neurnio
resultado de estmulos que ocorrem ao longo do tempo. O disparo do neurnio pode
ser causado por estmulos que ocorrem ao longo do tempo. Sendo assim, os neurnios
so somadores espaciais e temporais [GUY91] [KAN97] [NET92].

16

FIGURA 1.1 Neurnio Natural

Outro aspecto interessante relacionado ao disparo do neurnio o fato de que o


neurnio no dispara com a mesma intensidade (variao de potencial) quando
consecutivamente acionado. Isto se deve ao grande nmero de canais de Na+ que se
mantm inativos durante alguns milissegundos aps o disparo. Sendo assim, dados dois
disparos espaados por uma curta quantidade de tempo, o segundo disparo dispem de
menos canais de Na+ para se propagar resultando em um disparo de menor intensidade.
1.3 A Necessidade da Evoluo e Adaptao do Conhecimento
No incio da evoluo, os seres vivos possuam todo o seu comportamento
definido no seu DNA, sem capacidade de aprendizado e comportando-se como agentes
reativos. Com a evoluo dos neurnios, surge uma maneira para as criaturas
aprenderem com a experincia.
Mais adiante, quando os seres humanos comeam a desenhar e escrever pondo os
frutos de sua inteligncia fora de seu crebro, surge o conhecimento extrassomtico. A
grosso modo, o conhecimento extrassomtico o conhecimento que est armazenado
fora do corpo. No momento em que se passa a depositar o conhecimento em mquinas
de forma que elas passam a resolver problemas de forma autnoma, surge a inteligncia
extrassomtica que usualmente chamada de inteligncia artificial.
Vale lembrar que conhecimento a informao usada para resolver problemas. O
DNA armazena o conhecimento de uma clula. Segue a lista com os passos evolutivos
mais importantes no tratamento do conhecimento:
1. DNA.
2. Crebro ou meio de armazenamento de conhecimento fora do DNA ou
conhecimento extragentico.

17

3. Meio de armazenamento de conhecimento fora do corpo ou conhecimento


extrassomtico.
4. Meio de processamento de conhecimento fora do corpo ou inteligncia
extrassomtica.
Observando-se a lista acima, observa-se que a inteligncia extrassomtica o
passo evolutivo bvio a ser dado. Sistemas especialistas so sistemas artificiais que
simulam as decises de um especialista humano em determinada rea do conhecimento.
Indo ainda mais longe na implementao de inteligncia extracorprea, sob o sonho
distante de construir uma mente artificial, as redes neurais artificiais so implementadas
com inspirao nas redes neurais naturais. Neste ponto, a inteligncia extrassomtica no
apenas uma forma artificial de processar o conhecimento como tambm inspirada no
processador natural de conhecimento: o crebro.
Alm da forma artificial de resolver problemas, ser que possvel construir
criatividade artificial? Usando algoritmos genticos como forma de resolver problemas,
as solues encontradas no so fruto de atividade consciente ou engenharia e sim
resultado da evoluo de solues parciais. Considerando a incerteza que encontra-se
nos mtodos evolutivos de computao, no possvel prever qual ser a soluo que a
mquina encontrar. Pode-se apenas afirmar que a mquina encontrar uma boa soluo.
Mesmo em execues sucessivas, o mesmo algoritmo evolutivo pode responder com
solues boas e ao mesmo tempo significativamente distintas. As leis de Darwin para a
evoluo explicam as mais diversas formas de vida que conhecemos. De certa forma, as
leis de Darwin so criativas e correm no sentido contrrio da entropia. As leis da
evoluo criaram sistemas vivos que ao longo do tempo ganharam em complexidade. Se
criatividade a capacidade de criar coisas novas, ento as leis da evoluo biolgica e da
evoluo artificial, que so as mesmas, esto repletas de criatividade.

1.4 Inteligncia
O significado do termo inteligncia evoluiu muito ao longo do tempo absorvendo
o significado de outros termos. Morais [MOR 90] entende que o termo inteligncia um
dos termos mais equvocos da filosofia e psicologia atual sobretudo devido diversidade
de contedos que carrega. Por vezes, o termo inteligncia aparece significando
entendimento, intelecto, conjunto de funes cognitivas, razo e capacidade de resolver
problemas.
Orador e poltico romano, Marcus Tullius Cicero [LAR 95] (106 a.C - 46 a.C)
traduziu do grego para o latim o termo intelligentia que significa penetrar dentro das
coisas, captar a sua intimidade, discernir ou entender a essncia.
Modernamente, no existe consenso sobre uma definio de inteligncia.
Spearman desabafa: Nos sucessivos congressos com o objetivo de definir a
inteligncia, discutem-se muitas teorias, ouvem-se brilhantes oradores, mas cada um
expe a sua prpria opinio... irreconcilivel com as demais [MOR 90]. Ainda assim,
muitos autores dividem a inteligncia em dois tipos: (1) capacidade de compreender as
relaes que existem entre os elementos de uma situao; (2) maneira de aplicar
utilmente as experincias adquiridas e retidas na memria.
Na traduo de Cicero, o termo inteligncia refere-se a uma atividade passiva em
relao ao meio. Aquele que possui a inteligncia apenas capta, entende e discerne no

18

tomando um papel ativo. Modernamente, alm da atividade passiva, o ser inteligente


exibe um comportamento ativo tentando resolver problemas com base em sua memria
ou sendo criativo.
Robert Sternberg [STE 95] prope a existncia de trs tipos de inteligncia: (1)
inteligncia analtica que responsvel pela anlise e entendimento dos objetos e suas
relaes; (2) inteligncia criativa que responsvel pelas idias, criaes e capacidade de
reagir a eventos desconhecidos; (3) inteligncia prtica que responsvel pela resoluo
de problemas que so diariamente apresentados. De forma resumida, a inteligncia serve
para anlise e resoluo de problemas. Os trs tipos de inteligncia reunidos devem
resultar para aquele que a detm em sucesso na vida real.
Pode ser traado um paralelo entre a definio de inteligncia de Robert
Sternberg e Howard Gardner [GAR 94] tendo em vista que Gardner concorda que a
inteligncia serve para resolver problemas. Para Gardner, a inteligncia humana fruto
da combinao de capacidades intelectuais que resolvem problemas especficos. No seu
livro Estruturas da Mente, Gardner escreve: Uma inteligncia a capacidade de
resolver problemas ou de criar produtos que sejam valorizados dentro de um ou mais
cenrios culturais ... indico que h evidncias persuasivas para a existncia de diversas
competncias intelectuais humanas relativamente autnomas abreviadas daqui em
diante como inteligncias humanas.
Assim como Sternberg e Gardner, no livro Como a Mente Funciona, Steven
Pinker [PIN 97] concorda no aspecto relativo resoluo de problemas da inteligncia: a
mente um sistema de rgos de computao, projetados pela seleo natural para
resolver os tipos de problemas que nossos ancestrais enfrentavam em sua vida de
coletores de alimentos, em especial entender e superar em estratgia os objetos,
animais, plantas e outras pessoas.
Para que serve a inteligncia? Por que ela evoluiu com a seleo natural? Com o
aparecimento dos crebros e da inteligncia, a memria e anlise dos eventos ocorridos
durante a existncia dos seres poderia ser usada como base de conhecimento para
analisar e resolver novos problemas. Baseada na anlise e resoluo de problemas, essa
resposta muito semelhante ao que prope Sternberg para inteligncia. Na prxima
seo, abordada a viso de Dennett para a evoluo da inteligncia ao longo da
evoluo das espcies encontrada no captulo 4 do seu livro Tipos de Mentes [DEN97].
Nessa mesma linha de pensamento que v a evoluo da inteligncia juntamente
com a evoluo da biologia, Luc Steels [STE 96] acredita que os sistemas inteligentes
apresentam quatro propriedades tambm encontradas nos seres vivos: manuteno
prpria, adaptatividade, preservao da informao e complexidade incremental. Para
Steels, uma rede neural deve apresentar essas quatro propriedades.

1.5 Criaturas de Dennett


Primeiramente, Dennett observa que quanto mais precisa for a informao e
quanto maior for a regio de onde uma criatura coleta informao, mais provvel ser o
seu sucesso. No incio da evoluo das espcies, apareceu o olfato que uma forma de
coletar informao do ambiente prximo. Posteriormente, apareceu a audio permitindo
a coleta de informao a distncias maiores.
Da mesma forma, a viso permite a coleta de informao de alta qualidade a

19

grandes distncias. A percepo de eventos a grande distncia no espao eventualmente


contribui para a predio de eventos a grandes distncias no tempo. Por exemplo, a viso
permite presa ver o seu predador a grande distncia e prever o possvel ataque do
predador. Na evoluo da vida, observa-se a evoluo da capacidade perceptiva.
Assim como ocorreu evoluo da coleta de informao, ocorreu evoluo na
maneira pela qual os seres vivos processam essa informao. Para Dennett, os sistemas
de coleta de informao so compostos por um grande nmero de detectores. Cada
detector detecta um determinado evento produzindo resposta do tipo SIM ou NO para
a pergunta percebo o evento agora?. Clulas individuais da retina do olho humano so
detectores. Cada detector apresenta a sua intencionalidade mnima: a intencionalidade de
detectar um tipo muito especfico de evento.
Seguindo o mesmo raciocnio, os neurnios que disparam ou no disparam esto
respondendo SIM ou NO a determinados estmulos da mesma forma que os detectores
abordados anteriormente respondem SIM ou NO. Sendo assim, as clulas que coletam
informao do meio exterior da criatura so funcionalmente semelhantes as clulas
destinadas ao processamento de informao encontradas no crebro. Dennett chama tais
clulas de agentes.
Como os agentes se organizam em sistemas mais complexos capazes de sustentar
tipos de intencionalidade cada vez mais sofisticada? Dadas vrias opes de
organizaes geradas por mutaes, as melhores sero selecionadas por seleo natural.
Dennett chama a gerao e seleo de Torre de Gerar e Testar.
A Torre de Gerar e Testar um modelo muito simplificado no qual pode-se
classificar vrias opes de organizao de crebros para estudar onde o seu poder se
origina.

1.5.1 Criatura Darwiniana


No incio da evoluo, diversos tipos de criaturas foram gerados por mutao. Os
tipos melhor adaptados foram selecionados pelo ambiente. Nesta etapa da evoluo, as
criaturas no tem memria do passado e nenhum tipo de aprendizado. Para essas
criaturas, a nica possibilidade de alterao do comportamento mutao gentica
durante a reproduo. Essas criaturas so chamadas de criaturas Darwinianas e esto
inteiramente definidas no momento do nascimento. As criaturas Darwinianas constituem
a base da Torre de Gerar e Testar.
Em diversos aspectos, as criaturas Darwinianas assemelham-se aos agentes
reativos. Assim como os agentes reativos, as criaturas Darwinianas no possuem
memria dos eventos do passado e no constroem representao do ambiente. Sendo
assim, as criaturas Darwinianas agem de acordo com a sua percepo instantnea.
A nica diferena marcante entre as criaturas Darwinianas e os agentes reativos
est no fato de que as criaturas Darwinianas reproduzem-se, modificam-se por mutao
e so selecionadas pelo ambiente. interessante observar que a reproduo uma
diferena que se aplica mais a estrutura orgnica da criatura do que a sua inteligncia
propriamente dita. A forma como as criaturas Darwinianas e os agentes reativos
processam a informao coletada do ambiente anloga.

20

1.5.2 Criatura Skinneriana


Durante a evoluo, apareceram as criaturas com a propriedade da plasticidade
fentica chamadas de criaturas Skinnerianas. As criaturas Skinnerianas no esto
totalmente definidas no momento de seu nascimento e podem se modificar durante a sua
vida.
As criaturas Skinnerianas testam ao acaso diversas aes. As aes que
resultarem em sucesso sero reforadas. As criaturas devem avaliar as suas aes para
medir o seu sucesso e ento reforar ou no as suas aes. As criaturas que tiverem
melhores mtodos de avaliao tero mais chances de sobrevivncia.
O reforo de algumas aes sob determinadas condies em detrimento de outras
aes um tipo de aprendizado que Dennett chama de aprendizado ABC. O aprendizado
ABC resultado de um processo longo de treinamento e freqentemente encontrado em
animais. No entendimento do autor do presente texto, o aprendizado que Dennett chama
de aprendizado ABC muito semelhante ao aprendizado por reforo encontrado na
bibliografia de inteligncia artificial [KAE96] [SUT98]. Uma criatura que possui
aprendizado por reforo sente recompensa ao tomar uma ao correta ou punio ao
tomar uma ao incorreta. Com o tempo, o aprendizado por reforo leva a criatura a
tomar as aes que propiciem recompensa.
Uma caracterstica importante do aprendizado ABC que ele resultado de
tentativa e erro de aes. Muitas tentativas so feitas e as que resultarem em sucesso so
reforadas. O perigo do aprendizado ABC a realizao de uma tentativa que provoque
dano srio ou a morte do indivduo. O aprendizado ABC no possui nenhum sistema de
predio de aes no testadas que provoquem a morte do indivduo. Sendo assim, a
criatura Skinneriana pode fazer uma tentativa e acabar morrendo.
A criatura Skinneriana difere do agente reativo por ter memria das aes bem e
mal sucedidas. Por outro lado, a criatura Skinneriana est muito longe de ser um agente
cognitivo. A criatura Skinneriana no tem representao do ambiente, no negocia, no
planeja e no delibera.
A criatura Skinneriana no um agente reativo nem um agente cognitivo. Ela
um agente reativo exceto pelo fato de ter memria das aes bem e mal sucedidas. A
criatura Skinneriana um pouco mais evoluda que o agente reativo e est longe de ser
um agente cognitivo.
Para evitar a morte da criatura em uma tentativa perigosa, um sistema de
predio de conseqncia de aes evoluiu. As criaturas que possuem esse sistema de
predio so chamadas de criaturas Popperianas e formam a prxima classe de criaturas
a serem estudadas no presente texto na Torre de Gerar e Testar.
1.5.3 Criatura Popperiana
As criaturas Popperianas constroem dentro de si um modelo de mundo com base
nas suas percepes ao longo de sua existncia. Fazendo uso do seu modelo de mundo, a
criatura Popperiana pode realizar simulaes no modelo de mundo e avaliar as
conseqncias antes de realizar as aes do mundo real. Quando uma criatura faz algo
que resulta em insucesso ou sucesso no modelo de mundo, a simulao deve gerar algum
tipo de insatisfao ou satisfao respectivamente. Essa insatisfao ou satisfao a
avaliao da ao ou conjunto de aes experimentadas no modelo de mundo.
Aes testadas no modelo de mundo competem entre si. As aes vencedoras na

21

avaliao da criatura tem mais probabilidade de serem usadas no mundo real. As


criaturas Popperianas sentem medo1 de certas situaes apresentadas tanto no modelo de
mundo quanto no mundo real. O medo faz com que muitas aes perigosas sejam
descartadas no modelo de mundo antes de serem testadas no mundo real.
Alm de ter memria dos eventos que ocorreram no passado, a criatura
popperiana pode projetar as aes que realizar no futuro diferindo-se bastante de um
agente reativo por essas duas caractersticas.
Existem caractersticas que so comuns s criaturas popperianas e aos agentes
reativos. Por no possuir e no poder desenvolver linguagem complexa, as criaturas
popperianas no possuem qualquer maneira de expor ou representar o seu conhecimento
de forma explcita. Entende-se por linguagem complexa uma linguagem que possua alto
poder de descrio e ao mesmo tempo sirva como ferramenta de inferncia. Portugus,
ingls e as linguagens humanas em geral so consideradas linguagens complexas.
Pode-se discutir se as criaturas popperianas possuem conhecimento ou apenas
informao. Considerando que elas no tem uma maneira de explicitar as suas intenes,
desejos e medos, pode-se apenas inferir a forma com que as criaturas processam a sua
informao estudando o seu comportamento. Com o tempo, uma criatura popperiana
pode aprender que o evento A provoca o evento B. Sabendo que o evento B provoca o
evento C, a criatura popperiana tem condies de prever o evento C com a ocorrncia
do evento A podendo fazer uso dessa predio para alcanar a sua satisfao. Sendo
assim, ela est atribuindo o significado ao evento A de que A provoca C.
A criatura popperiana tem informao sobre eventos que ocorreram no passado,
atribui semntica a estes eventos e usa esta informao para alcanar sua satisfao. Por
tais motivos, acredita-se que a criatura popperiana possua conhecimento mesmo sem
poder revel-lo ao exterior usando linguagem complexa.
A criatura popperiana no tem condies para negociar com outras criaturas no
podendo resolver conflitos ou definir estratgia de trabalho em grupo. Ela no tem
condio de perceber a intencionalidade de outros agentes.
A criatura popperiana desconhece a prpria existncia. Ela no pode inferir nada
do tipo eu existo. A falta da noo do eu a impede de inferir sobre o que ela faria na
posio do outro para tentar descobrir o que o outro faria. De certa forma, a percepo
do outro somente ocorre quando h a percepo do eu. Sem o eu, no se pode
perceber o outro.
1.5.4 Criatura Gregoriana
A criatura gregoriana est no topo da Torre de Gerar e Testar apresentando o
nvel mais alto de inteligncia entre as criaturas de Dennett. A criatura gregoriana
apresenta diversas solues s debilidades encontradas nas criaturas popperianas
possuindo percepo do eu, capacidade para aprender e desenvolver linguagem
complexa, capacidade para usar e construir ferramentas, capacidade para negociar e
trabalhar em equipe entre outras caractersticas.
Em uma conferncia em 1925, Wolfgang Khler [KH26] descreveu as suas
experincias com chimpanzs: o antropide estava preso numa jaula gradeada,
observando-me. Fora do alcance dos seus braos, cavei um buraco, coloquei algumas
1 Entende-se por medo o resultado desfavorvel de uma funo de avaliao frente a uma situao
indesejada.

22

frutas e cobri tudo - buraco e arredores - com areia. O chimpanz no conseguia


alcanar o alimento desejado, porque o buraco havia sido cavado longe de sua jaula ...
quarenta e cinco minutos depois, joguei uma vara dentro da jaula no lado oposto ao do
buraco, ... o antropide imediatamente se apossou dela, ... comeou a escavar a areia
no ponto exato onde estavam as frutas. Conseguiu desenterr-las e pux-las para si. O
mesmo experimento foi repetido com diversos graus de dificuldade com chimpanzs
diferentes e foram encontrados resultados semelhantes. No interesse discutir as
concluses de Kler com os experimentos por serem concluses voltadas a psicologia.
Ainda assim, interessante observar que os chimpanzs usaram ferramentas para
resolver o problema o que uma caracterstica de criatura gregoriana.
Alm das caractersticas j citadas, uma caracterstica marcante da criatura
gregoriana a cultura. Entende-se por cultura o conhecimento passado para a gerao
seguinte por meio de aprendizado de forma que os membros mais velhos do grupo
passem informao para os membros mais novos. A cultura certamente um meio de
propagao de informao no gentico.
A cultura uma caracterstica obviamente encontrada na espcie humana; porm,
a espcie humana no a nica espcie na qual observa-se a propagao de cultura.
Chimpanzs aprendem com seus semelhantes sendo esta a razo para explicar o
comportamento diverso de grupos de chimpanzs. A cultura importante para a
propagao de hbitos, uso e construo de ferramentas entre outros aspectos.
Chimpanzs aprendem com seus semelhantes a construir pequenas varas de madeira
usando galhos para perfurar cupinzeiros, retirar os cupins e come-los.
surpreendente que chimpanzs apresentem qualidades que at pouco tempo
seriam classificadas como exclusividade humanas. Alguns grupos de chimpanzs no
desenvolveram a tcnica de coletar cupins usando ferramentas construdas por eles
prprios. Existe um longo caminho at associar que perfurar um cupinzeiro e
continuamente inserir uma vara pode resultar em comida. Mais ainda, aprimorar a
tcnica escolhendo os galhos certos e os quebrando para que fiquem da forma ideal.
Chimpanzs conseguem usar e construir ferramentas e ainda passar o seu conhecimento
s geraes seguintes.
Um chimpanz no uma criatura gregoriana completa. Conforme o prprio
Dennett explica, as criaturas constantes na Torre de Gerar e Testar so modelos
simplificados de criaturas encontradas ao longo da evoluo biolgica da inteligncia.
Um chimpanz no possui linguagem complexa, o que impede que ele desenvolva
diversas habilidades superiores.
Para Dennett, a intencionalidade baseada em crenas e desejos. Dennett prope
a classificao da intencionalidade pela sua ordem. Por exemplo, o pensamento quero
comida revela intencionalidade primria; o pensamento quero que ele queira comida
revela intencionalidade de segunda ordem; da mesma forma, o pensamento acredito que
ele quer que eu acredite em p revela intencionalidade de terceira ordem. Espera-se
encontrar intencionalidade de alta ordem em uma criatura gregoriana.
A intencionalidade de ordem maior do que um uma importante ferramenta para
esconder informao. Por exemplo, acredito que existe comida atrs da porta e quero
que ele no acredite que exista comida atrs da porta pensamento de uma criatura
que deseja esconder a informao sobre a localizao da comida envolvendo
intencionalidade de segunda ordem.
esperado que a intencionalidade de alta ordem surja evolutivamente apenas se

23

ela for til para a criatura que a detm. Esconder informao uma tarefa til somente
se a criatura em questo est inserida em um ambiente onde ela pode adquirir informao
que os outros no tenham adquirido. Em espcies onde todos os individuos convivem em
grupo, todo o evento percebido por um indivduo logo percebido por todos os outros
indivduos do grupo. Nesse caso, esconder informao algo intil. Por outro lado, em
espcies onde seus indivduos vagueiam sozinhos, um indivduo pode encontrar comida
em um lugar e desejar esconder essa informao fazendo com que os outros no
compartilhem a informao.
improvvel que capacidades atribudas inteligncia emerjam e sejam mantidas
ao longo da evoluo biolgica se elas no forem teis criatura que a possuir. Se a
percepo do eu apareceu com a evoluo, deve haver algum benefcio dessa
percepo para a criatura que a detiver.
At aqui, na presente dissertao, foram introduzidos assuntos que no
pertencem diretamente a cincia de computao e que serviro de base para o
desenvolvimento do agente popperiano. Nas prximas sees, so estudados sistemas
computacionais desenvolvidos ou em desenvolvimento que possam oferecer subsdios
para o que pretendido. Posteriormente, aborda-se o modelo e implementao do
agente popperiano.

1.6 Non-Axiomatic Reasoning System


1.6.1 Introduo
O NARS [WAN93] um sistema desenvolvido por Pei Wang [WAN2001] de
raciocnio inteligente onde inteligncia significa trabalho e adaptao com recursos e
informao insuficientes. interessante observar que o ambiente que os seres humanos
habitam cheio de incertezas o que resulta em conhecimento freqentemente incerto. O
NARS um sistema para coletar, armazenar e processar conhecimentos incertos.
Wang no pretende construir uma definio universal de inteligncia. Wang
apenas desenvolveu um conceito de inteligncia a ser seguido no desenvolvimento do
NARS.
No NARS, no existem verdades absolutas, evidncias universalmente aceitas ou
axiomas. O conhecimento no NARS pode ser refutado e adaptado. O NARS ope-se ao
modelo de sistema de raciocnio artificial baseado em conhecimento completo e por isso
mesmo no adaptvel. A inspirao do NARS vem do fato de que muitas decises
humanas no so baseadas em conhecimento completo.
O NARS pode coletar informao do ambiente que entre em conflito com sua
base de conhecimento. Ao contrrio de emitir uma mensagem de erro, o NARS deve
aproveitar esse conflito para se adaptar.
No NARS, a relao ser representada por entendida como uma relao
de herana. A sentena S P deve ser entendida como S um tipo de P ou S
apresenta as propriedades de P.
1.6.2 O Valor Verdade
Um problema importante a ser estudado a representao da veracidade ou
incerteza da sentena S P . Sendo S e P conjuntos, existem n instncias de S e m
instncias de S que pertencem ao conjunto P, a razo f = m/n proporciona um ndice de

24

veracidade na sentena S P .
Para efeito de exemplo, sejam os conjuntos:
S = { gatinho, gatinha, gato pequeno, cachorro }
Gatos = conjunto de todos os gatos
Pode-se afirmar que S Gatos significa as instncias de S so gatos:
n = nmero de instncias de S = 4.
m = nmero de instncias de S que pertencem ao conjunto dos gatos = 3 .
f = m/n = 0,75.
O exemplo anterior mais didtico do que acurado. Uma criatura que no
conhece todos os gatos do mundo e nem todos os elementos do conjunto S no pode
realizar o clculo com total grau de confiana. Alm de calcular f, necessrio calcular o
grau de confiana para o valor obtido.
Supondo que o NARS tenha informao de apenas um nico elemento de S
chamado gatinho que pertence ao conjunto Gatos, calcula-se:
n=1
m=1
f = m/n = 1/1
O problema que uma nica observao do ambiente que resulta em um nico
elemento na amostra muito pouco para ter uma idia confiante de S Gatos . O
valor f normalmente referido como freqncia ou fora deve ser acompanhado de outro
valor c para denotar o grau de confiana que se tem sobre o valor f.
O grau de confiana c a razo entre o nmero de evidncias observadas e o
n
nmero de evidncias a serem observadas: c
. O valor de k uma constante no
n k
sistema e indica o tamanho do futuro prximo. Para efeito de exemplo, com um nico
1
0,5 .
exemplo na amostra e k = 1 encontraremos a confiana c
1 1


Pode-se calcular os valores mximo z e mnimo a que f pode alcanar no futuro


prximo. O valor mximo z de f alcanado quando todas as observaes do futuro
m k
prximo forem positivas: z
. Da mesma forma, o valor mnimo calculado
n k
prevendo que todas as observaes do futuro prximo sero negativas como segue:
m
a
n k .


Intuitivamente, pode-se afirmar que quanto maior for o intervalo [a,z] que f pode
ocupar no futuro prximo, menor o grau de confiana que se tem sobre f. De fato,
k
1 c . Essa equao afirma que o tamanho do
pode-se verificar que: z a
n k
intervalo [a,z] o complemento para 1 da confiana c.


Sendo assim, existem trs tipos de valores verdade equivalentes que podem ser
transformados uns nos outros: {m,n} , < f,c >, [a,z].

25

1.6.3 Crena
Abordando o exemplo S P < 1 , 0.5 > , observa-se que a freqncia de S em
P 1 com um grau de confiana de 0.5. Apesar da freqncia ser alta, o grau de
confiana 0.5 o que nos impede de crer que S P com muita intensidade.
importante extrair um nmero do par <f,c> que d uma idia sobre o quanto podemos
crer em S P.
A crena identificada pela letra d calculada como a mdia entre a e z como
segue:
a z
2


k
2
n k

Com k=1, o par < 1, 0.5 > pode ser transformado em { 1,1 } ou [0.5 , 1]. Sendo
assim, d = (0.5+1)/2 = 0.75 .
1.6.4 Gramtica
A unidade bsica do conhecimento do NARS o julgamento. O julgamento
uma sentena e um valor de veracidade. Um julgamento representa a opinio do sistema
sobre como um termo pode ser usado como outro. Por exemplo, S P < 1 , 0.5 >
um julgamento de que S pode ser usado como P com valor verdade < 1 , 0.5 >.
O NARS aceita dois tipos de perguntas vindas do ambiente:
1. Pergunta SIM / NO: a pergunta tem a forma de uma sentena e a resposta
a ser dada pelo sistema deve ser um valor verdade com a maior confiana
possvel.
2. Pergunta do tipo O que: uma sentena em que um dos termos
substituido por um ponto de interrogao. O sistema deve responder que
termo melhor substitui o ponto de interrogao para tornar a sentena
verdadeira.
A gramtica constituida pelas seguintes regras de produo:
<julgamento>::= <sentena> <valor verdade>
<questo> ::= <sentena> | <pergunta>
<pergunta> ::= ? < um> <predicado> | <sujeito> < um> ?
<sentena> ::= <sujeito> < um> <predicado>
<termo>
::= <palavra> | {<termo>}
<palavra> ::= <letra> | <letra><palavra> | <palavra>-<palavra>
<letra>
::= a|b|...|y|z
< um>
::= |

1.6.5 Regras de Inferncia


No NARS 2.2, existem dois tipos principais de inferncia:
inferncia progressiva: parte de um julgamento e conclui um novo julgamento.


inferncia regressiva: parte de uma pergunta para um julgamento ou outra


pergunta.

26

Considerando que a quantidade de conhecimento e recursos de memria so


limitados, comum que ocorram inconsistncias. Uma inconsistncia encontrada
quando existem dois julgamentos com sentenas idnticas e valores verdade distintos.
Quando a inconsistncia encontrada, feita a verificao.
Supondo que os julgamentos seguintes foram feitos com base em conhecimentos
distintos:
S P { m1 ,n1 }
S P { m2 ,n2 }
A regra de inferncia de verificao conclui S P { m1 + m2 , n1 + n2} .
Supondo os julgamentos que seguem:
S < f2 ,c2 >
M P < f1 ,c1 >
A regra de inferncia deduo conclui S P < f1f2 , (f1+f2 - f1f2)c1c2 >. A regra de
deduo aproveita a caracterstica da transitividade da herana. A regra da deduo pode
ser descrita como: se existem caractersticas de S em M e se existem caractersticas de
M em P, podem existir caractersticas de S em P.
Para estudar a regra de inferncia induo, aborda-se os seguintes julgamentos:
M P < f1 ,c1 >
M S < f2 ,c2 >
Com base nesses julgamentos, a regra de induo conclui:
SP<

f1 ,

f 2 c1 c2
f 2 c1 c2 k

>

A regra da induo pode ser descrita como: se existem caractersticas de M em


P e se existem caractersticas de M em S, podem existir caractersticas de S em P.
A regra de inferncia Abduo muito semelhante a regra de induo. Para
estudar essa regra, aborda-se os seguintes julgamentos:
P < f1 ,c1 >
S < f2 ,c2 >
Com base nesses julgamentos, a regra de abduo conclui:


SP<

f2 ,

f 1 c1 c2
f 1 c1 c2 k

>

A regra da abduo pode ser descrita como: se existem caractersticas de P em


M e se existem caractersticas de S em M, podem existir caractersticas de S em P.
1.6.6 Exemplo
Um exemplo prtico permite uma percepo melhor das regras de inferncia. No
presente exemplo, supe-se que o NARS seja alimentado com os seguintes julgamentos:
pombas so aves

27

pombas normais so voadoras


pombas normais no so nadadoras
algumas pombas so brancas
algumas pombas no so brancas
cisnes so aves
cisnes normais so voadores
cisnes normais so nadadores
cisnes normais so brancos
pinguins so aves
pinguins normais no so voadores
pinguins normais so nadadores
No existindo axiomas no NARS, a julgamentos positivos como pombas so
aves ou pomba ave atribudo o valor verdade < 1, 0.9 > e no < 1, 1 >. De
forma oposta, um julgamento negativo como pombas no so nadadoras na
verdade um julgamento como pomba nadadores com valor verdade < 0, 0.9 >.
A palavra normal altera o valor verdade. Enquanto atribudo o valor verdade
< 1, 0.9 > pombas so aves, o julgamento pombas normais so voadoras o
julgamento pomba voadores com valor verdade < 0.9, 0.9 >.
Perguntando ao sistema Aves so voadoras?, encontra-se a resposta < 0.6,
0.548 >. dito ao sistema X uma ave. Questionando o sistema se X voa, o sistema
responde X voador < 0.6, 0.493 > em que a crena vale 0.549 podendo ser
entendida como eu acho que sim. interessante observar que no existe nenhuma
regra explicitada ao sistema que afirme aves so voadoras. Essa concluso feita com
base nos julgamentos que pombas e cisnes voam e pinguins no voam e que pombas,
cisnes e pinguins so aves. Esse um exemplo da regra de raciocnio de abduo.
Continuando o exemplo, alimentando-se o sistema com X um pinguim e
perguntando-se ao sistema se X voa, encontra-se a resposta X voador < 0.063,
0.815> . Essa resposta pode ser entendida como no acredito que X voe.

1.6.7 Comentrios Finais


Por trabalhar com conhecimento incerto, o NARS falvel. comum que o
NARS abstraia conhecimento falsos. Esses conhecimentos falsos provocam revises. O
sistema tende a melhorar de desempenho com o tempo. Haver melhores condies de
criticar o NARS nos prximos captulos depois de estudar outras idias e outros
sistemas.
Mesmo deixando para captulos posteriores uma discusso mais profunda, podese ressaltar algumas caractersticas interessantes:
O NARS aprende com a experincia e pode gerar conhecimento novo com
base em conhecimentos prvios usando regras de inferncia.
Recursos limitados implica em memria e tempo de computao limitados. As
regras de inferncia no podem ser usadas ao mximo. Um nmero limitado de
regras de inferncia pode ser usado a cada unidade de tempo. Sendo assim, as
inconsistncias podem no ser resolvidas imediatamente.

28

A modificao de um nodo de conhecimento no implica na alterao dos


demais conhecimentos dele dependentes imediatamente tendo em vista que os
recursos de computao so limitados.
Algumas idias do NARS sero aproveitadas nos prximos captulos na
implementao da criatura popperiana; porm, deve-se observar que a criatura
popperiana a ser aqui apresentada usar uma forma de representar o conhecimento muito
diferente da forma que o NARS usa.

1.7 WebMind Artificial Intelligence Engine


1.7.1 Introduo
Chamado de Webmind AI Engine (WAE) [GOE2001], o motor de IA da
empresa WebMind [WEB2001] teve inspirao no trabalho de Marwin Minsky que
prope a mente como uma sociedade de atores ou processos que formam grupos
temporrios de trabalho. O conceito de mente usado na construo do WAE o que
segue: a mente resultado de uma rede de atores que interagem, trocam mensagens e
modificam um ao outro. Ben Goertzel [BEN2001], que diretor da WebMind e a
pessoa mais influente no desenvolvimento terico do WAE, acredita que a mente um
sistema auto-organizvel de atores e relaes.
Esse conceito pode ser aplicado rede neural do crebro humano onde cada
neurnio um ator. Existem caractersticas interessantes no projeto de redes neurais
artificiais tais como paralelismo e homogeneidade. Por outro lado, redes neurais
artificiais no representam o conhecimento de forma to compacta e de fcil verificao
como o uso de regras lgicas representariam. O WAE pretende ter atores que
aproveitem caractersticas como paralelismo e auto-organizao de uma rede neural
artificial com a simplicidade de um conjunto de regras lgicas.
O conceito de inteligncia usado na construo do WAE proposto por Ben
Goertzel : Inteligncia a habilidade de atingir objetivos complexos em ambientes
complexos. Nesse sentido, tanto maior ser a inteligncia de uma criatura quanto maior
for o grupo de objetivos alcanados e quanto mais complexos eles forem. Sendo assim,
calcular a inteligncia de uma criatura calcular quantos objetivos ela pode alcanar e
sua complexidade.
Outro projetista do WAE, Pei Wang define inteligncia como habilidade de
trabalhar e se adaptar em um ambiente com recursos e informao insuficientes. As
definies de Wang e Goertzel no so conflitantes. Essas definies de inteligncia
poderiam ser fundidas em habilidade de trabalhar e se adaptar para atingir objetivos
complexos em ambientes complexos com recursos e informao insuficientes.
1.7.2 Tipos de Agentes no WAE
O motor do WAE um SMA que possui uma mistura de controle central e
controle local em que os agentes apresentam as seguintes caractersticas:
os agentes podem transformar-se, criar e destruir outros agentes.
alguns agentes reconhecem padres no mundo exterior, reconhecem padres
em outros agentes e agem diretamente no mundo exterior
assim como em uma rede neural, os agentes passam sua fora de ativao para
os agentes vizinhos

29

considerando as limitaes de recursos, agentes menos usados ou menos


importantes devem ser eliminados o que provoca esquecimento para a mente
que os possui. A perda de agentes provoca perda de informao; porm, essa
perda de informao necessria para gerar e abstrair novos conhecimentos.
A unidade de conhecimento representada por um agente e suas conexes.
a auto-percepo da mente deve ser feita por agentes que podem perceber
padres de todo o conjunto de agentes que formam a mente.
No WAE, os agentes so divididos em grupos: agentes nodos, agentes de
ligao, agentes de estmulo e agentes andarilhos (do ingls wanderer) . Os agentes
nodos representam textos, sries numricas, conceitos e algoritmos entre outros. Os
agentes de ligao representam relaes entre os agentes nodos podendo relacionar
similaridade, herana, ordem e implicao por exemplo. Os agentes de ligao podem
relacionar agentes nodos ou agentes de ligao significando que agentes de ligao
podem relacionar relaes. Os agentes de estmulo estimulam outros agentes
apresentando um padro vagamente semelhante ao direcionamento da ateno. Os
agentes andarilhos vagueiam pela rede de agentes criando agentes de ligao. Dentro
desses quatro grupos de agentes, foram modelados mais de 100 agentes especficos.
Cada agente no sistema tem sua prpria autonomia e seu prprio ciclo de vida;
porm, o sistema como um todo deve manter-se operante eliminando agentes e
permitindo a sobrevivncia de outros agentes em uma abordagem evolucionria. Nesse
contexto, a mente artificial algo muito simples: uma rede de agentes em que os agentes
continuamente reconhecem padres, se estudam, se transformam com a tarefa de atingir
os objetivos da criatura possuidora dessa mente.
Goertzel expressa seu otimismo em relao ao seu modelo de mente artificial
afirmando: eventualmente, eu suspeito que as idias embarcadas no WAE sero
consideradas demasiadamente bvias ainda que hoje a idia de construir uma mquina
pensante usando idias como essas permanea herege.
Dentro da mente artificial, os agentes devem representar o conhecimento da
mesma forma. Conforme ser visto mais a frente no presente texto, a representao do
conhecimento feita usando lgica probabilstica. A representao do conhecimento
feita atravs de agentes nodos e agentes de ligao permitindo a representao de
relacionamentos e regras lgicas arbitrariamente complexas.
Um agente nodo representa o conhecimento de algo que existe no mundo
exterior ou de algum conceito que existe no mundo interior. Os agentes de ligao
representam relacionamentos entre entidades ou conceitos. Os agentes de ligao podem
representar relaes entre relaes. O conhecimento declarativo representado pelos
agentes nodos. Os dois tipos mais importantes de agentes nodos so nodos de herana e
semelhana. No WAE, o conhecimento declarativo versa sobre fatos enquanto que o
conhecimento procedural versa sobre como proceder.
Inspirada no NARS, a relao no WAE apresenta uma fora que varia no
intervalo [0,1]. Fora zero significa que a relao no existe enquanto que fora 1
significa que a relao sempre vlida.
Devem ser feitas algumas notas sobre a traduo de termos encontrados na
documentao sobre o WAE. Para adotar uma nomenclatura mais usual, os termos
node actors e link actors foram traduzidos respectivamente para os termos agentes
nodos e agentes de ligao. Na prpria documentao original, reconhece-se que

30

atores e agentes so a mesma coisa para efeitos do WAE. Sendo assim, preferiu-se
traduzir os termos na forma j citada.
1.7.3 Mdulos
O WAE dividido nos mdulos apresentados na figura 1.2. Em cada mdulo,
residem agentes especializados para resolver uma classe de problemas. Por exemplo, o
mdulo de anlise de sries numricas possui agentes especializados em reconhecer
padres numricos. Os agentes dentro do WAE podem se intercomunicar livremente.
Agentes do mdulo de categorizao podem livremente se relacionar com agentes de
sries numricas. A diviso em mdulos do WAE no restringe a comunicao entre os
agentes. Ela apenas restringe o ponto de moradia dos agentes.

FIGURA 1.2 Mdulos do WAE

O mdulo de processamento de linguagem natural apresenta agentes que


representam textos, palavras, idias, conceitos, estruturas lingsticas e relaes entre
textos. Um ponto central e difcil de resolver em termos computacionais a extrao de
conhecimento de texto e representao em forma de agentes. Esse trabalho feito por
agentes de leitura que realizam processamento sinttico e semntico transformando a
semntica do texto em agentes.
De acordo com o que o nome sugere, o mdulo de categorizao possui agentes
que representam grupos de agentes. Os agentes que constituem o grupo podem
pertencer a qualquer mdulo.
No mdulo de modelo de usurio, existem agentes que modelam o
comportamento do usurio. Cada usurio deve ser representado por um agente. As
propriedades e caractersticas de cada usurio so representadas tambm por agentes.
Agentes individuais podem ter alguma inteligncia, porm a maior parte da
inteligncia est na maneira como os agentes criam e usam relaes (conexes) com
outros agentes podendo existir agentes que reconhecem e constroem relaes de
semelhana e herana entre outros agentes. Uma relao de herana significa que o
agente que recebe a herana recebe propriedades de outro agente.
Esperar que certos agentes sejam gerados ao acaso pela dinmica da mente pode
ser muito custoso em termos de tempo. Se previamente sabe-se que a mente artificial a
ser construda deve trabalhar com clculos numricos, pode-se implementar
manualmente os agentes certos para clculo. Da mesma forma, podem ser
implementados agentes especializados em lgica, linguagem humana, banco de dados,
internet, etc.

31

1.7.4 A Corporificao
Um aspecto importante na implementao e modelagem de inteligncia artificial
que a inteligncia sempre se apresenta corporificada em alguma criatura. A inteligncia
precisa de um corpo para existir que o meio para perceber e agir sobre o ambiente.
Sendo assim, para construir uma mente artificial equivalente a mente humana, seria
necessrio construir um corpo equivalente ao corpo humano. Uma mquina
verdadeiramente pensante com uma mente digital manifestar a sua inteligncia de forma
diversa forma humana por no ter um corpo humano. Isso no implica que uma
mquina no possa ter uma mente verdadeira.
A mquina o meio pelo qual a inteligncia artificial observa e age no mundo.
Uma mquina que possui percepo da internet perceber textos, imagens e outras
criaturas biolgicas ou artificiais que se comunicam por meio da internet. Provavelmente,
essa mquina falharia no teste de Turing por perceber um ambiente extremamente
diferente do ambiente que a inteligncia humana percebe e ainda assim ser um tipo
genuino de inteligncia.
Sendo assim, essa inteligncia artificial pode ser mais inteligente em aspectos
onde a seu ponto de observao privilegiado e quase certamente apresentar
desempenho inferior onde o ponto de observao da inteligncia humana favorecido.
Tudo isso dependendo da forma como a inteligncia artificial for corporificada.
Assim como outras criaturas tm objetivos de sobrevivncia como alimentao e
reproduo, o objetivo do WAE responder a perguntas feitas por humanos da melhor
forma possvel. Para tanto, o sistema deve estimar quais so os desejos dos usurios
humanos. Sendo assim, para aprender a responder da forma correta, o WAE deve
receber punio ou recompensa para o resultado de cada pergunta a ele submetida. O
esforo necessrio para treinar o WAE certamente enorme.
O WAE foi projetado para poder se comunicar em linguagem escrita humana
com seres humanos, navegar na internet, ler arquivos de texto e dados numricos. Por
motivos j citados, o WAE no passa no teste de Turing ainda que deva ser fluente sobre
os assuntos do seu prprio mundo. De todo jeito, a inteligncia do WAE foi projetada
para ser muito mais parecida com a inteligncia humana do que a inteligncia de um
macaco ou jogo de xadrez.
1.7.5 O Esquecimento
A dinmica de agentes gerando novos agentes que reconhecem determinados
padres acaba por provocar uma exploso combinatria no nmero de agentes. O
esquecimento muito importante para a mente artificial. O esquecimento ou perda dos
agentes menos importantes provoca um evolucionismo ao nvel da populao de agentes.
Os melhores agentes sobrevivem enquanto que os piorem so excludos (esquecidos).
Essa evoluo no nvel dos agentes faz com que a mente artificial seja um sistema
dinmico. Um aspecto importante que o WAE usa uma mistura de evoluo e
inferncia.
O desempenho da mente ser muito melhor se existir uma estratgia para
esquecimento. Apenas para efeito de exemplo, considerando 3 agentes que modelam as
seguintes frases: (1) tudo o que voa pode cair, (2) passarinhos voam, (3) passarinhos
podem cair. Pode-se concluir que o esquecimento do agente que modela a frase
passarinhos podem cair no envolver grande custo considerando que esta informao
pode ser recuperada pela inferncia.

32

Muitos problemas que uma criatura possuidora de mente resolve exigem a


percepo de grandes quantidades de informao que necessitam ser lembradas em uma
curta durao de tempo. Por exemplo, consultar um nmero na lista telefnica para
ento ligar, aps discado o nmero, o nmero de telefone no mais necessrio na
mente e pode ser esquecido. Esta a utilidade da memria de curta durao onde a
informao pode ser armazenada por um curto espao de tempo e depois esquecida.

1.7.6 O raciocnio
O raciocnio lgico indispensvel para a mente estabelecendo relaes sobre
relaes previamente conhecidas. No WAE, o raciocnio lgico uma parte do sistema e
no o centro conforme ocorre freqentemente em sistemas especialistas. O raciocnio
gera conhecimento de acordo com um conjunto de regras de inferncia pr-determinadas
que so independentes do domnio da aplicao. O raciocnio deriva conhecimento novo
do conhecimento j existente usando informao no explicitamente apresentada no
ambiente.
Para efeito de exemplo, aborda-se a forma com que o WAE trata a herana.
Supondo que B descendente de A e que C descendente de B, a deduo lgica que
C descendente de A.
O fato de que as relaes possuem uma fora significa que a herana no
necessariamente deve ser total tendo fora 1. Assim como qualquer outra relao, a
herana pode ter qualquer valor no intervalo fechado [0,1]. Quando afirma-se que B
descendente de A, afirma-se que as caractersticas de A so encontradas em B.
Mudando-se o ponto de vista, se B descendente de A, ento existem caractersticas de
A que existem em B. Sendo assim, se B descendente de A, ento, com alguma fora, A
descendente de B. Esse tipo de raciocinio chamado de reversibilidade da herana.
Quanto mais reversvel for a herana, maior a semelhana.
A notao a ser seguida a que segue: A
B significa que B descendente de
A. Observe alguns tipos de raciocnio presentes no WAE na tabela 1.1.
Uma lgica determinista que parte de premissas absolutamente certas e chega em
resultados absolutamente certos no suficiente para o que pretendido. A percepo
do mundo real cercada de regras lgicas que tem uma certa probabilidade de serem
vlidas. Nesse sentido, o WAE usa a lgica de termos probabilista ( do ingls
Probabilistic Term Logic PTL) usando as regras de raciocnio apresentadas na tabela
1.1. A probabilidade de um conhecimento ou relao definida pela fora da relao.
TABELA 1.1 Tipos de Raciocnio

Tipo de Raciocnio

Descrio

deduo lgica

reverso da herana

implica B

induo

A B e A C
em um certo grau

implica

abduo

A B e C B
em um certo grau

implica

implica

A em um certo grau

33

A expresso Maria acredita que Deus existe com grau de confiana de 0.3
representada por (acredita, Maria, Deus existe) [0.3]. Os relacionamentos de alta ordem
so tambm chamados de relacionamentos de relacionamentos. Seguem alguns exemplos
de relacionamentos de alta ordem:
(duvida, Joo, (acredita, Maria, Deus existe)[0.9]) [0.6] : Joo duvida com fora
0.6 que Maria acredita que Deus exista com fora 0.9.
(filho, B, A) => (pai, A,B) [0.5] : Se B filho de A, ento A pai de B com
fora 0.5.
Os recursos computacionais so limitados. Sendo assim, deve existir uma
estratgia de controle que determine quando aplicar uma regra de inferncia, quando sair
em busca de premissas e o que fazer com as concluses. Essas decises de quando cada
ao deve ser tomada devem ser feitas para requisitar a menor quantidade de recurso
computacional possvel.
A auto-percepo do WAE est distribuda ao longo de diversos agentes. Um
agente representa o sentido de eu. O agente eu descendente do agente
computador. Essa ligao faz com que as propriedades de computador sejam
atribudas com alguma fora ao agente eu. Essa relao de herana entre
computador e eu representa o sentido de eu sou um computador. A representao
de eu sou um computador feita pelos agentes nodos eu, computador e pelo
agente de ligao de herana.
1.7.7 Representao do Conhecimento
Ainda que seja teoricamente possvel representar todo o tipo de conhecimento
em uma rede de herana, isso no implica que um sistema implementado contendo
somente este tipo de relacionamento seja vivel. Ainda que as regras matemticas
pudessem ser implementadas numa rede de herana, por simplicidade, as regras
matemticas so implementadas dentro de agentes especficos.
Para efeito de entendimento, aborda-se o seguinte exemplo:

ave animal [1.0,0.8]


Nesse exemplo, deve-se entender que ave descendente de animal com fora 1 e
grau de confiana 0.8. O smbolo representa herana.
Abordando um exemplo mais geral:

BA[s,c]
B descendente de A com fora s (strength) e confiana c (confidence). Supondo
que as propriedade de A e B sejam respectivamente a1, a2, ... an e b1, b2, ... bn sendo ax e bx
nmeros reais que representam a fora da propriedade x, a fora da herana entre A e B
calculada como segue:


fora da herana

a i AND b i


ai

Pode-se interpretar a frmula acima como a razo entre a semelhana das

34

propriedades de A e B pelas propriedades de A. Quanto mais semelhantes forem as


propriedades entre A e B que A possui, maior ser a descendncia de B em relao A.
Observando que ai e bi so nmeros reais, a operao lgica AND deve ser definida para
o domnio dos nmeros reais:
xand y xy
xor y x y xy


interessante observar alguns exemplos numricos das funes and e or


definidas para os nmeros reais:
TABELA 1.2 Operaes Lgicas

x or y

x and y

0.5

0.5

0.75

0.25

0.9

0.9

0.99

0.81

0.9

0.1

0.91

0.09

0.8

0.1

0.82

0.08

Da mesma forma, a semelhana entre A e B pode ser calculada como a


semelhana de suas propriedades. A semelhana numericamente calculada pela frmula
que segue:


ai AND bi

fora da semelhana




ai OR bi


Abordando um exemplo numrico, calculando a semelhana entre A e B tendo


cada um as mesmas duas propriedades sendo que A possui foras 0,5 e 0,9 para as suas
propriedades e B possui foras 0,5 e 0,1 para as suas propriedades, calcula-se a
semelhana entre A e B:


a i and b i


0,5and 0,5
0,5 or 0,5


a i or b i

0,9 and 0,1


0,9 or 0,1

0,25 0,09
0,75 0,91

0,36
0,21
1,66

1.7.8 Processamento de Linguagem Natural


O estudo do processamento de linguagem natural do WAE est muito alm dos
objetivos do presente trabalho. Ainda assim, interessante ressaltar algumas idias
encontradas na documentao do WAE. No entendimento dos projetistas do WAE, o
aprendizado da linguagem deve ser experimental e natural. O domnio da linguagem deve
crescer aos poucos de forma integrada mente.
O processamento de linguagem natural do WAE segue dois princpios filosficos:


Linguagem mente: a linguagem no uma interface para a mente e sim um


aspecto da mente. Aprender linguagem aprender o pensamento lingstico.

35

Quanto mais o pensamento lingstico for aprendido, melhor pode-se aprender


linguagem.
Linguagem interao social: a linguagem uma maneira de interagir com
outras mentes. Para um sistema entender que a linguagem um meio de
interao com outras mentes, o sistema deve se comunicar com outras mentes.
Apesar do aprendizado da linguagem natural ser incremental, algumas regras
podem estar previamente implementadas no sistema tornando-o predisposto ao
aprendizado. Atualmente, algumas regras de aprendizado so importadas da gramtica
de Ingls Xtag [XTA 2002].
1.7.9 Baby WebMind
Mesmo quando completamente implementado, o WAE ainda no estar pronto
para o uso. Antes do WAE poder entrar em operao, ele deve passar por uma fase de
aprendizado. Est em desenvolvimento um prottipo do WAE para testar sua
funcionalidade bsica e seu aprendizado em um ambiente restrito.

FIGURA 1.3 Cliente do Baby WebMind em Java

O ambiente do Baby WebMind um mundo de arquivos onde existem dzias de


operaes possveis tais como apagar, renomear e copiar arquivos. Espera-se que aps
algum tempo de aprendizagem, o Baby Webmind consiga conversar em Ingls sobre o
assuntos relacionados ao seu mundo restrito. Conforme mostra a figura 1.3, a interface
com o Baby WebMind apresenta:
Janela para conversao com o WAE.
Barra para rolar entre recompensa e punio.
Barra para apresentar a emoo do usurio entre sorriso e fazer cara

36

feia.
Barra para o WAE mostrar suas emoes.

1.7.10 Comentrios Finais


Por certo, essa apresentao sobre o WAE extremamente superficial. A
apresentao de um projeto desta magnitude em poucas pginas certamente superficial.
Ainda assim, pode-se observar aspectos importantes no desenvolvimento do WAE tais
como:
Adquire conhecimento da interao com o seu ambiente, com usurios
e consigo mesmo. Devem existir agentes que percebem relaes e
padres no ambiente assim como relaes no conhecimento ou
comportamento de outros agentes.
Inspirado no NARS, o conhecimento no determinista apresentando
um valor verdade.
Raciocnio tambm inspirado no
conhecimento no determinista.

NARS para trabalhar com

A mente artificial do WAE uma sociedade de agentes que nascem,


interagem entre si e morrem sendo este um sistema dinmico. No
crebro, neurnios ativam ou suprimem a ativao de outros
neurnios. Da mesma forma, no WAE, agentes ativam ou suprimem a
ativao de outros agentes. O projeto do WAE pretende que seus
agentes estejam no meio caminho entre uma rede de neurnios e um
conjunto de regras lgicas.
A inteligncia do WAE emerge da interao de mais de uma centena
de tipos de agentes diferentes.
O aspecto da corporificao em mquinas da inteligncia do WAE
implica em um tipo de inteligncia no humana. Isso no chega a ser
um problema. apenas uma caracterstica da mente artificial.
O esquecimento uma forma de liberar recursos computacionais. A
perda de agentes necessria para o sucesso da mente.
O aspecto mais importante do WAE no o modelo ou a construo
dos mdulos em separado, mas sim a maneira como os agentes
interagem para gerar inteligncia.
Os desafios impostos implementao do WAE so enormes. Existem diversos
problemas tericos e prticos envolvidos na construo de um sistema to extenso. Cada
mdulo do WAE motivo de estudo aprofundado. Os mdulos envolvidos na coleta de
dados, raciocnio e processamento de linguagem natural poderiam gerar estudos enormes
em separado. Alm de todos estes desafios, a interao entre uma mirade de agentes
especializados nos diversos mdulos gerando um comportamento global sem dvida
um sistema dinmico de dimensionalidade realmente alta.
O WAE classificado como uma criatura gregoriana tendo em vista que ele
dispe de linguagem complexa, cultura e capacidade de construir ferramentas. No

37

entendimento do autor do presente texto, diversos problemas encontrados no


desenvolvimento do WAE so decorrncia da falta da perspectiva evolutiva da
inteligncia. Parece fazer mais sentido construir primeiramente um WAE popperiano e
posteriormente um WAE gregoriano.
A tecnologia desenvolvida para a criatura popperiana totalmente aproveitada
para o desenvolvimento da criatura gregoriana. Diversas questes abordadas no WAE
so comuns para as criaturas popperianas e gregorianas tais como: a corporificao, o
aprendizado pela observao, o uso de conhecimento incerto, a predio, o planejamento
e o esquecimento.
Alm disso, por ser a criatura popperiana mais simples do que a criatura
gregoriana, diversos erros de modelagem e implementao podem ser percebidos de
forma muito mais fcil no desenvolvimento da criatura popperiana do que no
desenvolvimento da criatura gregoriana sendo que a criatura popperiana pronta serve de
ponto de partida para a construo da criatura gregoriana.

1.8 Proposta de um Modelo de Esquema Cognitivo SensrioMotor Inspirado na Teoria de Jean Piaget
Inspirado no trabalho de Waslawick [WAS93], Muoz [MU99] prope um
modelo computacional de agente cognitivo inspirado na teoria de Jean Piaget [PIA47]
sobre o desenvolvimento da inteligncia sensria-motora. Muoz acredita que a teoria
piagetiana de esquemas permite a construo de agentes que tenham capacidade de
adaptao e que no necessitam de conhecimento prvio a respeito do meio. Essas
caractersticas permitem ao agente agir em um ambiente desconhecido ou imprevisto.
Nesse agente, tanto a memria, como as regras de comportamento e a previso
esto armazenadas em estruturas chamadas de esquemas. Os esquemas so uma trinca
contendo um contexto, aes e o resultado esperado da aplicao dessas aes no
contexto apropriado. Um ponto alto a ser considerado no trabalho de Muoz que o
esquema pode ser usado para diferentes fins (memria, comportamento, previso)
proporcionando uma estrutura de dados bastante homognea.
Quando o esquema usado como uma regra de comportamento do tipo Se a
situao pertence ao contexto, ento aplica a ao com a esperana de encontrar o
resultado, dito que ele usado de forma procedural. Por outro lado, quando o
esquema usado como uma regra de previso do tipo Se a situao pertence ao
contexto e a ao for aplicada, ento acredita-se que o resultado ser encontrado,
dito que o esquema usado de forma preditiva.
Os esquemas podem ser encontrados em um dos seguintes estados:
No excitado: verificado quando a situao no pertence ao contexto do
esquema.
Excitado: verificado quando a situao pertence ao contexto do esquema e
suas aes no so executadas.
Ativado: verificado quando a situao pertence ao contexto do esquema e
suas aes so executadas.
Os esquemas so construdos atravs da experincia e podem ser modificados por
duas formas distintas:

38

Por assimilao que significa a expanso do contexto ou ainda a generalizao


das situaes para as quais a ao pode ser tomada.
Por acomodao que significa encontrar aes que levem ao resultado.
Essa estrutura em esquemas permite ao agente descobrir novos meios para
alcanar o resultado por experimentao mental. Esses novos meios so descobertos pela
assimilao ou generalizao. Sendo assim, o agente de Muoz pode ser classificado
como uma criatura popperiana tendo em vista que ele tem capacidade de aprender as
regras do seu ambiente e imaginar situaes futuras.
O estado de um esquema pode ser usado para definir o contexto de outro
esquema. Sendo assim, a ativao de um esquema pode depender da ativao de outro
esquema de tal forma que aes mentais podem ser modeladas de forma homognea
tendo em vista que tais aes so usadas somente para sinalizar outros esquemas.
O agente de Muoz possui uma populao de esquemas. Esses esquemas so
avaliados segundo a sua utilidade e exatido. Os melhores esquemas so preservados
enquanto que os piores so descartados forando um processo evolutivo ao nvel de
esquema.
Existem caractersticas semelhantes entre o agente de Muoz e o WAE. A parte
central do WAE e do agente de Muoz constituda de unidades funcionais que so o
agente e o esquema respectivamente. Enquanto que a inteligncia no WAE fruto da
coletividade de agentes, a inteligncia no trabalho de Muoz fruto da coletividade de
esquemas. Em ambos os casos, as unidades funcionais de cada sistema organizam-se em
redes. A condio de ativao dos esquemas pode ser uma situao percebida no
exterior assim como o estado de outro esquema. Da mesma forma, no WAE, os agentes
agem baseados em situaes percebidas no exterior ou em outros agentes que compem
o WAE. Em ambos os sistemas, as unidades funcionais competem por recursos e podese observar um processo evolutivo ao nvel das unidades funcionais que resulta na
melhora do comportamento global do sistema. Da mesma forma, o descarte de esquemas
e o descarte de agentes significa o esquecimento para ambos os sistemas. Ambos os
sistemas podem tirar proveito do paralelismo, aprendem com a experincia, predizem o
futuro, imaginam situaes no experimentadas e possuem aes mentais.
No final de sua dissertao de mestrado, Muoz propem duas pesquisas futuras
entre outras:
Utilizao de esquemas em simulaes mentais com o objetivo de testar
mentalmente a aplicao de esquemas a uma dada situao. Essa utilizao
pode ser considerada como planejamento propriamente dito.
Incluso da noo de objeto atravs da combinao de esquemas.
A noo de objeto que mais tarde resulta na noo de ferramenta enquadra-se na
criatura gregoriana e no investigada no presente trabalho. Por outro lado, o
planejamento explcito uma caracterstica da criatura popperiana e objetivo da
presente dissertao. Conforme pode-se verificar no prximo captulo, o planejamento
explcito proposto para a criatura popperiana formado por unidades que se parecem
bastante com esquemas.

39

2 Implementao da Inteligncia das Criaturas


Na presente dissertao, pretende-se fazer um modelo genrico da inteligncia
das criaturas skinneriana e popperiana. No pretendido modelar o corpo, a forma de
percepo ou as aes das criaturas artificiais. pretendido apenas modelar a sua
inteligncia. Nessa forma, para efeito de implementao dessas criaturas, entende-se por
inteligncia2 como a forma pela qual as decises so tomadas com base nas
percepes e no estado interno.
Sendo assim, pretende-se modelar apenas a forma pela qual as decises so
tomadas sem restrio ao ambiente, ao tipo de eventos percebidos ou ao corpo.
Certamente, a forma como a inteligncia se desenvolve ao longo da vida da criatura
depende da forma como a criatura percebe seu mundo e seu corpo e age sobre eles.
Aspectos como a forma de percepo e os tipos de aes sobre o ambiente so aspectos
envolvidos na corporificao da inteligncia discutidos na seo 1.7.4 A
Corporificao do presente texto.
Para efeito de generalidade da implementao, necessrio definir a forma como
a inteligncia vai perceber o corpo e o ambiente e como a inteligncia vai tomar
decises que possam resultar em aes no mundo exterior da forma mais genrica
possvel sem criar dependncias entre a inteligncia e um determinado tipo de
percepo, ao ou corpo. De certa forma, essa definio apresenta a forma como a
inteligncia comunica-se com o mundo exterior.
importante que a forma como a inteligncia implementada seja
suficientemente genrica para qualquer tipo de corporificao. Considerando que todo
tipo de informao pode ser representado em bits ainda que com rudo, o meio escolhido
para fazer a comunicao entre a inteligncia e o corpo do agente um vetor de bytes,
que tambm pode ser visto como um vetor de bits.

2.1 Modelo de Agente Skinneriano


Ainda que a definio do agente Skinneriano seja simples, a sua implementao
no o . O agente Skinneriano deve apresentar quatro caractersticas: (1) capacidade de
perceber o ambiente e os estados internos, (2) capacidade de agir no ambiente, (3)
capacidade de aprender a relacionar aes e estados do ambiente com satisfao e (4)
saber escolher boas aes baseadas nas regras aprendidas. Dessas quatro caractersticas,
as duas primeiras descendem da definio de agente enquanto que as outras duas so
especficas do agente Skinneriano.
A figura 2.1 apresenta um modelo de agente Skinneriano. Esse diagrama
apresenta os principais mdulos, seus respectivos nmeros e a informao que trafega
entre eles. Esses nmeros apresentados em cada um dos principais mdulos representam
a ordem de execuo das tarefas do agente Skinneriano em uma mquina de
processamento serial.
provvel que o resultado das aes do agente produza alguma modificao no
que percebido pelo agente tanto no ambiente como no estado interno. Essa
dependncia representada pela seta pontilhada da figura 2.1. As demais setas
representam fluxo de informao.

2 Grafa-se o termo inteligncia em itlico quando ele apresenta a mesma semntica dada por Dennett.

40

4. Age.
Ao
escolhida
1. Percebe o
ambiente e estado interno.

3. Escolhe a ao mais
Percepo provvel de proporcionar satisfao.

Memria de
Curto Prazo

Ao
escolhida
Satisfao prevista
para um par
(Percepes, Ao).

Satisfao
Percepes e
ao anteriores

2. Aprende

TR

Percepes anteriores,
ao anterior e satisfao atual
FIGURA 2.1 Modelo de Agente Skinneriano

A percepo alimenta a memria de curto prazo e o mdulo de aprendizado.


Durante o aprendizado, o agente Skinneriano relaciona a situao do ambiente, a ao
tomada e a satisfao obtida com as aes anteriores.
O estado do ambiente e a ao tomada so informaes do passado recente a
serem relacionadas (aprendidas) com a satisfao atual. Sendo assim, necessria a
existncia da memria de curto prazo para relacionar causas (percepes e aes
anteriores) e efeitos (satisfao) temporalmente prximos.
Na figura 2.1, TR representa a tabela de relao que usada para relacionar
causas e efeitos. Essa tabela ser discutida em detalhes no presente captulo. Para
escolher uma ao, o agente Skinneriano usa a TR com o objetivo de escolher a ao
que mais se relacione com satisfao no estado atual percebido.
Usando o relacionamento entre ambiente, ao e satisfao aprendido, o agente
Skinneriano pode escolher as aes com maior probabilidade de proporcionar satisfao
no futuro prximo.

2.2 Modelo de Agente Popperiano


A grande diferena entre a criatura Popperiana e a criatura Skinneriana a
capacidade que a criatura Popperiana tem de antever estados do ambiente e poder testar
as aes nesse ambiente antevisto. Determinar as aes que proporcionem estados
futuros desejveis planejar.
Alm de aprender as regras do ambiente e prever estados futuros prprios e do
ambiente, a criatura popperiana deve usar esse aprendizado para planejar seqncias de
aes boas e descartar as aes que levem a estados indesejveis. O sistema de

41

planejamento discutido na seo 2.5 enquanto que o aprendizado discutido na seo


2.3 da presente dissertao.
O modelo de agente popperiano proposto aqui uma evoluo do modelo de
agente skinneriano apresentado. Comparando-se as figuras 2.1 e 2.2, as semelhanas
entre os modelos ficam evidentes. Alm das semelhanas, duas diferenas encontradas no
agente Popperiano devem ser observadas: (1) o mdulo de aprendizado relaciona
percepes passadas com a percepo atual e (2) a escolha da melhor ao envolve
planejamento e previso de estados a serem percebidos no futuro.
Para que a criatura popperiana possa planejar, ela deve ter uma maneira de prevr
o estado a ser alcanado por uma ao tomada em uma determinada situao. Esse
estado alcanado pode ser o ponto de partida para outra ao que a criatura planeja.
Alm de prever estados futuros, a criatura popperiana deve ter uma maneira de
avaliar quais estados so mais ou menos desejveis ou perigosos. o instinto que arbitra
se um determinado estado favorvel ou perigoso. Para efeito de implementao do
agente popperiano artificial, o instinto pode ser implementado como uma funo de
avaliao em cdigo nativo da linguagem de programao.

4. Age.

1. Percebe o
ambiente e estado interno.

Ao
escolhida
3. Prevendo aes, satisfao e estados
Percepo futuros do ambiente , atravs de
planejamento, escolhe a ao mais
provvel de proporcionar satisfao.
Ao
escolhida

Estado Futuro
previsto para
um par
(Percepes, Ao).

Memria de
Curto Prazo
Percepo
atual

2. Aprende

Percepes e
ao anteriores

TR

Percepes anteriores,
ao anterior e percepo atual
FIGURA 2.2 Modelo de Agente Popperiano

Os agentes Skinnerianos e Popperianos devem ser capazes de relacionar causas e


conseqncias sendo elas aes e satisfao ou estado atual e estado futuro. Esse
relacionamento no simples de implementar. Para relacionar causa e conseqncia foi
definido e implementado um algoritmo inspirado no aprendizado de Hebb a ser descrito
na prxima seo.

42

2.3 Implementao da Induo de Funo Lgica no


Determinista
O aprendizado de Hebb encontrado tanto na bibliografia de redes neurais
artificiais [SIM2001] como na bibliografia de neurologia mdica [KAN97]. A maneira
como Hebb define o aprendizado a nvel celular bastante genrica e permite
modelagens distintas:
Quando um axnio da clula A est perto o suficiente para excitar a clula B e
repetidamente ou persistentemente toma parte no disparo dela, algum processo de
crescimento ou mudana metablica acontece em uma ou ambas as clulas de forma
que a eficincia de A no disparo de B incrementada [SIM2001].
Uma implementao possvel para o aprendizado de Hebb usada no presente
trabalho definida como segue: em dois neurnios A e B conectados por uma sinapse S
que leva o sinal de A para B, a sinapse S reforada sempre que A participe
excitatoriamente no disparo de B e suprimida quando A dispara e B no. Na seo 2.3.2,
o modelo de aprendizado escolhido discutido e comparado com outros trabalhos.
Alm do relacionamento de implicao entre A e B, interessante procurar por
relacionamentos entre no A e B, A e no B e no A e no B. Esse exemplo simples
pode ser modelado pela rede neural encontrada na figura 2.3. Na figura 2.3, foram
representadas apenas as sinapses de interesse para esse exemplo. Existem sinapses que
excitam A e B provenientes de fora do circuito apresentado no representadas na figura
2.3. Nesse modelo, os neurnios A e no A disparam sempre que respectivamente os
eventos A e no A so percebidos. O mesmo pode ser afirmado para os neurnios B e
no B.
1a camada (causas)

2a camada (efeitos)

FIGURA 2.3 Rede Neural de Causas e Efeitos

Todas as sinapses da figura 2.3 esto sujeitas ao aprendizado de Hebb. Sendo


assim, sempre que dois neurnios no pertencentes a mesma linha dispararem, ocorrer
aprendizado de Hebb. A medida que as sinapses so reforadas pelo aprendizado de
Hebb, a ocorrncia de A ou no A provocar a ocorrncia de B ou no B dependendo
do aprendizado.
A ocorrncia ou no ocorrncia de um evento C pode estar associada a
ocorrncia conjunta de outros dois eventos. Sendo assim, devemos modelar uma rede
neural mais poderosa do que a rede neural apresentada na figura 2.3.

43

1a camada

2a camada
FIGURA 2.4 Rede Neural de Causas e Efeitos

Para determinar a relao entre apenas dois eventos que ocorrem


concomitantemente A e B e a conseqncia C, foram despendidos 4 neurnios na
primeira camada. Para determinar a relao entre trs eventos que ocorrem em conjunto
e determinam a ocorrncia de um quarto evento, sero necessrios 8 neurnios na
primeira camada. Sendo n o nmero de eventos que ocorrem em conjunto, para
determinar a relao entre os n eventos e a consequncia C so necessrios 2n neurnios
na primeira camada.
Sendo assim, supondo um agente que possua capacidade para perceber 40
eventos distintos que podem ocorrer em conjunto ou em separado, para determinar se
esses 40 eventos tem alguma implicao sobre a ocorrncia de um evento C, sero
necessrios 240 neurnios na primeira camada.
Por certo que praticamente invivel construir uma rede neural com 240
neurnios na primeira camada. Sendo assim, deve-se usar uma estratgia para tentar
relacionar causas e efeitos mais provveis ao contrrio de testar todas as possibilidades.
Outra restrio que pode ser feita limitar o nmero de eventos que conjuntamente
provocam um efeito. Esse nmero 5 nos testes apresentados aqui permitindo que se
possa relacionar de 1 a 5 eventos do tipo causa a um nico evento do tipo efeito
podendo-se induzir funes do tipo A e B => X ou A e B e C e D e E => X. O
problema dessa limitao que funes do tipo A e B e C e D e E e F => X no
podem ser induzidas por terem muitos termos na causa.
O problema de relacionar estados do ambiente, do corpo e aes com satisfao
ou insatisfao um problema de induo de funo lgica. Entende-se aqui por
induo a determinao da relao causal ou ainda a determinao da implicao.
A criatura skinneriana pode induzir regras lgicas incertas que ocorrem em um
ambiente incerto. Por exemplo, supondo que a regra de comportamento se calor, ento
sair do sol propicie satisfao em 70% dos casos em que usada quando existe
calor, a criatura deveria induzir a regra percebe o evento calor e a prpria ao sair
do sol implica no estado satisfao em 70% dos casos ou simplesmente calor e sair
do sol => satisfao [0.7] .
A dificuldade da implementao do comportamento do agente skinneriano quase
resume-se a implementao de induo de funo lgica. Nesse agente, a induo de
funo lgica usada para estabelecer relaes entre causas e efeitos sendo que a
criatura deve tentar provocar as causas (aes) que geram o efeito desejado (satisfao).
Inicialmente, durante a modelagem do sistema de induo lgica, usou-se
inspirao no aprendizado de Hebb e pretendia-se implementar um algoritmo baseado em

44

redes neurais artificiais. A medida que o projeto evoluiu, os aspectos de interesse da rede
neural eram abstrados para modelos cada vez mais simples e mais distantes de uma rede
neural artificial. Na verso final, ainda que se possa observar que existe aprendizado por
reforo, imperceptvel que em sua fase inicial usou-se redes neurais artificiais como
inspirao. O presente texto relata desde a inspirao biolgica, os primeiros testes at o
modelo completo.
No decorrer do presente captulo, ficaro evidentes algumas semelhanas entre o
NARS e a forma como a induo de funo lgica proposta aqui. Para facilitar o
entendimento e a comparao, a notao usada no presente captulo a mais prxima
possvel da notao usada no estudo do NARS e do WAE.
2.3.1 Exemplo Introdutrio Simples
Nesse exemplo, aborda-se a figura 2.4. Na tabela 2.2, cada clula das colunas C e
C representa uma sinapse que liga um neurnio da primeira camada com um neurnio
da segunda camada aps a alimentao das percepes da tabela TX1 sendo que:
1) os pesos das sinapses da rede comeam todos em zero.
2) os pesos das sinapses so incrementados sempre que os dois neurnios que a
sinapse liga dispararem em tempos prximos
3) os eventos percebidos do ambiente so os eventos da tabela 1.1.

TABELA 2.1 Percepo do Ambiente

Causas
(primeira camada)
AB
FF

Efeito
(segunda camada)
C
F

FV

VF

VV

FF

FV

VF

VV

45

TABELA 2.2 Pesos da Rede aps a percepo dos eventos da tabela 1.1

(causas)

(efeitos)

primeira camada C

A B

0.75

A B

0.75

0.5 0.67

0.5 0.67

Para efeito de compatibilidade a nvel de notao com o que foi estudado na


seo 1.11 sobre o NARS, adota-se:
m: nmero de vezes que uma determinada causa provocou um
determinado efeito. Na tabela 2.2, o nmero de vezes que a causa
provoca o efeito C.
n: nmero de vezes que uma determinada causa observada.
f : freqncia ou fora = m/n.
k
2 .
n k

m
d: crena em que d


K: constante inteira e positiva que usualmente vale 2.


Pode-se observar que as colunas de efeitos da tabela 2.2 apresentam freqncias.
Por suposio, aps algum tempo, atualizando a tabela 2.2 com percepes de causas e
efeitos hipotticos, encontra-se a tabela 2.3. A primeira linha da tabela 2.3 indica que nas
200 vezes que se observou A e B, em 100 vezes observou-se C e nas outras 100
vezes observou-se C. Da mesma forma, a segunda linha da tabela 2.3 indica que nas 200
vezes que se observou A e B, observou-se C.
TABELA 2.3 Pesos da Rede aps a percepo dos eventos hipotticos

(causas)

(efeitos)

primeira
camada

A B

100

100

0.5

0.5

200

0.99

A B

200

0.99

100

100

0.5

0.5

A
A

Analisando a tabela 2.3, pode-se induzir com grande crena que A e B ou A e


B implicam em C. De forma contrria, observa-se que A e B ou A e B no

46

determinam isoladamente o valor de C.


O valor de m para cada causa pode ser encontrado na coluna C. Os valores de f
na tabela 2.2 so os mesmos valores da tabela 2.3; porm, com valores de crena d
distintos.

2.3.2 A Relao entre a freqncia f, a crena d e o Aprendizado de Hebb


Encontra-se na bibliografia diversas modelagens do aprendizado de Hebb. Uma
forma bastante simples e comum de modelagem do aprendizado de Hebb [SIM2001] a
que segue:
w(n) = y(n) x(n)
onde:
w(n) : variao do peso sinptico no instante n.
: taxa de aprendizagem.
y(n) : impulso sinptico recebido no instante n.
x(n) : atividade neural (disparo) no instante n.
Muitos modelos artificiais do aprendizado de Hebb seguem o comportamento das
tabelas 2.4 e 2.5 em sinapses excitatrias. Conforme mostra o trabalho de diplomao de
Lcio Moser [MOS2001], esses modelos no se prestam para identificar a relao de
implicao.
TABELA 2.4 Aprendizado de Hebb em sinapse excitatria em neurnio artificial do tipo [0,1]

Impulso Sinptico Atividade Neural


Recebido
(disparo)

Variao do Peso
Sinptico

nula

nula

nula

positiva

O aprendizado de Hebb apresentado na tabela 2.5 tanto mais fortalece a sinapse


quanto maior for a identidade entre o impulso sinptico e a atividade neural tambm
chamada de disparo. Na tabela 2.6, pode-se observar a modelagem do aprendizado de
Hebb proposta por Moser [MOS2001] que fortalece o peso sinptico quando existe
relao de implicao entre o impulso sinptico e a atividade neural. Nesse sentido, o
impulso sinptico a causa e a atividade neural o efeito.

47

TABELA 2.5 Aprendizado de Hebb em sinapse excitatria em neurnio artificial bipolar.

Impulso Sinptico Atividade Neural


Recebido
(disparo)

Variao do Peso
Sinptico

-1

-1

positiva

-1

negativa

-1

negativa

positiva

Entendendo-se que o impulso sinptico e a atividade do neurnio so


respectivamente causa e efeito, pode-se traar um paralelo entre as tabelas 2.6 e 2.7
tendo em vista que a variao da fora da tabela 2.7 encaixa-se na variao do peso
sinptico da tabela 2.6.
TABELA 2.6 Aprendizado de Hebb proposto por Moser em sinapse excitatria.

Impulso Sinptico Atividade Neural


Recebido
(disparo)

Variao do Peso
Sinptico

nula

nula

negativa

positiva

Quanto maior for a relao de causa e efeito (implicao), maior ser o valor de
f. Para o caso binrio estudado no presente tpico, se o valor de f for 1, ento em todos
os casos percebidos houve a relao de causa e efeito. Se, por outro lado, o valor de f
for 0, ento existir um outro tipo de causalidade: a causa inibe o efeito esperado. Se o
valor de f for 0.5, ento no existir relao de causalidade.
Comparando-se as tabelas 2.6 e 2.7, pode-se observar que o comportamento de f
e d est de acordo com o comportamento que deve ter o peso da sinapse no aprendizado
de Hebb de Moser.
Muitos modelos de aprendizado de Hebb apresentam ponto de saturao3.
Considerando que m e n no so negativos e que m n, o valor de f sempre estar no
k
m
2 apresenta-se no intervalo
intervalo fechado [0,1]. Da mesma forma, a crena d
n k
aberto (0,1).


3 Ponto de saturao o limite mximo ou mnimo para o peso sinptico.

48

TABELA 2.7 Comportamento de m,n,f e d para causas e efeitos

Causa Efeito Variao Variao


de m
de n

Variao da
freqncia f

Variao da
crena d

0 (nula)

0 (nula)

0 (nula)

0 (nula)

m
n 1


m
n


k
2
n k 1 n k
m

( variao < 0)

( variao 0)


m 1
n 1

m
n

k
2

n k

n k 1 n k

( variao 0)


( variao > 0)


2.3.3 Exemplo Introdutrio de Agente Popperiano


Para efeito de exemplo, aborda-se um agente com as seguintes caractersticas:
Habita um mundo plano.


Percebe a sua posio absoluta (x,y).




Em 80% dos casos que ele executa ao de se mover para a direita, a sua
posio no eixo X incrementada em uma unidade.


Depois de escolher a ao a ser tomada e antes de agir, considera-se causas


o vetor (ao a ser tomada, posio no eixo X, posio no eixo Y).


Depois de agir, considera-se efeitos o vetor ( posio no eixo X, posio


no eixo Y).

O agente popperiano deve ter a capacidade de aprender regras que determinem a


relao causal entre causas e efeitos. De posse desse aprendizado, ele pode planejar
seqncias de aes e prever os efeitos a serem encontrados.
Nesse exemplo, o ndice dos elementos do vetor causas comea em zero
enquanto que o ndice do vetor efeitos comea em um. Sendo assim, a regra se a ao
mover para direita, ento incrementa a posio no eixo X pode ser representada pela
regra:
( causas 0 = mover para direita ) ( efeitos 1 causas 1 + 1 )


2.3.4 Exemplo de Induo


O sistema de induo proposto aqui a ser usado pelas criaturas dividido em trs
mdulos: (1) gerao de regras, (2) verificao de regras e (3) previso baseada em
regras.

49

2.3.4.1Gerao de Regras
A gerao de regras bastante simples. Cada regra gerada vlida para um
determinado par (Causas, Efeitos). No existe nenhuma garantia de que uma regra
gerada a partir de um nico par (Causas, Efeitos) possa ser usada para os demais pares
(Causas, Efeitos) percebidos. Quem verifica a validade da regra o mdulo de
verificao de regras.

Par
1
2
3
4

TABELA 2.8 Exemplo de Causas e Efeitos


Causas
Efeitos
Causa0
Causa1
Causa2
Efeito1
Efeito2
0
20
10
19
10
1
10
10
11
10
1
3
3
4
3
0
3
3
2
3

Por exemplo, supondo que o sistema de induo seja sucessivamente alimentado


com os pares (Causas, Efeitos) da tabela 2.8, o mdulo de Gerao de Regras poderia
gerar as seguintes regras a partir de cada par, entre outras:
Usando o par (Causas, Efeitos) 1:
(Causa1 = 20) => (Efeito1 19)
(Causa0 < Causa2) => (Efeito2 Causa0 + Causa2)
Usando o par (Causas, Efeitos) 2:
(Causa2 = 10) e (Causa2 <> Causa0) => (Efeito2 10)
(Causa0 = 1) => (Efeito1 Causa1 + 1)
Usando o par (Causas, Efeitos) 3:
(Causa1 = 3) => (Efeito1 Causa0 + Causa1)
Usando o par (Causas, Efeitos) 4:
(Causa2 = Causa1) => (Efeito2 Causa2)
(Verdadeiro) => (Efeito1 2)
(Verdadeiro) => (Efeito2 Causa2)
Existindo um conjunto no vazio de regras, pode-se usar o mdulo de verificao
de regras para calcular os respectivos valores de confiana e crena.
2.3.4.2Verificao das Regras
Usando-se a mesma tabela 2.8 para calcular os valores de freqncia e crena,
obtm-se a tabela 2.9. No presente trabalho, a tabela que armazena as regras e seus
respectivos valores de freqncia e crena chamada de tabela de relao. A tabela de
relao poderia muito bem ser chamada de tabela de regras. O nome de tabela de relao
persiste tendo em vista que ela usada para determinar a relao entre causas e efeitos.

50

TABELA 2.9 Exemplo de Tabela de Relao


Regra
1 (Causa1 = 20) => (Efeito1 19)

m
1

0.66

1
2

2 (Causa0 < Causa2) => (Efeito2 Causa0 + Causa2)

0.5

0.5

3 (Causa2 = 10) e (Causa2 <> Causa0) => (Efeito2 10)

0.75

4 (Causa0 = 1) => (Efeito1 Causa1 + 1)

0.75

5 (Causa1 = 3) => (Efeito1 Causa0 + Causa1)

2
2

0.5

6 (Causa2 = Causa1) => (Efeito2 Causa2)

0.5
1

7 (Verdadeiro) => (Efeito1 2)

4
4

1
4

0.25 0.33
1
0,83

8 (Verdadeiro) => (Efeito2 Causa2)

0.8

2.3.4.3Previso Baseada nas Regras


Par

TABELA 2.10 Problema de Previso


Causas
Efeitos
Causa0
Causa1 Causa2 Efeito1 Efeito2
1
21
23
?
?

Baseando-se nas regras da tabela de relao, possvel prever efeitos nunca


percebidos anteriormente. A previso dos efeitos feita com os seguintes passos:
(1)Para cada elemento do vetor Efeitos, seleciona-se as regras em que o lado
independente (lado SE) verdadeiro e que o lado dependente (lado
ENTO) refere-se a esse elemento do vetor Efeitos.
(2)Das regras selecionadas no item anterior, seleciona-se a regra de maior fora
ou crena dependendo do problema. No presente exemplo, usa-se a regra de
maior crena.
(3) Usa-se a regra selecionada no passo anterior para a previso.
Por exemplo, usando-se a tabela 2.9 para prever o efeito da tabela 2.10, segue-se
os passos:
a) Para o Efeito1, seleciona-se as regras em que o lado independente verdadeiro
e que o lado dependente refere-se ao Efeito1. Das regras selecionadas, escolhe-se a regra
de maior crena.
TABELA 2.11 Prevendo o Efeito1
Regra
4 (Causa0 = 1) => (Efeito1 Causa1 + 1)

m n
2 2

7 (Verdadeiro) => (Efeito1 2)

0.75

1 0.25 0.33

51

b) Usa-se a regra de maior crena para determinar o estado de Efeito1 que


Causa1 + 1= 22.
c) Por fim, para o Efeito2, segue-se os mesmos passos.
TABELA 2.12 Prevendo o Efeito2
Regra
2 (Causa0 < Causa2) => (Efeito2 Causa0 + Causa2)

m n
4 2

8 (Verdadeiro) => (Efeito2 Causa2)

0.5

0.5

0,83

Para o Efeito2 a regra de maior crena a regra 8 concluindo-se que Efeito2 vale o
mesmo que Causa2. Nesse exemplo, com base nos passos seguidos acima, o mdulo de
previso prev os efeitos (22,23).
O sistema de induo gera regras por uma heurstica, calcula a fora e a crena
dessas regras e usa as regras de maior fora ou crena para a previso. O sistema de
induo funciona tanto usando regras de maior fora como usando regras de maior
crena; porm, a experincia mostra qual das duas mtricas a mais indicada para cada
problema. Especula-se que em problemas onde no existe determinismo o uso da crena
apresenta melhores resultados.
2.3.4.4Descarte das Regras Inteis
No exemplo de previso, as regras usadas foram 4 e 8. Marcando-se as regras
usadas, pode-se saber quais so as regras inteis por no terem marca
independentemente da sua crena ou fora. Isso permite o uso desse sistema com pouca
memria ao descartar as regras inteis. A gerao de regras novas e o descarte de regras
no usadas ou pouco usadas criam um ambiente competitivo. As regras mais genricas
tendem a ter crena maior favorecendo a sua permanncia em um ambiente competitivo
ao nvel de regra.
2.3.4.5Notas Finais
Essa seo apresenta a idia bsica do sistema de induo. O algoritmo do
sistema de induo apresentado no Anexo 3 em maiores detalhes. Uma heurstica
testada com sucesso foi includa na gerao de regras: apenas so geradas regras para
efeitos que foram incorretamente previstos. Sendo assim, somente so geradas regras
para tentar corrigir erros de previso anteriormente encontrados. Se o sistema de
induo acerta sempre, ele no despende computao para gerar novas regras. O
resultado do uso dessa heurstica que o sistema de induo fica mais rpido.

2.3.5 Testes
Voltando ao exemplo anterior (Causa0 = 1) => (Efeito1 Causa1 + 1), Efeito de
ndice 1 recebe Causa1 + 1 sempre que o teste (Causa0 = 1) verdadeiro. O teste de
igualdade no o nico teste que o sistema de induo pode gerar. Foram
implementados 5 tipos de testes. A forma como o ndice do operando calculado

52

chamada de endereamento. Foram implementados os endereamentos direto e relativo.


No endereamento direto, o ndice a posio absoluta do operando no vetor de causas.
No endereamento relativo, o ndice resultado da base mais o deslocamento.
Segue a lista dos testes implementados:
Igualdade =: testa se os dois operandos so iguais.
Exemplo 1: (Causa0 = 0). O primeiro operando Causa0 usa endereamento
direto enquanto que o segundo operando um byte imediato. Somente o teste
de igualdade e a ao de atribuio aceitam operandos imediatos.
Exemplo 2: (Causabase-1 = Causabase+1). Nesse exemplo, ambos os operadores
apresentam endereamento relativo.
Diferena : retorna verdadeiro quando os dois operandos so diferentes.
Maior que >: retorna verdadeiro quando o primeiro operando maior que o
segundo operando.
Menor que <: retorna verdadeiro quando o primeiro operando menor que
o segundo operando.
Verdade V : sempre retorna verdadeiro e no tem operandos.
Os testes binrios , >, < aceitam operandos com endereamento direto ou
relativo e no aceitam operandos imediatos.
2.3.6 Operaes
Em todas as operaes, o resultado atribudo em Efeitobase.
Segue a lista de aes possveis:
Atribuio simples: Efeitobase recebe o operando imediato.
Exemplo: Efeitobase 1
Incremento inc: Efeitobase Causabase + 1 .
Decremento dec : Efeitobase Causabase - 1 .
Soma +: resulta na soma dos dois operandos.
Exemplo: Efeitobase Causabase + Causa3
Subtrao -: subtrai o segundo operador do primeiro operador.
Multiplicao mul: resulta na multiplicao dos dois operandos.
Diviso div: se o segundo operando diferente de zero, divide o primeiro
operando pelo segundo.
Resto da diviso mod: se o segundo operando diferente de zero, retorna o
resto da diviso do primeiro operando pelo segundo.
E lgico and: retorna o resultado da operao e entre os operandos.
Ou lgico or: retorna o resultado da operao or entre os operandos.
Ou exclusivo xor: retorna o resultado da operao xor entre os operandos.
Injeo inj: Efeitobase Causabase .

53

Negao not: Efeitobase := Causabase .


As aes binrias -, +, mul ,div, mod, and, or, xor aceitam operandos com
endereamento direto ou relativo e no aceitam operandos imediatos.
2.3.7 Gramtica
A formao das regras de implicao induzidas segue as seguintes regras de
produo:
< implicacao >
<lsttestes>

<teste>

<tst>

<tstOp>

<ao>

<aofnt>

<Operando>
<OperaoB>
<OperaoU>
<i>

<b>

<lsttestes> <ao>
<lsttestes> <teste> | <teste>
V | ( <tst> )
<Operando> <tstOp> <Operando> | <b> = <Operando>
|>|<|=
Efeitobase := <aofnt>
( <Operando> <OperaoB> <Operando> ) | <b> |
<OperaoU> Causabase
Causa< i > | Causabase + < i >| Causabase - < i >
+ | - | mul | div | mod | and | or | xor
inc | dec | inj | not
nmero natural
byte

2.4 Testes da Induo de Funo Lgica no Determinista


Todos os testes foram realizados em uma mquina com processador AMD K6II500Mhz, 128 MB de RAM, barramento frontal de 100Mhz e sistema operacional
Windows 95. Nenhum dos experimentos usou memria de massa.
2.4.1 Contador de 2 Bits
Escolheu-se o contador de 2 bits como primeiro teste por sua simplicidade e ao
mesmo tempo oferecer caractersticas interessantes. O bit menos significativo do
contador simplesmente sucessivamente negado durante a contagem. O prximo estado
do bit menos significativo depende exclusivamente de seu estado atual ou simplesmente
Efeito0 = Causa0.
Por outro lado, o prximo estado do bit mais significativo depende de ambos os
bits do contador. Sendo assim, existem duas funes lgicas distintas para induzir ao
mesmo tempo: uma para cada bit. Uma entrada da tabela de relao que relaciona apenas
um elemento do vetor Causas e um elemento do vetor Efeitos suficiente para induzir a
funo lgica do bit menos significativo; porm, para formar a regra do bit mais
significativo, necessria uma regra que relacione os dois elementos do vetor Causas
com o elemento e1 do vetor Efeitos. Os estados do contador so listados na tabela 2.13.
O primeiro teste feito usou o algoritmo da figura 2.5. Nele, espera-se que o
algoritmo aprenda a prever o prximo estado do contador de dois bits. Nesse algoritmo,
o sistema de induo alimentado com as causas pelo procedimento Pred retornando
uma previso para essas causas. Os efeitos so alimentados pela funo Encontrou
retornando o erro de previso que a diferena entre os efeitos anteriormente previstos e

54

os erros encontrados. Pred e Encontrou so executados at que nenhum erro de


predio seja detectado.
TABELA 2.13 Causas e Efeitos para Induzir Contador de 2 Bits

Causas[i] Efeitos[i]
c1

c0

e1

e0

Conforme apresentado subseqentemente ao logo do texto, uma heurstica para


gerao de regras estudada: gerao de regras apenas para causas no nulas. Foi
introduzida uma flag chamada de TodaOperao que indica quando esta heurstica
usada. TodaOperao est no estado verdadeiro quando apenas as causas no nulas
podem ser usadas para gerar novas regras.
1. Repita
2.
ErrosPredicao 0
3.
Para I=0 at 3 faa
Pred(Causas[I],EfeitosPreditos)
4.
5.
ErrosPredicao ErrosPredicao +
Encontrou(Efeitos[I])
6.
fim-faa
7.
imprime(ErrosPredicao)
8. at (ErrosPredicao=0)
FIGURA 2.5 Algoritmo para Testar Induo de Contador

Em um teste, usando o algoritmo da figura 2.5 com uma tabela de relao com 4
entradas, o sistema de induo gerou as seguintes regras:
1. B=0: (1 = C[0]) => E[B] := C[B] - 1 [ f=1 Vit=43 UltVit=92 ]
2. B=0: V => E[B] := 1 [ f=0,470588235294118 Vit=5 UltVit=91 ]
3. B=1: V => E[B] := (C[0] xor C[1]) [ f=1 Vit=4 UltVit=92 ]
4. B=1: V (1 = C[B-1]) => E[B] := (C[0] - C[B]) [ f=1 Vit=1
UltVit=86 ]

Nas regras induzidas acima, observa-se a causa C, o efeito E, a base b, a fora f ,


o nmero de vitrias Vit e o ciclo onde ocorreu a ltima vitria UltVit. A figura 2.6
mostra uma tentativa de diagramar as regras induzidas de forma semelhante a uma rede
neural.
O algoritmo da figura 2.5 foi executado 1000 vezes usando tabela de relao de 4
elementos e em mdia o algoritmo no encontrou erro de predio na dcima quarta
iterao do lao Repita. O tempo total de computao despendido para executar 1000
vezes o algoritmo da figura 2.5 foi um pouco mais do que 4 segundos. Nesse tempo, os
mdulos Pred e Encontrou foram chamados 4000 vezes.

55

Em princpio, quanto maior for a tabela de relao, maior ser o tempo de UCP
gasto na execuo dos mdulos Pred e Encontrou; porm, freqentemente, quanto
maior for a tabela de relao, menos chamadas aos mdulos Pred e Encontrou so
necessrias para induzir as regras de interesse. Por exemplo, executando o algoritmo da
figura 2.5 1000 vezes com 8 entradas na TR, usou-se dois segundos de UCP e em mdia
apenas 6,56 ciclos no lao Repita em cada execuo, por outro lado, executando-se o
mesmo algoritmo com 3200 entradas na TR, encontrou-se 6,51 ciclos em mdia e 39,4
segundos de tempo de execuo. Esses nmeros podem ser conferidos na tabela 2.14.
B=0
(1=C[0])

F=1
Vit=43
UltVit=92

B=1
V

B=0
V

F=0,47
Vit=5
UltVit=91

B=1
V(1=C[B-1])

F=1
Vit=4
UltVit=92

F=1
Vit=1
UltVit=86

Competio

E[B] :=
dec C[B]

Competio

E[B]:=
(C[0]-C[B])

E[B]:=1
E[B]:=(C[0]
xor C[1])

FIGURA 2.6 Regras Induzidas

Comparando-se as tabelas 2.14 e 2.15, observa-se que o parmetro TodaOperao


desempenha papel crucial no desempenho do algoritmo. Lembrando que TodaOperao
define se o valor zero deve ou no ser usado para gerar novas operaes, o algoritmo
apresenta melhor desempenho com TodaOperao em verdadeiro tendo em vista que o
valor zero carrega informao til no contador para causas ou efeitos.
TABELA 2.14 Execues do algoritmo da figura 2.5 usando os parmetros:
nmero de execues = 1000, TP = 3 e TodaOperao = Verdadeiro.

Tamanho da
tempo de UCP
Tabela de Relao
(segundos)

n. total de ciclos
no lao Repita

n. de ciclos mdio do lao


repita por execuo

4.74

14511

14.51

2.61

7027

7.03

2.52

6562

6.56

16

2.79

6378

6.38

32

3.01

6408

6.41

320

5.21

6643

6.64

3200

39.4

6513

6.51

56

Quando a tabela de relao est lotada de regras e uma nova regra deve ser
gerada, uma regra escolhida para ser descartada. A regra a ser descartada a pior regra
de TP regras escolhidas ao acaso. TP um nmero natural que indica o tamanho da
procura pela pior regra. considerada a pior regra a regra que nunca foi usada utilmente
ou foi usada utilmente pela ltima vez h mais tempo.
TABELA 2.15 Execues do algoritmo da figura 2.5 usando os parmetros:
nmero de execues = 1000, TP = 3 e TodaOperao = Falso.

Tamanho da
tempo de UCP
Tabela de Relao
(segundos)

n. total de ciclos
no lao Repita

n. de ciclos mdio do lao


repita por execuo

5.16

16894

16.89

4.39

12984

12.98

5.32

14787

14.79

16

7.79

18809

18.81

32

12.96

24043

24.04

320

89.42

45321

45.32

Analizando-se a tabela 2.16, observa-se que a medida que o tamanho da procura


TP cresce, o nmero de ciclos diminui. Na figura A02, observa-se que o funo
EscolhePiorRelao chamada pelo procedimento SatFreq. O tempo de UCP gasto
pela funo EscolhePiorRelao diretamente proporcional ao tamanho da procura.
Sendo assim, o tempo de UCP gasto pelo procedimento SatFreq e por conseguinte o
tempo de todo o algoritmo cresce com o tamanho da procura. Essa relao pode ser
verificada na tabela 2.16.
Conforme mostra a figura 2.7, a parte central do algoritmo da figura 2.5 foi
facilmente implementada em Object Pascal. A tela do programa pode ser vista na figura
2.8. Ainda que o problema em questo seja bem simples, o resultado encontrado atendeu
s expectativas.
TABELA 2.16 Execues do algoritmo da figura 2.5 usando os parmetros:
nmero de execues = 1000, TR = 8 e TodaOperao = Verdadeiro.

TP

tempo de UCP n. total de ciclos n. de ciclos mdio do lao


(segundos)
no lao Repita
repita por execuo
Tamanho da Procura
1

2.84

7825

7.83

2.58

6886

6.89

2.52

6562

6.56

2.48

6531

6.53

100

2.86

6380

6.38

1000

42.41

6424

6.42

57

for I:=0 to 3 do
begin
MR.Predicao(csCausas[I],csCausas[I],P);
ERRO:=ERRO+MR.Encontrou(csEfeitos[I]);
end;
FIGURA 2.7 Implementao em Object Pascal

FIGURA 2.8 Tela do programa Contador de 2 bits

2.4.2 Bit que Vai e Vem


O experimento apresentado no tpico anterior apresentava poucos bits enquanto
que se deseja implementar criaturas popperianas com dezenas de bits de percepo.
Sendo assim, o teste seguinte escolhido o teste da previso do bit que vai e vem. Na
forma como foi implementado, esse teste usa 34 bits para a causa e mais 34 bits para o
efeito totalizando 68 bits.
O presente teste pode ser descrito da seguinte forma: dos 34 bits da causa,
apenas dois bits podem estar no estado 1 sendo que os outros devem estar todos no
estado 0. O bit seletor obrigatoriamente deve ocupar a posio 1 ou 2 enquanto que o
bit transeunte deve obrigatoriamente ocupar um dos ltimos 30 bits. Quando o bit
seletor est na posio 1, o bit transeunte deve caminhar para esquerda; quando o bit
seletor estiver na posio 2, o bit transeunte deve caminhar para direita.
Tempo

Causas

0
1
2
3

0
1
2
012345678901234567890123456789
1000000000000000000000000100000000
0100000000000000000000001000000000
0100000000000000000000000100000000
1000000000000000000000000010000000

Efeitos
0
1
2
012345678901234567890123456789
0000000000000000000000001000000000
0000000000000000000000000100000000
0000000000000000000000000010000000
0000000000000000000000000100000000

FIGURA 2.9 Evoluo do Bit que Vai e Vem

Na figura 2.9, observa-se o movimento do bit transeunte de acordo com o bit


seletor. No existe bit seletor no efeito.

58

O algoritmo usado para testar a induo do Bit que Vai e Vem apresentado na
figura 2.10 . Considerando que existe uma funo lgica para cada bit do efeito a ser
induzida a partir da causa, nesse experimento, foram induzidas 34 funes lgicas ao
mesmo tempo. O desempenho do algoritmo pode ser verificado nas tabelas 2.17, 2.18 e
2.19.
Comparando-se as tabelas 2.17 e 2.18, observa-se que o parmetro
TodaOperao tem grande importncia no desempenho do algoritmo. Isso ocorre tendo
em vista que nesse experimento o valor zero no representa informao til. Sendo
assim, com TodaOperao em falso, somente os valores diferentes de zero so usados
para formar novas implicaes.

TABELA 2.17 Execues do algoritmo da figura 2.10 usando os parmetros:


nmero de execues = 100, TP = 20 e TodaOperao = Falso.

Tamanho da
tempo de UCP
Tabela de Relao
(segundos)

n. total de ciclos
no lao Repita

n. de ciclos mdio do lao


repita por execuo

50

271.01

20769

207.69

60

117.27

8007

80.07

70

84.25

5235

52.35

80

61.31

3693

36.93

90

33.27

2008

20.08

100

12.97

815

8.15

200

10.42

545

5.45

1000

20.88

521

5.21

10000

169.38

530

5.3

Na tabela 2.19, observa-se a influncia do tamanho da procura TP sobre o


desempenho geral do algoritmo. Quando o tamanho da procura TP fica muito grande
passando do tamanho da tabela de relao TR, freqentemente, a funo
EscolhePiorRelao escolhe sempre a mesma entrada da TR como pior. Sendo assim, o
algoritmo entra em lao infinito. Quanto menor for o tamanho de TP em relao ao
tamanho da TR, menos determinstico o algoritmo fica e menor a probabilidade de
entrar em um lao de execuo infinito.
TABELA 2.18 Execues do algoritmo da figura 2.10 usando os parmetros:
nmero de execues = 1000, TP = 20 e TodaOperao = Verdadeiro.

Tamanho da
tempo de UCP
Tabela de Relao
(segundos)

n. total de ciclos
no lao Repita

n. de ciclos mdio do lao


repita por execuo

90

560.12

21728

217.28

200

372.84

7926

79.26

1000

354.37

2773

27.73

59

Usando-se os parmetros da tabela 2.19, no foi possvel encontrar soluo com


TP = 1000 tendo em vista a ocorrncia de laos infinitos de execuo. Com o valor TP
muito grande, o algoritmo freqentemente escolhe a regra mais recentemente formada
como pior regra tendo em vista que ela no tem vitrias. Sendo assim, as regras velhas
continuam a existir e as novas no permanecem fazendo com que o algoritmo no
progrida em direo da soluo.

TABELA 2.19 Execues do algoritmo da figura 2.5 usando os parmetros:


nmero de execues = 100, TR = 100 e TodaOperao = Falso.

TP

tempo de UCP n. total de ciclos


n. de ciclos mdio do
(segundos)
no lao Repita lao repita por execuo
Tamanho da Procura
1

19.98

1209

12.09

15.71

957

9.57

14.39

898

8.98

15.26

951

9.51

100

12.25

767

7.67

DefineNumCausasEfeitos(34,34)
Causas Percepo()
repita
ErrosPredicao 0
POS 15
para I=1 at 60 faa
// prepara vetor de causas
Atribui 0 para cada elemento dos vetores causas e efeitos
se I > 30
ento Causas[1] 1
seno Causas[2] 1
Causas[POS+4] 1
// predio
Pred(Causas,EfeitosPreditos)
// prepara o vetor de efeitos
se Causas[1]=1
ento faa
POS POS-1
se POS<0
ento POS 29
fim-faa
seno POS (POS + 1) mod 30
Efeitos[POS+4] 1
// testa predio
ErrosPredicao ErrosPredicao + Encontrou(Efeitos)
fim-para
imprime(ErrosPredicao)
at (ErrosPredicao=0)
FIGURA 2.10 Algoritmo para Testar Induo do Bit que Vai e Vem

60

Nesse experimento, o sistema de induo atingiu os objetivos esperados.


2.4.3 Comparao com o Modelo Neural Combinatrio
O sistema de induo apresentado nesse captulo apresenta algumas semelhanas
com o modelo neural combinatrio ( do ingls, Combinatorial Neural Model CNM)
[MAC89]. Conforme mostra a figura 2.11, a rede CNM apresenta trs camadas: (1)
camada de entrada ou de evidncias, (2) camada combinatorial e (3) camada de sada. A
rede CNM usada para classificar evidncias apresentando uma fase de aprendizado
supervisionado.
Na camada de entrada da rede CNM, cada neurnio representa uma evidncia
que pode ser verdadeira ou falsa. Na camada intermediria, existe um neurnio para cada
combinao de no mnimo duas evidncias verdadeiras sendo que a sada de cada
neurnio dessa camada o resultado da funo and. A camada de sada uma camada
competitiva onde existe um neurnio para cada classe. Existe uma sinapse que liga cada
neurnio da primeira e segunda camadas com um neurnio da camada de sada.
A rede CNM apresenta uma fase de treinamento supervisionada. Cada sinapse
possui um acumulador. Quando os neurnios de ambos os lados da sinapse representam
informao verdadeira, o acumulador incrementado em uma unidade. Ao contrrio,
quando um neurnio representa uma evidncia ou combinao de evidncias verdadeiras
e outro neurnio representa a classe errada, o acumulador da sinapse que liga os
neurnios decrementado em uma unidade.
E1

C12

C13

E2

C23

C123

E3

C123

C12

S1

Entrada
(evidncias)

C13

S2

C23
Combinatorial

Sada
(classes)

FIGURA 2.11 Rede CNM

Aps o aprendizado, quanto maior for o valor do acumulador, mais significa que
ele verdadeiro. Ao contrrio, quanto mais negativo ele for, mais falso ele . Aps a
fase de aprendizagem, feita a poda das sinapses em que o acumulador no atingiu um
determinado limiar.
Voltando ao sistema de induo apresentado aqui, observando-se a figura 2.6,
verifica-se que cada entrada da TR representa: a relao entre uma combinao de
causas (evidncias) e sua conseqncia (classe). A rede CNM e o sistema de induo
apresentado aqui possuem as seguintes caractersticas em comum: (1) aprendizado
supervisionado por reforo que atende a tabela 2.6 permitindo a induo da implicao,
(2) ambos combinam evidncias verdadeiras e (3) ambos tm uma camada competitiva

61

na sada. Vale observar que o lado independente das regras da TR corresponde camada
combinatorial do CNM enquanto que o lado dependente corresponde camada de sada.
Essa concluso pode ser encontrada ao comparar-se as figuras 2.6 e 2.11.
Em alguns casos, a rede CNM tem vantagens sobre o sistema de induo
apresentado aqui: (1) simples e fcil de implementar, (2) em muitos problemas,
encontra a soluo rapidamente.
Por outro lado, em problemas em que existam muitas evidncias e classes (causas
e efeitos), o sistema de induo apresentado aqui despende muito menos memria tendo
em vista que os efeitos e combinaes de causas so alocadas durante a execuo.
Uma rede CNM que combine no mximo duas evidncias (causas) em um
espectro de trinta usaria C(30,2)*30 + 30 + 30 = 13110 neurnios para aprender o
comportamento do Bit que Vai e Vem. A mesma rede CNM combinando at cinco
evidncias apresenta um nmero de neurnios igual a:
(n. de combinaes)* n. de classes + n. de evidncias + n. de classes =
( C(30,5) + C(30,4) + C( 30,3) + C(30,2) ) *30 + 30 + 30 =
( 142506 + 27405 + 4060 + 435 ) *30 +30 + 30 =
5232180 + 30 + 30 = 5232240 neurnios
Por outro lado, conforme mostra a tabela 2.17, o sistema de induo apresentado
conseguiu induzir o comportamento do Bit que Vai e Vem despendendo apenas 50
entradas na tabela de relao. Na TR, cada regra armazenada juntamente com o
nmero de vezes que ela foi usada com sucesso alm da informao temporal que indica
quando ela foi usada com sucesso pela ltima vez. Com essa informao, possvel
estimar quais so as entradas da TR menos e mais teis. Sendo assim, as entradas da TR
menos teis so descartadas enquanto que as mais teis para a induo so preservadas.
Alm disso, somente combinaes de causas percebidas so alocadas no sendo
necessrio alocar todas as combinaes possveis previamente.
Por fim, importante ressaltar que nessa comparao no foram abordadas
capacidades mais complexas do sistema de induo como a capacidade de induzir regras
que envolvam soma, incremento, operaes lgicas e testes.
2.4.4 Comparao com Redes Bayesianas
As redes bayesianas so grafos orientados acclicos onde os arcos representam a
relao de causalidade probabilstica enquanto que os nodos representam variveis ou
estados. A figura 2.12 apresenta um exemplo de rede Bayesiana. Nesse exemplo, a
probabilidade de chuva e feriado ocorrerem de 0.15 e 0.01 respectivamente. Se
ocorrerem chuva e feriado, a probabilidade de ocorrer JP na praia de 0.2.
A relao causal probabilstica uma caracterstica que tambm encontrada nas regras
geradas pelo sistema de induo proposto na presente dissertao; porm, pode-se
encontrar diferenas entre os modelos. Uma diferena que enquanto uma rede
bayesiana acclica, no existe nenhuma restrio para que o sistema de induo gere
uma regra do tipo (a b) e (b a) . A regra (a b) gerada pelo sistema de induo
deve ser lida como: quando a ocorre, ento b ocorrer.

62

P(chuva) = 0.15

P(feriado) = 0.01
Feriado

Chuva

JP na praia

P(JP na praia | chuva ^ feriado) = 0.2


P(JP na praia | chuva ^ feriado) = 0.1
P(JP na praia | chuva ^ feriado) = 0.7
P(JP na praia | chuva ^ feriado) = 0.2

FIGURA 2.12 Exemplo de Rede Bayesiana

Pode-se estabelecer um paralelo entre as probabilidades apresentadas nas redes


bayesianas e as regras do sistema de induo. A probabilidade
P(JP na praia | chuva ^ feriado) = 0.2
poderia ser entendida como uma regra do tipo
chuva ^ feriado JP na praia [ f = 0.2 ].
Observa-se que na rede bayesiana da figura 2.12 existe uma probabilidade de
JP na praia para cada estado de chuva e feriado. Cada nodo da rede bayesiana
deve ter a probabilidade de todas as combinaes de causas possveis; porm, o sistema
de induo proposto aqui, gera apenas regras para as causas mais freqentes.
Conforme mostra a figura 2.6, cada regra da tabela de relao assemelha-se a um
neurnio que compete com outros sendo que o mais forte vence. Por tal motivo, o
sistema de induo apresentado no presente texto assemelha-se muito mais a uma rede
de neurnios competitiva onde o vencedor leva tudo do que uma rede bayesiana.
2.5 Sistema de Planejamento
Os tpicos 2.3 e 2.4 apresentaram a forma como as criaturas desenvolvidas no
presente trabalho induzem ou aprendem as regras do ambiente; porm, alm de aprender
as regras do ambiente, a criatura popperiana planeja aes ou sries de aes e prev a
satisfao a ser alcanada pelas mesmas.
Ainda que por motivos de engenharia de software o sistema de planejamento
tenha sido desenvolvido de forma independente do sistema de induo, a criatura
popperiana usa o sistema de planejamento de forma integrada ao sistema de induo
tendo em vista que o sistema de planejamento define seqncias de aes enquanto que o
sistema de induo responde com o resultado a ser alcanado de cada ao proposta
pelo sistema de planejamento. Certamente, falhas produzidas pelo sistema de induo
podero implicar em falhas no planejamento. Criaturas popperianas muito jovens com
poucos ciclos de vida no dispem de treinamento suficiente para induzir corretamente
as regras percebidas. Sendo assim, criaturas popperianas jovens no conseguem planejar
com eficincia.

63

O primeiro sistema de planejamento imaginado foi baseado em busca em rvore


de estados alcanveis atravs de aes. O problema desse tipo de abordagem reside no
fato de que praticamente impossvel gerar e analisar uma rvore com grande
profundidade. Por exemplo, para gerar uma seqncia de 30 aes seria necessria uma
rvore de profundidade 30. Uma outra opo seria o uso de alguma heurstica que
indicasse a aproximao do estado desejado ou descartasse estados da rvore
improvveis de levarem a satisfao. O problema em usar uma heurstica que o sistema
de induo apenas induz regras de transio de estados do tipo causa implica em
conseqncia e no regras do tipo causa aproxima da conseqncia. Sendo assim, o
sistema de induo no consegue por conta prpria prever que determinada ao implica
na aproximao de um estado desejvel o qual trar satisfao.
importante frisar que a criatura popperiana artificial deve aprender as regras do
ambiente e fazer planejamentos nesse ambiente por conta prpria. Sendo assim, os
sistemas de induo e planejamento devem ser genricos o suficiente para trabalhar em
ambientes sob os quais eles no tem nenhuma informao prvia. Para efeito de
modelagem da criatura popperiana, o sistema de planejamento deve obedecer a srias
restries:
As transies de estados usadas no planejamento so as previstas pelo sistema
de induo.
Sem planejamento prvio, no existe informao sobre o nmero de aes ou
outra forma de medio que diga a distncia entre um determinado estado de
outro estado desejvel. Sendo assim, no existe como o sistema de
planejamento afirmar que determinada ao vai aproximar a criatura de um
estado desejvel impossibilitando a criao de heursticas pela criatura.
Considerando as restries apresentadas, a estratgia de planejamento escolhida
foi a busca cega pela satisfao. A funo de satisfao distinta para espcies de
agentes popperianos distintos. Por exemplo, robs mineradores podem encontrar
satisfao ao carregar e descarregar minrios enquanto que robs predadores podem
perceber satisfao ao encontrar a presa. Mesmo usando busca cega, os agentes
popperianos implementados e testados apresentaram bom desempenho. Os resultados
desses experimentos so apresentados na seo Experimentos com Criaturas
Popperianas.
Para efeito de modelo, cabe afirmar que cada espcie de agente popperiano ter a
sua prpria funo de satisfao. Para efeito de implementao, no presente trabalho, o
sistema de planejamento deve ser o mesmo para qualquer espcie de agente popperiano
sendo que a funo de satisfao ser ligada dinamicamente em tempo de execuo para
cada espcie de agente.
A figura 2.13 apresenta em detalhes a escolha de ao baseada em planejamento
vista superficialmente na figura 2.2. A ao baseada em planejamento tomada apenas se
existe plano definido para o estado atual.
Os planos so criados usando-se o estado atual como ponto de partida. A
construo de um plano ocorre com sucesso quando o sistema de induo prev que o
plano leva a um estado de satisfao ou a outro plano que leve para a satisfao.
Conforme examinado nas sees seguintes, por ser o planejamento cego,
improvvel que um plano recm gerado apresente a melhor seqncia de aes possveis
entre um estado inicial qualquer e a satisfao. Sendo assim, existe um mdulo dedicado

64

apenas para otimizao de planos j existentes. As prximas sees apresentam em


detalhes o sistema de planejamento.
O sistema de planejamento foi implementado em 700 linhas de cdigo fonte. No
sero apresentados aqui todos os detalhes de implementao, mas somente os aspectos
mais importantes da estrutura de dados, algoritmo dos mdulos mais importantes e
alguns experimentos.

Percepo

Se existe plano para o estado percebido


atual, ento escolhe a ao do plano.

Ao escolhida

Ao do melhor
plano para o
estado atual
Novo Plano

Planos

Estados dos
planos
Percepo

Plano
otimizado

Plano a ser
otimizado

Otimiza
Planos

Planeja

Estado futuro
previsto para um par
(Percepes, Ao)

Estado futuro
previsto para um par
(Percepes, Ao)

TR
FIGURA 2.13 Diagrama da Escolha da Ao

2.5.1 Estrutura de Dados


A estrutura principal do sistema de planejamento o vetor Planos. O vetor
Planos um vetor onde cada clula outro vetor do tipo Plano. A tabela 2.20 mostra
um exemplo de vetor do tipo Plano. Cada clula do vetor Plano um par constitudo
por uma ao e o estado a ser atingido com essa ao. Por exemplo, a ao de ndice I
provoca a transio de estados do estado de ndice I-1 para o estado de ndice I. De
acordo com a tabela 2.20, uma criatura que se encontre no estado (2,128,15,4) dever
tomar a ao 3 para atingir o estado (2,127,15,4) e posteriormente a ao 1 para atingir
o estado de satisfao.
Pode ser traado um paralelo entre o planejamento proposto aqui e o esquema
usado por Muoz [MU99] estudado na seo 1.8. Esse esquema composto por um
contexto, uma ao e um resultado. No vetor Plano, o estado ndice I-1 o contexto
enquanto que o estado de ndice I o resultado. Sendo assim, a tripla (contexto, ao,

65

resultado) entendida como(Estado(I-1), Ao(I), Estado(I)).


TABELA 2.20 Exemplo de Vetor do tipo Plano

ndice

Ao

Estado

(3,128,15,4)

(2,128,15,4 )

(2,127,15,4 )

(3,127,15,5 ) satisfao

2.5.2 Algoritmo
O sistema de planejamento foi implementado em uma classe Object Pascal em
que sua funcionalidade est distribuda entre seus diversos mtodos sendo os mais
importantes PlanejaCegamente, OtimizaCegamente e PodeAgir. Tais mtodos so
descritos a seguir:
PodeAgir(EstadoAtual,Ao): retorna verdadeiro se existe Ao planejada
para o EstadoAtual. Nesse caso, o parmetro Ao retorna a ao a ser
tomada. O parmetro EstadoAtual de entrada enquanto que Ao
parmetro de sada. Internamente, PodeAgir varre todos os planos do vetor
Planos a procura do EstadoAtual. Dos planos que contm o EstadoAtual,
selecionado o plano que mais rapidamente leva a satisfao. O algoritmo da
funo PodeAgir encontra-se na figura 2.14.
Funo PodeAgir(EstadoAtual,Ao)
PlanosSelecionados seleciona os planos do vetor Planos que possuem
o EstadoAtual
Se existe pelo menos 1 plano em PlanosSelecionados
ento faa
MelhorPlano seleciona o plano dos PlanosSelecionados que
leva mais rapidamente a satisfao.
Ao seleciona a prxima ao de acordo com o MelhorPlano
retorna verdadeiro
fim-faa
seno retorna falso
fim-funo

FIGURA 2.14 Algoritmo da Funo PodeAgir

PlanejaCegamente(Plano,EstadoInicial,Profundidade,FunoDePredio,
NmeroDeAes): essa funo retorna verdadeiro se encontrou um plano que
leve satisfao retornando no parmetro Plano o plano achado.
Resumidamente, a busca cega foi implementada da seguinte forma partindo-se
do EstadoInicial: (1) escolhe-se uma ao ao acaso, (2) usa-se a
FunoDePredio para prever o estado a ser alcanado com a ao
escolhida e (3) se atingiu Profundidade ou no encontrou satisfao com o
estado alcanado, volta ao passo 1. O parmetro NmeroDeAes indica o
nmero de aes existentes. Os parmetros EstadoInicial, Profundidade,
FunoDePredio e NmeroDeAes so parmetros de entrada enquanto
que Plano parmetro de sada. A FunoDePredio apresentada na figura
2.15 e passada como parmetro na funo PlanejaCegamente recebe o par

66

(Ao, Estado) e retorna verdadeiro quando prediz satisfao alm de retornar


o prximo estado a ser alcanado em Estado.
funo FunoDePredio(Ao, Estado)
Estado[i] Ao
Pred(Estado,EfeitoEsperado)
Estado EfeitoEsperado
se AchouSatisfao(EfeitoEsperado)
ento retorna Verdadeiro
seno retorna Falso
fim-funo
FIGURA 2.15 Algoritmo da funo FunoDePredio

interessante observar que a FunoDePredio chama o procedimento


Pred do sistema de induo conforme pode ser visto na terceira linha do
algoritmo apresentado na figura 2.15. O algoritmo da funo
PlanejaCegamente pode ser visto na figura 2.16.
funo PlanejaCegamente(Plano,EstadoInicial,
Profundidade,FunoDePredio,
NmeroDeAes)
Estado EstadoInicial
para Ciclos = 1 at Profundidade
faa
Se existe ao que leva a satisfao nesse passo
ento faa
inclui essa ao e o estado alcanado no vetor Plano
e
sai do procedimento
fim-faa
Ao escolhe probabilisticamente uma ao dando preferncia
a aes que no levem a um estado j existente no
vetor Plano
Achou FunoDePredio(Ao, Estado)
inclui (Ao,Estado) no vetor Plano
se Achou
ento faa
marca o vetor Plano como vlido
sai do procedimento
fim-faa
fim-faa
fim-procedimento

FIGURA 2.16 Algoritmo do funo PlanejaCegamente

OtimizaCegamente
(Plano,
Profundidade,
FunoDePredio,
NmeroDeAes): o procedimento OtimizaCegamente escolhe um trecho do
vetor de entrada Plano e tenta substituir esse trecho por outro trecho menor
de tamanho no superior Profundidade. Esse trecho criado cegamente
usando o NmeroDeAes permitido. Se no consegue otimizar, retorna o
plano original. Os parmetros Profundidade, FunoDePredio e
NmeroDeAes so de entrada enquanto que Plano de entrada e sada. O
algoritmo desse procedimento pode ser visto na figura 2.20.

67

FIGURA 2.17 Exemplo de plano a ser otimizado

Para efeito de exemplo, a figura 2.17 mostra um tracejado que representa um


plano a ser otimizado que vai do Incio ao Fim. O trecho que vai desde o
quadrado verde at o quadrado azul representa o trecho do plano a ser
otimizado.

FIGURA 2.18 Exemplo de plano e otimizao

A figura 2.18 mostra o plano original e a otimizao do trecho em linha grossa


que poderia ter sido feita pelo procedimento OtimizaCegamente. A figura
2.19 mostra o resultado da otimizao.

FIGURA 2.19 Plano otimizado

Enquanto as figuras 2.17, 2.18 e 2.19 foram desenhadas manualmente para


efeitos didticos, as figuras 2.21, 2.22, 2.23 e 2.24 foram retiradas de um
experimento implementado. A figura 2.21 mostra esquematicamente um plano
que fruto de planejamento cego que representa uma rota entre 2 pontos
distantes de mais de 60 unidades em um mundo discreto e bidimensional que
s permite 4 tipos de movimentos: para cima, para baixo e para os lados. Esse
plano apresenta muitas inflexes justamente por ter sido gerado ao acaso
podendo ser otimizado. As figuras 2.22, 2.23 e 2.24 mostram o resultado do
processo de otimizao descrito no presente texto sobre o plano da figura
2.21. Foram necessrias milhares de chamadas da funo OtimizaCegamente
para que o plano da figura 2.21 fosse otimizado at chegar ao estado da figura
2.24.

68

Procedimento OtimizaCegamente(Plano,
Profundidade,FunoDePredio,
NmeroDeAes)
EstadoInicial,EstadoFinal, Tamanho Escolhe probabilisticamente trecho
do Plano a ser otimizado. Devolve
os
estados inicial, final e tamanho.
PlanoAuxiliar Tenta achar cegamente um caminho que sai do
EstadoInicial
e vai ao EstadoFinal depositando o resultado em
PlanoAuxiliar
Se achou um caminho que vai do EstadoInicial ao EstadoFinal
ento faa
se Tamanho do PlanoAuxiliar < Tamanho do trecho do Plano
ento substitui Trecho do Plano por PlanoAuxiliar
fim-faa
seno faa
Se PlanoAuxiliar possui estado no inicial que existe em Plano
e atingido por menor nmero de passos em PlanoAuxiliar a
partir de EstadoInicial do que em Plano
ento substitui trecho do Plano pelo trecho de PlanoAuxiliar
que otimizaria o Plano.
fim-faa
fim-procedimento

FIGURA 2.20 Algoritmo do procedimento OtimizaCegamente

interessante observar que no existe plano melhor do que o encontrado na


figura 2.24 para a otimizao do plano 2.21. Esse fato pode surpreender ao considerar
que tanto o planejamento como a otimizao do planejamento so cegos.
Um agente popperiano implementado no unicamente composto por um
sistema de planejamento e um sistema de induo das regras do universo percebido.
Certamente, esses sistemas compem uma parte essencial do agente; porm, falta
descrever como esses sistemas so integrados para compor um agente popperiano
completo.
A integrao dos sistemas implementados em prottipos de agentes popperianos
ser descrita no prximo captulo.

69

FIGURA 2.21 Plano gerado ao acaso

FIGURA 2.22- Plano da figura 2.21 um pouco otimizado

70

FIGURA 2.23 Plano da figura 2.22 um pouco mais otimizado

FIGURA 2.24 Plano da figura 2.23 um pouco mais otimizado

71

3 Experimentos com Criaturas Popperianas


Nos captulos anteriores, so estudados assuntos tericos e prticos importantes
para o desenvolvimento de uma criatura popperiana artificial. Aproveitando-se os
mdulos de induo e planejamento implementada a criatura popperiana. As duas
caractersticas mais importantes da criatura popperiana so o aprendizado das regras do
universo percebido e o planejamento. A induo de funo responsvel pelo
aprendizado das regras que compem o seu mundo enquanto que o planejamento planeja
aes ou seqncias de aes que levem a satisfao.
Foram implementados dois prottipos de agentes popperianos:
Agente minerador popperiano.
Agente predador popperiano.
O uso de experimentos prticos que produzem resultados numricos torna-se
vivel com a implementao de prottipos. Esses resultados permitem comparar o
presente trabalho com trabalhos anteriores [COR2000] [DRO92] [HAY95a] [KOR92].
Sendo assim, para cada tipo de agente popperiano implementado, primeiramente feita a
reviso dos resultados existentes e posteriormente apresentada a soluo popperiana.

3.1 Agentes Mineradores Existentes


O primeiro trabalho sobre coleta de amostras foi feito por Steels [STE90] onde
um conjunto de robs coletam amostras de rocha em um ambiente desconhecido.
Posteriormente, Drogoul e Ferber [DRO92] fizeram diversos experimentos com
conjuntos de robs reativos sendo que o universo foi definido como segue:
Ambiente plano.
Uma base no centro que emite sinal perceptvel no raio de 40 metros.
A velocidade dos robs de 1 metro por ciclo.
Os robs s podem carregar uma amostra por vez, percebem seu ambiente no
raio de 2 metros e percebem o sinal da base no raio de 40 metros.
Existem 3 pilhas a uma distncia de 40 metros da base sendo que cada pilha
contm 100 amostras.
O problema consiste em levar as amostras de rocha (tambm conhecidas como
minrios) para a base. Os dois melhores robs gerados por Drogoul e Ferber so Petit
Poucet 3 (tambm conhecido como Tomb Thumb Robots 3) e Dockers. As tabelas 3.1 e
3.2 mostram as regras de comportamento desses robs em arquitetura de subsuno
[BRO86][ALV97] apresentadas no trabalho de Cordenonsi [COR2000].
A nica diferena de comportamento entre as regras das tabelas 3.1 e 3.2 a
regra 7. A regra 7 resulta no comportamento de fila dos robs sendo que um rob passa
o minrio para o outro. 85 robs do tipo Petit Poucet 3 transportam os 300 minrios
para a base em 1075 ciclos enquanto que 93 robs do tipo Dockers resolvem o problema
em 697 ciclos [DRO92].

72

TABELA 3.1 Comportamento dos Robs Petit Poucet 3

Prioridade

Condio

Ao

.1

Descarregado E
No Percebe Mineral E
No Percebe Pista

Movimento Aleatrio

.2

Descarregado E
Atinge Mineral

Carrega Mineral

.3

Carregado E
No Atinge Base

Retorna Base E
Deixa Duas Pistas

.4

Carregado E
Atinge Base

Descarrega Mineral

.5

Descarregado E
Percebe Mineral

Vai em Direo ao
Mineral

.6

Descarregado E
Percebe Pista

Segue Pista em Direo


ao Mineral E
Remove Pista

TABELA 3.2 Comportamento dos Robs Dockers

Prioridade

Condio

Ao

.1

Descarregado E
No Percebe Mineral E
No Percebe Pista

Movimento Aleatrio

.2

Descarregado E
Atinge Mineral

Carrega Mineral

.3

Carregado E
No Atinge Base

Retorna Base E
Deixa Duas Pistas

.4

Carregado E
Atinge Base

Descarrega Mineral

.5

Descarregado E
Percebe Mineral

Vai em Direo ao
Mineral

.6

Descarregado E
Percebe Pista

Segue Pista em Direo


ao Mineral E
Remove Pista

.7

Descarregado E
Atinge Rob Carregado

Captura Mineral do Rob

Posteriormente, Cordenonsi [COR2000] desenvolveu no ambiente de simulao


de agentes SIMULA um algoritmo evolutivo para gerar regras de comportamento para
robs mineradores. O resultado encontrado foi o grupo S. As regras de comportamento
do grupo S so apresentadas na tabela 3.3.
O grupo S consegue depositar na base os 300 minrios com 94 robs em 540

73

ciclos apresentando desempenho superior aos demais robs. As regras de


comportamento do grupo S geradas por evoluo artificial expressam o comportamento
de um agente darwiniano.
TABELA 3.3 Comportamento dos Robs Dockers

Prioridade

Condio

Ao

.1

Descarregado E
No Percebe Mineral E
No Percebe Pista E
No Percebe Agente

Movimento Aleatrio

.2

Descarregado E
No Percebe Mineral E
No Percebe Pista E
Percebe Agente

Segue Agente

.3

Descarregado E
No Percebe Mineral E
No Percebe Pista E
Atinge Agente

Foge de Agente

.4

Descarregado E
Atinge Mineral

Carrega Mineral

.5

Carregado E
No Atinge Base

Retorna Base E
Deixa Pista

.6

Carregado E
Atinge Base

Descarrega Mineral

.7

Descarregado E
Percebe Mineral

Vai em Direo ao
Mineral

.8

Descarregado E
Percebe Pista

Segue Pista em Direo


ao Mineral

Uma medio interessante feita por Cordenonsi foi a medio da energia


despendida pelos agentes do grupo S para coletar todos os minrios. A energia o
produto do nmero de agentes pelo nmero de cclos:
energia = n. agentes * n. cclos
A menor energia encontrada para coletar todos os minrios usando agentes do
grupo S foi 34.020 com 27 agentes e 1260 ciclos. O grfico da figura 3.1 mostra energia
consumida em funo do nmero de agentes.

74

FIGURA 3.1 Energia Consumida x Nmero de Robs do Grupo S

3.2 Algoritmo do Agente Minerador Popperiano


O ambiente usado nos experimentos o que segue:
Ambiente plano e discreto de tamanho 100x100.
Uma base no centro.
S existe um rob minerador chamado de agente popperiano minerador.
Existem 3 pilhas a uma distncia de 40 passos da base sendo que cada pilha
contm 100 amostras.
O agente minerador popperiano definido como segue:
Pode mover-se exclusivamente para frente, para trs e para os lados.
Pode carregar um minrio proveniente da mina e pode descarregar um minrio
na base.
A velocidade mxima do rob de uma unidade por ciclo.
Pode transportar uma amostra de minrio por vez.
Percebe sua posio absoluta (x,y).
Percebe a existncia da mina ou da base no raio de uma unidade.
Percebe o minrio carregado.
Percebe a prpria ao tomada.
Sente satisfao ao executar ou planejar cargas e descargas de amostras de
minrio.

75

Existem algumas diferenas entre a maneira como o problema definido na


bibliografia [DRO92][COR2000] e a maneira como ele definido aqui. No presente
trabalho, a base no emite sinal, existe somente um nico rob minerador, esse rob
percebe a base ou uma mina no raio de uma unidade e a sua posio absoluta.
Considerando que o sistema de induo de funo lgica e o sistema de
planejamento trabalham com vetores de bytes, a percepo do agente foi definida como
um vetor de 5 bytes: ltima ao, posio X, posio Y, estou carregado (0,1)?,
base na vizinhana (0,1)? e mina na vizinhana (0,1)?. Por exemplo, o vetor
(1,30,31,0,0,1) significa que o agente percebe que a sua ltima ao foi a ao
correspondente ao nmero 1, sua posio absoluta 30,31 e percebe uma mina. Nesse
exemplo, o agente no est carregado e no est prximo da base.
Para efeito do presente trabalho, a funo que escolhe a ao que o agente
popperiano vai tomar a funo que define o seu comportamento. Sendo assim, a
funo de escolha de ao chamada de EscolheAo a parte central do agente
popperiano. a partir dessa funo que os sistemas de induo e planejamento so
chamados. O algoritmo da funo EscolheAo do agente popperiano apresentado no
anexo 3.
Para facilitar o entendimento, aborda-se o seguinte exemplo: um rob minerador
est explorando o seu mundo atravs de aes tomadas ao acaso. Esse rob guarda as
suas ltimas aes e estados passados em uma memria de curto prazo. Ao acaso, ele
carrega um minrio de uma mina prxima e percebe satisfao com essa ao. Para que
no futuro ele possa encontrar a mina e se carregar com mais facilidade do que achar a
satisfao ao acaso, ele guarda as suas aes passadas como um plano de como alcanar
a satisfao de se carregar. importante que o agente guarde as suas aes passadas que
o levaram satisfao para que ele repita essas mesmas aes e alcance satisfao
posteriormente.
Abordando-se outro exemplo, um rob minerador est explorando o seu mundo
atravs de aes tomadas ao acaso e guardando em memria as suas ltimas aes e
estados passados. Ao acaso, ele encontra um estado pelo qual j passou, armazenado
como parte de um plano que o levou para a satisfao. Concatenando os estados e aes
passados que o levaram ao estado atual com o plano que o leva do estado atual
satisfao, obtm-se um novo plano que leva a satisfao. Os planos bem formados
sempre levam a satisfao.
No primeiro exemplo, o rob encontrou ao acaso a satisfao. No segundo
exemplo, o rob encontrou ao acaso um plano que o leva satisfao. Alm dessas duas
formas de planejar, foi implementada uma terceira: planejamento cego que procura a
satisfao ou um plano que leva a satisfao. Sendo assim, o agente popperiano no
apenas gera planos com experincias do passado como tambm gera planos usando seu
sistema de induo e planejamento. Isso significa que o agente popperiano pode
construir planos que passem por estados ou transies de estados nunca antes
experimentados. Nesse sentido, o agente popperiano criativo. De forma resumida, o
agente popperiano gera novos planos em 3 casos:
Escolhendo aes ao acaso, encontra a satisfao.
Escolhendo aes ao acaso, encontra um plano que o leva satisfao.
Por planejamento cego, atinge a satisfao ou um plano que leva a satisfao.

76

Com o passar do tempo, o nmero de planos que o agente gera pode crescer
consideravelmente. A figura 3.7 mostra o planejamento de um agente minerador
popperiano. Os planos em vermelho so planos de descarga de minrios enquanto que os
planos em preto so planos para carga de minrios. Pode ocorrer a existncia de um
plano que leve do estado A ao estado B e outro plano que leve do estado B ao estado A.
Sendo assim, a criatura correria o perigo de entrar em um lao infinito de execuo.
Um lao infinito de execuo no um problema em si. Um lao infinito de
execuo que propicie satisfao infinita desejvel. O problema a existncia de um
lao infinito de execuo que no leve satisfao. Para impedir tal acontecimento, se o
agente popperiano agindo exclusivamente de acordo com planos previamente feitos
passa por um estado que j passou sem anteriormente atingir satisfao desde o incio
das aes planejadas, significa que o planejamento gerou um lano infinito de execuo.
Sendo assim, para resolver esse problema, quando detectado o lao, apaga-se o ltimo
plano usado. possvel que existam polticas melhores de resolver esse problema;
porm, ao considerar a extenso do presente trabalho, preferiu-se adotar a soluo
simples.
Alm do erro de planejamento estudado no pargrafo anterior, o agente
popperiano deve reconhecer outros tipos de erros de planejamento. Pode ocorrer que
uma transio de estados prevista em um determinado plano no ocorra no momento que
o agente popperiano pe esse plano em prtica. O agente popperiano deve detectar o
erro de transio de estados previsto no plano e descartar esse plano se ele no levar
satisfao.
Outro tipo de erro de planejamento o que segue: o plano no entra em
looping, prediz transies de estados verdadeiras; porm, o agente completa o plano
at o fim e no chega na satisfao. Partindo-se do princpio de que planos devem levar a
satisfao, planos que no levam a satisfao esto incorretos e devem ser eliminados.
De forma resumida, o agente popperiano elimina planos incorretos em 3 casos:
Quando o planejamento provoca um looping.
Um plano prev uma transio de estados e na prtica ocorre outra transio
que no leva satisfao.
A execuo do plano no leva satisfao.
A maior parte do algoritmo da funo EscolheAo destinado a criar, seguir e
apagar planos; porm, a primeira coisa que o agente popperiano modelado faz em
relao a escolha de uma ao propriamente dita fazer uma busca em profundidade 1
para ver se existe alguma ao que leva satisfao. Se existir essa ao, o agente
escolhe essa ao.
Se o agente popperiano no est em condies de alcanar a satisfao com uma
nica ao e nem tem nenhuma ao planejada para o estado onde ele se encontra, ento
ele pode agir com uma ao escolhida ao acaso.
No algoritmo da funo EscolheAo, no se encontra nenhuma referncia do
tipo encontra mina ou descarrega amostra de minrio ou qualquer outra indicao
de que o algoritmo seja definido para resolver um problema em particular. Ao contrrio,
o algoritmo foi definido de forma genrica e pode ser aplicado a uma gama diferente de
problemas. Cada agente popperiano pode ter as suas prprias caractersticas tais como
formas de perceber o seu universo, agir e sentir satisfao com situaes especficas.

77

Ainda assim, mesmo com agentes popperianos diferentes, o algoritmo da funo


EscolheAo pode ser seguido.

3.3 Implementao do Agente Minerador Popperiano


A implementao do agente foi feita em Delphi 5 e segue as definies
apresentadas na seco anterior. Nessa implementao, o ambiente e o agente so
objetos sendo que o agente possui internamente dois outros objetos: um de planejamento
e outro de induo de funo.

FIGURA 3.2 Janela Principal do Programa Rob Minerador Popperiano

A janela principal do programa implementado apresentada na figura 3.2. Nela,


so visualizados quatro quadrados e um disco. O quadrado maior em vermelho no centro
representa a base enquanto que os quadrados menores representam minas. Cada
quadrado carrega um nmero que representa o nmero de minrios presentes. O agente
minerador popperiano o disco em azul e seu nmero o nmero de minrios que ele
transporta que necessariamente zero ou um. Ainda na janela principal, so
apresentados cinco botes:
Boto Comea: define um estado inicial para o mundo e comea a
simulao. Uma vez que a simulao foi iniciada, no existe como parar. O
agente popperiano desse prottipo no foi projetado para morrer ou ser
reiniciado.

78

Boto Opes: abre a janela de opes. Nessa janela, possvel ativar e


desativar diversas caractersticas do comportamento do agente popperiano.
Sua utilidade principal facilitar os testes.
Boto Planos: abre a janela de planos. A janela de planos apresenta uma
representao dos planos para atingir carregamentos e descarregamentos.
Boto Medio: esvazia a base, recarrega as minas e tira o minrio do
agente caso ele o tenha. A partir desse ponto, mede o nmero de ciclos que o
agente despende para levar todos os 300 minrios para a base.
Boto Sair: sai do programa.

A partir da janela principal do programa, possvel abrir a janela de opes


pressionando-se o boto opes a qualquer momento. Essa janela pode ser vista na
figura 3.3. As opes do agente popperiano podem ser modificadas antes ou durante a
simulao. Essas opes so descritas a seguir:
Segue Planejamento: quando desativada, o agente popperiano no age de
acordo com seu planejamento e nem gera planos cegamente.
Planejamento Cego: como o prprio nome sugere, quando essa opo est
desativada, o agente no gera novos planos por planejamento cego.
Elimina Plano Incorreto: quando desativada, o agente no elimina os planos
que se mostrarem incorretos ao longo da simulao.
Procura Satisfao em 1 passo: conforme mostra a listagem da funo
EscolheAo no anexo 3, o primeiro teste que pode resultar na escolha de
uma ao o teste da existncia de uma ao que atinja a satisfao com uma
nica ao. Esse teste modelado na linha 16 do referido algoritmo. Quando a
opo Procura Satisfao em 1 passo est desativada, o agente no realiza
esse comportamento.
Mostra Planejamento: ao contrrio das opes anteriores, essa opo regula
a interface e no o comportamento do agente. Essa opo ativa ou desativa a
atualizao da janela Planos que mostra os planos que o agente internamente
possui.
Debug: essa opo no influencia o comportamento do agente. Quando
usada, gera uma sada de texto bastante significativa. Essa opo til para
verificar a correo dos sistemas de induo e planejamento.
Mostra Evoluo: essa opo tambm no interfere no comportamento do
agente. O ambiente que o agente habita foi implementado de forma
independente da interface. Sendo assim, a simulao pode ser feita sem a
atualizao da interface para possibilitar simulaes mais econmicas em
termos de tempo de UCP. Quando Mostra Evoluo est desativada,
nenhuma atualizao feita na janela principal ou na janela de planos.
Barra de rolamento Otimizao: define a freqncia com que o
planejamento otimizado. Por exemplo, 1% de otimizao significa que feita
a otimizao do planejamento em 1% das vezes que a funo EscolheAo
chamada. As figuras 3.4 a 3.7 mostram o impacto da otimizao sobre o
planejamento.
Barra de rolamento Randomicidade: quando o agente no tem plano para o

79

estado onde est e no pode atingir a satisfao com uma nica ao,
Randomicidade define a probabilidade das aes escolhidas ao acaso.

FIGURA 3.3 Janela de Opes

80

FIGURA 3.4 Diversos Planos no Otimizados

FIGURA 3.5 Planos da Figura 3.4 um Pouco Otimizados

81

FIGURA 3.6 Planos da Figura 3.5 um Pouco mais Otimizados

FIGURA 3.7 Planos da Figura 3.6 um Pouco mais Otimizados

82

3.4 Resultados Obtidos com o Agente Minerador Popperiano


uma questo central como comparar os resultados encontrados no presente
trabalho com resultados encontrados em trabalhos anteriores. O nmero de ciclos no
um indicador justo tendo em vista que os testes feitos aqui usam somente um nico
agente para coletar os 300 minrios enquanto que experimentos anteriores usaram at
uma centena de agentes mineradores.
No trabalho de Cordenonsi[COR2000], alm da medio do nmero de ciclos,
foi feita a medio da energia que o produto do nmero de ciclos pelo nmero de
agentes. Considerando que no presente trabalho s existe um nico agente, a energia
igual ao nmero de ciclos.
O uso da energia despendida para transportar os 300 minrios at a base um
parmetro de comparao mais justo do que o nmero de ciclos. Ainda assim, a energia
no uma medida justa. O problema dos agentes mineradores pode ser partido em dois
problemas menores: (1) explorar o ambiente para achar as minas e (2) levar os minrios
at a base.
No primeiro problema, o agente popperiano tem uma imensa desvantagem: ele
tem que aprender as regras do seu ambiente, quando pode se mover, carregar e
descarregar enquanto que o agente reativo nasce pronto. No segundo problema, o
agente popperiano leva uma tremenda vantagem tendo em vista que a posio das minas
faz parte do seu ambiente aprendido. A memria e o planejamento sobre o ambiente
percebido permitem que o agente popperiano volte aos locais onde ele encontrou
satisfao com menor energia.
Para efeitos comparativos, pode ser feita a seguinte pergunta: sabendo-se
exatamente a posio das minas e da base, qual a energia a ser gasta pelo rob que
dispe do melhor algoritmo possvel de coleta de minrios? Tendo essa resposta, podese comparar os resultados com a menor energia terica para o transporte dos 300
minrios.
Na forma como o ambiente foi modelado aqui, impossvel para o agente sair de
uma posio vizinha base, ir at a mina, carregar, voltar e descarregar em menos de 74
passos. Sendo assim, para levar os 300 minrios, so necessrios 74*300 = 22.200
passos sendo essa a energia mnima.
Pode-se analizar o problema de forma oposta: medir a energia necessria para
transportar os 300 minrios at a base por um agente que simplesmente escolhe aes ao
acaso com a restrio que ele s pode se carregar na mina e descarregar na base. Esse
teste no impede o agente de tentar descarregar longe da base. Ele pode tomar a ao
descarregar longe da base; porm, nada vai acontecer. O resultado encontrado
experimentalmente que o agente descarrega na base 1 minrio a cada 146 mil passos.
Sendo assim, para descarregar os 300 minrios na base, seriam necessrios cerca de 44
milhes passos.
Por hiptese, um agente que coleta todos os minerais em 200 milhes de passos
apresenta desempenho pior do que o agente que age aleatoriamente significando que sua
regra de comportamento atrapalha mais do que ajuda. Todos os resultados encontrados
na bibliografia ou aqui so evidentemente bem melhores que o resultado encontrado com
o agente minerador aleatrio.
Outra caracterstica importante a ser observada a adaptabilidade do agente
minerador popperiano. O agente minerador modelado aqui s pode mover-se

83

ortogonalmente; porm, para verificar a adaptabilidade do agente, permitiu-se que ele


pudesse se mover na diagonal. Sendo assim, sem nenhuma alterao no cdigo fonte do
agente ou qualquer parte de seus componentes, espera-se que o agente aprenda as regras
do ambiente e com essas regras planeje nesse novo ambiente.
Conforme a figura 3.8, o agente minerador popperiano consegue usar os
movimentos na diagonal para o seu prprio benefcio. No nico teste feito nesse mundo,
o agente transportou os 300 minrios em apenas 18.078 passos mostrando que
certamente ele usou os movimentos em diagonal para a sua satisfao tendo em vista que
usando somente os movimentos ortogonais so necessrios no mnimo 22.200 passos.
Voltando ao mundo ortogonal, para calcular quantos passos um agente
popperiano que j aprendeu as regras do ambiente e a posio das minas necessita para
transportar os 300 minrios at a base, foram feitos testes seguindo-se os seguintes
passos:
Executa-se o prottipo.
Na janela de opes, deixa-se somente a opo Procura Satisfao em 1
passo ativada. Fixa-se a otimizao em 1% e a randomicidade em 100%.
Pressiona-se o boto Comea.
Deixa-se passar 1 milho de ciclos para que o agente aprenda as regras do seu
mundo, aprenda a posio das minas e construa seus primeiros planos. Essa
fase considerada a infncia do agente popperiano minerador.
Terminada a infncia, ativa-se todas as opes do agente minerador, eleva-se a
otimizao para 100% e pressiona-se o boto Medio. Com isso, mede-se
quantos ciclos o agente despende para carregar os 300 minrios at a base.
Seguindo-se os passos descritos acima 20 vezes, o agente minerador popperiano
despendeu em mdia 23.787 passos para carregar os 300 minrios at a base sendo que o
desvio padro foi de 749 passos. Esse resultado 7,1% maior do que o mnimo terico
para o problema que de 22.200 passos. O desvio padro vale 3,1% da mdia
encontrada o que demostra que o agente minerador popperiano apresenta pouca
variabilidade para resolver o problema.
Conforme foi comentado anteriormente, a energia de 23.787 em mdia no pode
ser comparada diretamente com a energia de 34.020 do grupo S [COR2000] tendo em
vista que os agentes do grupo S alm de transportar os minrios devem explorar o
ambiente para descobrir onde os minrios esto.
A anlise importante a ser feita que aps um longo perodo de aprendizagem, o
agente popperiano minerador resolveu o problema com apenas 7,1% mais energia do que
a melhor forma possvel de resolver o problema.
Conforme foi observado anteriormente, quando as regras do ambiente foram
alteradas para permitir que o agente minerador pudesse se deslocar na diagonal, o agente
minerador popperiano aproveitou essa possibilidade sem que nenhuma modificao fosse
feita em seu cdigo fonte mostrando sua capacidade de adaptao a novas condies.

84

FIGURA 3.8 Planos com movimentos diagonais

3.5 Predador e Presa


O termo Predador e Presa tambm referenciado como problema da perseguio
(do ingls, Pursuit Problem) usado para designar diferentes problemas que
normalmente envolvem agentes do tipo predador que perseguem ou comem os agentes
do tipo presa. O que freqentemente muda de um modelo de Predador e Presa para o
outro a forma como os agentes agem e percebem o seu ambiente assim como o prprio
ambiente.
Os problemas do tipo Predador e Presa tem sido usados com sucesso para o
estudo de algoritmos evolutivos aplicados sistemas multiagentes [HAY95b] [NIS97]
[NOF98] [DIE95] [WAH 98]. Isso se deve ao fato de que possvel aplicar o algoritmo
evolutivo tanto para o predador como para a presa fazendo com que ocorra uma
corrida armamentista entre predadores e presas.
O modelo de Predador e Presa usado aqui foi inicialmente proposto por
Miroslav Benda [BEN86] que formado por um plano discreto e infinito, um agente
vermelho chamado de presa e quatro agentes azuis chamados de predadores. Os agentes
podem mover-se verticalmente e horizontalmente. Os predadores no podem ocupar a
mesma posio da presa e a presa no pode ocupar a mesma posio de um dos
predadores. A captura ocorre quando a presa cercada pelos quatro predadores de
forma que ela no possa se mover.
Posteriormente, baseando-se no modelo de Benda, Korf [KOR92] realizou
experimentos com 8 predadores e uma presa que podem se movimentar na diagonal,
horizontal e vertical. Alm disso, Haynes e Sen [HAY95a] [HAY95b] usando

85

programao gentica fortemente tipada (do ingls, strongly typed genetic


programming) usaram um algoritmo evolutivo para selecionar os melhores algoritmos de
predadores e presa gerando a corrida armamentista. Nesse trabalho, os autores
acreditam terem encontrado algoritmos para predadores onde os predadores cooperam
entre si para caar a presa enquanto que a presa aprende a evitar situaes onde a
cooperao dos predadores pode ter sucesso.
No modelo de Haynes, dois agentes no podem ocupar a mesma posio, o
predador pode ver a presa a qualquer distncia e a presa v os predadores a qualquer
distncia. O ambiente desse modelo uma matriz 30x30 onde as bordas so aderidas de
forma que a posio (0,29) vizinha da posio (0,0). Existem 5 aes possveis: mover
para os 4 lados e ficar parado. Nesse trabalho, concluiu-se que a melhor estratgia de
fuga simplesmente fugir em linha reta. Essa estratgia de fuga chamada de presa linear
(do ingls, linear prey) constituda de 2 passos: (1) escolher ao acaso uma direo e
(2) seguir nessa direo para sempre.

3.6 Modelo do Predador Popperiano


O problema Predador e Presa foi modelado aqui de forma muito semelhante
forma encontrada no trabalho de Haynes. As definies dos agentes e do ambientem so
as que seguem:
O ambiente plano e discreto de tamanho 30x30 com bordas opostas unidas.
A presa linear (linear prey).
O predador percebe a sua prpria posio relativa presa e o estado de
ocupao das 4 posies vizinhas da presa.
O predador sente satisfao ao ocupar uma posio vizinha da presa.
Existem 5 aes disponveis para os agentes: mover para os lados ou ficar
parado.
No permitido que 2 agentes ocupem a mesma posio.
Um agente no tem capacidade de empurrar outro agente.
O ideal seria que o modelo da funo EscolheAo fosse idntico tanto para o
agente minerador popperiano como para o agente predador popperiano; porm, existe
uma grande diferena nos dois problemas: no primeiro, o agente minerador age sozinho
em um mundo totalmente determinista enquanto que, no segundo, os agentes predadores
batem ou ficam presos por outros predadores que eles no percebem e no podem
determinar qual ser a ao futura. Sendo assim, do ponto de vista do agente popperiano
predador, o mundo cheio de incertezas.
Evidentemente, a predio do agente popperiano erra mais vezes em um
ambiente incerto. Para entender a profundidade do problema, aborda-se o seguinte
exemplo: o predador acredita que impossvel ir para a direita; porm, esse o nico
caminho que o leva presa e momentaneamente ele est aberto. Todas as vezes que o
predador tentou ir para a direita no passado, ele no conseguiu e acabou desenvolvendo
uma crena muito forte de que impossvel ir para a direita; porm, agora, isso
possvel e ele no sabe. O predador no conseguiu ir para a direita anteriormente porque

86

existia outro predador nessa direo que o bloqueava; porm, um predador no percebe
o outro e fica impossvel saber quando pode-se ir.
Sendo assim, nesse exemplo, deve existir algo na regra de comportamento do
predador que o faa ir para a direita mesmo quando ele acredita que um absurdo
tentar ir para a direita porque a experincia mostra que no se sai do lugar fazendo isso.
Para resolver esse problema, deu-se mais prioridade ao aleatria para que o agente
popperiano predador experimente, ainda que raramente, aes que em princpio so
consideradas absurdas e que podem eventualmente acabar significando grandes
descobertas.
Esse ganho de prioridade na ao aleatria foi conseguido transferindo-se o bloco
da funo EscolheAo do agente minerador que vai da linha 68 a 74 para a linha 21
sem nenhuma outra alterao. A funo EscolheAo do predador popperiano
apresentada no Anexo 1.

3.7 Implementao do Predador Popperiano


A implementao do agente predador popperiano foi feita nos mesmos moldes da
implementao do agente minerador popperiano. A figura 3.9 mostra a janela principal
do prottipo implementado. Nessa figura, apresenta-se uma situao de captura onde os
quatro predadores cercam a presa. A presa o crculo vermelho e os predadores so os
quadrados.
Ao comparar as figuras 3.2 e 3.9 ficam evidentes as semelhanas. A nica
diferena na tela principal a ausncia do boto Medio. Isso ocorre porque no
prottipo do predador e presa a medio acionada automaticamente sempre que ocorre
uma captura.
A janela de opes do agente predador pode ser vista na figura 3.10 apresentando
diversas semelhanas com a janela de opes do agente minerador. Nessa janela, por
motivo de enfoque do presente trabalho, as caixas de grupo Tipo de Presa e Tipo de
Predador no so documentadas. As opes do predador popperiano e do ambiente j
foram descritas no agente minerador popperiano.
A janela Planos tambm foi implementada de forma semelhante a encontrada
no prottipo do agente minerador; porm, com duas diferenas principais: a presa fica
sempre no centro dessa janela e cada plano desenhado apresenta a cor de seu respectivo
agente. Essa janela pode ser vista na figura 3.11.

87

FIGURA 3.9 Janela Principal do Prottipo

FIGURA 3.10 Janela de Opes do Prottipo de Predador e Presa

88

FIGURA 3.11 Janela de Planos do Prottipo de Predador e Presa

3.8 Resultados Obtidos com o Predador Popperiano


Os mesmos problemas que foram encontrados para comparar o agente minerador
popperiano com agentes mineradores existentes so encontrados aqui. O agente
popperiano leva desvantagem ao considerar que enquanto os agentes reativos ou
darwinianos nascem prontos, os agentes popperianos precisam de um longo processo
de aprendizado para poder dar seus primeiros passos coerentes. Passada a fase onde o
agente popperiano leva desvantagem, a situao inverte-se tendo em vista que o agente
popperiano adaptvel, tem memria e planeja o futuro.
O resultado numrico a ser encontrado com o prottipo o nmero mdio de
ciclos que os predadores popperianos despendem para capturar a presa linear. Outra
caracterstica interessante a ser investigada a possibilidade de os agentes acabarem
bloqueando-se mutuamente (do ingls, Dead Lock). Um exemplo de bloqueio ocorre
quando dois agentes lado a lado querem ir em direes opostas e nenhum sai do lugar.
Em princpio, agentes popperianos no deveriam bloquear-se mutuamente tendo em vista
que eles devem aprender com a experincia e fazer planejamentos usando essas
experincias. A experincia de bloqueios eventuais deve ser suficiente para que um
agente popperiano tente evitar bloqueios. Para encontrar tais resultados, foram feitos
testes seguindo-se os seguintes passos:
Executa-se o prottipo.
Na janela de opes, seleciona-se a presa linear, o predador popperiano,
deixa-se somente a opo Procura Satisfao em 1 passo ativada. Fixa-se a

89

otimizao em 0% e a randomicidade em 100%.


Pressiona-se o boto Comea.
Inicia-se a fase considerada como a infncia do agente. Deixa-se passar 200
mil ciclos para que o agente aprenda as regras do seu mundo e construa seus
primeiros planos.
Terminada a infncia, ativa-se todas as opes do agente popperiano, fixa-se a
otimizao em 1% e randomicidade em 5%. Com isso, automaticamente, a
quantidade de ciclos usada em cada captura apresentada na tela.
As opes de ambiente no alteram os resultados numricos. Essas opes
podem ser modificadas para alterar a velocidade do experimento e a forma de
apresentao.
Na fase infantil do agente popperiano predador, a sua regra de comportamento
simplesmente: se acredita que pode atingir satisfao em 1 passo, ento toma essa ao,
seno, movimento aleatrio. Mesmo com uma regra de comportamento to simples, em
uma amostra de 31 experimentos, os predadores capturaram a presa despendendo 2473
ciclos em mdia com um desvio padro de 1608 ciclos.
Na fase adulta, em uma amostra de 28 experimentos, os predadores popperianos
despenderam em mdia 313 ciclos para capturar a presa com um desvio padro de 572
ciclos. Ainda que a primeira vista um desvio padro to alto sugira um erro de clculo,
ele est correto. Esse desvio padro atribuido ao fato de que basta um agente no
conseguir atingir a presa para que a captura no ocorra. Ainda que a mdia tenha sido
313 ciclos, o pior caso registrado na amostra foi de 3.170 ciclos enquanto que o melhor
caso foi de 57 ciclos. Em nenhum dos testes foi verificado o bloqueio mtuo.

90

4 Concluso
No final da concluso do livro A Origem das Espcies [DAR87], Darwin
especula: Entrevejo, num futuro remoto, caminhos abertos a pesquisas muito mais
importantes ainda ... isto , sobre a aquisio necessariamente progressiva de todas as
faculdades e de todas as aptides mentais, o que lanar uma nova luz sobre a origem
do homem e sua histria. Estudando a evoluo da mente, Dennett [DEN97] prope
quatro tipos de mentes que evoluram ao longo do tempo: darwiniana, skinneriana,
popperiana e gregoriana.
O presente trabalho prope um modelo computacional para uma criatura
popperiana. Os agentes popperianos implementados no captulo anterior so rgidos;
porm, a definio proposta deve servir como uma ferramenta para facilitar a
classificao de agentes. Sendo assim, define-se o agente popperiano:
o agente popperiano percebe estados do ambiente e de si prprio,
aprende regras que regem a transio desses estados e usando as regras
aprendidas planeja e executa planos com o objetivo de alcanar satisfao.
O agente popperiano no precisa perceber completamente os estados do
ambiente e de si prprio nem aprender totalmente as regras de transio desses estados.
Para um agente poder ser classificado como popperiano, necessrio apenas que ele
tenha alguma capacidade de aprender as regras do ambiente e alguma capacidade de
planejar nesse ambiente.
A capacidade de adaptao de um agente popperiano certamente algo
marcante; porm, toda essa adaptabilidade tem um custo: agentes popperianos muito
jovens com pouca experincia de vida no dispem de observaes suficientes para
induzir as regras do seu universo percebido de forma correta e quase certamente
produzem planos impossveis de serem realizados o que leva a situaes indesejadas em
sua juventude. Ao contrrio, um agente reativo ou darwiniano est pronto para atuar em
seu ambiente a partir de seu nascimento ou incio de execuo.
Comparando a definio de agente popperiano com a definio de inteligncia de
Pei Wang apresentada no tpico Non-Axiomatic Reasoning System que trabalho e
adaptao com recursos e informao insuficientes [WAN93], o aprendizado das
regras que regem as transies de estados da criatura popperiana obviamente um
processo adaptativo assim como o planejamento. interessante ressaltar que ao
contrrio do NARS, o agente popperiano no precisa ter raciocnio explcito. De fato,
nenhum dos agentes popperianos implementados no presente trabalho possui raciocnio
explcito.
O comportamento do WAE resultado da interao de uma coletividade de
agentes. Conforme alegam seus criadores, os agentes do WAE esto no meio do
caminho entre um neurnio e uma regra lgica. Da mesma forma, o comportamento dos
agentes popperianos implementados regido em parte por uma coletividade de regras
que assemelham-se a neurnios conforme mostra a figura 2.6.
No WAE, existe criao, competio e morte ao nvel de agente fazendo com
que ocorra evoluo das unidades funcionais que compem o WAE. Da mesma forma,
regras so criadas, e eliminadas em um processo competitivo dentro do agente
popperiano. Em ambos os sistemas, as unidades funcionais competem e evoluem
provocando a evoluo comportamental do sistema.

91

Na mesma linha de pensamento, o comportamento do agente de Muoz fruto


da iterao de uma coletividade de esquemas. O esquema sendo formado por uma trinca
(contexto, ao, resultado) assemelha-se com as regras lgicas do agente popperiano
que apresentam uma causa (contexto + ao) e um efeito (resultado). Alm disso, o
sistema de planejamento proposto aqui apresenta unidades formadas por trincas (estado
atual, ao, estado futuro) que se assemelham muito ao esquema do agente de Muoz.
Esses esquemas tambm competem entre si e apenas os melhores sobrevivem.
O agente de Muoz no tem a capacidade de planejar longas seqncias de aes
em um modelo de mundo sendo esta uma proposta de Muoz para um trabalho futuro. A
grande diferena entre o agente de Muoz e o agente popperiano modelado aqui que o
agente popperiano pode realizar planejamento de longas seqncias de aes em seu
modelo de mundo.
Os trs sistemas (WAE, Muoz e popperiano) apresentam a morte de unidades
funcionais menos importantes impulsionando o processo evolutivo e economizando
recursos computacionais. Por outro lado, esses mesmos sistemas apresentam o
esquecimento tendo em vista a perda da unidade funcional contendo informao.
Nenhum dos trs sistemas necessita informao prvia do meio tendo em vista a
sua capacidade de adaptao. Evidentemente, essa adaptao tem um custo de tempo
alm de poder ser perigoso o aprendizado pela experincia em um ambiente que oferea
perigo.
O presente trabalho cumpre a proposta de trabalho futuro feita por Munhz para
um agente adaptativo que pudesse planejar baseando-se no conhecimento aprendido com
a experincia. Alm disso, o presente trabalho aproveita muitos temas abordados em
trabalhos anteriores como a evoluo da inteligncia proposta por Dennett [DEN97], o
clculo da crena usado no NARS e no WAE, a noo de rede de nernios competitiva
[SIM2001], a seleo dos indivduos mais aptos como um processo de otimizao, uso
de aprendizado de Hebb que atende o modelo de Moser [MOS2001] e, de forma mais
distante, a idia de Minsky em que a mente uma sociedade de atores ou processos
[MIN87].
Existe uma convergncia terica entre o WAE, o agente de Muoz e o agente
popperiano aqui proposto: o comportamento ditado pela coletividade de unidades
funcionais que nascem competem e morrem. Alm disso, experimentos prticos nos
problemas de predador e presa [BEN86] e minerao [DRO92] atestam a capacidade de
adaptao da criatura popperiana aqui modelada.
O presente trabalho pode servir como base para a criao de novos agentes
popperianos que possivelmente usem estratgias de aprendizado e planejamento
distintas. A seo Predador Popperiano apresentou um prottipo de sistema multiagente
onde cada agente um agente popperiano. Sistemas multiagentes popperianos podem
ser alvo de estudo.
Outra utilidade desse trabalho servir como base para um audacioso projeto de
modelo e implementao de um agente gregoriano. Nesse caso, o prximo passo a ser
dado modelar e implementar a capacidade de projetar, construir e usar ferramentas
sejam elas reais ou abstratas. A projeto de ferramentas pode partir de um sistema de
planejamento mais robusto que planeja ao mesmo tempo a ferramenta e o seu uso. Com
isso, tem-se a base para comear a modelar uma criatura que domine linguagem
complexa tendo em vista a linguagem como uma ferramenta abstrata.

92

Anexo 1 Algoritmo do Sistema de Induo


Estrutura de Memria
O sistema de induo alimentado por dois vetores de bytes:
Causas: estado das causas. O elemento do vetor causas representado por
Ci.
Efeitos: estado dos efeitos, posterior ao das causas. O elemento do vetor
representado por Ei.
A tabela de relao TR uma tabela de tamanho varivel onde cada linha
corresponde a uma implicao entre um evento causal ou combinao de eventos causais
e um efeito. Alm de armazenar a implicao, a tabela de relao apresenta diversos
valores numricos que representam freqncia, confiana, utilidade e endereo de base.
Cada entrada da tabela de relao pode ser entendida como uma implicao no
determinista que apresenta a seguinte estrutura:
Lista de Testes Operao [ base r0 m NmeroDeVitrias ltimaVitria ]


onde:
Teste: um teste que testa valores do vetor Causas e retorna o valor
verdadeiro ou falso. Por exemplo, (C1 = 1) (Ebase 1) significa que
quando o valor do vetor Causas de ndice 1 for igual a 1, o valor do vetor
Efeitos de ndice base receber 1. O sinal = representa teste de igualdade
enquanto que o sinal representa atribuio. Nesse exemplo, o teste
apenas o termo (C1 = 1). Existem vrios tipos de testes que so descritos na
seo Testes.
Lista de Testes: retorna valor verdadeiro quando todos os testes da lista so
verdadeiros; caso contrrio, retorna falso.
Operao: a operao sempre grava o seu resultado no elemento do vetor
Efeitos de ndice base. A operao pode ser uma simples atribuio ou uma
operao mais complexa. Existem vrios tipos de operaes descritas na seo
Operaes. A operao pode ser testada retornando verdadeiro se o
resultado da ao encontrado em Efeitos.
Base: ndice do elemento de Efeitos que recebe o resultado da operao. Pode
ser usado para endereamento relativo nos testes. Exemplo:
(Cbase-1 = Cbase ) (Ebase 1)
r0: o nmero de vezes em que a lista de testes verdadeira e a operao no
se observa verdadeira. r0 = n m.
m: o nmero de vezes em que a lista de testes verdadeira e a operao se
observa verdadeira. Aqui, o significado de m semelhante ao encontrado no
NARS e no WAE.


Vitria: quando a entrada da tabela de relao usada com sucesso na


predio do elemento do vetor Efeitos de ndice base, ocorre a vitria.
Nmero de Vitrias: o nmero de vitrias observadas. Esse valor usado
para determinar se uma implicao til ou no.

93

ltima Vitria: instante de tempo em que ocorreu a ltima vitria. Esse valor
usado para determinar se uma implicao ainda til ou no.
Os valores r0 e m so usados para determinar a veracidade da implicao; porm,
no basta definir se uma implicao verdadeira ou falsa. importante verificar se
determinada implicao til ou no. Os valores NmeroDeVitrias e ltimaVitria
so usados para determinar a utilidade da implicao.
A implicao C1 ou C2 E1 pode ser quebrada em duas implicaes: C1 E1 ,
C2 E1 . Implicaes com o operador lgico ou podem ser quebradas em conjuntos de
implicaes que apresentam somente o conector e. Para manter simplicidade no sistema
de induo, so criadas somente implicaes com o conector e j que o conector ou
pode ser substituido por um conjunto de implicaes.
Os vetores de bytes causas e Efeitos tem tamanhos arbitrrios dependendo da
aplicao para a qual esto sendo usados. Em um teste feito e descrito da seo Bit que
Vai e Vem, chegou-se a usar vetores de causas e Efeitos com 34 bytes.
Algoritmo
A funcionalidade de principal importncia tanto para as criaturas Skinnerianas
como para as criaturas Popperianas a capacidade de prever o futuro com base na
percepo do passado. Quando uma criatura percebe qualquer tipo de evento, ela deve
chamar o procedimento AtFreq que atualiza as freqncias da tabela de relao. Quando
uma criatura pretende agir ou planejar o futuro ou uma situao, ela deve chamar o
procedimento Pred que responsvel pela predio.
A implementao do sistema de induo apresenta os procedimentos que seguem,
entre outros:
AtFreq(causas, efeitos): atualiza os valores r0 e m da tabela de relao com
base nos vetores de causas e efeitos. Os vetores causas e efeitos so
parmetros de entrada. O tpico entitulado Exemplo Introdutrio Simples
proporciona uma boa idia do que feito por esse procedimento. Em tese, as
atualizaes das entradas da tabela de relao independem uma da outra
podendo ser feitas em paralelo sendo essa uma propriedade herdada com a
inspirao na rede neural artificial conforme pode ser visto na figura A01. Essa
uma propriedade no aproveitada em uma implementao feita em hardware
seqencial.
para cada entrada de ndice I da TR
faa
se TR[I].ListaTestes verdadeira
ento faa
se TR[I].Acao verdadeira
ento TR[I].M TR[I].M + 1
seno TR[I].R0 TR[I].R0 + 1
fim-se
fim-para
FIGURA A01 Algoritmo do procedimento AtFreq

SAtFreq(causas, efeitos): esse procedimento executa os seguintes passos: (1)


escolhe uma entrada da tabela de relao vazia ou com poucas vitrias, (2)
escolhe testes verdadeiros no vetor causas e relaciona com uma operao
verdadeira no vetor efeitos, aplica essa relao na entrada da tabela de relao

94

escolhida no passo 1. O procedimento SAtFreq responsvel pela gerao de


novas implicaes e ao mesmo tempo pelo descarte de implicaes menos
interessantes (esquecimento). A escolha do passo 1 feita usando o algoritmo
da figura A08. Nesse algoritmo, so escolhidas ao acaso TP entradas da TR
sendo que o ndice da pior entrada armazenado em Ipior.
No passo 2, so gerados testes que retornam verdadeiro para o estado
momentneo de causas e operao que retornam verdadeiro sobre o estado
momentneo de efeitos. A varivel lgica TodaOperao define se todos os
elementos dos vetores de causas e efeitos podem ser usados para formar novas
operaes ou apenas aqueles elementos que momentaneamente apresentem
valores diferentes de zero.
A extratgia de gerar apenas testes e aes que sejam vlidas no momento da
gerao elimina a hiptese de gerar relaes que nunca se verifiquem
verdadeiras.
IPior EscolhePiorRelao(TP)
TR[IPior].BASE ndice do vetor Efeitos onde ocorreu erro
de predio
TR[IPior] CriaNovaRelao
FIGURA A02 Algoritmo do Procedimento SAtFreq

Pred(causas, efeitos): prediz o vetor efeitos com base no vetor causas usando
a tabela de relao. Causas o parmetro de entrada enquanto que efeitos o
parmetro de sada. O tpico entitulado Exemplo de Predio proporciona
uma boa idia do que feito por esse procedimento. De forma geral, a
predio constitui dos seguintes passos: (1) escolher as implicaes da tabela
de relao que possuam causas verdadeiras, (2) para cada efeito envolvido,
escolher a implicao de maior fora f e us-la para predizer esse efeito.
Dependendo da aplicao, pode-se escolher a implicao de maior crena d.
Atribui 0 para cada elemento dos vetor OCORR
Atribui -1 para cada elemento dos vetor e VI
para cada entrada de ndice I da TR
faa
se TR[I].ListaTestes verdadeira
ento faa
N TR[I].M + TR[I].R0
se N > 0
ento F M/N
seno F 0
IndiceEfeito TR[I].BASE
Efeito resultado da TR[I].Ao
se F > OCORR[IndiceEfeito]
ento faa
Efeitos[IndiceEfeito] Efeito
OCORR[IndiceEfeito] F
VI[IndiceEfeito] I
fim-se
fim-se
fim-para
FIGURA A03 Algoritmo do procedimento Pred

95

Na figura A03, os vetores VI, OCORR e efeitos tem o mesmo tamanho. Cada
elemento do vetor OCORR armazena o valor da maior fora encontrada para
o efeito de ndice IndiceEfeito. O vetor VI armazena os ndices das relaes
usadas na predio. O elemento VI[i] armazena o ndice da relao usada para
prever efeitos[i] com fora OCORR[i].
DefineNumCausasEfeitos(PNC,PNE): define o nmero de causas e o
nmero de efeitos com os quais o sistema deve trabalhar. Internamente,
dimensiona vetores e aloca memria. um procedimento normalmente
chamado na inicializao da criatura.



AtualizaVitrias: conforme pode ser observado na figura A04, as entradas da


TR que foram usadas com sucesso na predio recebem incremento no valor
NmeroDeVitrias e tem o valor ltimaVitria atualizado para o ciclo atual.
Ao contrrio, as entradas da TR que foram usadas provocando erros de
predio recebem decremento no valor NmeroDeVitrias.
Ciclo Ciclo + 1
para cada elemento I do vetor EfeitosEncontrados
faa
IVict VI[I]
se IVict vlido
faa
se EfeitoPredito[I] = EfeitoEncontrado[I]
ento faa
TR[IVict].Vitorias TR[IVict].Vitorias+1
TR[IVict].UltimaVitoria Ciclo
fim-faa
seno TR[IVict].Vitorias TR[IVict].Vitorias-1
fim-se
fim-faa
FIGURA A04 Algoritmo do Procedimento AtualizaVitorias
1. Causas Percepo()
2. ErrosPredicao 0
3. enquanto CriaturaVive faa
Pred(Causas,EfeitosPreditos)
4.
5.
EfeitosPercebidos Percepo()
AtFreq(Causas,EfeitosPercebidos)
6.
7.
se EfeitosPercebidos EfeitosPreditos
8.
ErrosPredicao ErrosPredicao +
Diferenca(EfeitosPercebidos,
EfeitosPreditos)
SAtFreq(Causas,EfeitosPercebidos)
9.
AtFreq(Causas,EfeitosPercebidos)
10.
11.
fim-se
12.
Causas EfeitosPercebidos
13.
fim-faa
14.imprime(ErrosPredicao)
FIGURA A05 Algoritmo Genrico de Previso

Conforme pode ser verificado nos pargrafos anteriores, o algoritmo de induo

96

lgica usado para predio est distribudo em seus procedimentos. Para efeito do
presente texto, prever o futuro simplesmente prever os eventos a serem percebidos.
Para aprender a prever o futuro, as criaturas usam algoritmos baseados no algoritmo da
figura A05.
No algoritmo da figura A05, as chamadas ao sistema de induo responsvel pela
previso do futuro foram grafadas em negrito. Nesse algoritmo, o processo de
aprendizado ocorre durante toda a vida da criatura. A varivel ErrosPredicao acumula o
nmero de erros feitos na predio sendo til para medir quo bem a criatura consegue
prever o futuro. Esse algoritmo prev somente a prxima percepo; porm, ele poderia
ser facilmente modificado para prever percepes posteriores.
Foi implementada a funo Encontrou( efeitos ) vista na figura A07 que engloba
as linhas 6 11 do algoritmo da figura A05. Essa funo recebe os efeitos percebidos e
retorna o tamanho da diferena entre os efeitos preditos e os efeitos percebidos. Usando
essa funo, o algoritmo da figura A05 foi convertido no algoritmo da figura A06.
1. Causas Percepo()
2. ErrosPredicao 0
3. enquanto CriaturaVive faa
4.
Pred(Causas,EfeitosPreditos)
5.
Efeitos Percepo()
ErrosPredicao ErrosPredicao +
6.
Encontrou(Efeitos)
Causas Efeitos
7.
8.
fim-faa
9. imprime(ErrosPredicao)
FIGURA A06 Algoritmo Genrico de Previso

Conforme mostra a figura A06, durante o funcionamento, o algoritmo de


previso no precisa chamar outros mdulos alm de Pred e Encontrou. O passo 2 do
modelo de criatura skinneriana e popperiana apresentado nas figuras 2.1 e 2.2 deve
chamar a funo Encontrou enquanto que o passo 3 deve chamar o procedimento Pred.
1. AtFreq(Causas,EfeitosPercebidos)
2. AtualizaVitorias
3. se EfeitosPercebidos EfeitosPreditos
ErrosPredicao Diferenca(EfeitosPercebidos,
4.
EfeitosPreditos)
5.
SAtFreq(Causas,EfeitosPercebidos)
6.
AtFreq(Causas,EfeitosPercebidos)
7.
fim-se
8. retorna( ErrosPredicao )
FIGURA A07 Algoritmo da Funo Encontrou( Efeitos )

97

pior := nmero muito grande


para I=1 at TP
faa
IR := escolhe aleatoriamente um ndice da TR.
Se IR corresponde a uma entrada vazia da TR
ento Atual := -100
seno Atual := Nmero de vitrias
Se Atual<pior
ento faa
pior := atual;
Ipior:= IR;
fim-se;
fim-para;
FIGURA A08 Algoritmo da Funo EscolhePiorRelao(TP)

Causas
(percepo e ao)

Pred

Predio

TR

Efeitos
encontrados

Encontrou

Erros de
predio

FIGURA A09 Modelo dos Principais Mdulos da Induo de Funo

98

Anexo 2 Listagem do Algoritmo EscolheAo do Agente


Predador Popperiano
funo EscolheAo(PercepoAtual)
1. Ao no faz nada // preferencialmente uma ao neutra
2. PercepoAtual[0] nenhuma ao
3. Encontrou(PercepoAtual)
4. Sair falso
5.
6. // transforma em plano as aes passadas?
7. se (encontra-se em satisfao) e
8.
(a ao passada foi escolhida por acaso) // por acaso = sem
planejamento
9.
ento faa
10.
gera plano idntico lista EstadosNoPlanejados
11.
Limpa a lista EstadosNoPlanejados
12.
fim-faa
13.
14.Otimiza todos os planos
15.
16.se (usando predio, prediz que alcana satisfao com uma nica ao)
17.
ento faa
18.
Ao a ao que leva satisfao
19.
Sair verdadeiro
20.
fim-faa
21.
22. //Age ao acaso?
23.se no(Sair) e
24.
(nmero aleatrio > constante)
25.
ento faa
26.
Ao gera Ao ao acaso
27.
Sair verdadeiro
28.
fim-faa
29.
30.se no(Sair)
31.
ento faa
32.
33.
// erro de planejamento?
34.
se (a ao passada foi planejada) e
35.
(o estado atual diferente do estado previsto no ciclo
36.
anterior a ser alcanado pelo planejamento) e
37.
(no se encontra satisfao)
38.
ento apaga o plano usado na ao passada
39.
40.
se PodeAgir(EstadoAtual,Ao) // existe plano para o estado
atual?
41.
ento faa
42.
43.
// a varivel Ao armazena a ao a ser tomada
44.
// gera novo plano com as aes passadas?
45.
se (a ao passada no foi planejada)
46.
ento faa
47.
gera novo plano com (a concatenao da lista
48.
EstadosNoPlanejados com o plano encontrado)
49.
Limpa a lista EstadosNoPlanejados
50.
fim-faa
51.
52.
// entrou em loop?
53.
se (Existe o EstadoAtual na lista de EstadosPlanejados)
54.
ento apaga o plano usado na ao passada.
55.
56.
Sair verdadeiro
57.
fim-faa
58.
seno faa // desenvolve planejamento
59.

99

60.
// erro de planejamento?
61.
se (no se encontra em satisfao) e
62.
(a ao passada foi planejada)
63.
ento apaga o ltimo plano usado
64.
65.
Inclui (EstadoAtual e ltimaAo)
66.
na lista EstadosNoPlanejados
67.
68.
se (consegue gerar novo plano) // Planeja Cegamente
69.
ento faa
70.
Sair verdadeiro
71.
Limpa a lista EstadosNoPlanejados
72.
fim-faa
73.
fim-faa
74.
fim-faa
75.
76.se (a ao atual planejada)
77.
ento Inclui (EstadoAtual e AoAtual) na lista EstadosPlanejados
78.
seno faa
79.
Limpa a lista EstadosPlanejados
80.
esquece qual foi o ltimo plano usado para escolha de ao
81.
fim-faa
82.
83.se (est em satisfao)
84.
ento Limpa a lista EstadosPlanejados
85.
86.PercepoAtual[0] Ao
87.Pred(PercepoAtual,PercepoAtual,PercepoEsperada)
88.Retorna (Ao)
89.fim-funo

100

Anexo 3 Listagem do Algoritmo EscolheAo do Agente


Minerador Popperiano
funo EscolheAo(PercepoAtual)
1. Ao no faz nada // preferencialmente uma ao neutra
2. PercepoAtual[0] nenhuma ao
3. Encontrou(PercepoAtual)
4. Sair falso
5.
6. // transforma em plano as aes passadas?
7. se (encontra-se em satisfao) e
8.
(a ao passada foi escolhida por acaso) // por acaso = sem
planejamento
9.
ento faa
10.
gera plano idntico lista EstadosNoPlanejados
11.
Limpa a lista EstadosNoPlanejados
12.
fim-faa
13.
14.Otimiza todos os planos
15.
16.se (usando predio, prediz que alcana satisfao com uma nica ao)
17.
ento faa
18.
Ao a ao que leva satisfao
19.
Sair verdadeiro
20.
fim-faa
21.
22.se no(Sair)
23.
ento faa
24.
25.
// erro de planejamento?
26.
se (a ao passada foi planejada) e
27.
(o estado atual diferente do estado previsto no ciclo
28.
anterior a ser alcanado pelo planejamento) e
29.
(no se encontra satisfao)
30.
ento apaga o plano usado na ao passada
31.
32.
se PodeAgir(EstadoAtual,Ao) // existe plano para o estado
atual?
33.
ento faa
34.
35.
// a varivel Ao armazena a ao a ser tomada
36.
// gera novo plano com as aes passadas?
37.
se (a ao passada no foi planejada)
38.
ento faa
39.
gera novo plano com (a concatenao da lista
40.
EstadosNoPlanejados com o plano encontrado)
41.
Limpa a lista EstadosNoPlanejados
42.
fim-faa
43.
44.
// entrou em loop?
45.
se (Existe o EstadoAtual na lista de EstadosPlanejados)
46.
ento apaga o plano usado na ao passada.
47.
48.
Sair verdadeiro
49.
fim-faa
50.
seno faa // desenvolve planejamento
51.
52.
// erro de planejamento?
53.
se (no se encontra em satisfao) e
54.
(a ao passada foi planejada)
55.
ento apaga o ltimo plano usado
56.
57.
Inclui (EstadoAtual e ltimaAo)

101

58.
na lista EstadosNoPlanejados
59.
60.
se (consegue gerar novo plano) // Planeja Cegamente
61.
ento faa
62.
Sair verdadeiro
63.
Limpa a lista EstadosNoPlanejados
64.
fim-faa
65.
fim-faa
66.
fim-faa
67.
68. //Age ao acaso?
69.se no(Sair) e
70.
(nmero aleatrio > constante)
71.
ento faa
72.
Ao gera Ao ao acaso
73.
Sair verdadeiro
74.
fim-faa
75.
76.se (a ao atual planejada)
77.
ento Inclui (EstadoAtual e AoAtual) na lista EstadosPlanejados
78.
seno faa
79.
Limpa a lista EstadosPlanejados
80.
esquece qual foi o ltimo plano usado para escolha de ao
81.
fim-faa
82.
83.se (est em satisfao)
84.
ento Limpa a lista EstadosPlanejados
85.
86.PercepoAtual[0] Ao
87.Pred(PercepoAtual,PercepoAtual,PercepoEsperada)
88.Retorna (Ao)
89.fim-funo

102

Bibliografia
[ALV97]

ALVARES, L.O.; SICHMAN, J. Introduo aos Sistemas


Multiagentes. In: JORNADA DE ATUALIZAO EM
INFORMTICA; 16.; CONGRESSO DA SBC, 17., 1997, Braslia.
Anais... Braslia: UnB, 1997. p.1-38.

[BEN86]

BENDA, Miroslav; JAGANNATHAN, V.; DODHIAWALA, R.


On Optimal Cooperation of Knowledge Sources: an empirical
investigation. Seattle: Boeing Advanced Technology Center, Boeing
Computing Services, 1986. (Technical Report BCS G2010-28).

[BEN2001] BEN
Goertzel Home
Page.
2001.
Disponvel
<http://www.goertzel.org/> Acesso em: 8 nov. 2002.
[BRO86]

em:

BROOKS, R. A Robust Layered Control System for a Mobile


Robot. IEEE Journal of Robotics and Automation, New York,
v.2, n.1, p.14-23, Mar. 1986.

[COR2000] CORDENONSI, Andre Zanki. Um Ambiente de Evoluo de


Comportamentos para Sistemas Multiagentes Reativos. 2000.
Dissertao (Mestrado em Cincia da Computao) Instituto de
Informtica, UFRGS, Porto Alegre.
[DAR87]

DARWIN, C. A Origem das Espcies. Rio de Janeiro: Tecnoprint,


1987.

[DEN97]

DENNETT, Daniel C. Tipos de Mentes. Rio de Janeiro: Rocco,


1997.

[DIE95]

DIECKMANN, U.; MARROW, P.; LAW, R. Evolutionary Cycling


in Predator-Prey Interactions: population dynamics and the red
queen. Journal Theoretical Biology, [S.l.], n. 176, p. 91-102,
1995.

[DOW98]

DOWLING, John E. Creating Mind. New York: W. W. Norton &


Company, 1998. p.9-40, 43-47, 62-80.

[DRO92]

DROGOUL, Alexis; FERBER, Jacques. From Tom Thumb to the


Dockers: some experiments with foraging robots. In:
INTERNATIONAL CONFERENCE ON SIMULATION OF
ADAPTATIVE BEHAVIOR ,2. , 1992. Proceedings... [S.l.: s.n.],
1992. p. 451-459

[EIG97]

EIGEN, Manfred. O que restar da biologia do sculo XX. In:


MURPHY, Michael P.; ONEILL, Luke A. J. O que Vida? 50
Anos Depois: especulaes sobre o futuro da biologia. So
Paulo: UNESP, 1997. p. 13-33.

[FEL88]

FELTRE, Ricardo. Qumica. So Paulo: Moderna, 1988. v. 3, p.


347-356.

103

[FEY82]

FEYNMAN, Richard P. Simulating Physics with Computers.


International Journal of Theoretical Physics, New York, v. 21,
n. 6-7, p. 467-488, 1982.

[GAR94]

GARDNER, Howard. Estruturas da Mente: a Teoria das


Inteligncias Mltiplas. Porto Alegre: Mdicas Sul, 1994.

[GOE2001] GOERTZEL, Ben. Digital Intuition: fragment of a secret book.


2001.
Disponvel
em
<http://www.goertzel.org/books/DIExcerpts.htm>. Acesso em: 8
nov. 2002.
[GUY91]

GUYTON, Arthur C. Neurocincia Bsica. Rio de Janeiro:


Guanabara Koogan, 1991. p.5, 84-88

[HAM87]

HAMEROFF, Stuart R. Ultimate Computing. Amsterdam:


Elsevier Science Publishers, 1987.

[HAY95a]

HAYNES, Thomas; SEN, Sandip. Evolving Behavioral Strategies


in Predator and Prey. In: INTERNATIONAL JOINT
CONFERENCE
ON
ARTIFICIAL
INTELLIGENCE
WORKSHOP ON ADAPTATION AND LEARNING IN
MULTIAGENT SYSTEMS. Proceedings... Pittsburgh: Morgan
Kaufmann, 1995. p.32-37.

[HAY95b]

HAYNES, Thomas et al. Strongly Typed Genetic Programming in


Evolving Cooperation Strategies. In: INTERNATIONAL
CONFERENCE ON GENETIC ALGORITHMS, 6., 1995.
Proceedings... Pittsburgh: Morgan Kaufmann, 1995.

[HAY98]

HAYES, Brian. The Invention of the Genetic Code. Disponvel


em: <http://www.amsci.org/amsci/issues/
Comsci98/compsci9801.html>. Acesso em: 8 nov. 2002.

[JAM84]

JAMES, Mike. Inteligncia Artificial em BASIC. Rio de Janeiro:


Campus, 1984. p.10-58.

[KAE96]

KAELBLING, L. P.; LITTMAN, M. L.; MOORE, A. W.


Reinforcement Learning: a introduction. Journal of Artificial
Intelligence Research, San Francisco, v.4, p. 237-285,1996.

[KAN97]

KANDEL, Eric R.; SCHWARTZ, James H.; JESSEL, Thomas M.


Fundamentos da Neurocincia e do Comportamento. Rio de
Janeiro: Guanabara Koogan, 1997. p.5-33, 110-160.

[KOH26]

KLER, Wolfgang. Psicologia: a inteligncia dos antropides. So


Paulo: tica. 1926. p.39-56.

[KOR92]

KORF, Richard E. A simple solution to pursuit games. In:


INTERNATIONAL
WORKSHOP
ON
DISTRIBUTED
ARTIFICIAL INTELLIGENCE, 11. ,1992. Proceedings... [S. l.: s.
n.], 1992. p.183-194.

[MAC89]

MACHADO, R. J. Handling Knowledge in High Order Neural


Networks: the combinatorial neural model. Rio de Janeiro: IBM
Rio Scientific Center, 1989. (Technical Report CCR076).

104

[MIN87]

MINSKY, Marvin. The Society of Mind. New York: Simon and


Schuster, 1987.

[MOR90]

MORAIS, Manuel. Logos - Enciclopdia Luso-Brasileira de


Filosofia. Lisboa: Verbo, 1990. p.1447-1463.

[MOS2001] MOSER, Lcio D. Um Modelo Conexionista de Aprendizagem


Baseado na Inteligncia Natural. 2001. 56f. Projeto de
Diplomao (Bacharelado em Cincia da Computao) Instituto
de Informtica, UFRGS, Porto Alegre.
[MU99]

MUOZ, Mauro E. S. Proposta de um Modelo de Esquema


Cognitivo Sensrio-Motor Inspirado na Teoria de Jean Piaget.
1999. Dissertao (Mestrado em Cincia da Computao)
Instituto de Informtica, UFRGS, Porto Alegre.

[NET92]

NETTER, Frank H. The CIBA Collection of Medical


Illustrations. [S. l.]: CIBA-GEIGY Corporation, 1996. v.1, p.154161.

[NIS97]

NISHIMURA, S.; IKEGAMI, T. Emergence of Collective


Strategies in Prey-Predator Game Model. Artificial Life,
Cambridge, MA, v.3, n.4, 1997.

[NOF98]

NOLFI, S.; FLOREANO, D. Co-evolving predator and prey robots:


Do 'arm races' arise in artificial evolution? Artificial Life,
Cambridge, MA, v.4, n.4,1998.

[NOR81]

NORA, James J.; FRASER, Clarke. Gentica Mdica. Rio de


Janeiro: Guanabara Koogan, 1991.

[PEN89]

PENROSE, Roger.
Campus, 1991.

[PEN 94]

PENROSE, Roger. Shadows of the Mind. New York: Oxford


University Press, 1994. p. 101

[PIA47]

PIAGET, J. O Nascimento da inteligncia na criana. Lisboa:


Publicaes Dom Quixote, 1986.

[PIN97]

PINKER, Steven. Como a Mente Funciona. So Paulo:


Companhia das Letras, 1997. p.32

[SAG77]

SAGAN, Carl. The Dragons of Eden: speculations on the


evolution of human intelligence. Toronto: The Ballantine Publishing
Group, 1977.

[SAG83]

SAGAN, Carl. COSMOS. Rio de Janeiro: Francisco Alves, 1983.


p.23-42.

A Mente Nova do Rei. Rio de Janeiro:

[SIM2001] SIMON, Haykin. Redes Neurais: princpios e prtica. Porto


Alegre: Bookman, 2001.
[STE95]

STERNBERG, Robert. Interview With Robert Sternberg.


Disponvel
em:
<http://www.skeptic.com/03.3.fm-sternberginterview.html>. Acesso em: 8 nov. 2002.

105

[STE96]

STEELS, Luc. The Origins of Intelligence. Disponvel em:


<http://arti.vub.ac.be/~steels/origin/origin.html>. Acesso em: 8 nov.
2002.

[STE90]

STEELS Luc, Cooperation Between Distributed Agents through


Self-Organisation.
In:
EUROPEAN
WORKSHOP
ON
MODELLING AUTONOMOUS AGENTS IN A MUITI-AGENT
WORLD. Decentralized AI. Amsterdam: Elsevier, 1990. p. 175196.

[SUT98]

SUTTON, Richard S. Reinforcement Learning: an introduction.


Cambridge, MA: Mit Press, 1998. Cap. 1.

[XTA2002] The
XTag
Project.
Disponvel
<http://www.cis.upenn.edu/~xtag/> Acesso em: 8 nov. 2002.
[WAH98]

em:

WAHDE, Mattias; NORDAHL, Mats G. Coevolving PursuitEvasion Strategies in Open and Confined Regions. In:
INTERNATIONAL CONFERENCE ON ARTIFICIAL LIFE,
6.,1998. Proceedings... Cambridge, MA: MIT Press, 1998.

[WAN2001] WANG, Pei. HyPlan file for Wang Pei. 2002. Disponvel em
<http://www.cogsci.indiana.edu/farg/peiwang/> Acesso em: 8 nov.
2002.
[WAN93]

WANG, Pei. Non-axiomatic Reasoning System (version 2.2). In:


NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE,
8., 1993. Proceedings... Menlo Park, CA: AAAI Press, 1993. p.
867-874.

[WAS93]

WASLAWICK, R. Um modelo operatrio para construo de


conhecimento. 1993. Tese (Doutorado em Cincia da
Computao) Departamento de Informtica e Estatstica, UFSC,
Florianpolis.