Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Engineering like Evolution or something...

Options
  • 22-07-2009 1:12am
    #1
    Registered Users Posts: 156 ✭✭


    I posted this in popular science cause it sounds science fictioney and I don't really know what I'm on about but anyway...

    So in evolution, slight differences in animals give them different chances of survival so they kind of evolve to best suit their environment and stuff. So could computers help design things using a similar method to find an efficient model?

    Supposing you were designing an airplane wing you could get a computer to start with a cube and test how aerodynamic(and other properties) it is and then randomly make slight changes to its shape and retest its properties. It would then choose the better model and repeat the process until it stops changing....

    I'm not on about about airplanes flapping wings and eating worms!! Just simple things based on the same principle of randomly creating variations and letting the worse design "die off". I've heard of engineering based on observing nature, like shapes of bird wings being aerodynamic. But obviously actual bird wings probably have evolved other properties too like keeping them warm and stuff so just copying the wings wouldnt be an efficient design for a plane.


    Any ideas? Is it already being used to an extent or do better design methods exist? Or is it just that there is not enough computing power?Just a thought.......
    Tagged:


Comments

  • Closed Accounts Posts: 9,972 ✭✭✭orestes


    It's an interesting idea but evolution doesn't work with any particular goal or destination in mind, it simply makes whatever changes are best suited to survival for the organism to pass on it's genes to future organisms. Mutations that are not conducive to survival of the species are rejected or are wiped out due to their inefficiency (by predators, the environment the organism is in, etc.), but there is no direct goal or target in mind, the mutations that are best suited are the ones that are chosen regardless of what the change might be.

    The idea of natural selection is what makes Darwinian evolutionary theory so compelling as it is the best explanation available for the diversity of life-forms, but the natural selection componant is the key part of it.


  • Registered Users Posts: 156 ✭✭MoogPoo


    Yeah your right
    orestes wrote: »
    ... it simply makes whatever changes are best suited to survival for the organism to pass on it's genes to future organisms. Mutations that are not conducive to survival of the species are rejected or are wiped out due to their inefficiency (by predators, the environment the organism is in...

    But I mean use this principle you said as a design method. Here "survival" is based on whether the computer decides it it efficient(by calcuating properties). I know there is no target in mind in nature but for design, you could artificially "mutate" the design, and if the properties of this design are calulated to be superior to the original or efficient(conducive to survival) keep this design. If it is less efficient, the computer will "kill" the design and create a different "mutation".

    It should in theory, evolve a very efficient design like evolution in animals. As the less efficient model will die off and better ones will keep mutating. Maybe I should have not drawn a comparison with nature as it only goes so far. Athough it is up to the engineer to define what is "more efficient", and what should "die off".


  • Closed Accounts Posts: 9,972 ✭✭✭orestes


    MoogPoo wrote: »
    Yeah your right



    But I mean use this principle you said as a design method. Here "survival" is based on whether the computer decides it it efficient(by calcuating properties). I know there is no target in mind in nature but for design, you could artificially "mutate" the design, and if the properties of this design are calulated to be superior to the original or efficient(conducive to survival) keep this design. If it is less efficient, the computer will "kill" the design and create a different "mutation".

    It should in theory, evolve a very efficient design like evolution in animals. As the less efficient model will die off and better ones will keep mutating. Maybe I should have not drawn a comparison with nature as it only goes so far. Athough it is up to the engineer to define what is "more efficient", and what should "die off".

    It's a very interesting idea. If the technology to make it viable were to become available it would certainly be interesting to see what it came up with, but it might need some kind of random element generator to attribute for the "natural selection" part of the process instead of being a program with certain criteria that are to be met as best as possible.

    An idea very similar to yours is put forward in the book Search For The Dice Man by Luke Reinhart (not a patch on its' predecesor), a car company programs a computer to put forward random designs for cars. The majority are crap and are rejected, but through random generation and with enough time the program will eventually and inevitably throw out the occasional great idea. That the kind of thing you have in mind?


  • Registered Users Posts: 156 ✭✭MoogPoo


    Kinda, except I meant more gradual changes with slight variations rather than randomly creating an entire design.I think I heard something too about computer programs that would slightly change but I'm not sure. I guess there would always be processing power limitations anyway.

    And certain things could never evolve anyway due to the gradual changes. Like wheels are really efficient but I never saw a dog with one! So I'd say engineers can probaly design better things anyway already. Dunno...


  • Registered Users Posts: 161 ✭✭GradMed


    Hey, it's not science fiction. This is a clip from a national geographic documentary about the discovery of an incredibly well preserved 67-million-year-old hadrosaur, named Dakota.

    http://www.youtube.com/watch?v=AKzsSGM-y7w

    Towards the end of the clip you can see the projected model of how the hadrosaur moved. It's not shown in the clip but from what I remember of the documentary they modeled the movement using information from the mri scanner and then entered the information into a computer program. This program functioned in the way you describe in your post, initally the model fell immediately, after a huge number of iterations it was able to take a step, more iterations and it could take another. Lots of computer time later the model could trot and then gallop allowing them to estimate it's top speed.


  • Advertisement
  • Closed Accounts Posts: 3 mikelepore


    MoogPoo wrote: »
    randomly make slight changes to its shape and retest its properties

    Some electronics companies have tested something similar to that. For decades all electronics companies have had standard software packages that analyze circuits. It has always been customary to have the computer randomly change the values of all resistors, capacitors, etc., and make thousands of iterations. This is called a Monte Carlo simulation. It is done to simulate the expected variations in the manufacturing line, as dopant concentrations and depths vary, oxide insulation thicknesses, vary, etc., just because manufacturing is somewhat unpredictable. Then the customary procedure is to print out the mean and standard deviation of the important outputs, such as logic levels, delay times, power dissipation, and let a human being decide what to do next with it. But the software was modified to do something new. The new method had the computer begin by making a large matrix of the partial derivative of every important measurement with respect to every component value. That matrix allows the computer to make more intelligent moves and have less randomness. You just tell the computer to do whatever it must do to improve the up and down levels, delays, or other measurements of interest. Any designer could do it on scrap paper, but the point is that a person doesn't have to do it. You just tell the computer to give you a design for a faster logic chip or memory chip, that uses less power, and is less sensitive to temperature variations. Then you go home for the weekend and leave it running. You come back to find your improved chip design waiting for you.


  • Moderators, Science, Health & Environment Moderators Posts: 10,076 Mod ✭✭✭✭marco_polo


    MoogPoo wrote: »
    I posted this in popular science cause it sounds science fictioney and I don't really know what I'm on about but anyway...

    So in evolution, slight differences in animals give them different chances of survival so they kind of evolve to best suit their environment and stuff. So could computers help design things using a similar method to find an efficient model?

    Supposing you were designing an airplane wing you could get a computer to start with a cube and test how aerodynamic(and other properties) it is and then randomly make slight changes to its shape and retest its properties. It would then choose the better model and repeat the process until it stops changing....

    I'm not on about about airplanes flapping wings and eating worms!! Just simple things based on the same principle of randomly creating variations and letting the worse design "die off". I've heard of engineering based on observing nature, like shapes of bird wings being aerodynamic. But obviously actual bird wings probably have evolved other properties too like keeping them warm and stuff so just copying the wings wouldnt be an efficient design for a plane.


    Any ideas? Is it already being used to an extent or do better design methods exist? Or is it just that there is not enough computing power?Just a thought.......

    http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20020068999_2002112257.pdf

    The problem with Genetic Programing in general is that it only really excels for solving narrow optimization problems, where we can in know advance how to evaluate solutions as either "good" or not.


  • Registered Users Posts: 156 ✭✭MoogPoo


    thanks for all the info guys, I posted same in engineering section too (dunno if im allowed do that). They said something similar...
    http://boards.ie/vbulletin/showthread.php?t=2055629206

    EDIT: Thanks for the links, there unreal!!


  • Moderators, Arts Moderators Posts: 10,516 Mod ✭✭✭✭5uspect


    Genetic Algorithms are nothing new in science and engineering. They can be quite useful.

    Taking your example of finding a good aerodynamic shape.
    Solving the full Navier-Stokes equations for a complex geometry is quite computationally intensive. Direct numerical simulations for example where you solve every significant turbulent fluctuation need to be run on super computers for long periods of time.

    Simple Reynolds averaged simulations can be run on a simple desktop. High end graphics cards can accelerate this often at the expense of precision.

    I know I guy who used GAs to model aerofoils for his FYP in 2D. However its pretty computationally wasteful to use them for more complex shapes, for now at least!

    EDIT: here is a paper where they attempt to optimise a fan blade using GAs.


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    My FYP was on GAs. I used them to generate ANNs, which in turn were evaluated against a specific problem. Fun stuff.

    I vaguely remember reading somewhere about someone using GA's to optimise a diesel engine...but I can't remember any details.


  • Advertisement
  • Closed Accounts Posts: 135 ✭✭gillo_100


    This video might be of interest to you:
    http://www.youtube.com/watch?v=mcAq9bmCeR0&NR=1

    In it the author is trying to argue for evoultion and against ID, but that is kinda besides the point.

    He sets up a model in which clocks, composed of a couple of basic parts, mate and reproduce with the determining evoulutionary factor being able to tell time more accurate.

    So they start of with one hand and then through a random mutation get two hands, these new two handed clocks start to dominate as they are more adapt to this particular scenario, telling the time accurately. This goes on and in some cases 4 handed clocks evolve.

    Anyway the best thing to do is to watch the video its an interesting 10 minutes. The author also has made the code he used for this available, so if you are familiar with MATLab you can give it a go.

    As far as I am aware the major problem with actually using this in design is the ammount of calculations needed to be done, for many different itterations. Also defining the scenario is pretty hard. For a wing some things to be considered are lift & drag at various angles of attack, weight, structural rigidity to name a few. So it get quite complicated quickly.

    In some ways it happens already though, consider vacuum cleaners.
    One of the first vacuum cleaners was made using a soap box, pillowcase and electric fan motor. One william Hoover, "mutated" this design to one which was much more manageable, another "mutation" was to add a rotating brush head. Dyson came up with the "mutation" of a vortex based machine, and as we've seen this has been sucessful "mutation", with most vacuum cleaners these days being based of that design or at least bagless.

    Apolpgies for long post I probably should have split it up a bit.


  • Closed Accounts Posts: 27 narac


    There is a small enough research group in NUIG that look at evolutionary electronics. I think they're called the bio-inspired reconfigurable computing research group. They're based in the Dept. of Electronic Engineering. If you have a google, you might find some info.


Advertisement