03 dezembro, 2006

Esboço impensado.

A imprensa brasileira parece ter incorporado um discurso "generalista", não-ideologizado, derivado da superfície da globalização econômica e cultural, e talvez por isso sofra ataques tanto da esquerda mais convicta ("elitista", "denuncista acéfala"), da direita mais convicta ("esquerdista", "covarde") e mesmo dos nem-tão-convictos-que-preferem-confiar-mais-na-inteligência-por-si ("amadorismo em assuntos como economia e ciência"). A imprensa já não fala mais ao público que se pretende de "maior substância" -- na verdade um tanto deslumbrados e ingênuos --, nem consegue representar bem os nem-tão-facilmente-impressionáveis, porque tem sido mais um reflexo da realidade prática do cotidiano apressado que nos envolve, de informação exponencialmente crescente e conhecimento desvalorizado. Seu trabalho nem sempre é completamente informado e dificilmente envolve algum esforço analítico e rigor suficiente. Essa imprensa fala agora de fato para um grupo distinto; tanto os deslumbrados quanto os não-impressionáveis já migraram há algum tempo para outra plataforma informativa, a Internet, de onde têm ao menos mais facilidade para confrontar fontes distintas e algum espaço para análise e discussão. A velha imprensa parece estar então confinada a um público que não tem qualquer "pretensão construtiva" e que por isso exibe uma margem de influência muito pequena. No entanto, os dois grupos rivais de deslumbrados cultiva hoje uma crescente obsessão por patrulhar essa velha imprensa e transformá-la em seu campo de batalha preferencial, fingindo ter ela um impacto muito maior que o real.

Temos então, de um lado, um grupo que denuncia o fato da imprensa ter supostamente "abandonado os anseios populares e passado a falar para si mesma". Inconformado, esse grupo pleiteia, em diferentes níveis de organização, a implementação de diversos mecanismos de incentivos que direcionem a atividade ao supostamente existente "interesse nacional comum". Do outro lado, há um grupo que legitimamente reconhece a ameaça do cerceamento a liberdade -- apresentada pelo grupo rival sob disfarce de progressismo e sensibilidade social --, mas prefere responder a isso de forma histérica e ineficiente, usualmente aplicando um arcabouço tão frágil quanto o primeiro, fundamentado em premissas profundamente irrealistas. Entre esses dois grupos parece não haver a menor possibilidade de debate.

Para nossa verdadeira desgraça, o terceiro grupo -- o dos não-impressionáveis --, que idealmente teria maior facilidade para dialogar com os outros dois, tem encontrado grandes dificuldades. Há os que são acusados de na verdade militar em um dos extremos e os que são desqualificados justamente por não se alinhar de forma sistemática. O principal, porém, é o grande desinteresse da massa não-fortemente-ideologizada e não-consciente de consumidores de informações em qualquer consideração mais profunda e de longo-prazo da realidade. O resultado é que diante disso -- talvez até por higiene --, muitos preferem se recolher e esperar a emergência de um ambiente menos inóspito às inteligências.

02 dezembro, 2006

Quimiotaxia e Otimização III.

III. Quimiotaxia bacteriana

Neste post serão considerados aspectos individuais e coletivos da quimiotaxia bacteriana. Como modelo-padrão para apresentação dos conceitos biofísicos fundamentais envolvidos será utilizada a Escherichia coli (E. coli). Morfologicamente, a E.coli apresenta todas as principais estruturas que comparecem em seres unicelulares. Entretanto, uma estrutura em especial se destaca: os flagelos, responsáveis pela locomoção.

Um dos microorganismos mais conhecidos na atualidade (seu código genético já foi inteiramente mapeado), a E. coli exibe uma taxa de mutação[1] de aproximadamente 10^-7 mutações por gene, por geração. Ainda que sua reprodução ocorra através de uma simples duplicação (em um ambiente com suficiente quantidade de nutrientes e temperatura adequada[2] uma E. coli pode sintetizar o necessário para uma duplicação em 20 minutos), ocasionalmente ocorrem transferências diretas unidirecionais de material genético entre células.

O principal foco deste post é o tipo de sistema de controle que a E. coli parece implementar, permitindo-a buscar nutrientes e evitar substâncias nocivas (por exemplo, se afastando de ambientes básicos e ácidos, em direção a regiões mais neutras). Aspectos sensoriais, bem como as estruturas de "atuação" (os flagelos), a determinação das ações de controle e o comportamento em malha-fechada (comportamento mótil) serão brevemente abordados.

Movimento flagelar

A E. coli conta com um conjunto de flagelos relativamente rígidos que a impulsionam via rotação das bases em torno de seus próprios eixos (a uma velocidade média de 100-200 rps). O sentido de rotação das bases dos flagelos definem, em última instância, os dois tipos fundamentais de movimento exibidos pela bactéria. Girando em sentido anti-horário a ação dos flagelos acarreta um deslocamentounidirecional da bactéria. Já uma rotação em sentido horário faz com que as forças exercidas pelos flagelos sobre a célula tendam a impulsioná-la em diversas direções ao mesmo tempo, o que resulta em uma mudança "aleatória" da direção de movimento[3] (com um deslocamento muito pequeno). Tal movimento se justifica como uma forma de aumentar as chances da bactéria seguir um rumo que a faça atingir regiões mais favoráveis para obter nutrientes. Naturalmente a sequência de movimentos e a duração de um deslocamento unidirecional dependerão explicitamente do fato da região em que se encontra a bactéria possuir nutrientes ou substâncias nocivas (ou ser neutra), ou ainda da presença de um gradiente nutritivo ou nocivo (dependente da variação espacial da densidade de nutrientes ou substâncias nocivas).

Em geral, o tempo gasto em cada um dos tipos básicos de movimento e a velocidade no deslocamento unidirecional (também) dependem das características do meio em que a bactéria se encontra e das condições experimentais em vigor. Assim, em meio isotrópico (sem gradientes) o tempo médio gasto em uma mudança de direção é de 0,14 +- 0,19 segundos e de 0,86 +- 1,18 segundos em um deslocamento unidirecional (distribuição normal) (Berg, 2000). Nesse mesmo meio, se deslocam a 14,2 +- 3,4 micrômetros/segundo). Em outro meio podem se deslocar a 10 vezes seu comprimento corporal por segundo (considerando um valor típico de 2 micrômetros/segundo)[4]. Naturalmente outros movimentos e consequências surgem desse complexo sistema de locomoção e das interações da célula com o meio (dependendo do ambiente uma bactéria pode sofrer um deslocamento de 30^0 por segundo devido ao movimento browniano[5]).

Comportamento Mótil

O padrão emergente de comportamento em um grupo de bactérias (especificamente na E. coli) reflete, em última instância, a necessidade de procurar nutrientes e evitar fenômenos prejudiciais. O comportamento mótil padrão, equivalente ao procedimento de buscar nutrientes, ou seja, em meio neutro, é formado por uma alternância entre deslocamentos contínuos (unidirecionais) e mudanças aleatórias) de direção. Já um meio nutritivo homogêneo induz algumas alterações, como elevação da velocidade e duração dos deslocamentos contínuos e redução da duração das mudanças de direção.

