inteligência sem representação

47
INTELIGÊNCIA SEM REPRESENTAÇÃO Rodney A. Brooks http://people.csail.mit.edu/brooks/papers/representation.pdf Laboratório de Inteligência Artificial do MIT, 545 Technology Square, Rm. 836, Cambridge, MA 02139, USA Recebido em Setembro de 1987 Publicado originalmente sob o título “Intelligence without representation” em Artificial Intelligence 47 (1991), pp. 139-159. Este relatório descreve a pesquisa feita no Laboratório de Inteligência Artificial do Instituto de Tecnologia de Massachusetts (MIT). A pesquisa foi custeada pelo prêmio “IBM Faculty 9 Development Award”, por uma doação da System Development Foundation, pela University Research Initiative sob o Contrato de Pesquisa Naval N00014-86-K-0685, e pela Advanced Research Projects Agency, sob o Contrato de Pesquisa Naval N00014-85-K-0124. Resumo

Upload: joao-de-fernandes-teixeira

Post on 27-Sep-2015

17 views

Category:

Documents


0 download

DESCRIPTION

Tradução do artigo clássico de Rodney Brooks, o fundador da nova robótica.

TRANSCRIPT

Inteligncia sem representao

INTELIGNCIA SEM REPRESENTAORodney A. Brooks

http://people.csail.mit.edu/brooks/papers/representation.pdf

Laboratrio de Inteligncia Artificial do MIT, 545 Technology Square, Rm. 836, Cambridge, MA 02139, USA

Recebido em Setembro de 1987

Publicado originalmente sob o ttulo Intelligence without representation em Artificial Intelligence 47 (1991), pp. 139-159.

Este relatrio descreve a pesquisa feita no Laboratrio de Inteligncia Artificial do Instituto de Tecnologia de Massachusetts (MIT). A pesquisa foi custeada pelo prmio IBM Faculty 9 Development Award, por uma doao da System Development Foundation, pela University Research Initiative sob o Contrato de Pesquisa Naval N00014-86-K-0685, e pela Advanced Research Projects Agency, sob o Contrato de Pesquisa Naval N00014-85-K-0124.

Resumo

A pesquisa em inteligncia artificial encontra-se detida pela questo da representao. Quando a inteligncia abordada de maneira incremental, sendo ento compreendida estritamente como responsvel pela criao de uma interface com o mundo real atravs da percepo e da ao, sua dependncia para com a representao desaparece. Neste artigo, esboamos nossa abordagem incrementalidade na construo de Criaturas inteligentes completas. A decomposio fundamental do sistema inteligente no se d em termos de unidades de processamento independentes que precisam fazer interface umas com as outras atravs de representaes. Ao invs disso, o sistema inteligente decomposto em produtores de atividade paralelos e independentes que fazem interface direta com o mundo atravs da percepo e da ao, ao invs de se dedicarem principalmente a fazer interface uns com os outros particularmente. A separao entre sistemas centrais e sistemas perifricos desaparece: tudo central e perifrico. Com base nestes princpios, tivemos muito sucesso construindo uma srie de robs mveis que operam sem superviso como Criaturas em ambientes de escritrio padro.

1. Introduo

A inteligncia artificial comeou como um campo cujo objetivo era replicar o nvel humano de inteligncia em uma mquina. As esperanas iniciais diminuram quando se estimou a magnitude e a dificuldade do objetivo. Nos ltimos 25 anos, progrediu-se lentamente na demonstrao de aspectos isolados da inteligncia. Trabalhos recentes tendem a se concentrar em aspectos comercializveis, produzindo assistentes inteligentes para trabalhadores humanos. Ningum mais fala em replicar a gama completa da inteligncia humana. Ao invs disso, vemos um recuo para subproblemas especializados, tais como maneiras de representar o conhecimento, a viso ou at reas mais especializadas, como sistemas de manuteno da verdade ou verificao de planos. Todo trabalho nestas subreas tem como pedra de toque os tipos de tarefas que os seres humanos desempenham nestas reas. Mas entre os sonhadores que ainda se encontram trabalhando no ramo da IA (e no me refiro aos que esto sonhando com dlares), existe a sensao de que um dia todas essas partes vo cair em seus respectivos lugares e testemunharemos o aparecimento de sistemas verdadeiramente inteligentes.

Eu mesmo, bem como outras pessoas, acreditamos, entretanto, que a inteligncia de nvel humano complexa demais e que, alm disso, ainda temos dela uma compreenso incompleta demais, que no nos permite decomp-la nas partes certas, e mesmo que conhecssemos todas as partes, no conheceramos as interfaces certas entre elas. Alm disso, nunca entenderemos como decompor a inteligncia de nvel humano at que tenhamos praticado muito com inteligncias de nveis mais simples.

Neste artigo, portanto, eu defendo uma abordagem diferente para a criao de inteligncia artificial:

Precisamos ir criando as capacidades dos sistemas inteligentes de maneira incremental, dispondo de sistemas completos em cada uma das etapas, de tal modo que a validade das partes e das interfaces esteja automaticamente assegurada.

Em cada passo, devemos construir sistemas inteligentes completos que possamos soltar no mundo, dotados de percepo (sensing) real e ao real. Quando ficamos aqum disso, as chances de nos iludirmos so altas demais.

Uma srie de robs mveis autnomos foi construda seguindo-se esta abordagem. Chegamos a uma concluso inesperada (C) e possumos uma hiptese bem radical (H).

(C) Quando examinamos inteligncias de nveis bem simples, descobrimos que somos atrapalhados por representaes explcitas e modelos do mundo. Acaba sendo melhor usar o prprio mundo como seu modelo.

(H)A representao uma unidade de abstrao errada quando se trata de construir as partes mais robustas dos sistemas inteligentes.

A representao tem sido a questo central no trabalho sobre inteligncia artificial nos ltimos 15 anos somente porque ofereceu uma interface entre mdulos e artigos de conferncias que, de outra maneira, ficariam isolados.

2. A evoluo da inteligncia

J temos uma prova da existncia da possibilidade de entidades inteligentes: os seres humanos. Alm disso, muitos animais so inteligentes at certo grau. (H muita discusso a respeito deste ponto, e a maior parte dela diz respeito definio de inteligncia). Tais seres so o resultado de 4,6 bilhes de anos de evoluo na terra.

muito instrutivo refletir sobre como a evoluo biolgica terrena gastou todo esse tempo. Entidades unicelulares apareceram na sopa primordial h cerca de 3,5 bilhes de anos. Um bilho de anos se passou at que plantas fotossintticas aparecessem. Depois de quase um outro bilho e meio de anos, h cerca de 550 milhes de anos, os primeiros peixes e vertebrados apareceram, e ento os insetos, h 450 milhes de anos. A, as coisas comearam a se mover bem rapidamente. Os rpteis surgiram h 370 milhes de anos, seguidos por dinossauros h 330 milhes de anos e mamferos h 250 milhes de anos. Os primeiros primatas apareceram h 120 milhes de anos, e os predecessores imediatos dos grandes gorilas surgiram h apenas 18 milhes de anos. O homem chegou mais ou menos sua forma atual h 2,5 milhes de anos. Ele inventou a agricultura h apenas 10.000 anos, a escrita h 5.000 anos e conhecimento especializado h apenas algumas centenas de anos.

Isto sugere que o comportamento de soluo de problemas, a linguagem, o conhecimento especializado e sua aplicao, e a razo, so coisas muito simples uma vez que j esteja dada a essncia do ser e do reagir. Esta essncia a habilidade de se movimentar em um ambiente dinmico, percebendo-o (sensing) a um grau suficiente para alcanar a manuteno necessria da vida e da reproduo. Foi nesta parte da inteligncia que a evoluo concentrou seu tempo, por tratar-se de algo muito mais difcil.

