a utilização do evocad na evolução de estruturas físicaspub/vart/projectova26508.pdfneste...

25
A utilização do EvoCAD na evolução de estruturas físicas António Pereira [email protected] Resumo: O conceito simples e modular dos tijolos de brincar da Lego torna-os numa boa base para realizar a simulação da evolução das estruturas físicas no computador, que podem aí ser dispostas e construídas. Ao invés de incorporar um sistema complexo de conhecimento de engenharia no programa, que resultaria em estruturas mais usuais, foi combinado um algoritmo evolucionário com um modelo da realidade física e uma função de fitness puramente utilitária, que apura medidas de satisfação e funcionalidade. 1. Introdução Para concretizar a evolução há que ter representações e simulações adequadas. A representação deve disponibilizar ao computador, formas de criar, manipular e modificar uma variedade infinita de arquitecturas virtuais para serem testadas em simulação. Os objectos a testar necessitam de ser suficientemente flexíveis para aproximar a diferença entre a simulação e o mundo real, para que tenham o comportamento desejado, quando são construídos. Um simulador deve respeitar as seguintes características: Universalidade – deve cobrir um espaço geral e infinito de mecanismos; Conservador – deve preservar uma margem de segurança para a eventualidade de falhas na simulação; Eficiente – deve ser mais rápido de testar na simulação do que na construção e nos testes físicos reais; Realizável – deve produzir um resultado que seja concretizável num objecto real. Existem várias áreas que se encontram ligadas a estas ideias e questões, tais como Física Qualitativa e Mecânica Estrutural, Computação Gráfica, Desenho Evolutivo e a Robótica. Neste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado com a Vida Artificial. O Desenho evolutivo é a criação de novos desenhos, efectuada por computadores, usando métodos computacionais e evolutivos, desenvolvidos por Bentley em 1996. Enquanto outras pesquisas focam a evolução de formas abstractas ou optimização de uma parte ou componentes, nesta aproximação pretende-se deixar que o processo evolutivo tome conta de todo o processo de desenhos através da recombinação das componentes disponíveis e na avaliação da funcionalidade através da simulação física. 2. O modelo físico A resistência do material plástico dos tijolos da Lego ultrapassa, em muito, a força necessária quer para juntá-los quer para separá-los. Isto faz com que seja possível desenhar um modelo que ignora a resistência do material e avalia as forças de tensão sobre um grupo de tijolos apenas nas áreas de união. Se uma estrutura Lego falhar, geralmente acontece nas uniões pelo que os tijolos não são danificados. 2.1 Redes de Propagação de Torque

Upload: leque

Post on 09-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

A utilização do EvoCAD na evolução de estruturas físicas

António [email protected]

Resumo: O conceito simples e modular dos tijolos de brincar da Lego torna-os numa boa base para realizar a simulação da evolução das estruturas físicas no computador, que podem aí ser dispostas e construídas. Ao invés de incorporar um sistema complexo de conhecimento de engenharia no programa, que resultaria em estruturas mais usuais, foi combinado um algoritmo evolucionário com um modelo da realidade física e uma função de fitness puramente utilitária, que apura medidas de satisfação e funcionalidade.

1. IntroduçãoPara concretizar a evolução há que ter representações e simulações adequadas.A representação deve disponibilizar ao computador, formas de criar, manipular e modificar uma variedade infinita de arquitecturas virtuais para serem testadas em simulação.Os objectos a testar necessitam de ser suficientemente flexíveis para aproximar a diferença entre a simulação e o mundo real, para que tenham o comportamento desejado, quando são construídos.

Um simulador deve respeitar as seguintes características: Universalidade – deve cobrir um espaço geral e infinito de mecanismos; Conservador – deve preservar uma margem de segurança para a eventualidade de falhas

na simulação; Eficiente – deve ser mais rápido de testar na simulação do que na construção e nos testes

físicos reais; Realizável – deve produzir um resultado que seja concretizável num objecto real.

Existem várias áreas que se encontram ligadas a estas ideias e questões, tais como Física Qualitativa e Mecânica Estrutural, Computação Gráfica, Desenho Evolutivo e a Robótica.Neste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado com a Vida Artificial.