A presença de gradientes, por sua vez, resulta em alterações ainda mais profundas. Em tais condições é natural pensar que a bactéria passará mais tempo em deslocamento que mudando de direção. Em um gradiente nutritivo ascendente (ou nocivo descendente) uma bactéria irá elevar seu tempo de deslocamento, enquanto que em um meio descendente retornará ao seu comportamento padrão (busca de um gradiente nutritivo ascendente ou nocivo descendente). Vale ressaltar também a dependência da duração do deslocamento com a derivada temporal da concentração de nutrientes.

A maior parte das bactérias são móveis, com muitas destas possuindo quimiotaxias muito próximas às da E. coli, exceto pela atividade sensorial e o mecanismo de determinação da ação de controle. Vale ressaltar que diversas outras taxias são exibidas por bactérias, motivadas pela busca (ou evitar) de oxigênio, temperaturas mais favoráveis, luz em certos comprimentos de onda, linhas magnéticas, entre outras.

Controle

A atividade sensorial nas bactérias (em especial na E. coli) é realizada através de proteínas receptoras que são diretamente ativadas por "perturbações" (químicas) externas. A sensibilidade desse sistema garante que, em certas situações, sejam necessárias menos de 10 moléculas da substância atratora (ou repulsora) paragerar uma reação em menos que 200 milisegundos (alto ganho com pequeno limiar de detecção)[6].

Como mencionado na seção anterior, as bactérias possuem capacidade para aproximar algo como uma derivada temporal, a partir de um tipo de amostragem da concentração. Sob certas condições experimentais uma célula irá comparar a concentração no último segundo com às observadas nos 3 segundos anteriores, ou seja, serão utilizados 4segundos de informação (e o "cálculo" de uma diferença) para uma decisão de movimento ser tomada (Segall et al, 1986). O processo pode ser modelado como uma função ponderada: quando a convolução da resposta dessa função a um estímulo é positiva, a probabilidade de mudança de direção decresce, o que efetivamente aumenta a duração dos deslocamentos contínuos, na direção de gradientes (nutritivos)ascendentes(Brenner et al, 1998).

----
[1] As mutações na E. coli podem afetar, por exemplo, seu desempenho reprodutivo em diferentes temperaturas.
[2] Os 37 graus Celsius médios do estômago humano são ideais.
[3] Existe uma pequena tendência de que a bactéria será apontada para a mesma direção que possuia antes do movimento.
[4] Embora em um meio mais rico possa se deslocar ainda mais rapidamente.
[5] Após 10 segundos as perturbações podem ter sido suficientes para mudar totalmente a direção da bactéria. Além disso, os próprios flagelos podem induzir outros tipos de movimento, como a rotação em torno de um eixo (Spassino, 2002).
[6] Naturalmente esse limiar dependerá também de condições do ambiente: o inerente à situação em que se passa de um gradiente nutritivo ascendente a um meio neutro, por exemplo, é maior.

----
- Berg, H., Motile behavior of bacteria, Phys. Today, January/2000, pp. 24-29
- Spassino, K., Biomimicry of bacterial foraging for distributed optimization and control, IEEE Control Systems Magazine, June/2002.
- Segall, J., and Block, S., and Berg, H., Temporal comparisons in bacterial chemotaxis, Proc. Natl. Acad. Sci., December/1986, pp. 8987-8991.
- Brenner, M.P., and Levitov, L.S., and Budrene, E.O., Physical mechanisms for chemotactic pattern formation by bacteria, Biophysical Journal, April/1998, pp. 1677-1693.

Quimiotaxia e Otimização II.

II. Estratégias para Busca de Alimentos

A mencionada maximização da razão entre volume de energia obtida e tempo dispendido na sua obtenção (ou, de outra forma, a maximização do volume de energia obtida por unidade de tempo) garante ao indivíduo, além dos nutrientes necessários ao funcionamento de seu mecanismo metabólico, tempo adicional para dedicar-se a outrasimportantes atividades (reprodução, descanso, construção de abrigos, migração). Claramente, o espectro de vantagens que um conjunto eficiente de estratégias de obtenção de nutrientes oferece é amplo.

As características de cada grupo de espécies influem, em grande medida, na formação de alguns padrões de similaridade entre as formas usadas para conseguir alimento. Assim, para espécies para as quais a obtenção de nutrientes não parece ser difícil, a quantidade que deve ser ingerida é grande (nos herbívoros, por exemplo).Para outros grupos de espécies, a ingestão de pequenas quantidades com alto valor nutritivo, ainda que sua obtenção seja difícil, pode ser mais vantajosa (carnívoros).

A atividade de busca boa parte das vezes passa por decisões como quando um indivíduo ou grupo deve entrar em um nicho para buscar nutrientes, ou quando continuar a busca no nicho atual ou buscar outro. Embora em geral sejam encontrados de forma sequencial, o deslocamento entre nichos pode envolver um esforço (riscos)considerável. Assim, uma decisão como essa deve passar pela avaliação dos esforços e riscos envolvidos. Por exemplo, permanecer em um nicho enquanto este ainda apresentar nutrientes pode ser perigoso quanto a aproximação de predadores: mesmo que haja proteção dentro do nicho a presença do predador (que muitas vezes pode tergrande resistência) pode impedir o deslocamento do grupo por tempo suficiente para que os recursos se esgotem.

A formulação das estratégias de busca como um problema de otimização deu origem a uma série de ferramentas computacionais e analíticas que ajudaram a compreender a forma como as decisões envolvidas são tomadas. Ao mesmo tempo, foram estabelecidas estratégias ótimas, dadas todas as restrições relevantes envolvidas. Ainda quebiologicamente essa otimização não encontre validade considerável, pode-se dizer que as espécies implementam um modelo aproximado desses mecanismos (ótimos) de controle.

Quimiotaxia e Otimização.

I. Introdução