Acredito que a mobilidade, a viso acurada e a habilidade de desempenhar tarefas relacionadas sobrevivncia em um ambiente dinmico oferecem uma base necessria para o desenvolvimento da verdadeira inteligncia. Moravec [11] defende esta mesma posio com muita eloqncia.

A inteligncia de nvel humano nos d uma prova de que a inteligncia existe, mas precisamos ser cuidadosos quanto s lies que podemos tirar disso.

2.1 Uma histria

Estamos nos idos de 1890. O vo artificial (VA) o assunto da moda nos crculos das cincias, da engenharia, e dos investimentos. Um dia, vrios pesquisadores de VA so miraculosamente transportados por uma mquina do tempo para a dcada de 1980 por algumas horas. Eles passam todo este tempo na cabine de passageiros de um Boeing 747 num vo comercial para passageiros de durao mdia.

Quando voltam aos idos de 1890, eles se sentem muito animados, sabendo que o VA possvel, e em larga escala. Eles imediatamente comeam a trabalhar na duplicao do que viram. Realizam grandes progressos no projeto de bancos reclinveis acolchoados, janelas com chapas duplas, e sabem que, to logo consigam entender como se fazem aqueles plsticos esquisitos, alcanaro o Clice Sagrado. (Dentre estes pesquisadores, alguns conexionistas conseguiram obter um relance de um motor destampado, e esto ocupados com inspiraes derivadas desta experincia.)

3. Abstraes como uma arma perigosaPesquisadores em inteligncia artificial costumam dizer que, freqentemente, nega-se IA o reconhecimento que lhe devido. H uma histria popular que diz que quando ningum tem nenhuma idia de como resolver um determinado problema (por exemplo, jogar xadrez), o problema fica conhecido como um problema de IA. Quando um algoritmo desenvolvido por pesquisadores em IA consegue resolver um tal problema com sucesso, entretanto, os detratores da IA dizem que, como o problema era passvel de soluo atravs de um algoritmo, no deveria ser, ento, um problema de IA. Assim, a IA nunca obtm nenhum sucesso. Por outro lado, fracassos em IA o que no falta...

Parece-me que os pesquisadores de IA compartilham desta concepo ilusria a respeito a si mesmos. Eles dividem os problemas nos quais trabalham em dois componentes. O componente de IA, que eles resolvem, e o componente que no diz respeito IA, que eles no resolvem. Tipicamente, a IA obtm sucesso dizendo que as partes de um determinado problema que no foram solucionadas no eram problemas de IA. O mecanismo mais empregado para essa diviso do problema em partes a abstrao. Ela geralmente vista como um procedimento cientfico legtimo, e no, como de fato utilizada na IA, como uma forma de auto-iluso. Na IA, a abstrao normalmente usada para decompor todos os aspectos das habilidades motoras e de percepo. Conforme discutirei abaixo, estes so justamente os hard problems resolvidos pelos sistemas inteligentes e, alm disso, a forma das solues para estes problemas restringe enormemente as solues corretas para as pequenas partes de inteligncia que sobram.

Os primeiros trabalhos em IA concentraram-se em jogos, problemas geomtricos, lgebra simblica, prova de teoremas e outros sistemas formais (ver, por exemplo, [6 e 9]). Em todos estes casos, a semntica dos domnios era bem simples.

Nos final dos anos sessenta e incio dos anos setenta, o mundo de blocos (block world) tornou-se um domnio bem popular para a pesquisa em IA, pois sugeria uma semntica uniforme e simples. A chave para o sucesso era representar o estado do mundo completamente e explicitamente. Tcnicas de busca poderiam, ento, ser usadas para a criao de planos dentro deste mundo to bem compreendido. O aprendizado tambm era possvel dentro do mundo de blocos; havia apenas alguns conceitos muitos simples que valiam pena aprender, e eles poderiam ser capturados enumerando-se o conjunto de subexpresses que precisam estar contidas em qualquer descrio formal de um mundo que inclui uma instncia do conceito. O mundo de blocos foi usado at para pesquisas sobre viso e robtica mvel, pois oferecia fortes restries sobre o processamento perceptual necessrio [12].

Eventualmente, foram feitas crticas no sentido de que o mundo de blocos era um mundo de brinquedo e que, dentro dele, havia solues simples de propsito geral para o que se poderia considerar problemas mais gerais. Ao mesmo tempo, houve uma crise de descobertas dentro da IA (tanto nos EUA quanto no Reino Unido, os dois lugares mais ativos em pesquisas de IA no mundo da poca). Os pesquisados de IA se viram obrigados a se tornarem mais relevantes, movendo sua ateno para domnios mais complexos, tais como planejamento de viagens, visitas a restaurantes, diagnsticos mdicos, etc.

Logo, surgiu um novo slogan: A boa representao a chave para a IA (por exemplo, programas conceitualmente eficientes, em [2]). A idia era que, ao representarmos explicitamente apenas os fatos relevantes, faramos com que a semntica de um mundo (muito complexo em sua superfcie) fosse reduzida a um sistema fechado mais uma vez. Abstrair apenas os detalhes relevantes, assim, simplificava os problemas.

Consideremos, por exemplo, uma cadeira. As duas caracterizaes a seguir so verdadeiras:

(PODE (SENTAR-SE PESSOA CADEIRA)), (PODE LEVANTAR-SE PESSOA CADEIRA))

Entretanto, o conceito de cadeira envolve muito mais do que s isso. As cadeiras tm uma superfcie (talvez) plana sobre a qual nos sentamos, e talvez um apoio para as costas. Elas tm diversos tamanhos possveis, precisam ser mais ou menos fortes, e podem assumir vrias formas distintas. s vezes, apresentam alguma espcie de cobertura, exceto quando feitas de madeira, metal ou plstico. s vezes, so macias em determinados lugares. Podem ter diversos estilos diferentes. O conceito de cadeira particularmente difcil de caracterizar com simplicidade. Certamente no h programa de IA para viso capaz de encontrar cadeiras arbitrrias em imagens arbitrrias; na melhor das hipteses, consegue-se encontrar um tipo particular de cadeira em imagens cuidadosamente selecionadas.

Esta caracterizao, entretanto, , talvez, a representao correta em IA para solucionar certos problemas; por exemplo, uma pessoa sentada em uma cadeira em um quarto est faminta, e v uma banana pendurada do teto a uma altura que no consegue alcanar. Problemas como estes nunca so propostos para sistemas de IA atravs de uma fotografia da cena. Uma pessoa (at uma criana bem jovem) pode fazer a interpretao correta da foto e sugerir um plano de ao. Para os sistemas de IA capazes de planejamento, entretanto, o experimentador precisa abstrair a maioria dos detalhes para formar uma descrio simples em termos de conceitos atmicos para conceitos do tipo PESSOA, CADEIRA e BANANAS.

Mas esta abstrao a essncia da inteligncia, e justamente o ncleo do problema a ser solucionado. No esquema atual, a abstrao feita pelos pesquisadores, de modo que sobra pouco a fazer para os programas de IA, exceto buscar. Um programa verdadeiramente inteligente seria capaz de estudar a fotografia, realizar a abstrao e ento solucionar o problema.