O Desenho evolutivo é a criação de novos desenhos, efectuada por computadores, usando métodos computacionais e evolutivos, desenvolvidos por Bentley em 1996.Enquanto outras pesquisas focam a evolução de formas abstractas ou optimização de uma parte ou componentes, nesta aproximação pretende-se deixar que o processo evolutivo tome conta de todo o processo de desenhos através da recombinação das componentes disponíveis e na avaliação da funcionalidade através da simulação física.

2. O modelo físicoA resistência do material plástico dos tijolos da Lego ultrapassa, em muito, a força necessária quer para juntá-los quer para separá-los. Isto faz com que seja possível desenhar um modelo que ignora a resistência do material e avalia as forças de tensão sobre um grupo de tijolos apenas nas áreas de união. Se uma estrutura Lego falhar, geralmente acontece nas uniões pelo que os tijolos não são danificados.

2.1 Redes de Propagação de Torque

Page 2: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Irei expor primeiro um sistema bidimensional de forças, representado no gráfico da figura 1, uma estrutura Lego que contem vários tipos de uniões, 1x1, 2x1, 3x1, etc.

A medição da quantidade de tensão que várias uniões lineares de tijolos podiam suportar, está patente na seguinte tabela (tabela 1). A grande simplificação vem da observação de um efeito denominado de “fulcrum”, o torque angular exercido sobre uma junção, constitui a principal causa para a quebra de um par de tijolos Lego unidos sob tensão.

Tamanho da união

(nº de saliências)

Capacidade de torque aproximada(N-m x 10-6)

1 10.42 50.23 89.64 157.35 281.66 339.27 364.5

Tabela 1. Estimativa das capacidades de torque mínimas dos tipos básicos de junções

Portanto, uma abstracção crítica para a modelação surgiu ao ignorar forças radiais e descrevendo o sistema de forças estáticas dentro de uma estrutura complexa de tijolos Lego como uma rede de junções rotativas localizadas em cada união entre pares de tijolos e sujeita a cargas provenientes do peso de cada tijolo (figura 1).

Figura 1. Modelo de uma estrutura Lego bidimensional, onde se pode visualizar o contorno dos tijolos (rectângulos), os centros de massa (círculos), as uniões (linhas com asterisco no eixo da ligação) e por último o chão onde a estrutura assenta (rectângulo preenchido). A espessura das linhas de união é proporcional à força da junção. É de salientar que os eixos do gráfico estão em diferentes escalas

2.2 Redes tridimensionaisPara expandir o nosso modelo de rede de propagação Torque para cobrir estruturas tridimensionais de tijolos a nossa definição de junções tem de ser aumentada. Onde antes as uniões de tijolos podiam ser descritas como um inteiro, o número de saliências que unem dois

Page 3: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

tijolos, no caso tridimensional, serão de n×m rectângulos. Por exemplo, tijolos 2×4 podem ser unidos a partir de 8 diferentes tipos de junções: 1×1, 1×2, 1×3, 1×4, 2×1, 2×2, 2×3, 2×4. Já sabemos, a partir do caso bidimensional, como as uniões n×1 respondem a forças que actuam apenas ao longo do eixo do x.

Uma união 2×1 suporta mais do que o dobro do torque admitido para 1×1; a razão é que o próprio tijolo actua como um fulcrum (figura 2). A distância da ponta até à primeira saliência é menor que a distância para a segunda saliência, resultando numa menor multiplicação da força para a segunda saliência. Este efeito de fulcrum não acontece quando a força é ortogonal à linha das saliências.

Uma união de 2×1 pode ser considerada como 2 uniões de 1×1 ou como uma junção com o dobro da força de um 1×1. Segundo estas ideias, surge a seguinte regra: dois tijolos unidos por n×m saliências sobrepostas, formará uma junção com uma capacidade Kx ao longo do eixo do x igual a m vezes a capacidade de uma junção n e Ky ao longo do eixo y igual a n vezes a capacidade de uma junção m.

Figura 2. Efeito de fulcrum: uma união 1×2 resiste mais do dobro da carga do que uma junção 1×1 porque a segunda saliência está mais afastada do eixo de rotação.

Para testar a resistência desta união composta a qualquer força espacial f, há que separá-la nas suas duas componentes, fx no plano xz e fy no plano yz. Estas componentes induzem dois torques τx e τy. Para quebrar a união ou τx tem de ser maior que Kx ou τy tem de ser maior que Ky.