Como conseqüência natural do intrincado mecanismo que rege as interações biológicas (a nível ecológico) sabe-se que as espécies menos adaptadas à sobrevivência em um ambiente muitas vezes inóspito têm menos chances de propagar seu material genético às futuras gerações. Uma das instâncias em que se avalia a adaptação de uma espécie diz respeito às suas estratégias para obtenção dos nutrientes que lhes garantirão os recursos necessários à uma reprodução exitosa. Desse modo, os mecanismos da seleção natural tendem a privilegiar as espécies que apresentam um conjunto mais eficiente de estratégias para garantir a carga energética inerentemente envolvida em seus metabolismos. Ao longo de muitas gerações as espécies que obtêm nutrientes de forma menos eficiente são, portanto, ou eliminadas ou adaptadas ("reprojetadas'') até atingir uma forma considerada satisfatória.Nas últimas décadas foi convencionada a análise das estratégias de busca e ingestão de alimentos como um problema de otimização: um indivíduo de uma espécie buscarásempre maximizar a razão entre a energia obtida e o tempo despendido em sua obtenção, sujeitos à restrições advindas de sua própria fisiologia (habilidadescognitivas e mecanismos sensoriais, por exemplo) ou impostas pelo ambiente(densidade da presa em uma dada região, presença de predadores, característicasfísicas de uma região de busca, etc.). Ao longo de todo o processo evolutivo essasrestrições puderam ser equilibradas, resultando na emergência de um conjunto deestratégias (sub-)ótimas. Os modelos de otimização nesse caso possuem(sendo desejável possuir), muitas vezes, correspondência ecológica explícita, eenvolvem até mesmo características do comportamento social das espécies (gruposde indivíduos que cooperam ativamente na busca dos nutrientes).Com esta seqüência de posts pretende-se introduzir algo que talvez possa ser considerado um novo conceito de otimização, para o qual as estratégias baseiam-se explicitamente nos mecanismos que resultam no comportamento médio na quimiotaxia (nome dado ao conjunto de movimentos empreendidos com o objetivo de obter nutrientes[1]) de bactérias. Como modelo-padrão será utilizada a Escherichia coli, provavelmente a bactéria mais estudada e conhecida. Ainda assim, comportamentos mais complexos (no espectro cognitivo) também serão mencionados, com especial atenção a alguns daqueles que emergem da Myxococcus xanthus. Dentro do objetivo primordial deste material, o principal foco de abordagem estará sobre os mecanismos biofísicos subjacentes aos comportamentos estudados, como forma de estabelecer conceitos fundamentais à compreensão das vantagens da aplicação dos modelos em problemas de otimização. Serão abordadas tanto a quimiotaxia individual quanto a de grupo, estabelecidas as vantagens desse tipo de cooperação. Embora não seja um conceito absolutamente novo[2], sua aplicação direta em problemas de engenharia (especialmente controle) parece ser recente. Dois exemplos simples serão apresentados ao final, como forma de ilustrar os mecanismos básicos aqui descritos. Finalmente, dois assuntos importantes serão colocados, ainda que de forma a constituir linhas de investigação para o futuro: a contextualização desse grupo de métodos estocásticos entre alguns dos já existentes (especialmente os que compartilham uma inspiração biológica explícita) e seu potencial como forma de estimação paramétrica em problemas de aproximação de funções.

----
[1]Ainda que uma definição mais rigorosa corresponda a um movimento em meio a um gradiente químico, não necessariamente envolvendo substâncias que possam ser usadas pela bactéria em algum processo metabólico.
[2]Considerando, aqui, o conceito de modelos deotimização baseados no conjunto de ações (especialmente de grupo) de uma espécie para obtenção de nutrientes. Assim, é conhecida a aplicação de um método pertencente a uma classe relativa à colônias de formigas.

29 novembro, 2006

Abstract Nonsense [(quase) sem links].

"Maverick Mathologist" é o termo com que o matemático americano Paul Richard Halmos* se auto-definiu**. No jargão próprio de PRH, "mathologist" é um matemático puro, que ele defendia ser diferenciado do "mathophysicist" -- alguém que faz matemática aplicada --, para o bem de ambos (embora os primeiros setejam muito mais interessados na distinção) ***.

Mas o fato é que apesar de ter nascido para a "mathology", acabei trilhando um caminho inverso. Graduei-me em engenharia elétrica (ênfase em automação e controle). No mestrado, dediquei-me a modelagem matemática via dados experimentais (especialmente dinâmica caótica). Agora, no doutorado, estou com os oligopólios mistos (mas com alguma aplicação ao setor elétrico).

Nesse ponto, é interessante notar que os primeiros posts deste blog tenham dado ao Hermenauta uma impressão tecnicista: "Um cara vidrado em Hardware Evolutivo". A série de posts abaixo resulta de um survey paper (puramente descritivo) que preparei ainda na graduação, publicado em periódico. Como não tinha especial motivação com síntese de controladores, arquiteturas de rede e afins, eu sempre buscava vôos mais altos. Uma rápida nota numa Scientific American de aproximadamente 2000 despertou-me a atenção (e então pouco se encontrava sobre o assunto em português). O que veio depois manteve-me ocupado e feliz por uma semana +. Então é preciso que fique claro que a série de posts retrata bem o que aconteceu com o Hardware Evolutivo desde sua criação até mais ou menos o fim da década de 1990. Desde então não acompanhei mais os avanços, embora eu tenha mantido a atualização em minha lista de tarefas pelos últimos 5 anos. Se o material ainda é referência sobre o assunto em português (na Internet) é porque faltou um esforço maior de divulgação (e aqui temos um grupo forte na PUC-Rio, com um especialista brasileiro que passou pela Nasa, Ricardo Zebulon).

Apesar das aparências este blog não surge com intenção tecnicista clara. Este será seu foco apenas ocasional, desde que o tema em si seja de apego quase emocional e que eu tenha grande interesse em divulgar (de uma forma um pouco mais extensa e cuidadosa) em português ++. Porém, nem sempre serão postados textos consolidados e acessíveis. A vindoura série "Quimiotaxia e Otimização", por exemplo, aparecerá em estado bruto (está mal escrito) e exigirá certos pré-requisitos para ser aproveitada +++.

Eu não estou queimando pontes (ao menos não oficialmente :^), mas apenas tentando fazer com que as pessoas valorizem os caminhos alternativos.

* PRH nasceu na Hungria -- assim como John vou Neumann e Paul Erdös --, mas sempre rejeitou a exploração da conexão. Ele deixou o país aos 13, e não dá qualquer crédito ao período húngaro sobre sua formação. O descobri recentemente e caí de amores por seu estilo. PRH sempre achou que a matemática não precisa receber financiamento público, e que assim o esforço de explicar sua importância aos formuladores de políticas -- e de torná-la mais atrativa -- não é justificável. Achava também que a matemática não precisa de computadores -- exceto talvez em áreas como teoria de números (mas ainda assim: "Efficiency is meaningless. Understanding is what counts"). Ele faleceu no último dia 02 de outubro, aos 90 anos de idade.

** Em entrevista concedida ao também matemático Donald J. Albers, originalmente publicada no "Two-Year College Mathematics Journal" em setembro de 1982 (volume 13, número 14).

*** Para expressar essa visão, PRH publicou um artigo provocativamente entitulado "Applied Mathematics is Bad Mathematics" (incluído na coletânea "Mathematics Tomorrow", 1981, da Springer-Verlag; L.A. Steen (ed.)). Basicamente, ambas formas estão, ao menos em um sentido trivial e um tanto frívolo, /enraizadas/ no mundo físico, mas a matemática pura não teme divergir dele (ou mesmo /deve/ divergir) ao longo do seu desenvolvimento. Mas isso em geral não significa que ela não possa ser "útil". No caminho da matemática pura podem surgir /sub-produtos/ teóricos que terminam encontrando (então quase que por sorte) aplicações no mundo físico. Mas enquanto o "physicist" tende a ver na aplicabilidade a única (ou maior) justificativa para a teoria, o matemático puro vê na conexão estabelecida o único aspecto interessante da aplicação (De gustibus non disputandum est?). Uma instância particularmente interessante dessa discussão está representada na /teoria das categorias/, que estudantes em difíceis momentos de auto-indulgência (e os "physicists" também, evidentemente) chegam a classificar como "abstract nonsense".

+ Tudo aconteceu no seio de uma disciplina de arquitetura de computadores, e o já antigo interesse por algoritmos evolucionários levou-me à programação genética e dela ao seu uso direto na configuração de circuitos. Cheguei a montar um projeto prático, mas de um lado faltou financiamento e do outro meu interesse foi decaindo com rapidez.

++ A despeito de minha formação oficial, a tecnologia me é quase que apenas um hobby, e ainda assim está praticamente restrita a: engenharia evolucionária, rádio (este muito amplo mesmo). O mesmo Hermenauta me pergunta, aliás, se sei alguma coisa sobre Smart Radio, mas não sei mais do que se encontra nos wikis (o que é pouquíssimo). Qualquer interesse nessa linha entra em conflito com o tradicional desgosto do dexista com o esvaziamento das ondas curtas (vide a celeuma em torno do rádio digital).

+++ Os mais antenados já devem ter notado que essas duas séries já apareceram em meus antigos blogs.

25 novembro, 2006

Not an easy one to hear, but surfaced a couple of times.

E eis-me surpreendentemente retornando à carga com a primordial rádioaficção, feliz com minha mais nova aquisição. Ser tomado de súbito pela ânsia da rádioescuta jamais figurou em minhas vastas bibliotecas de eventos possíveis, obsessiva e minuciosamente levantados em meus tradicionais exercícios de worst-case analysis. Talvez, conjecturo, por resultar este em um ajuste contra-intuitivamente positivo. Em uma era pré-'difusão em larga escala' da Internet, não restava outra coisa a um garoto interiorano devorador de enciclopédias e ávido por novas maneiras de expandir os limites que não voltar-se à 'infinitude' e diversidade de informações publicamente disponíveis em cada milímetro do espectro eletromagnético. Da luz visível ao rádio, e deste de volta à primeira, conformou-se o profundo interesse pela astronomia, com maior atenção à rádioastronomia. À época, sob intensa e continuada excitação (a transitoriedade inerente a um INTP ainda não se revelara), não tinha dúvidas quanto a estar na rádioastronomia meu destino, com objetivos oficiais acadêmicos. A estrutura era eficientemente alimentada pela rádioescuta internacional na faixa de comprimentos de onda que responde pela designação 'short-wave' (3 MHz a 30 MHz). O dexismo sempre me foi associado à ilimitação e a um quase heroísmo: uma luva de pelica a roçar as convicções quanto a habilidades e conhecimentos de receptores, dispositivos eletrônicos, antenas, condições de propagação e idiomas. O sistema já contou com maior sentido prático, no entanto, enquanto havia blocos a desestabilizar por força da informação. Certo que ainda hoje há quem empregue o expediente broadcast-jamming , mas as razões e influências são muito mais localizadas. De todo modo, é engraçado notar o rádio ainda a sobrepujar a Internet como meio de obter informações de Ulaanbaatar, ou sobre a vida cultural em Tashkent. O fato é que meu apego à rádioescuta, e por conseqüência a certeza da rádioastronomia, terminou sucumbindo às dificuldades de acomodar os velhos interesses a uma realidade repleta de pressões práticas. Não que o academicismo tenha me consumido, mas os novos estados de excitação eram mais fortes que meu bom-senso. Surgiram daí redes neurais artificiais, dinâmica não-linear e mais recentemente teoria de jogos, sendo perfeitamente observável uma gradativa busca pelo núcleo das coisas, com várias camadas de superfície ficando para trás a cada transição. E é aí que a coerência começa a se manifestar.O retorno da rádioescuta coincide com um crescente desprazer pelo uso atual que tenho feito da Internet, mas também de computadores em geral. Ando cansado de distrações, do conseqüente estado de letargia, do ruído de fundo de um passado descontrolado que ainda posso captar. Passar tanto tempo sentado, em más posições, diante desses trambolhos, a saturar os sentidos, tem sido cada vez mais difícil de justificar racionalmente. Engendra-se insatisfações com o desempenho enquanto sequer as necessidades básicas são atendidas. O prazer agora me parece estar no minimalismo que estranhamente abre portas para a diversidade. Vejo-me, assustado, na iminência de tornar-me um text-mode guerrilla: P2Ps em 6 linhas de código em Perl, web browsers confiáveis e rápidos, media players, instant messaging multi-protocolo, editores, perdendo poucas funções exibidas por seus equivalentes gráficos. Não há como não se deixar encantar pela substância. Os autores das aplicações tendem a simplificar os ajustes básicos (e.g., por meio do uso de teclas mais intuitivamente relacionadas às correspondentes ações, ainda significando maior rapidez e a possível e bem-vinda subutilização do mouse), agregando uma flexibilidade a permitir um nível de personalização impensado nos grandes nomes em GUI, mas nem por isso inacessível. Sutileza, equilíbrio estético, confiabilidade, satisfação com o encaixe perfeito às suas necessidades mais caras -- e consciente do seu caráter oscilante --, espaço para diversidade. Razões suficientes para que possamos defenestrar boa parte das aplicações gráficas e desfrutar o prazer da essência. E o retorno da rádioescuta é também um passo coerente nessa direção. É hora de alcançar uma vida mais saudável, profunda, relativamente bem planejada, eficiente em seus itens. Quero ler a Economist deitado na grama do Ibirapuera, ter tempo para expedições à Lapônia a dividir observações astronômicas e radiofônicas, para aprender romeno, para manter uma produção netal razoável e organizada. Antes de tudo, tempo e leveza de consciência para conhecer lugares, pessoas e obras, tempo para refletir e ir muito além da superfície, para lapidar o método, para completar a têmpera anímica.Uma das conseqüências gerais deste autor como cidadão netal é a inevitável centralização das atividades virtuais. O efeito mais evidente a ser, provavelmente, a migração para o atualmente abandonado espaço no Multiply, projetos coletivos (e sérios) à parte. Finalmente não há mais espaço para o desgoverno.

Hardware Evolutivo: Comentários Finais.

Com este relato procurou-se alcançar os seguintes objetivos: i) classificar parte dos desenvolvimentos atuais em engenharia de acordo com a fonte de inspiração biológica e ii) oferecer um breve guia para a literatura em Hardware Evolutivo. O grande potencial do hardware evolutivo pode ser explicado pela sua natureza condizente com o conceito de “engenharia evolucionária”, isto é, o uso de conceitos evolucionários na construção de estruturas dinamicamente complexas. A complexidade interna de um sistema evolutivo é irrelevante ao algoritmo que o projeta, o que gera um ponto de partida motivador para o avanço das pesquisas. Desse modo, a engenharia evolucionária oferece a oportunidade de construir sistemas de um modo com o qual nenhuma outra técnica pode competir. Como as tradicionais técnicas top-down para projeto de circuitos eletrônicos estão usualmente limitadas por barreiras complexas (grande número de transistores em CIs ULSI, grande número de regras em sistemas baseados em fala, por exemplo), a engenharia evolucionária pode se tornar então a única alternativa viável para se alcançar avanços significativos.