A nica entrada para a maioria dos programas de IA um conjunto restrito de afirmativas deduzido a partir de dados reais pelos seres humanos. Assim, passa-se por cima dos problemas do reconhecimento, do entendimento espacial, da habilidade de lidar com interferncias sensrias, dos modelos parciais, etc. Os problemas so relegados ao reino das caixas pretas de entrada. Evidncias psicofsicas sugerem que todos estes problemas esto intimamente ligados representao do mundo utilizada por sistemas inteligentes.

No mundo real, no h qualquer diviso clara entre a percepo (abstrao) e o raciocnio. A fragilidade dos sistemas de IA atuais tambm aponta para este fato. Por exemplo, o MYCIN [13] um expert em diagnosticar infeces bacterianas em seres humanos, mas, na realidade, no possui qualquer modelo do que um ser humano, ou do que qualquer criatura viva, e no sabe como elas funcionam, ou que coisas plausveis poderiam acontecer a um ser humano. Se dissermos ao MYCIN que a aorta se rompeu e que o paciente est perdendo sangue velocidade de meio litro por minuto, ele vai tentar encontrar uma causa bacteriolgica para tal problema.

Assim, uma vez que ainda realizamos todas as abstraes para nossos programas, a maioria do trabalho em IA ainda feito dentro do mundo de blocos. Os blocos, hoje, possuem formas e cores ligeiramente diferentes, mas sua semntica fundamental no mudou muito.

Poder-se-ia argumentar que a realizao desta abstrao (percepo) para os programas de IA nada mais, nada menos, que o emprego reducionista da abstrao, algo comum a toda boa cincia. A abstrao reduz os dados de entrada de tal maneira que o programa experimenta o mesmo mundo perceptual (Merkwelt, em [15]) que os seres humanos. Outros pesquisadores (da viso) preenchem os detalhes ausentes em algum outro momento ou lugar. H duas razes pelas quais me oponho a tais procedimentos. A primeira que, conforme apontado por Uexkll e outros, cada espcie animal e, claramente, cada espcie de rob, com seus prprios aparatos sensrios no-humanos distintos, possui seu prprio Merkwelt. Em segundo lugar, o Merkwelt que ns seres humanos oferecemos aos nossos programas baseado em nossa prpria introspeco. Contudo, nada aponta para que este mesmo Merkwelt seja utilizado internamente por ns: poder-se-ia tratar de uma codificao de sada para propsitos de comunicao (a maioria dos seres humanos, por exemplo, passa a vida sem jamais se dar conta de que eles possuem um grande ponto cego quase no centro de seu campo visual).

A primeira objeo nos adverte para o risco de que as estratgias de raciocnio desenvolvidas para os Merkwelt assumidos pelos seres humanos podem no ser vlidas quando so utilizados sensores reais e processamento real. A segunda objeo indica que at no que diz respeito aos sensores e percepo humanos, o Merkwelt pode no ser parecido com nada utilizado pelos seres humanos. De fato, pode ser que nossas descries introspectivas de nossas representaes internas sejam completamente enganosas, e bastante diferentes daquilo que realmente empregamos.

3.1 A histria continua

Enquanto isso, nossos amigos dos idos de 1890 esto ocupados trabalhando na sua mquina de VA. Eles concordaram entre si com o fato de que o projeto grande demais para ser trabalhado como uma entidade nica e que, portanto, tero que se tornar especialistas em diferentes reas. Afinal, eles perguntaram coisas aos passageiros do vo e descobriram que a Boeing empregava cerca de 6.000 pessoas para construir um avio como aquele.

Todos esto ocupados, mas no h muita comunicao entre os grupos. As pessoas que esto fazendo os bancos dos passageiros empregam o melhor e mais slido ao nas estruturas. Houve algumas discretas sugestes de que se utilizasse ao tubular para economizar peso, mas o consenso geral foi de que aquele avio enorme e pesado conseguia voar e, portanto, no devia haver problema com o peso.

No seu vo de observao, nenhum dos membros do grupo conseguiu ver o assento do piloto. Depois de pensar muito, estabeleceram alguns parmetros gerais de como tal assento deveria funcionar: O assim-chamado piloto deve posicionar-se em um assento sobre um cho de vidro, para que ele possa ver onde pousar. H espelhos laterais para que ele possa visualizar aeroplanos que estejam se aproximando. Seus controles consistem em um pedal para controlar a velocidade (como naqueles novos automveis que esto aparecendo) e um volante para virar para a esquerda e para a direita. Alm disso, o eixo do volante pode ser puxado para frente ou para trs de modo a fazer o avio subir ou descer. Um arranjo inteligentemente feito com tubos possibilita a medio da velocidade do avio, que exibida em um mostrador de ponteiros. O que mais poderia ser necessrio? Ah, claro: um quebra-vento, para que o piloto possa pegar uma brisa fresca sem que o ar bata com muita fora no seu rosto.

interessante observar que todos os pesquisadores abandonaram o estudo da aerodinmica. Alguns deles questionaram insistentemente os passageiros, mas nenhum dos modernos viajantes areos sabia uma palavra sobre o assunto. Claramente, os pesquisadores de VA tinham desperdiado tempo preocupando-se com isso.

4. Inteligncia incrementalEu gostaria de construir agentes mveis completamente autnomos que coexistissem no mundo com os seres humanos e que fossem visto por estes seres humanos como entidades inteligentes por si mesmas. Chamarei estes agentes de Criaturas. Esta a minha motivao intelectual. Eu no tenho nenhum interesse particular em demonstrar como funcionam os seres humanos, embora os seres humanos, assim como os outros animais, sejam objetos de estudo interessantes, porquanto sejam agentes autnomos de sucesso. No tenho interesse particular nas aplicaes prticas: parece claro que se meus objetivos forem alcanados, a gama de aplicaes para estas Criaturas poder ser limitada apenas por nossa imaginao (ou pela imaginao deles). No tenho qualquer interesse particular nas implicaes filosficas das Criaturas, embora esteja claro que tais implicaes sero numerosas.

Diante das advertncias tratadas nas sees anteriores, e considerando a parbola das pesquisas de VA, estou convencido de que necessrio prosseguir cuidadosamente neste esforo para evitar armadilhas.

Consideremos, ento, por hora, que o problema de construir as Criaturas um problema de engenharia. Desenvolveremos uma metodologia de engenharia para construir as Criaturas.

Em primeiro lugar, consideremos alguns das exigncias que nossas Criaturas devem cumprir:

Uma Criatura deve lidar com as mudanas em seu ambiente dinmico de maneira apropriada e com razovel velocidade.

Uma Criatura deve ser resiste com respeito ao seu ambiente; mudanas pequenas nas propriedades do mundo no devem levar ao colapso total do comportamento da Criatura. Ao contrrio, espera-se apenas que haja uma mudana gradual nas capacidades da Criatura conforme o ambiente muda mais e mais.

Uma Criatura deve ser capaz de manter mltiplos objetivos e, dependendo das circunstncias nas quais se encontra, deve poder mudar os objetivos que est perseguindo, de modo a ser capaz tanto de se adaptar, quanto de aproveitar circunstncias fortuitas.

Uma Criatura deve fazer algo no mundo. Sua existncia deve ter algum propsito.

Consideremos, agora, algumas das abordagens de engenharia vlidas para cumprir com estas exigncias. Como em todos os esforos em engenharia, necessrio decompor o sistema complexo em partes, construir as partes, e ento proporcionar uma interface para que elas componham um sistema completo.

4.1 Decomposio por funoTalvez a noo mais forte e tradicional de sistemas inteligentes (pelo menos aquela que est implcita entre as pessoas que trabalham com IA) a de um sistema central com mdulos perceptuais que funcionam como entrada (inputs) e mdulos de ao que funcionam como sada (outputs). Os mdulos perceptuais apresentam uma descrio simblica do mundo e os mdulos de ao pegam uma descrio simblica de aes desejadas, fazendo com que elas aconteam no mundo. O sistema central, portanto, um processador de informaes simblicas.