Com este procedimento induz-se, a partir de uma estrutura de tijolos tridimensional, dois sistemas de uniões bidimensionais, um para as componentes x dos torques e das junções e outra para as componentes y. A estrutura é estável se ambas as projecções forem redes estáveis (figuras 4 e 5).

Figura 3. União bidimensional: o tijolo A e o tijolo B sobrepõem-se numa união J de 4×2. Ao longo do eixo do x a junção é uma dupla junção 4×2. Ao longo do eixo do y é um quádruplo de uma junção 2×1.

Page 4: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

2.3 LimitaçõesEste tipo de modelação não descreve completamente todas as inter-acções físicas altamente complexas que ocorrem. No entanto espera-se que considerando uma margem adequada de erro, seja possível produzir aproximações ao verdadeiro comportamento dos tijolos Lego.

As propriedades dos tijolos Lego são variáveis. Diferenças na construção, a idade, a sujidade, a temperatura, a humidade e outros factores imprevisíveis produzem variações aparentemente ao acaso nas medidas do seu comportamento. Estes factores têm de ser tidos em conta para termos resultados realizáveis.Actualmente, o modelo usa uma margem de segurança de 20% pelo que atribui 20% menos resistência a todas as junções envolvidas.

3. Especificação computacional do modeloO modelo para uma estrutura 2D de tijolos gera um conjunto de equações de intervalo simultâneas que podem ser satisfeitas se a estrutura for estável.

Cada força, quer seja o peso de um dos tijolos quer seja uma carga externa, terá de ser absorvida pelas junções na estrutura e transmitida para o chão. O torque exercido por cada união deve encontrar-se no intervalo [-K, K] sendo K a sua capacidade máxima deduzida a partir do número e disposição de saliências sobrepostas entre dois tijolos.

Ao separar cada junção 3D em duas junções 2D ortogonais independentes, que recebem as componentes x e y para cada força externa, pode-se projectar um modelo em rede 3D de uma estrutura de tijolos e junções em dois planos ortogonais, xz e yz, gerando duas redes 2D que podem ser resolvidas separadamente, tendo em conta que o problema de resolver redes 3D não aumenta a complexidade em relação à resolução de redes 2D de tijolos e uniões.

Figura 4. Estrutura tridimensional de tijolos Lego gerada pelo processo evolucionário

Page 5: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 5. Projecção da estrutura tridimensional da figura 4 para os planos xz e yz, onde se obtém duas redes bidimensionais que podem ser resolvidas independentemente.

3.1 NFA (Network flow algorithm)Para cada força, considera-se a rede de todas as uniões na estrutura como uma rede de fluxos que transmite e absorve a força até ao chão. Cada junção j pode suportar uma certa fracção α duma força, dada pela fórmula

(1)

onde Kj é a capacidade máxima da junção, d (j, F) é a distância entre a linha gerada pelo vector da força e a junção e a magnitude f da força.

Se uma dada força F é fixa e cada ponta no gráfico está etiquetada como o correspondente αjb de acordo com (1), obtém-se um problema de fluxo na rede originado pelo tijolo onde está a ser aplicada a força. Um fluxo da rede de 1 representa uma distribuição válida da força F ao longo da estrutura.

A totalidade do problema não é redutível; contudo, para um NFA, pelo facto de existirem múltiplas forças a serem aplicadas em diferentes pontos e a capacidade de cada junção relativamente a cada uma varia com a magnitude da força e da distância ortogonal entre a força e a junção.

3.2 Codificação genéticaPara evoluir estruturas no computador, é necessário uma apresentação genética. O algoritmo evolucionário manipula este genótipo para criar novas alternativas através de recombinação e mutação dos anteriores.

Esta representação utiliza a mutação árvore standard e os operadores de recombinação de programação genética. Foram implementadas representações em árvore de estruturas Lego em 2D e 3D. Cada nó na árvore representa um tijolo e contém um parâmetro tamanho, que indica o tamanho do tijolo e uma lista dos seus descendentes, que são novos tijolos fisicamente unidos ao seu ascendente. Cada nó descendente tem parâmetros posicionais que descrevem a posição do novo tijolo relativamente ao seu ascendente.