Aplicações V -- Cérebro Artificial.

Um grupo japonês, do laboratório Human Information Processing (HIP), vinculado ao Advanced Telecommunications Research (ATR) Institute, de Kyoto, vem trabalhando com o desenvolvimento de cérebros artificiais para robôs autônomos (DE GARIS, 1996). Esse grupo, denominado Brain Builder Group (BBG), foi criado por Hugo de Garis, pesquisador que, há mais de uma década, dedica seu esforço ao desenvolvimento evolucionário de redes neurais artificiais complexas e em especial sua implementação em hardware (DE GARIS, 1990).

O principal projeto do BBG é a construção de um cérebro cuja estrutura -- axônios e dendritos de suas unidades -- é modelada através de um arranjo tridimensional de 450x106 autômatos celulares. Esses autômatos celulares compõem módulos neurais implementados diretamente em um conjunto de 72 FPGAs Xilinx XC6264. A reconfiguração contínua dos FPGAs garante a representação de 32768 módulos neurais diferentes, contendo 1152 neurônios cada um (37,7x106 neurônios no total). O projeto prevê uma taxa de atualização de 300 ciclos por segundo (100x109 atualizações de autômatos celulares por segundo), suficiente para aplicações de tempo real. Essa estrutura de módulos neurais, denominada CAM-Brain Machine (CBM), foi projetada através de programação genética, pela americana Genobyte, de Boulder, Colorado.