Tradicionalmente, o trabalho em percepo (e a viso a forma de percepo mais comumente estudada) e em sistemas centrais tem sido feito por diferentes pesquisadores, e at por laboratrios de pesquisa totalmente diferentes. As pessoas que trabalham com a viso no so imunes s crticas anteriores feitas s pessoas que trabalham com IA em geral. A maioria das pesquisas sobre viso apresentada como uma transformao de uma representao em imagem (por exemplo, uma imagem bruta em tons de cinza) em uma outra imagem registrada (por exemplo, uma imagem com contornos). Ambos os grupos, IA e viso, faz suposies a respeito da forma das interfaces simblicas. Quase ningum j conseguiu conectar um sistema de viso a um sistema central inteligente. Assim, nada obriga que as suposies feitas por pesquisadores independentes sejam realistas. Assim, as presses para que aspectos parciais do trabalho sejam nitidamente circunscritos so, por sua vez, uma fonte de perigo real.

O sistema central tambm precisa ser decomposto em pedaos menores. Podemos reconhecer alguns campos de estudos dentro da IA: representao de conhecimento, aprendizado, planejamento, raciocnio qualitativo, etc. As interfaces entre estes mdulos tambm esto sujeitas ao abuso intelectual.

Quando os pesquisadores que trabalham com um mdulo em particular escolhem tanto as entradas quanto as sadas que especificam os requerimentos do mdulo, acredito que h pouca chance de que, posteriormente, estes mdulos se encaixem em um sistema inteligente completo.

Este bug na abordagem da decomposio funcional difcil de consertar. Seria preciso uma longa cadeia de mdulos para conectar percepo e ao. Para testar qualquer um deles, eles todos precisam, primeiramente, ser construdos. Mas enquanto mdulos realistas no so construdos, permanece impossvel predizer exatamente quais mdulos sero necessrios, ou de que interfaces eles precisaro.

4.2 Decomposio por atividade

H uma outra maneira de proceder na decomposio, a qual no faz distino entre sistemas perifricos, tais como a viso, e sistemas centrais. Ao invs disso, a diviso fundamental do sistema inteligente feita na direo ortogonal que o divide em subsistemas produtores de atividades. Cada sistema de produo de atividade ou comportamento conecta individualmente uma sensao a uma ao. Ns nos referimos a aos sistemas de produo de atividade como sendo camadas. Uma atividade um padro de interaes com o mundo. Tambm poderamos chamar as atividades de habilidades, enfatizando que cada atividade pode, pelo menos depois do ato cumprido, ser racionalizada como estando orientada a algum propsito. Escolhemos a palavra atividade, entretanto, porque nossas camadas precisam decidir quanto agir por si mesmas; no se tratam de sub-rotinas que esto dependentes de alguma outra camada e que so evocadas por elas.

A vantagem desta abordagem que ela proporciona um caminho incremental que vai desde sistemas muito simples at sistemas inteligentes autnomos complexos. A cada etapa do caminho, s necessrio construir uma pequena parte, e fazer uma interface entre ela e uma inteligncia existente, funcional e completa.

A idia que, primeiramente, preciso construir um sistema autnomo completo muito simples, e test-lo no mundo real. Nosso exemplo favorito de um tal sistema uma Criatura, um rob mvel que capaz de desviar-se de outros objetos. Ele percebe (senses) os objetos imediatamente prximos a ele e desvia-se deles, parando quando percebe algo em seu caminho. Ainda necessrio construir este sistema decompondo-o em partes, mas no necessrio fazer uma distino entre um sistema de percepo e um sistema central e um sistema de ao. De fato, pode-se at empregar dois canais independentes conectando a percepo ao (um para iniciar o movimento, e um para parar em caso de emergncia), de tal modo que no haja um lugar nico onde uma percepo (entendida como faculdade, perception) d uma representao do mundo no sentido tradicional.

Em seguida, construmos uma camada de inteligncia que opera em paralelo com o primeiro sistema. Ela ligada ao sistema existente (o qual j foi submetido a um debug) e testada novamente no mundo real. Esta nova camada pode acessar diretamente os sensores, e rodar um algoritmo diferente sobre os dados apresentados pelo primeiro sistema. Este sistema autnomo de primeiro nvel continua a rodar em paralelo, ignorando a existncia do segundo sistema. Por exemplo, em [3], mostramos como construmos um primeiro nvel de controle que permitia Criatura desviar de objetos, adicionando, em seguida, uma camada que insinuava a possibilidade de uma atividade de tentar visitar locais distantes visveis. A segunda camada injetava comandos na parte da primeira camada em que ficava o motor de controle, direcionando o rob para seu objetivo, mas, independentemente, a primeira camada fazia com que o rob se desviasse de obstculos previamente invisveis. A segunda camada monitorava o progresso da Criatura e enviava comandos motores atualizados, alcanando, assim, seu objetivo, sem ficar explicitamente consciente de eventuais obstculos, com os quais o nvel de controle mais baixo j tinha lidado.

5. Quem tem as representaes?

Com mltiplas camadas, a noo de percepo que proporciona uma descrio do mundo deixada um pouco de lado, ainda mais em vista do fato de que a parte do sistema que est encarregada da percepo est espalhada por diversas partes que no esto particularmente conectadas por caminhos de dados ou relacionadas por funes. Certamente, no h um lugar identificvel onde a sada da percepo pode ser encontrada. Alm disso, tipos de processamento completamente diferentes uns dos outros operam sobre os dados dos sensores independentemente e em paralelo, cada um afetando a atividade do sistema total atravs de canais de controle bem diferentes.

De fato, no atravs do projeto das Criaturas, mas pela observao da maneira como elas se comportam, que verificamos que a ausncia de representao um tema comum em cada uma das etapas atravs das quais nossa abordagem de construo de sistemas distribudos e montados em camadas possibilita que nossas Criaturas realizem seus objetivos.

A representao de atividades simples de baixo nvel pode instigar, na Criatura, reaes a mudanas perigosas ou importantes em seu ambiente. Sem representaes complexas e sem a necessidade de manter estas representaes e raciocinar a respeito delas, as reaes podem ter lugar de maneira mais fcil, e com suficiente rapidez para servir seu propsito devidamente. A idia principal perceber (sense) o ambiente freqentemente e, portanto, ter uma idia atualizada do que est acontecendo no mundo.

Por desenvolver mltiplas atividades paralelas, e por remover a idia de uma representao central, h menos chance de que uma dada mudana no tipo de propriedades pertinentes ao mundo possa causar um colapso total do sistema. Ao invs disso, o que se espera que uma dada mudana possa, no mximo, incapacitar algum dos nveis de controle, mas no todos. Gradualmente, na medida em que se entra em um mundo cada vez mais estranho (no sentido de que suas propriedades so diferentes das propriedades do mundo em que as camadas individuais passaram pelo processo de debug), a performance da Criatura poderia continuar a degradar-se. Uma vez que no se tenta construir um modelo anlogo do mundo, localizado no centro do sistema, a possibilidade de ficarmos dependentes da exatido de um tal modelo bem menor. Ao invs de trabalhar com um modelo, o que as camadas individuais fazem extrair apenas aqueles aspectos [1] do mundo que so projees relevantes de uma representao em um subespao simples, por assim dizer. As mudanas na estrutura fundamental do mundo tm uma chance menor de serem refletidas em cada uma daquelas projees do que teriam de aparecer sob a forma de uma dificuldade em relacionar consultas (queries) a um modelo de mundo nico central.