3.3 Codificações para estruturas bidimensionais e tridimensionais

Page 6: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Na versão bidimensional, cada nó tijolo tem um parâmetro tamanho (4, 6, 8, 10, 12 ou 16 correspondentes aos tijolos Lego de tamanho 1×4 até 1×16) e quatro potenciais filhos, cada qual representando um novo tijolo unido a um dos seus quatro cantos. Cada descendente presente contém um parâmetro tamanho de união, que indica o número de saliências sobrepostas na união.

Figura 6. Exemplo de uma codificação genética bidimensional

Na extensão para 3D adiciona-se mais parâmetros de tamanho para albergar tijolos, além do 1×n e visa uma lista de descendentes, cada um representando um novo tijolo a ser colocado no pai. Cada descendente tem três parâmetros: as coordenadas x, y, z do novo tijolo; um parâmetro rotação que especifica a orientação do descendente relativamente ao pai e um parâmetro tamanho do descendente.

3.4 Algoritmo evolucionárioUtiliza-se um algoritmo genético simples e estável, com uma população inicial composta por apenas um tijolo. Através de mutações e recombinações, é gerada e evoluída uma população de 1000 indivíduos.

1. While maximum fitness < Target fitness2. Do Randomly select mutation or crossover.3. Select 1 (2 for crossover) random individual(s) with

fitness proportional probability.4. Apply mutation or crossover operator5. Generate physical model and test for gravitational

load6. If the new model will support its own weight.7. Then replace a random individual with it (chosen with

inverse fitness proportional probability).

3.5. Função de fitness universalEsta é uma função genérica de fitness, presente em [3], que pretende representar todas as funções de fitness para qualquer estrutura.

(2)

Esta função é calculada com a ajuda de algumas funções auxiliares, como a função d, que computa a distância euclidiana entre um ponto alvo e o tijolo mais próximo na estrutura e a função supp, que utiliza o simulador para computar a fracção de uma determinada carga que a estrutura suporta.

4. Sistema EvoCadO Evo-CAD é um sistema mini-CAD (Computer Aided System) para desenho de estruturas 2D.Actualmente os sistemas comerciais de CAD podem incorporar um simulador mecânico para as ferramentas de manipulação 3D. No entanto, o novo campo do Desenho Evolucionário comporta o potencial de adicionar uma inovação para o desenho assistido por computador: um

Page 7: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

papel criativo. Não somente os desenhos podem ser desenhados, como no CAD; ou desenhados e simulados, tal como num sistema de CAD suportado por um simulador; como também desenhados pelo computador através de orientações dadas pelo utilizador.

Um sistema Evo-CAD coloca o desenhador humano no papel principal: o desenhador tem uma ideia para um dado objecto. Alguns dos requisitos podem ser adicionados para o espaço de trabalho, criando alvos evolucionários que um mecanismo de desenho evolucionário utiliza para evoluir um possível desenho. O resultado deste mecanismo pode ser modificado, testado e novamente sujeito ao processo evolucionário quantas vezes for desejado.

Figura 7. Um sistema conceptual EvoCAd tem dois motores de criatividade, o desenhador humano e o software de Desenho Evolucionário. O desenhador humano tem o controlo e recorre aos restantes elementos apenas como ferramentas. Uma PDL (Linguagem de Descrição de Problemas) permite a comunicação entre as componentes de evolução e simulação (setas maiores).

4.1 Como utilizarEste sistema CAD é um programa bidimensional que permite ao utilizador visualizar a estrutura de frente. Para construir algo, clica-se num tijolo e arrasta-se para o local pretendido na área de trabalho, e, depois, solta-se para largar o tijolo.

Um tijolo chão designa o chão da estrutura a construir. Todos os tijolos estão sujeitos às leis da gravidade, que tem uma força vertical e de sentido descendente, excepto o tijolo chão que pode ser colocado em qualquer parte. O utilizador pode verificar a estabilidade da estrutura ao pressionar o botão de “check stability”e portanto averiguar se existem tijolos que podem cair.

4.2. Assistência na Inteligência Artificial