O BBG pretende utilizar a CBM, já concluída, para equipar um robô quadrúpede cujo objetivo é desenvolver um certo tipo de aprendizado -- normalmente associado a atividades motoras, como andar e subir uma escada -- a partir de interações com o meio ambiente (DE GARIS, 1999). O próximo objetivo do BBG é construir um cérebro artificial com mais de um bilhão de neurônios, o que é representativo considerando a referência humana (23 bilhões de neurônios).

-----------
DE GARIS, H. Genetic programming: building artificial nervous systems using genetically programmed neural network modules. In PORTER, B.W.; MOONEY, R.J. (Ed.). Proceedings of the 7th International Conference on Machine Learning. Morgan Kauffman, 1990. p. 132-139.
______. CAM-BRAIN: the evolutionary engineering of a billion neuron artificial brain by 2001 which grows/evolves at electronic speeds inside a cellular automata machine (CAM). In: SANCHEZ, E.; TOMASSINI, M. (Ed). Towards Evolvable Hardware: the evolutionary engineering approach. Lecture Notes in Computer Science, n. 1062. Springer-Verlag, 1996.
______. Evolvable hardware: principles and practice. Kyoto: Evolutionary Systems Department, ATR, 1999. 10 p. (Research Report).

Aplicações IV -- Evolução ao Nível Funcional e Aplicações Comerciais.

O conceito de nível funcional, originalmente proposto por Murakawa e colegas (1996), do Evolvable Systems Laboratory (Electro-Technical Lab - ETL), Tsukuba, Japão, atesta que, além da evolução ao nível de portas lógicas (envolvendo, por exemplo, o controle de chaveamentos para as portas NAND, NOR etc.) pode-se evoluir ao nível de blocos funcionais (por exemplo, evolução de blocos de alto nível, tais como somadores, multiplicadores, funções seno, logarítmicas etc.), evoluindo apenas as conexões entre eles e mantendo fixas as conexões internas.

Murakawa e colegas (1996) defendem esse conceito argumentando que, na evolução ao nível de portas, o tamanho das instruções de configuração pode ser inviavelmente grande. Porém, segundo De Garis (1999), o conceito de evolução ao nível funcional não é muito flexível, uma vez que envolve a utilização apenas dos blocos já existentes no dispositivo programável. Em aplicações que exigem blocos funcionais diferentes, o código-base -- que define as conexões internas ao bloco -- precisa ser reescrito.

A equipe do ETL vem aplicando o conceito de hardware evolutivo em várias vertentes, buscando demonstrar a viabilidade comercial da técnica. Algumas das aplicações criadas, todas elas de evolução online, são: circuito analógico para telefonia celular, RNA implementada em um CI capaz de se reconfigurar automaticamente e CI para compressão de dados em impressoras fotográficas (HIGUCHI et al., 1999). Além de dispositivos dedicados, desenvolveram também um CI de propósito geral e o utilizaram para implementar um sistema de controle para uma mão artificial (prótese). A idéia é que o dispositivo possa se adaptar aos pulsos elétricos provenientes dos nervos do braço, o que reverte o conceito tradicional de adaptação a próteses. Ao invés do deficiente ter de se adaptar à prótese -- o que normalmente envolve treinamento por período mínimo de um mês -- a prótese passa a se adaptar à pessoa, com um treinamento online de duração inferior a dez minutos.

---------
DE GARIS, H. Evolvable hardware: principles and practice. Kyoto: Evolutionary Systems Department, ATR, 1999. 10 p. (Research Report).
HIGUCHI, H.; MURAKAWA, M.; LIU, W. Real world applications of analog and digital evolvable hardware. In: From Biology to Hardware and Back. IEEE Transactions on Evolutionary Computation, p. 220-235, 1999. (Special Issue).
MURAKAWA, S. et al. Evolvable hardware at function level. In: Parallel Problem Solving from Nature - PPSN 4. Lecture Notes in Computer Science, n.1141, p. 62-71. : Springer-Verlag, 1996.

Aplicações III -- Modelo FEO e Embriônica: Hardware Ontogenético.

Sipper e colegas (SIPPER et al., 1997) desenvolveram também um modelo unificado para identificação dos aspectos biológicos que podem ser replicados em sistemas de engenharia. O modelo, conhecido como Filogenia, Epigenesia e Ontogenia (FEO), procura classificar o tipo de relevância biológica de um sistema segundo três direções distintas.

A filogenia - história evolucionária de uma espécie - é encontrada em sistemas em que vetores binários (genoma) evoluem ao longo do tempo, através de um AE. Outro exemplo de exploração de mecanismos filogenéticos são programas de vida artificial, utilizados para simular processos evolucionários, em que indivíduos (programas) procuram sobreviver em um ambiente de recursos limitados (memória e/ou tempo de processamento). Nesse caso, é importante ressaltar que alguns resultados vêm mostrando a emergência espontânea de estratégias de sobrevivência biologicamente relevantes, como parasitismo (SIPPER, 1995). Por outro lado, o próprio hardware evolutivo, como descrito até agora, também possui inspiração filogenética.

Sistemas de IA e RNA, implementados em software ou em hardware, têm inspiração na epigenesia - teoria biológica segundo a qual a constituição de seres vivos se inicia a partir de células não-estruturadas e se faz mediante sucessiva formação e adição de partes que não existiam na unidade inicial. Considerando que um ser humano adulto é formado por cerca de 6x1013 células, formadas a partir de um genoma composto por 3x109 bases nitrogenadas, não possuindo, portanto, informação suficiente para descrever todo o organismo, fica claro que o aumento na complexidade é promovido por um mecanismo extracelular. Ou seja, o desenvolvimento de um organismo deve ser influenciado pelo ambiente, que atua como fonte de informação adicional. Na engenharia, esse conceito encontra contrapartida em problemas de aprendizagem, surgindo, aí, sua aplicação em IA.

A terceira fonte de inspiração e a menos explorada, trata do desenvolvimento biológico de um organismo, do zigoto à fase adulta: a ontogenia. Sistemas de inspiração ontogenética devem implementar processos correspondentes à divisão celular - que permite a formação de um sistema multicelular, que trabalha paralelamente - e à diferenciação celular - que permite a uma célula, que possui todo o genoma do organismo, assumir uma função específica (“rodar” um trecho do código).

Gianluca Tempesti (1998), também do Swiss Federal Institute of Technology, descreve aplicações de hardware ontogenético, reunidas em um projeto conhecido como Embriônica (MANGE; STAUFFER, 1994) - contração das palavras embriologia e eletrônica. A característica comum nessas aplicações é a capacidade dos dispositivos de se auto-replicar (clonagem) e auto-reparar.