Pode-se pensar cada camada de controle como tendo seu prprio propsito implcito (ou objetivo, caso se queira insistir nesta palavra). Uma vez que se trata de camadas ativas, sendo processadas em paralelo e com acesso aos sensores, elas podem monitorar o ambiente e decidir sobre quo apropriados so seus objetivos. s vezes, os objetivos podem ser abandonados quando as circunstncias no so propcias ou, s vezes, circunstncias fortuitas podem ser aproveitadas. A idia chave aqui utilizar o mundo como seu prprio modelo, e confrontar continuamente com o mundo real as precondies de cada objetivo. Uma vez que h um hardware diferente para cada camada, possvel confrontar tantos objetivos quanto puderem existir em paralelo, de tal modo que a tentativa de adicionar mais objetivos no implica o problema de adicionar cada vez mais sofisticao a um mesmo processador, ou at de exigir um multiprocessador com uma rede do tipo capacity-bounded. O propsito da Criatura est implcito em seus propsitos objetivos ou camadas de nvel mais alto. No precisa haver representao explcita dos objetivos que alguns processos centrais (ou distribudos) selecionam para decidir qual a ao mais apropriada para a Criatura.

5.1 Ausncia de representao contra ausncia de representao central

Assim como no h representao central, no h nem mesmo um sistema central. Cada camada produtora de atividade conecta a percepo ao diretamente. Apenas o observador da Criatura atribui a ela uma representao central ou controle central. A prpria Criatura no dispe de nada deste tipo; ela s dispe de uma coleo de comportamentos que competem. Do caos local das interaes entre estes comportamentos emerge, aos olhos do observador, um padro coerente de comportamento. No h um ponto central dotado de propsito ou responsvel pelo controle. Minsky [10] tambm oferece um relato semelhante da maneira como o comportamento humano gerado.

preciso observar que no estamos afirmando que o caos um ingrediente necessrio ao comportamento inteligente. De fato, defendemos a engenharia cuidadosa de todas as interaes dentro do sistema (a evoluo teve a vantagem de dispor de escalas de tempo incrivelmente longas e de um nmero enorme de experimentos individuais e, assim, ela talvez tenha sido capaz de dispensar esta engenharia cuidadosa).

Afirmamos, entretanto, que no precisa haver qualquer representao explcita, seja do mundo ou das intenes do sistema, para gerar comportamentos inteligentes para uma Criatura. Sem representaes deste tipo, e quando analisadas do ponto de vista local, as interaes podem, de fato, parecer caticas e sem propsito.

Parece-me que h algo mais do que isso, entretanto. Mesmo em um nvel local, no temos as representaes tradicionais de IA. Nunca usamos sinais (tokens) com uma semntica que pode ser adicionada a eles. O mximo que pode ser dito a respeito da nossa implementao que um nmero passa de um processo para outro, mas s quando se olha para o estado tanto do primeiro quanto do segundo processo que este nmero pode ser interpretado.

Um extremista diria que, na verdade, temos representaes, mas que elas so implcitas. Com um mapeamento apropriado do sistema completo e seu estado com relao a outro domnio, poderamos definir uma representao codificada na forma destes nmeros e conexes topolgicas entre processos. Entretanto, no nos sentiramos muito bem chamando coisas como estas de representao. H diferenas demais do que est em jogo aqui e do que se entende exatamente por representao. No h varivel (para um tratamento mais completo disto, ver, por exemplo, [1]) que exijam sua instanciao em processos de raciocnio. No h regras que precisam ser selecionadas atravs da equiparao de padres. No h escolhas a serem feitas. Em grande medida, o estado do mundo determina a ao da Criatura. Simon [14] observou que a complexidade do comportamento de um sistema no necessariamente inerente complexidade da criatura, mas talvez complexidade do ambiente. Ele fez esta anlise em sua descrio de uma Formiga caminhando na praia, mas ignorou suas implicaes no pargrafo seguinte ao falar sobre os seres humanos. Nossa hiptese (seguindo Agre e Chapman) de que grande parte at mesmo da atividade de nvel humana , de maneira similar, uma reflexo do mundo atravs de mecanismos muito simples, sem representaes detalhadas.

6. A metodologia na prticaPara construir sistemas baseados em uma decomposio de atividades, de modo que sejam verdadeiramente resistentes, precisamos seguir uma metodologia cuidadosa.

6.1 Mximas metodolgicasEm primeiro lugar, de importncia vital testar as Criaturas que construmos no mundo real, isto , no mesmo mundo em que habitam os seres humanos. desastroso cair na tentao de test-las primeiramente em um mundo simplificado, mesmo com as melhores intenes de, mais tarde, transferir a atividade para um mundo no-simplificado. Com um mundo simplificado (paredes pintadas com um acabamento fosco, vrtices retangulares em toda parte, e blocos coloridos como os nicos obstculos), muito fcil acabar construindo, acidentalmente, um submdulo do sistema que depende de algumas destas propriedades simplificadas. Esta dependncia pode, ento, refletir facilmente nas exigncias sobre as interfaces entre aquele submdulo e os outros. A doena ento se espalha, e o sistema completo acaba dependendo sutilmente do mundo simplificado. Quando chega o momento de seguir para o mundo no-simplificado, gradualmente e dolorosamente nos damos conta de que cada pedao do sistema precisa ser reconstrudo. E pior: pode ser necessrio repensar o projeto total, pois as questes podem mudar completamente. Quanto ao procedimento de se testar Criaturas simplificadas, adicionando-se camadas de controle mais sofisticadas com o tempo, ele nos parece razoavelmente seguro, pois a evoluo teve sucesso utilizando justamente esta abordagem.

Em segundo lugar, cada camada vai sendo extensivamente testada no mundo real enquanto construda. O sistema precisa interagir com o mundo real ao longo de perodos extensos. Seu comportamento precisa ser observado e submetido a um processo de debug cuidadoso e completo. Quando uma segunda camada adicionada a uma camada j existente, h trs fontes possveis de bugs: a primeira camada, a segunda camada, e a interao entre as duas camadas. Eliminar a possibilidade da primeira destas fontes de bug faz com que seja muito mais fcil encontr-los. Alm disso, h apenas uma coisa a se variar na tentativa de concertar os bugs: a segunda camada.

6.2 Um instanciamento da metodologiaConstrumos uma srie de quatro robs baseados na metodologia da decomposio por tarefas. Todos eles operam em um mundo dinmico que no sofreu interferncias (reas de laboratrio e escritrio no Laboratrio de Inteligncia Artificial do MIT). Eles funcionam adequadamente com pessoas que andam perto deles, pessoas que tentam confundi-los deliberadamente, e pessoas que ficam paradas olhando para eles. Todos os quatro robs so Criaturas no sentido de que, ao serem ligadas, elas existem no mundo e interagem com ele, perseguindo mltiplos objetivos determinados por suas camadas de controle que implementam diferentes atividades. Isto os diferencia dos robs que recebem programas ou planos a serem seguidos para realizar uma misso especfica.

Os quatro robs so apresentados na Figura 1. Dois deles so idnticos, de modo que, na verdade, h apenas trs projetos. Um deles usa uma mquina LIPS offboard para a maioria das suas computaes, dois usam redes combinacionais onboard e o outro usa um processador onboard paralelo customizado. Todos os robs implementam a mesma arquitetura abstrata, que chamamos de arquitetura de subsuno (subsumption architecture), e que incorpora as idias fundamentais da decomposio em camadas de comportamentos de realizao de tarefas, e da composio incremental atravs de debug no mundo real. Detalhes a respeito desta implementao podem ser encontrados em [3].