Os objectivos são definidos no sistema de desenho evolucionário através de cargas , alvos e restrições X. O algoritmo evolucionário irá tentar satisfazer o maior número de objectivos possível dentro de um limite de 30 segundos. Os objectivos serão plenamente alcançados se a estrutura alcançar todos os alvos e os pontos de carga, para além de evitar os pontos de restrição e suportar as cargas especificadas.

Uma vez que o utilizador especificar os objectivos com pontos de carga, alvos e restrições, pode pressionar o botão “Evolve Structure” para iniciar o algoritmo evolucionário. Noutras palavras,

Page 8: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

os alvos são pontos no espaço de trabalho onde se pretende que a assistência artificial tente

tocar com tijolos, enquanto as restrições são pontos onde não é possível construir. As cargas representam diferentes tipos de pesos em gramas. O peso de uma carga pode ser alterada pelo utilizador. As cargas são como os alvos, porém os tijolos terão também de suportar um determinado peso naquele ponto.

4.3. Exemplo de execução

Figura 8. O utilizador coloca dois tijolos que servirão de chão e de seguida coloca nove pontos de carga com 25g cada.

Figura 9. O processo evolucionário desenhou uma estrutura que preenche todos os requisitos, descritos na figura 8.

Figura 10. O utilizador executa algumas alterações cosméticas.

Page 9: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 11. A estrutura desenvolvida é construída com tijolos Lego e testada com uma carga de 250g.

5. ExperiênciasPara melhor compreender o mecanismo de utilização e o processo de evolução realizei algumas experiências. Em cada uma das experiências designarei qual a relação entre a função de fitness universal descrita anteriormente e o comportamento observado.

5.1. Experiência 1Nesta primeira experiência, pretendo verificar qual o estratagema que o processo evolucionário utiliza para suportar a carga que se encontra escondida.

Figura 12. Execução que utiliza um limite efectuado por restrições e uma carga de 50g.

Page 10: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 13. Execução após conclusão do processo evolucionário.

5.1.1. ObservaçõesA execução do processo, mediante o cenário criado, não produziu resultados satisfatórios.A carga não foi alcançada, independentemente do número de tentativas de execução do programa. A explicação deste facto prende-se com a função de fitness, que não contempla qualquer componente sobre as restrições. Basicamente o que o programa alcançou foi construir uma estrutura que se aproxima da posição da carga.

5.2. Experiência 2Nesta segunda experiência, aproveitando a capacidade que o tijolo chão dispõe, de não ser atingido pela gravidade, pretendo estudar o comportamento da construção de uma estrutura que alcance um alvo imediatamente abaixo da sua base.

Figura 14. Este cenário foi construído através de um limite de restrições na totalidade do topo do tijolo chão e com um ponto alvo.

Figura 15. Resultado da execução do processo evolucionário.

5.2.1. ObservaçõesO resultado da execução indica que o processo evolucionário não tem quaisquer dificuldades em alcançar pontos alvo que se encontrem abaixo da posição da base.

5.3. Experiência 3Na seguinte experiência, substitui o ponto alvo da experiência anterior, por um ponto de carga. O objectivo é verificar, se existe diferença de comportamento no processo evolucionário para estes dois objectivos diferentes.

Page 11: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 16. Execução do mesmo cenário da experiência anterior, apenas com a alteração do ponto alvo para uma carga de 25g.

Figura 17. Resultado após execução do algoritmo evolucionário

5.3.1. ObservaçõesApesar da configuração final ser diferente da encontrada na experiência anterior, a justificação da necessidade de suporte da carga de 25g é suficiente para explicar as alterações efectuadas.

5.4. Experiência 4Na seguinte experiência, a configuração inicial do ambiente de trabalho, permitirá a apreciação do resultado do processo evolucionário, mediante a existência de duas cargas, dispostas a diferentes distâncias na zona inferior da base de construção.

Figura 18. Este cenário foi construído através de um limite de restrições na totalidade do topo do tijolo chão e com dois pontos de carga de 25g.

Page 12: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 19. Execução intermédia

Figura 20. Resultado final da execução do processo evolucionário

5.4.1. ObservaçõesAtravés da observação do comportamento da configuração da estrutura na figura 19, pode-se verificar que o algoritmo pretende alcançar primeiro o ponto de carga que está mais próximo, que neste caso é o da esquerda. O seu comportamento é justificado pela forte componente de proximidade das cargas que está patente na formulação da função de fitness universal.