Os dispositivos criados no projeto Embriônica consistem em arranjos de células artificiais, implementadas por pequenos processadores de estruturas similares (o mesmo leiaute do hardware) mas funcionalidades diferentes (diferentes softwares). Cada processador armazena o código requerido para todo o arranjo e cada célula artificial seleciona, então, de acordo com sua posição no arranjo, qual a porção de código irá executar. A funcionalidade de cada processador é diferente, como no mundo biológico, porque executam diferentes partes do genoma artificial. Esta consideração vai contra as regras convencionais de projeto (que enfatizam a minimização do tamanho dos elementos), mas é útil na implementação, por exemplo, de circuitos auto-reparadores: uma vez que a célula contém o mesmo código de todas as outras do sistema, ela poderá, então, “substituir” qualquer uma delas, simplesmente executando uma parte diferente do genoma artificial. A equipe do Swiss Federal Institute of Technology criou um novo dispositivo FPGA, projetado com o propósito de implementar a auto-replicação das células diretamente no hardware.

Obviamente, esse arranjo de processadores requer uma quantidade considerável de lógica programável, o que implica que a probabilidade de ocorrerem falhas em alguma parte do circuito pode não ser insignificante. Sistemas biológicos trabalham com a mesma possibilidade e solucionam o problema substituindo células mortas por novas (cicatrização). Como a tecnologia atual ainda não permite a construção de um novo tipo de CI, equivalentes eletrônicos da cicatrização (o auto-reparo, por exemplo) terão que considerar a presença de falhas lógicas.

--------
MANGE, D. Wet ware as a bridge between computer engineering and biology. In: EUROPEAN CONFERENCE ON ARTIFICIAL LIFE, 2nd., 1993, Brussels. Proceedings…Brussels: 1993. p. 658-667.
SIPPER, M. An introduction to artificial life. Explorations in Artificial Life, p. 4-8, Sep. 1995. (Special Issue of AI Expert)
SIPPER, M. et al. A phylogenetic, ontogenetic, and epigenetic view of bio-inspired hardware systems. IEEE Transactions on Evolutionary Computation, v. 1, n. 1, p. 83-97, 1997.
TEMPESTI, G. A self-repairing multiplexer-based FPGA inspired by biological processes. 1998. PhD Thesis. Swiss Federal Institute of Technology EPFL, Lausanne.

Aplicações II -- Hardware Evolutivo Online.

Sipper e colegas (1997), do Swiss Federal Institute of Technology, em Lausanne, Suíça, foram os responsáveis pela primeira aplicação totalmente online de hardware evolutivo, na qual o dispositivo programável concentra todas as etapas evolutivas. O grupo usou FPGA Xilinx 4000 para criar um sistema capaz de evoluir o seu hardware, avaliar sua adaptação e executar o AE, tudo em uma única placa de circuito impresso.
O dispositivo online, chamado Firefly, foi projetado para executar uma tarefa de oscilação síncrona - do mesmo modo que um grupo de vaga-lumes emite pulsos luminosos em uníssono. A cada acionamento, o Firefly é capaz de se reconfigurar de modo a oscilar em sincronia com uma freqüência definida aleatoriamente. A técnica utilizada baseia-se nas regras de transição de estados do modelo de autômatos celulares (VON NEUMANN, 1996).

------
SIPPER, M. et al. A phylogenetic, ontogenetic, and epigenetic view of bio-inspired hardware systems. IEEE Transactions on Evolutionary Computation, v. 1, n. 1, p. 83-97, 1997.
VON NEUMANN, J. The theory of self-reproducing automata. Illinois: University of Illinois Press, 1966.

Hardware Evolutivo: Aplicações I -- Robótica Evolucionária.

Este e os próximos quatro tópicos descreverão, sucintamente, algumas das recentes aplicações práticas do hardware evolutivo, levadas a cabo por grupos de pesquisa na Europa, Japão e Estados Unidos.

Robótica evolucionária

Thompson (1995) e sua equipe, da Universidade de Sussex, Brighton, Grã-Bretanha, criou uma aplicação simples de evolução offline, não baseada em FPGA, e demonstrou a viabilidade do emprego de técnicas de hardware evolutivo na solução de problemas reais. O experimento teve como objetivo desenvolver (evoluir) um circuito eletrônico para controlar um sistema robótico -- um protótipo de duas rodas chamado Mr. Chips -- cuja tarefa é se movimentar em uma arena retangular de 2,9 por 4,2 metros, sem tocar nas paredes divisórias, utilizando apenas um par de sensores fixos diametralmente posicionados [ver figura - (à esquerda) Mr. Chips; (à direita) diagrama da arquitetura DSM].

O sistema de controle escolhido baseia-se na arquitetura Dynamic State Machine (DSM) -- criada pelo grupo de Sussex -- que, ao contrário da solução convencional que utiliza Finite State Machines (FSMs), aproveita características dinâmicas dos sinais. Esse arranjo DSM evolutivo, esquematizado na figura, toma como entradas diretas os sinais dos sensores e produz, como saída, sinais de controle para os motores das rodas. Uma importante característica da arquitetura DSM é a possibilidade de associar variáveis de estado assíncronas e síncronas - de acordo com uma freqüência determinada por um AG (Algoritmo Genético) -, o que permite ao sistema exibir uma vasta gama de comportamentos dinâmicos.
No experimento descrito por Thompson (1995) foram utilizadas apenas duas variáveis de estado -- os sinais de controle dos motores. A carga genotípica foi definida como 32 bits de RAM (que correspondem às duas variáveis de estado), 16 bits para o período do contador e XX bits para definir a condição de sincronia de cada variável envolvida no controle. O melhor indivíduo de cada geração foi avaliado no problema real. Após 35 gerações, o AG conseguiu produzir um circuito de desempenho satisfatório. Como primeiro experimento real em robótica evolucionária, Thompson (1995) apresentou resultados importantes, ao propor uma arquitetura mais simples que a FPGA, as que pode executar uma tarefa com recursos mínimos.

Entre outros interesses do grupo da Universidade de Sussex estão a evolução de circuitos tolerantes a falhas (THOMPSON, 1997) e o projeto automático de circuitos eletrônicos com múltiplas restrições (THOMPSON, 1996).

-----------------------------------
THOMPSON, A. Evolving electronic robot controllers that exploit hardware resources. In: EUROPEAN CONFERENCE ON ARTIFICIAL LIFE (ecal95), 3rd., 1995. Advances in Artificial Life, Proceedings... Berlim: Springer-Verlag, 1995. p. 640-656.
______. Silicon evolution. In: GENETIC PROGRAMMING 1996 (GP96), 1st., 1996. Proceedings... Boston: MIT Press, 1996. p. 444-452.
______. Hardware evolution: automatic design of electronic circuits in reconfigurable hardware by artificial evolution. 1996. PhD Thesis. University of Sussex, Brighton, United Kingdom.
______. Evolving inherently fault-tolerant systems. Proc. Inst. Mech. Eng., v. 211, part 1, p. 365-371, 1997.

Hardware Evolutivo: Motivações.

