O texto a seguir faz uma breve apresentação da temática sistemas generativos e computação evolutiva. Posteriormente é proposta uma atividade organizada em duas etapas. A primeira irá fornecer fundamentação teórica para a realização da atividade prática desenvolvida na Etapa2.
Um sistema generativo (SG) é conhecido por três características: (1) geração de múltiplas soluções potenciais, (2) exploração criativa de soluções devido à multiplicidade e (3) obtenção de soluções mais eficientes. Nesse sentido, podemos compara-lo a um mecanismo constituído por diferentes peças que se inter-relacionam, formando um sistema que ao ser ativado irá gerar automaticamente vários produtos.
Essa lógica da automatização pode ser utilizada como metodologia de projeto, levando o arquiteto e urbanista a projetar o mecanismo em vez do objeto em si. No entanto, para a estruturação desta metodologia de projeto, podemos estabelecer uma analogia ao mecanismo responsável pela evolução das espécies encontrado na natureza. O processo evolutivo é caracterizado pela integração e interação entre um grande número de indivíduos de uma espécie que buscam atingir o equilíbrio com o meio por meio da sobrevivência daqueles que são mais aptos. É importante lembrar que segundo a Teoria de Darwin, nenhum indivíduo é idêntico a outro, todos possuem diferenças, são estas variações que tornará um indivíduo mais apto (adaptado) ou não ao meio.
Essa situação é muito semelhante ao que encontramos no processo de projeto, uma vez que existem diferentes soluções para um mesmo problema de projeto, sendo a ideal aquela capaz de melhor atender as condições definidas pelo arquiteto (necessidades do usuário, conforto ambiental, desempenho estrutural etc.), tornando-se assim a mais apta. Diante do exposto, podemos então definir essa metodologia como um sistema generativo de projeto evolutivo. Este modelo de método integra a computação evolutiva (algoritmo evolutivo) ao processo de projeto, inserindo-o na área de pesquisa CAAD (computer aided architectural design). Esta área dedica-se a investigar a influência das tecnologias digitais na área da arquitetura.
Com o intuito de aprofundar uma pouco mais o conhecimento nesta área, propomos uma atividade a ser realizada em 2 etapas para a compreensão e experimentação dessa temática. A primeira etapa corresponde a leitura de dos artigos “Algoritmo e Códigos como Forma de Representação Aberta e Dinâmica” e “Morfogênese como Projeto Digital”, ambos publicados respectivamente no evento GRAPHICA – XII INTERNATIONAL CONFERENCE ON GRAPHICS ENGINEERING FOR ARTS AND DESIGN dos anos de 2017 e 2019. Eles fornecem a base conceitual para a contextualização da experimentação prática a ser realizada na segunda etapa desta atividade. Na segunda etapa propomos a realização de um exercício prático que irá simular a aplicação simplificada do algoritmo evolutivo (AE) como um sistema generativo capaz de contribuir para o processo de criação. Embora o AE seja uma técnica computacional que irá explorar justamente a capacidade de processamento da ferramenta computador (uma vez que ele pode processar rapidamente milhares de arranjos e rearranjos de maneira automatizada em poucos segundos), iremos com esta atividade manual reconhecer e experimentar os procedimentos que envolvem o processo evolutivo. Por isso, o exemplo adotado para o desenvolvimento da atividade é simplificado, além de facilitar o entendimento dos mecanismos que envolvem o AE.
artigo 1: Algoritmo e Códigos como Forma de Representação Aberta e Dinâmica.
artigo 2: Morfogênese como Processo de Projeto Digital.
Na computação evolutiva o INDIVÍDUO corresponde a uma solução candidata a satisfazer um determinado problema. Para isso cada característica que o irá compor, ou seja, o GENE, deverá apresentar variações compondo diferentes indivíduos. Nesta atividade iremos considerar 3 características: forma, cor e composição. Elas irão definir uma sequência de genes responsáveis pela constituição do DNA de um indivíduo. A representação do indivíduo por meio dos genes será denominado GENÓTIPO e a sua manifestação no espaço físico é denominada FENÓTIPO (Figura 01).
Figura 1 – Genótipo (genes – representação do indivíduo) e Fenótipo (indivíduo)Fonte: autor
Para iniciar o processo é necessário criar uma POPULAÇÃO INICIAL. Esta população é composta por um conjunto de indivíduos gerados aleatoriamente, sendo as próximas populações constituídas por gerações obtidas pelo cruzamento dos indivíduos mais aptos.
Após formada a população inicial, cada indivíduo será avaliado conforme restrições que irão modelar a intenção projetual, sendo gerado o FITNESS FUNCTION ou FUNÇÃO DE AVALIAÇÃO. Nesta atividade pretendemos obter as soluções com a maior área total, sem repetição de formas em um mesmo indivíduo, predominância da cor azul e conexão do tipo Beta. Dessa forma, iremos atribuir diferentes valores para cada gene de maneira que as características mais favoráveis recebam valores mais elevados. Sendo assim, ao aplicar a função de avaliação em cada indivíduo da população será possível mapear os seus genes e atribuir os seus respectivos valores. O somatório destes valores corresponderá ao VALOR DE FITNESS ou VALOR DE APTIDÃO de cada indivíduo (Figura 2). [obs.: parece óbvia a solução, uma vez que conseguimos definir tais indivíduos apenas olhando os genes, mas lembre-se: o exercício foi facilitado para a realização manual e o entendimento do mecanismo evolutivo]. Diante disso, é possível fazer um ranking (no topo os melhores com os maiores valores de fitness) das melhores soluções obtidas.
Figura 2 – Tabela de valores dos genesFonte: autor
Na natureza, os indivíduos mais aptos são aqueles que estão melhor adaptados às condições do meio em que vivem, favorecendo maior tempo de vida e procriação. Os menos adaptados sobrevivem pouco tempo e apresentam uma taxa de reprodução inferior aos outros, consequentemente as suas características genéticas são menos disseminadas. Assim ocorre o processo de SELEÇÃO NATURAL. No caso dos AG, o valor de fitness é utilizado para simular o processo de seleção natural, ou seja, os indivíduos que apresentarem maior valor de fitness serão escolhidos como “INDIVÍDUOS PAIS”
Estes irão cruzar e compor a próxima geração. O CRUZAMENTO (RECOMBINAÇÃO) entre os “indivíduos pais” corresponde à troca de parte do código genético de cada um deles, gerando novos indivíduos. Existem diferentes maneiras para realizar esta troca, a partir de um ponto, dois pontos ou uniforme. Nesta atividade iremos definir um ponto, como demonstrado no exemplo abaixo (Figura 3).
Figura 3 – Cruzamento dos indivíduosFonte: autor
Como o algoritmo evolutivo geralmente utiliza o modelo geracional, ou seja, mantem o número de indivíduos nas gerações, a segunda população será composta pelos “INDIVÍDUOS FILHOS” e aqueles que obtiveram melhor fitness na população anterior. Esta é uma das estratégias evolutivas utilizadas para compor uma população, garantindo a DIVERSIDADE e evitando a rápida ESPECIAÇÃO. É importante destacar que a MUTAÇÃO é um processo fundamental para a evolução, pois ela irá promover a variação dos genes e contribuir (ou não) para a adaptação das espécies. Ela é provocada por fatores externos (por efeito da radiação) ou erro/falha na leitura da sequência de genes), criando assim uma característica diferente ou alterada a que já existia.
O processo pode ser repetido várias vezes, dependerá do programador. É possível determinar um número específico de gerações ou estabelecer um tempo máximo para a execução do processo. Nesta atividade ficaremos limitados a 3 gerações, a inicial e mais 2 subsequentes.
Após experimentar este método, digitalize os seus estudos, gere um arquivo no formato PDF apresentando toda a sequência criada por você (utilize o seu nome para nomear o arquivo PDF). Acesse a pasta Introdução a arquitetura – Sistemas Geradores e faça o upload do arquivo. Na 4ª feira conversaremos sobre o resultado! Até lá 🙂 !
Assistir a webconferência “Arquitetura por meio de sistemas geradores e processos digitais” e apresentar o resultado da atividade prática realizada na Etapa 2 do momento assíncrono.