5.5. Experiência 5Nesta experiência irei continuar a aprofundar o âmbito de execução na zona inferior da base de construção, porém com a alteração da remoção do limite de restrições que estava no topo do tijolo chão. Através da utilização de um objectivo misto, pretendo verificar qual o comportamento do processo evolucionário numa situação em que existem vários factores em simultâneo, como a distância, os diferentes tipos de objectivos e a sua própria disposição ao longo da área de trabalho.

Page 13: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 21. Ambiente composto por um tijolo chão suspenso e com três cargas de 25g e dois pontos alvo dispostos na zona abaixo da base de construção.

Figura 22. Execução intermédia

Figura 23. Execução intermédia

Page 14: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 24. Resultado final da execução do processo evolucionário

5.5.1. ObservaçõesAtravés da observação da figura 22 podemos verificar que os primeiros objectivos alcançados são os pontos de carga que estavam mais perto da base de construção. Apesar de nesta figura, também podermos verificar que o próximo objectivo a alcançar é o ponto alvo mais perto, que neste caso é o da esquerda. Já na figura 23, verificamos que o ponto da direita é alcançado primeiro que o seu oposto. Estas observações permitem induzir que apesar de se dar preferência aos objectivos menos distantes, através da mutação e recombinação é possível que se prefiram os objectivos que num dado momento estejam mais próximos da estrutura desenvolvida.

5.6. Experiência 5Na próxima experiência, apresento a simulação da criação de uma escada que permitirá suportar uma carga no topo da escada.

Figura 25. Configuração inicial do espaço de trabalho com um limite em forma de escada e por um peso de 50g.

Page 15: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 26. Resultado final da execução do processo evolucionário

5.6.1. ObservaçõesNa continuidade do que verificámos em experiências anteriores, a ausência de uma componente para as restrições na função de fitness leva a que a solução obtida não se encontre no que seria de esperar, visto que estrutura é desenvolvida do lado exterior da “escada”. No entanto, este comportamento prende-se com a componente da função de fitness, associada às cargas, que atribui maior relevância para as estruturas que suportam a carga numa maior densidade, isto é quantos mais tijolos suportarem directamente a carga, melhor, pois assim reduz-se a quantidade de tijolos para equilíbrio.

5.7. Experiência 7Nesta experiência irei expor o mesmo cenário que a experiência anterior, apenas com a alteração do ponto de carga para um ponto alvo. Pelo comportamento descrito na experiência 6, pretende-se visualizar a alteração do comportamento do processo evolucionário na ausência da componente que está associada à fracção da carga que a estrutura suporta.

Figura 27. Resultado final da execução do processo evolucionário

5.7.1. ObservaçõesAtravés da observação da figura 27 é possível visualizar que o comportamento gerado é exactamente o que se pretendia na experiência anterior. Visto que neste caso não existem cargas nos objectivos podemos deduzir que sem a influência da componente de fracção de carga da estrutura, o processo evolucionário produz uma estrutura que chega mais depressa ao objectivo.

Page 16: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

5.8. Experiência 8Na seguinte experiência irei explorar a concorrência entre dois tijolos chão que se encontram equidistantes de um ponto alvo. É realizada ainda uma divisão do espaço de trabalho, através de restrições, deixando apenas um ponto de acesso ao objectivo.

Figura 28. Cenário inicial

Figura 29. Resultado final

5.8.1. ObservaçõesPela observação da figura 29 podemos verificar que o programa utiliza o tijolo chão da esquerda para a execução da estrutura. Visto que se tratavam de elementos equidistantes do alvo, a justificação que pode ser induzida é de que o primeiro tijolo a ser colocado no espaço de trabalho tem precedência para com os restantes.

5.9. Experiência 9Na seguinte experiência retirámos o factor de equidistância da experiência anterior, mas mantivemos a ordem de colocação dos tijolos chão. Pretende-se então corroborar as deduções efectuadas anteriormente.

Page 17: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 30. Cenário idêntico ao da experiência anterior, mas que difere na colocação do segundo tijolo chão.

Figura 31. Resultado final da execução