(o leitor convidado a reportar-se ao texto original na internet para visualizar a figura)Fig. 1. Os quatro Mobots do laboratrio de IA do MIT. extrema esquerda est Allen, o primeiro a ser construdo, e que trabalha com uma mquina LISP offboard que d suporte computacional. extrema direita est Herbert, que tem o centro do corpo envolvido por um processador CMOS de 24 ns (nodes). Novos sensores e processadores de viso mais rpidos ainda sero construdos e instalados. No meio esto Tom e Jerry, baseados em chassis de brinquedo, e cujos controladores so PALs (Programmable Array of Logic) avulsos.

Cada camada na arquitetura de subsuno composta de uma rede de topologia fixa de mquinas de estado finito. Cada mquina de estado finito possui uma srie de estados, um ou dois registradores internos, um ou dois timers internos, e acesso a mquinas computacionais simples, que so capazes de computar somas de vetores e coisas deste tipo. As mquinas de estado finito rodam assincronicamente, enviando e recebendo mensagens de comprimento fixo (1 bit nos robs menores e 24 bits nos robs maiores) atravs de cabos. Em nosso primeiro rob, usamos cabos foram virtuais; em nossos robs posteriores, usamos cabos fsicos para conectar os componentes computacionais.

No h uma sede de controle. Ao invs disso, as mquinas de estado finito so acionadas pelos dados contidos nas mensagens que recebem. A chegada de mensagens ou a expirao de perodos de tempo designados faz com que as mquinas de estado finito alterem seu estado. As mquinas de estado finito possuem acesso aos contedos das mensagens e podem apresent-las como sada, test-las com um predicado e fazer um desvio condicional (conditional branch) para um estado diferente, ou pass-las para elementos de computao simples. No h possibilidade de acesso a dados globais, nem de ligaes de comunicao dinamicamente estabelecidas. Assim, no h possibilidade de controle global.Todas as mquinas de estado finito so iguais e, no entanto, so prisioneiras das suas conexes de topologia fixa.

As camadas so combinadas atravs de mecanismos que chamamos de supresso (da o nome arquitetura de subsuno) e inibio. Em ambos os casos, medida que as novas camadas so adicionadas, faz-se uma conexo lateral (side-tap) em um dos cabos j existentes. Uma constante de tempo j definida associada com cada conexo lateral. No caso da supresso, a conexo lateral ocorre na conexo lateral de entrada da mquina de estado finito. Se uma mensagem chega rede de cabos, ela direcionada para a porta de entrada (input port) da mquina de estado finito, como se tivesse chegado pelo cabo j existente. Alm disso, quaisquer novas mensagens no cabo j existente so suprimidas (isto , rejeitadas) pelo perodo de tempo especificado. No caso da inibio, a conexo lateral ocorre no lado de sada da mquina de estado finito. Uma mensagem no novo cabo simplesmente inibe as mensagens sendo emitidas no cabo j existente pelo perodo de tempo especfico: ao contrrio do que ocorre na supresso, a nova mensagem no apresentada em lugar delas.

Consideremos, por exemplo, as trs camadas da Figura 2. H trs camadas de controle que empregamos em nosso primeiro rob mvel por cerca de um ano. Os sensores primrios do rob consistem em um anel de doze sonares ultrassnicos. A cada segundo, estes sonares so ativados, dando doze medidas radiais de profundidade. A recepo do sonar fica cheia de interferncia, devido ao fato de que muitos objetos so espelhos para o sonar. H, assim, problemas com reflexo especular e com caminhos de retorno que seguem mltiplas reflexes devido a deslizes de superfcie com baixos ngulos de incidncia (menos de 30 graus).

Em termos mais detalhados, as trs camadas funcionam da seguinte maneira:

(1) A camada de nvel mais baixo implementa um comportamento que faz com que o rob (a encarnao fsica da Criatura) evite bater em objetos. Ele desvia tanto dos objetos estticos quanto dos objetos mveis, at mesmo daqueles que o esto atacando ativamente. A mquina de estado finito chamada sonar simplesmente ativa os dispositivos de sonar e, a cada segundo, emite um mapa instantneo com as leituras convertidas em coordenadas polares. Este mapa passado para as mquinas de estado finito colidir e sentir-fora. A primeira delas simplesmente observa para ver se h alguma coisa parada adiante e, em caso afirmativo, ela envia uma mensagem de parar para a mquina de estado finito responsvel por fazer com que o rob siga em frente: mas se esta mquina no estiver no estado correto, a mensagem pode muito bem ser ignorada. Simultaneamente, a outra mquina de estado finito computa uma fora repulsiva no rob, baseada em uma lei do inverso do quadrado, na qual cada retorno do sonar considerado como indicando a presena de um objeto repulsivo. As contribuies de cada sonar so adicionadas para produzir uma fora total que age no rob. A sada passada pra a mquina fugir, que a filtra (thresholds) e encaminha para a mquina virar que orienta o rob diretamente para longe da fora repulsiva computada. Finalmente, a mquina adiante move o rob para frente. Sempre que esta mquina recebe uma mensagem de parar enquanto o rob est se movendo para frente, ela d um comando para que o rob pare.

Esta rede de mquinas de estado finito gera comportamentos que fazem com que o rob se desvie de objetos. Se ele comea no meio de um quarto vazio, ele simplesmente fica parado l. Se algum se mover em direo a ele, ele sai da frente. Se ele se move em direo a outros obstculos, ele pra. De forma geral, ele capaz de existir em um ambiente dinmico sem bater em outros objetos e evitando que outros objetos batam nele.

A prxima camada faz com que o rob se locomova, quando no est ocupado evitando chocar-se com outros objetos. A mquina de estado finito locomover gera uma direo randmica para o rob mais ou menos a cada 10 segundos. A mquina desviar trata esta direo como uma fora atrativa, e soma-a com a fora repulsiva computada dos sonares. Ela usa o resultado para suprimir o comportamento de nvel mais baixo, forando o rob a mover-se em uma direo prxima que foi decidida pela mquina locomover mas, ao mesmo tempo, evitando eventuais obstculos. Observe que se as mquinas de estado finito virar e adiante estiverem ocupadas dirigindo o rob, o novo impulso para locomover-se ser ignorado.

O leitor fica convidado aqui a se reportar ilustrao no texto original na internet) (Conectamos algumas mquinas de estado finito umas s outras atravs de cabos, formando camadas de controle. Cada camada construda sobre as camadas j existentes. As camadas de nvel mais baixo nunca dependem da existncia das camadas de nvel mais alto.)(3) A terceira camada faz com que o rob tente explorar. Ele procura lugares distantes, e ento tenta alcan-los. Esta camada suprime a camada de locomoo, e observa como a camada inferior desvia o rob devido a obstculos (talvez obstculos dinmicos). Ela faz correes em vista de eventuais divergncias, e o rob alcana seu objetivo.

A mquina de estado finito quando-olhar observa quando o rob no est ocupado movendo-se, ento d partida mquina de estado finito que funciona como um buscador de espao livre (chamado de stereo no diagrama). Ao mesmo tempo, ela inibe o comportamento de locomoo, para que a observao feita permanea vlida. Quando um caminho observado, ele enviado para a mquina de estado finito chamada planejar-caminho, a qual injeta um comando de direo na mquina de estado finito evitar. Desta forma, o comportamento de se desviar de obstculos, promovido pelos nveis mais baixos continua funcionando. Isso faz com que o rob siga para uma direo diferente daquela desejada pelo planejar-caminho. Por esta razo, o caminho efetivo do rob monitorado pela mquina de estado finito chamada integrar, que envia estimativas atualizadas para a mquina planejar-caminho. Esta mquina ento atua como uma mquina diferencial que fora o rob a seguir na direo desejada, compensando o caminho efetivo do rob na medida em que ele evita obstculos.