Neste tópico são abordadas algumas das motivações existentes para a idéia de aplicar processos evolutivos no projeto de sistemas de hardware, na visão de Thompson (1995).

i. Velocidade de Operação

Boa parte das tentativas de se construir sistemas neurais altamente complexos – utilizados para controlar agentes autônomos – têm “esbarrado” em limites tecnológicos inerentes ao meio utilizado. Computadores de propósito geral e arquiteturas paralelas dedicadas não conseguem proporcionar a volatilidade necessária na hora de simular RNAs (Redes Neurais Artificiais) muito complexas. Segundo Thompson (1995), uma solução viável para o problema da velocidade de simulação é implementar RNAs em hardware reconfigurável e utilizar um AE (Algoritmo Evolucionário) para projetar a rede. A viabilidade dessa técnica tem sido sistematicamente avaliada (NORTHMORE, ELIAS, 1993; MURRAY, 1991).

ii. Exploração da Física Semicondutora
(Realidade Física x Abstração: Projeto eletrônico não-convencional)

"O projeto evolutivo de circuitos eletrônicos – designação válida para situações em que um AE é responsável pela produção de circuitos analógicos ou digitais – pode alcançar resultados surpreendentes, como circuitos de estrutura e funcionalidade revolucionários. Teoricamente, essa técnica pode explorar todas as características do hardware (reconfigurável), uma vez que, a cada configuração testada, pode-se avaliar as influências potenciais dos componentes do circuito no comportamento real da implementação." (THOMPSON, 1995, p. 6).

Segundo Thompson (1995), o espaço de busca utilizado em aplicações de hardware evolutivo é muito maior que o espaço disponível a um projetista humano. O projetista trabalha com modelos de alto nível, que procuram descrever, com algum grau de abstração, o comportamento dos blocos constituintes, bem como as interações entre eles. Para reduzir as conseqüências das imperfeições desses modelos na qualidade da implementação são adotadas restrições, como modularizar o projeto – impondo co-residência de funções lógicas, por exemplo – e desprezar os efeitos do transitório dos componentes no comportamento global do circuito (restrição dinâmica). Em um sistema de hardware evolutivo abre-se mão de abstrações e restrições ao projeto eletrônico. Os circuitos produzidos podem explorar propriedades do hardware até então desconhecidas, ou pequenos detalhes físicos do CI (Circuito Integrado), como variações pontuais na resistência elétrica. Visto que dois CIs do mesmo modelo não são rigorosamente idênticos, a transferência de genótipos entre dispositivos é virtualmente impraticável. Apesar disso, algumas opções para melhoria da robustez da técnica têm sido avaliadas: variar, durante a evolução, a temperatura ou a tensão de alimentação do CI (MANGE, 1993), ou fazer um ajuste fino da configuração transferida, por meio da execução de alguns ciclos evolutivos adicionais (MARCHAL et al., 1994).

-----------------------------------
MANGE, D. Wet ware as a bridge between computer engineering and biology. In: EUROPEAN CONFERENCE ON ARTIFICIAL LIFE, 2nd., 1993, Brussels. Proceedings…Brussels, 1993. p. 658-667.
MARCHAL, P. et al. Achieving Von Neumann's dream: artificial life on silicon. In: INTERNATIONAL CONFERENCE ON NEURAL NETWORKS, N., 1994, Cidade. Proceedings… 1994. v. 4, p. 2321-2326.
MURRAY, A.F. Pulsed silicon neural networks – following the biological leader. In Ramacher and Rückert, eds., VLSI Design of Neural Networks, p. 103-123. Kluwer Academic Publishers, 1991.
NORTHMORE, D.P.M.; ELIAS, J.G. Evolving synaptic connections for a silicon neuromorph. In: IEEE CONFERENCE ON EVOLUTIONARY COMPUTATION, IEEE World Congress on Computational Intelligence, 1st., 1994, New York. Proceedings… IEEE, New York, 1994.v. 2, p. 753-758.
THOMPSON, A. Evolving electronic robot controllers that exploit hardware resources. In: EUROPEAN CONFERENCE ON ARTIFICIAL LIFE (ecal95), 3rd., 1995. Advances in Artificial Life, Proceedings... Berlim: Springer-Verlag, 1995. p. 640-656.

Evolução Extrínsica x Intrínseca.

Os primeiros circuitos FPGA não eram adequados para implementar aplicações de hardware evolutivo, pois não aceitavam instruções de configuração aleatórias. Além disso, algumas arquiteturas não eram públicas e o tempo gasto para reconfigurar um circuito podia ser inviavelmente alto. A simulação da evolução diretamente no hardware teria pouco êxito, dado esse conjunto de desvantagens. Naquele momento, as aplicações de hardware evolutivo giravam em torno de uma evolução simulada ou evolução extrínseca (DE GARIS, 1999). Uma simulação em software do FPGA, executada com o auxílio de uma HDL ("Hardware Description Language"), é submetida a um algoritmo evolucionário, e apenas a configuração mais adaptada à tarefa em questão é carregada no hardware. A maior parte da evolução é externa ao circuito integrado.

Apenas em 1995, com o advento da série 6200 do FPGA Xilinx™, o paradigma evolutivo pôde ser incorporado diretamente ao hardware. Sua robustez a configurações aleatórias, a redução do tempo necessário para reconfigurar o circuito e uma arquitetura de domínio público fizeram com que o FPGA 6200 se tornasse a ferramenta ideal para a aplicação do conceito de evolução intrínseca (DE GARIS, 1999). A cada ciclo, o algoritmo evolucionário gera um novo conjunto de instruções, que é usado para reconfigurar o próprio hardware – cada combinação podendo ser avaliada diretamente na execução de sua tarefa. Desse modo, as restrições naturais impostas pelo hardware são observadas automaticamente e todas as suas características – algumas difíceis de simular – podem ser exploradas (THOMPSON, 1995; SIPPER e RONALD, 2000).

Posteriormente, foram criados circuitos especialmente voltados para o hardware evolutivo, alguns deles incorporando todas as etapas evolutivas, característica fundamental em aplicações em tempo real. De fato, esse último tipo de adaptação é essencial em tarefas que exigem interações com ambientes dinâmicos, em que não se pode utilizar dispositivos totalmente pré-programados (SIPPER e RONALD, 2000).

----------------------------------

DE GARIS, H. Evolvable hardware: principles and practice. Kyoto: Evolutionary Systems Department, ATR, 1999. 10 p. (Relatório técnico).
SIPPER, M. e RONALD, E.M.A. A new species of hardware. IEEE Spectrum, vol. 37, no. 3, pp. 59-64, março de 2000.
THOMPSON, A. Evolving electronic robot controllers that exploit hardware resources. In: EUROPEAN CONFERENCE ON ARTIFICIAL LIFE (ECAL95), 3rd., 1995. Advances in Artificial Life, Proceedings... Berlim: Springer-Verlag, 1995. p. 640-656.

FPGA e Hardware Reconfigurável.

Dispositivos lógico-programáveis, especialmente os FPGAs ("Field-Programmable Gate Arrays"), são a tecnologia-chave empregada no desenvolvimento de aplicações em hardware evolutivo. FPGAs são circuitos integrados (CIs) (da classe dos VLSIs ("Very Large Scale Integration")) sem função pré-determinada, apresentando recursos eletrônicos independentes que podem ser configurados via software (XILINX, 1991).