5.9.1. ObservaçõesNa observação da evolução da estrutura observamos que, apesar de mais distante, o tijolo chão que foi colocado em primeiro lugar é preferido em relação ao outro tijolo que se encontra mais perto do objectivo. Isto leva a refutar as observações indicadas na experiência anterior que indicam que o factor de ordem de colocação apenas influencia casos de equidistância para o objectivo. Vimos agora que este factor de ordem é crucial na execução do processo.

5.10. Experiência 10A seguinte experiência pretende apenas suportar a observação da experiência 9. Através de uma disposição idêntica, porém com a alteração da ordem de colocação dos tijolos chão, pretende-se provar que a ordem na disposição dos tijolos chão tem toda a relevância no processo de selecção do processo evolucionário sobre qual dos tijolos deve suportar a estrutura.

Page 18: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 32. Resolução final

5.10.1. ObservaçõesTal como esperávamos, ao alterar a ordem de colocação dos tijolos chão, o processo evolucionário preteriu o tijolo da esquerda pelo que foi colocado em primeiro lugar.

5.11. Experiência 7Na seguinte experiência pretendo estudar a concorrência num cenário onde existem três configurações que diferem apenas na carga do objectivo. Da esquerda para a direita foram utilizados três pontos de carga, 25g, 50g e 100g respectivamente, para definir um objectivo isolado para cada tijolo chão. De forma a conseguir este isolamento foram dispostas duas barreiras de restrição.

Figura 33. Cenário inicial

Page 19: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 34. Execução intermédia

Figura 35. Resolução final

5.11.1. ObservaçõesAtravés da análise da figura 34, podemos verificar que o processo evolucionário inicia primeiro a construção das estruturas suportadas pelos tijolos chão que estão em ambos os lados, deixando para último a estrutura a definir no meio.Esta situação prende-se com o factor de ordenação de colocação das bases da estrutura que já visualizámos anteriormente.

5.12. Experiência 12Repetindo a experiência anterior, mas transformando as cargas em alvos, pretendo estudar as alterações que possam acontecer.

Page 20: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 36. Execução intermédia em que se verifica que as estruturas estão a ser construídas conforme a ordem de colocação das bases

Figura 37. Execução final

5.12.1. ObservaçõesApesar de uma menor disparidade na execução de cada um dos sectores, na globalidade, a experiência resultou da mesma forma que a anterior.

5.13. Experiência 13Na experiência que se segue, pretendo estudar qual o comportamento do processo evolucionário, numa situação onde não é possível alcançar o objectivo.

Figura 38. Cenário inicial composto por um limite de restrição colocado à volta da totalidade do tijolo chão que servirá de base à construção

Page 21: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 39. Cenário de execução intermédio

Figura 40. Mutação da execução anterior

5.13.1 ObservaçõesDevido à pouca flexibilidade do programa disponível para verificar esta situação, não foi possível continuar o estudo desta situação a um nível mais detalhado. A necessidade de inúmeras execuções para verificar se a dado instante o programa percebe que não é possível continuar, não pode ser satisfeita porque o programa admite apenas algumas execuções consecutivas da experiência.No entanto, pelo que se pode observar, o processo vai gerando mutações sempre na direcção da posição onde está o ponto alvo.

5.14. Experiência 14Nesta outra experiência vou tentar perceber até que ponto, o mecanismo de evolução consegue ,através das mutações e recombinações procurar dentro do espaço onde a base está confinada se consegue alcançar o ponto alvo.

Page 22: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 41. Cenário inicial idêntico à experiência anterior, mas com uma brecha que permitirá visualizar a "inteligência" do processo para procurar novas soluções

Figura 42. Cenário de execução do processo de evolução

5.14.1. ObservaçõesNesta experiência podemos verificar que o processo de evolução continua a não construir mais rapidamente para a solução, permanecendo orientado na direcção do alvo. Isto indica que, para além de não haver uma componente de restrições na função de fitness, existe uma direcção, que está associada à menor distância entre a estrutura e o alvo, e que dificulta a realização do objectivo.

5.15. Experiência 15Na próxima experiência pretendo estudar o comportamento das estruturas geradas pelo processo evolucionário. Esta experiência poderá permitir visualizar melhor que parâmetros definem os objectivos a alcançar. Para além de possuir uma componente de concorrência para destacar qual dos dois tijolos chão irá suportar a estrutura, existe também uma componente de concorrência para distribuir os objectivos pelas bases.