Estas camadas particulares foram implementadas em nosso primeiro rob, conforme explicamos com maiores detalhes em [3]. Brooks e Connell [5] discutem a implementao de mais trs camadas neste rob.

7. Do que no se trata aqui

Vista por alto, a arquitetura de subsuno, com sua rede de mquinas simples, lembra certas abordagens mecanicistas inteligncia, tais como o conexionismo e as redes neurais. Mas h muitas diferenas com relao a estas perspectivas, e tambm com relao a diversas outras tradies ps-Dartmouth em inteligncia artificial. Explicaremos brevemente estas diferenas nas sees seguintes.

7.1 No se trata de conexionismo

Os conexionistas tentam fazer redes de processadores simples. Assim, as coisas que eles constroem (apenas em simulao, pois nenhum conexionista jamais colocou nenhum rob de verdade em um ambiente real, no importa quo simples) so similares s redes de subsuno que construmos. Entretanto, seus ns de processamento tendem a ser uniformes, e o que eles buscam (conforme sugere seu nome) so revelaes a respeito de como conecta-los corretamente (algo que, geralmente, significa realizar conexes quantitativamente ricas). Nossos ns so mquinas de estado finito diferentes umas das outras, e a densidade de conexes muito menor: certamente, no uniforme, e muito baixa entre as camadas. Alm disso, os conexionistas parecem estar querendo que representaes explcitas distribudas emirjam espontaneamente de suas redes. Ns no temos esperanas deste tipo, porque acreditamos que as representaes no so necessrias, e aparecem apenas no olho ou na mente do observador.

7.2 No se trata de redes neurais

A abordagem por redes neurais a disciplina original da qual o conexionismo a encarnao mais recente. As pessoas que trabalham com redes neurais alegam que h alguma significao biolgica em seus ns de redes: como se eles fossem modelos de neurnios. A maioria dos modelos parece implausvel, pois o nmero de conexes modeladas muito reduzido em comparao com as milhares de conexes que realmente existem entre os neurnios. Quanto a ns, no pretendemos que nossa escolha por mquinas de estado finito tenha qualquer significao biolgica.

7.3 No se trata de regras de produo

Cada camada individual de produo de atividade de nossa arquitetura poderia ser vista como uma implementao de uma regra de produo. Quando as condies certas so encontradas no ambiente, uma determinada ao realizada. Dizer que estamos trabalhando com sistemas de produo de regras a mesma coisa que dizer que qualquer programa em FORTRAN com sentenas IF est implementando um sistema de produo de regras. Um sistema de produo de regras tpico muito mais do que isso, na verdade: ele tem uma base de regras, na qual uma regra selecionada em funo de uma checagem das precondies de todas as regras frente a um banco de dados. As precondies podem incluir variveis que precisam ser comparadas com indivduos dentro do banco de dados, mas nossas camadas funcionam em paralelo e no possuem variveis, e tampouco precisam de procedimentos de comparao. Ao invs disso, extraem-se aspectos do mundo, os quais disparam ou modificam certos comportamentos da camada.

7.4 No se trata de quadro negro

Talvez fosse possvel fazer uma analogia entre as nossas redes e uma arquitetura de controle de quadro negro (blackboard control architecture). Algumas das mquinas de estado finito seriam as fontes de conhecimento localizado. Outras, seriam os processos que agem nestas fontes de conhecimento, encontrando-as no quadro negro. Entretanto, h um ponto simplificador na nossa arquitetura: todos os processos sabem exatamente onde procurar no quadro negro quando esto conectados ao lugar certo. Acho que esta analogia forada indica sua prpria fraqueza. Quando um processo capaz de obter um conhecimento apropriado, no h flexibilidade. A maioria das arquiteturas avanadas de quadro negro fazem uma utilizao pesada do compartilhamento e disponibilidade gerais de quase todo o conhecimento. Alm disso, pelo menos em esprito, os sistemas de quadro negro tendem a esconder dos consumidores de conhecimento quem foram os produtores dos conhecimentos. Este o meio primrio de abstrao em sistemas de quadro negro. Em nosso sistema, utilizamos conexes deste tipo explicitamente e permanentemente.

7.5 No se trata de filosofia alem

Heidegger obteve muito crdito em determinados crculos que o tm como algum que teria entendido a dinmica da existncia. Nossa abordagem tem algumas similitudes com trabalhos inspirados por este filsofo alemo (por exemplo, [1]), mas nosso trabalho no teve uma inspirao deste tipo. Baseamo-nos unicamente em consideraes de engenharia. Entretanto, isso no impede que nosso trabalho possa ser utilizado em um debate filosfico como um exemplo para sustentar qualquer das opinies envolvidas.

8. Limites para o crescimento

Uma vez que nossa abordagem baseada em performance, a performance dos sistemas que construmos que precisa ser usada para medir sua utilidade e para apontar para suas limitaes.

Estamos convencidos de que, at meados de 1987, utilizando a arquitetura de subsuno para implementar Criaturas completas, possumos os robs mveis em tempo real mais reativos que existem. A maioria dos outros robs ainda esto no estgio de experimentos e testes individuais em ambientes estticos ou, no melhor dos casos, em ambientes estticos completamente mapeados. Os nossos, por outro lado, operam de maneira completamente autnoma em ambientes dinmicos complexos to logo apertamos o boto de ligar, e continuam a operar at que suas baterias acabem. Acreditamos que operam em um nvel de inteligncia que est mais prximo do nvel de inteligncia simples de inseto do que do nvel de bactria. Nosso objetivo atingir o nvel simples de inteligncia de inseto dentro de dois anos. A evoluo demorou 3 bilhes de anos para sair das clulas individuais para os insetos, e mais 500 milhes de anos para sair da para os seres humanos. No citamos estes dados para fazer estimativas sobre nossa performance futura, mas para indicar como o nvel de inteligncia de inseto no algo trivial.

Apesar da boa performance at agora, h diversas questes muito srias a respeito de nossa abordagem. Temos crenas e esperanas a respeito de como estas questes sero resolvidas; contudo, de acordo com nossos critrios, o que importa realmente apenas a performance. Fazer experimentos e construir de sistemas mais complexos algo que exige muito tempo e, assim, em vista da advertncia de que os experimentos que descreveremos a seguir no foram feitos ainda, esboaremos como atualmente vemos a progresso de nossos esforos. Nossa inteno ao discutir isso indicar que h pelo menos um caminho plausvel adiante que leva a mquinas mais inteligentes, partindo de nossa situao atual.

Nossa crena que os tipos de camadas de controle produtoras de atividade que estamos desenvolvendo (tarefas relacionadas mobilidade, viso e sobrevivncia) so pr-requisitos necessrios para o nvel mais alto de inteligncia que atribumos aos seres humanos.

As perguntas mais srias e mais naturais relativas aos limites de nossa abordagem so as seguintes:

Quantas camadas podem ser construdas atravs da arquitetura de subsuno antes que as interaes entre as camadas se tornem complexas demais para continuarmos?

Quo complexos podem ser os comportamentos que so desenvolvidos sem o auxlio de representaes centrais?