Fisicamente, um FPGA consiste em um arranjo bidimensional de blocos lógico-programáveis, conectados entre si por meio de uma estrutura de interconexões (ver figura ao lado). A função lógica implementada por cada elemento – definida pelos estados das chaves transistorizadas que compõem o elemento –, bem como as conexões entre os blocos funcionais, são determinadas por vetores binários de configuração, que podem ser transferidos para o FPGA, repetidamente, a partir de uma fonte externa. Também é permitida a programação em mais de um nível: instruções para configuração das entradas e saídas dos blocos podem ser incluídas nos vetores binários.

O comportamento global de um FPGA depende das instruções que são carregadas no seu registrador de configuração. Do ponto de vista biológico, essa relação descreve o problema da obtenção do genótipo – a especificação genética – correspondente ao fenótipo desejado – o organismo maduro. Na engenharia, esse problema costuma ser resolvido com o auxílio de ferramentas convencionais de projeto, de natureza analítica ou empírica. A proposta do hardware evolutivo é, dado o comportamento fenotípico, reservar a um algoritmo evolucionário a tarefa de desenvolver o genótipo.

Outros dispositivos eletrônicos, inclusive circuitos analógicos configuráveis, também vêm sendo usados em aplicações de hardware evolutivo, com destaque para os HDPLDs ("High-Density Programmable Logic Devices") (YORK, 1993).

-------------------------------------------

XILINX. The programmable gate array data book. San Jose, CA: Xilinx Corporation, 1991.
YORK, T.A. Survey of field programmable logic devices. Microprocessors and Microsystems, v. 17, n. 7, p. 371-381, 1993.

Hardware Evolucionário?

Enquanto lê este artigo, você está usando um poderoso conjunto de dispositivos – incluindo olhos, mãos e cérebro – que compartilham uma característica essencial: eles são produto de mutações aleatórias e cruzamentos genéticos bem sucedidos, como descrito pela teoria darwinista da evolução das espécies.

"A neuroanatomia em qualquer espécie – especialmente em uma espécie dominada pelo cérebro, como a nossa – é produto de um processo evolutivo relativamente ‘desordenado’, ‘oportunista’, simultâneo, e apenas parcialmente integrado, passado ao longo de bilhões de anos, e que deu origem a órgãos desiguais, evoluídos em animais diferentes, em eras diferentes, e com propósitos diferentes" (KONNER, 1998).

Essa sentença singular, que captura os princípios básicos da evolução natural, também contém todas as características necessárias para descrever uma “mᔠengenharia em termos humanos. Entretanto, entre o homem e a natureza, a última é a mais engenhosa.

Organismos biológicos, uma das mais intrincadas estruturas conhecidas pelo homem, exibem comportamento guiado pela cooperação paralela de um grande número de elementos relativamente simples: as células. As tarefas impostas a muitos sistemas computacionais atuais têm exigido o desenvolvimento de técnicas cada vez mais complexas. Como a inteligência humana oferece uma limitação natural para o nível de complexidade desses sistemas, a engenharia vem utilizando, em uma escala cada vez maior, a natureza como fonte de inspiração no projeto de sistemas de software e hardware.

A inspiração biológica no desenvolvimento de softwares já se encontra bem estabelecida. Através de algoritmos de programação genética (PG) (KOZA, 1992) pode-se implementar um processo de evolução artificial que tenha como objetivo “construir” um programa – geralmente codificado em LISP [LISt Processing] – que ofereça a melhor solução para um dado problema, segundo algum critério de avaliação.

Uma outra aplicação da PG consiste no projeto evolucionário de circuitos eletrônicos (BENNET III et al., 1997). Algoritmos de PG são apenas uma variação de um conjunto mais amplo de técnicas – algoritmos evolucionários (AE) – que procuram utilizar uma simulação da evolução em software para resolver problemas de engenharia. Outro tipo de AE, os algoritmos genéticos (AG) – comumente utilizados em problemas de otimização multidimensional –, também podem ser usados como ferramentas de projeto. Essa funcionalidade corresponde a uma mudança na ênfase tradicional dos AG, cuja indiferença em relação à complexidade permite a construção de sistemas difíceis de serem concebidos por técnicas convencionais.

Enquanto os métodos tradicionais procuram dividir os sistemas em componentes simples e então estudá-los individualmente, um AG associa componentes de maneira complexa e então testa o funcionamento de cada associação. As “boas” associações têm mais chances de serem copiadas, sofrerem mutações e cruzamentos, gerando um conjunto mais adaptado de combinações.

Nos últimos anos, abriu-se uma nova possibilidade na aplicação de conceitos biológicos à tecnologia: a construção de dispositivos capazes de evoluir, definidos como máquinas darwinianas, por De Garis (1993), ou, mais comumente, hardware evolutivo. A implementação de tais dispositivos envolve conceitos e técnicas de AE, redes neurais artificiais (RNA), vida artificial e eletrônica de circuitos reconfiguráveis, voltados para a construção de sistemas autônomos, auto-adaptáveis e tolerantes a falhas. O grande incremento dos recursos computacionais e, mais recentemente, a disponibilização de uma nova geração de dispositivos lógico-programáveis mais robustos a alterações, permitiram um avanço significativo do hardware evolutivo nos últimos cinco anos.

Para que o conceito de hardware evolutivo seja útil, é necessário satisfazer ao menos duas condições: i) os circuitos que evoluem devem ser, simultaneamente, funcionais e muito complexos para a compreensão humana, caso contrário poderiam ser projetados através das técnicas tradicionais; ii) os circuitos devem evoluir mais rápido que a evolução simulada em software, caso contrário seria mais fácil e prático realizar apenas simulações (DE GARIS, 1993).

Segundo De Garis (1993), dispositivos capazes de evoluir serão essenciais no desenvolvimento de sistemas nervosos artificiais para que robôs possam desenvolver algum tipo de aprendizado, a partir de interações com estímulos ambientais, um experimento de interesse tanto para o campo da inteligência artificial (IA) quanto para a vida artificial. Outra vantagem sugerida por De Garis (1993) é a possibilidade de criar nanodispositivos auto-associáveis e autotestáveis.

Atualmente, por sua vez, o hardware evolutivo já encontra aplicação em arquitetura de computadores, controladores para próteses médicas e impressoras fotográficas, entre outras.

-----------------
BENNET III, F.H. et al. Evolution of a 60 Decibel OP AMP Using Genetic Programming. In Evolvable Systems: From Biology To Hardware, Proceedings of the First International Conference, ICES96, Tsukuba, Japan. Lecture Notes in Computer Science, n. 1259. Springer-Verlag, 1997.

DE GARIS, H. Evolvable hardware: genetic programming of a darwin machine. In: INTERNATIONAL CONFERENCE ON ARTIFICIAL NEURAL NETWORKS AND GENETIC ALGORITHMS, Innsbruck. Proceedings... , Berlim: Springer-Verlag, 1993. p. 441-449.

KONNER, M. A piece of your mind. Science, New York, v. 281, p. 653-654, Jan. 1998.

KOZA, J.R. Genetic programming: on the programming of computers by means of natural selection. Massachusetts: MIT Press, 1992.