Page 23: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 43. Cenário inicial

Figura 44. Estruturas geradas pelo processo evolucionário

5.15.1. ObservaçõesTal como nas duas experiências anteriores, podemos visualizar que a solução encontrada pelo processo evolucionário é muito pobre, pois apenas procura aproximar-se do alvo, apesar de saber que nunca o poderá alcançar naquela direcção.

5.16. Experiência 16Para permitir visualizar outras aproximações mais satisfatórias do processo evolucionário, vou alterar a disposição dos alvos da experiência anterior.

Figura 45. Cenário inicial idêntico ao anterior, mas com a deslocação dos alvos

Page 24: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Figura 46. Cenário de execução intermédia

Figura 47. Resolução da execução do processo evolucionário

5.16.1. ObservaçõesAo aproximar os alvos dos tijolos chão conseguimos visualizar uma execução mais convincente.Na figura 46 verificarmos que apesar de atingir um dos objectivos, a estrutura da esquerda está muito próxima do outro objectivo, pelo que se não justificaria a evolução a partir do outro tijolo, no entanto a falta de observação em relação às restrições impede uma execução mais eficiente.

6. ConclusõesVerifiquei que, dentro de algumas limitações, um simulador para objectos pode ser utilizado numa computação evolucionária e que os objectos gerados podem depois ser construídos.

Este sistema demonstra como este novo tipo de aplicações pode aplicar técnicas de Desenho Evolucionário que permitem ao computador, não ser apenas uma mera ferramenta de simulação, mas também ter a capacidade de criar os seus próprios desenhos a partir das especificações do utilizador. Através deste processo híbrido de desenho, é possível reduzir o esforço humano na criação e optimização de desenhos.

Todas as estruturas evoluídas pelo programa incorporam uma margem de segurança de 20%. Esta margem foi alcançada de maneira intuitiva pelo que deverá haver um trabalho mais profundo nesta matéria, por forma a não descurar as eventuais falhas que advêm de diversos factores, mas também por forma a melhorar o desempenho nos casos em que as estruturas evoluídas ganham grandes proporções e níveis elevados de complexidade.

Page 25: A utilização do EvoCAD na evolução de estruturas físicaspub/Vart/projectoVA26508.pdfNeste trabalho apenas irei abordar o Desenho Evolutivo, porque se encontra directamente relacionado

Ao longo das várias experiências que realizei ressaltaram alguns aspectos que poderão servir para futuros melhoramentos na evolução desta área e desta implementação em concreto. Verifiquei que quando existe concorrência, na maior parte dos casos, existe uma selecção com ordem cronológica, em detrimento da execução mais eficiente. Por outro lado, na evolução de estruturas delimitadas por restrições o sistema demonstrou-se pouco eficaz pois não possui a capacidade de “observar” noutra direcção que não seja a dos objectivos. Existe também a necessidade estética e quantitativa de premiar as estruturas que procuram atingir os seus objectivos sem utilizar tijolos redundantes e desnecessários, pelo que, seria proveitoso haver um mecanismo de recolha deste “lixo” que provém das mutações e recombinações.

Por último, visto que a interface disponibilizada era a única forma de testar estas situações, saliento que seria conveniente e de grande interesse dotar o programa de uma série de inovações que permitiriam uma melhor simulação e estudo desta matéria. As inovações iriam desde a possibilidade de executar várias mutações e recombinações até que o objectivo fosse alcançado ou pelo menos sem ter a restrição da computação em trinta segundos e por último, a mais crucial e que será sem dúvida uma grande ferramenta de desenvolvimento e de expansão desta nova área que é a implementação de um sistema 3D.

Referências[1] Funes P. e Pollack. J. B. (1997), Computer evolution of buildable objects. em P. Husbands

e I. Harvey, (eds), Fourth European Conference on Artificial Life, MIT Press, Cambridge.[2] Funes P. e Pollack. J. B. (1998), Evolutionary body building: Adaptive physical designs

for robots. Artificial Life.[3] Funes P. e Pollack. J. B. (1999), Computer evolution of buildable objects em P. Bentley

(ed.), Evolutionary Design by Computers, Morgan-Kaufmann, San Francisco.