Podero funes de nvel mais alto, tais como aprendizado, ocorrer nestas redes de topologia fixa de mquinas de estado finito simples?

Esboaremos, a seguir, nossas idias a respeito destas questes.

8.1 Quantas camadas?

At hoje, trs camadas foi o mximo que j pusemos para rodar em um rob fsico. Em simulao, j rodamos seis camadas paralelas. A tcnica de submeter o rob a um processo completo de debug em todas as camadas de produo de atividade antes de desenhar e adicionar uma nova camada parece praticvel, pelo menos at agora.

8.2 A questo da complexidade

Atualmente, estamos trabalhando para alcanar um padro de comportamento complexo que exigir aproximadamente quatorze camadas de produo de atividade individuais.

O rob possui sensores infravermelhos de proximidade que ajudam a evitar obstculos locais. Ele possui um manipulador onboard que pode segurar objetos que estejam no cho ou na altura de uma mesa, e tambm determinar seu peso aproximado. A mo possui sensores de profundidade montados nela, de modo que a aproximao a um alvo a ser agarrado pode ser controlada diretamente. Estamos trabalhando em um scanner estrutural a laser que ser colocado na parte dianteira do rob e ser capaz de fazer mapas gerais de profundidade.

O comportamento de alto nvel que estamos tentando instigar nesta Criatura que ela se locomova por reas de escritrio de nosso laboratrio, encontre portas abertas, encontre latas de refrigerante vazias no alto de mesas bagunadas, e leve-as at um depsito central.

De modo a alcanar este comportamento total, diversos comportamentos de realizao de atividades mais simples so necessrios. Estes comportamentos incluem: desviar-se de objetos, seguir paredes, reconhecer portas, passar por elas, orientar-se em funo de certas localizaes a serem aprendidas, aprender a encontrar no ambiente os pontos de referncia que levam aos objetivos, localizar objetos semelhantes a mesas, aproximar-se deles, procurar objetos cilndricos mais ou menos da altura de latas de refrigerante no alto das mesas, utilizar o brao de manipulao, mover a mo at os objetos percebidos, utilizar o sensor da mo para procurar objetos do tamanho de latas de refrigerante que estejam ressaltando diante do fundo, segurar os objetos, se forem leves o suficiente, e depositar objetos.

As tarefas individuais no precisam ser coordenadas por nenhum controle central. Ao invs disso, elas podem ser indexadas a partir do estado do mundo. Por exemplo, o comportamento de agarrar pode fazer com que o manipulador agarre qualquer objeto do tamanho apropriado que seja visto pelos sensores da mo. O rob vai agarrar randomicamente qualquer objeto, entretanto, pois apenas no momento em que outras camadas de comportamento percebem um objeto mais ou menos da forma correta no alto de um objeto semelhante a uma mesa que o comportamento de agarrar estar em uma posio tal que sua percepo do mundo o dir como reagir. Se, visto de cima, o objeto no parece mais uma lata de refrigerante, o rob no ter o reflexo de agarrar, e outros comportamentos de nvel mais baixo faro com que ele procure novos candidatos em outro lugar.

8.3 Ser possvel o aprendizado e outros comportamentos deste tipo?

Alguns insetos apresentam um tipo simples de aprendizado que foi batizado de aprendizado por instinto [7]. A hiptese que as abelhas fabricantes de mel, por exemplo, so pr-programadas (pre-wired) para aprender como distinguir certos tipos de flores, e para aprender caminhos que vo desde a colmia at fontes de nctar. Outros insetos, as borboletas, conforme foi demonstrado, so capazes de aprender a distinguir as flores, mas possuem um limite na quantidade de informaes que podem reter [8]. Se elas so foradas a aprender sobre um segundo tipo de flor, esquecem o que j sabiam a respeito da primeira flor, o que sugere que a quantidade total de informao que elas sabem reter permanece constante.

Descobrimos uma maneira de construir, a partir de nossas mquinas de estado finito, e sob a forma de um subsistema isolado, redes de topologia fixa que so capazes de um comportamento de aprendizado em um nvel comparvel ao dos exemplos dados. No momento, claro, estamos numa posio idntica dos outros pesquisadores de IA que esculhambamos no incio do presente artigo. Temos um mdulo isolado de sistema que funciona, e as entradas e sadas esto dependuradas, sem conexo.

Estamos trabalhando para remediar esta situao, mas o trabalho experimental com as Criaturas fsicas uma atividade nada trivial que consome um bocado de tempo. Descobrimos que quase qualquer equipamento ou software pr-projetado contm tantos preconceitos a respeito de sua utilizao que acabam no sendo flexveis o suficiente para tornarem-se parte de um sistema completo. Assim, no meio de 1987, nosso trabalho a respeito do aprendizado estancou, esperando a construo de um novo tipo de cmera de vdeo e de caixa de processamento de alta velocidade e baixo consumo de energia para rodar algoritmos de viso especialmente desenvolvidos a 10 frames por segundo. Cada um destes passos constitui um esforo significativo em engenharia, que estamos realizando to rapidamente quanto permitem nossos recursos.

Mas falar fcil e barato.

8.4 O futuro

Nossos experimentos com Criaturas reais em mundos reais podem responder as dvidas naturais a respeito de nossa abordagem. S o tempo dir.

Agradecimentos

Phil Agre, David Chapman, Peter Cudhea, Anita Flynn, David Kirsh e Thomas Marill nos ajudaram muito com seus comentrios a verses anteriores deste artigo.

Referncias

[1] P. E. Agre e D. Chapman: Unpublished memo. MIT Artificial Intelligence Laboratory, Cambridge, MA (1986).

[2] R. J. Bobrow e J. S. Brown: Systematic understanding: synthesis, analysis and contingent knowledge in specialized understanding systems. In: R. J. Bobrow e A. M. Collins (eds.): Representation and Understanding. New York: Academic Press, 1975, pp. 103-129.

[3] R. A. Brooks: A robust layered control system for a mobile robot. In: IEEE J. Rob. Autom. 2. 1986. pp. 14-23.

[4] R. A. Brooks: A hardware retargeatable distributed layered architecture for mobile robot control. In: Proceedings IEEE Robotics and Automation. Raleigh, 1987, pp. 106-110.

[5] R. A. Brooks e J. H. Connell: Asynchronous distributed control system for a mobile robot. In: Proceedings SPIE. Cambridge, 1986, pp.7-84.

[6] E. A. Feigenbaum e J. A. Feldman (eds.): Computers and Thought. San Francisco: McGraw-Hill, 1963.

[7] J. L. Gould e P. Marler: Learning by instinct. In: Sci. Am., 1986, pp. 74-85.

[8] A. C. Lewis: Memory constraints and Rower choice in pieris rapae. In: Science 232 (1986), pp. 863-865.

[9] M. L. Minsky (ed.): Semantic Information Processing. Cambridge: MIT Press, 1968.

[10] M. K. Minsky: Society of Mind. New York: Simon and Schuster, 1986.

[11] H. P. Moravec: Locomotion, vision and intelligence. In: M. Brady e R. Paul (eds.): Robotics Research 1. Cambridge: MIT Press, 1984, pp. 215-224.

[12] N. J. Nilson: Shakey the robot, Tech. Note 323, SRI AI Center, Menlo Park, CA, 1984.

[13] E. H. Shortlife: MYCIN: Computer-Based Medical Consultations. New York: Elsevier, 1976.

[14] H. A. Simon: The Sciences of the Artificial. Cambridge: MIT Press, 1969.

[15] J. Von Uexkll: Umwelt und Innenwelt der Tiere. Berlin, 1921.