Neural Nets Vs Genetic Algorithms

Discussion in 'Intelligence & Machines' started by         , Jul 11, 2002.

Thread Status:
Not open for further replies.
  1. mouse can't sing, can't dance Registered Senior Member

    Yes, a GA with a population size of one is in essence trying to solve a problem by throwing a dice over and over again. This is usually not how an evolutionary algorithm works. At the very least, you should be able to seperate the best individuals from a population by applying selection criteria. With a population of one, there is nothing left to compare with.
  2. Google AdSense Guest Advertisement

    to hide all adverts.
  3. Neurocomp2003 Registered Senior Member

    what exactly are you coding?
  4. Google AdSense Guest Advertisement

    to hide all adverts.
  5. FNG2k4 Registered Senior Member

    What are some good books, or websites to start learning on GA and NN. Im about half way through an Associates in software and was wondering if there was some good starter material on those topics. Any recomendations? About the only coding I do is in C++ .net and a very little in Java.
  6. Google AdSense Guest Advertisement

    to hide all adverts.
  7. mouse can't sing, can't dance Registered Senior Member

    When comparing NNs withs GAs, it is perhaps interesting to note that NNs are usually used for classification problems, as e.g. the recognition of faces or handwritten symbols. GAs traditionally are applied as optimization methods as e.g. finding the best path in the merchant's traveling problem (already mentioned above).
  8. Neurocomp2003 Registered Senior Member


    but BOOKS: MATLAB is simple to read and has an extremely large toolbox of NNets for those too lazy to code for themselves however if your like me and your programmes shoudl ahve taught you to code them...there is
    1) Neural Network in C++ (nto reallly sure the exact title)
    2) Introduction to Neural Networks by Simon Haykin
    3) ELements of Artificial Neural Nets (mehotra, this is the book i learned from and has psuedo code for mostly every type of neural network/decision tree. very easy to read and more for cs people.
    4) Melanie Mitchell has a GA book out. but most GA books are easy to read.

    If you really want a good start on both and other computational simulation pick up
    5) Gary FLakes COmputational Beauty of book I ever bought
    gives alot on ALife/AI/Computatbility
  9.          Reign Mack Registered Senior Member

    Melanie Mitchell's Introduction to GA's is very good, easy to read and understand, plus its pretty interesting.

    There is also a good book on Data mining techniques : for marketing, sales, and customer support.

    *does anybody have any links or sources on how problems can be encoded, One of the hardest stages in creating an effective GA comes down to how the problem is encoded, which seems to be make or break no matter how well or bad you implement the operators.
    Last edited: Mar 10, 2004
  10. artfldgr Registered Member

    there is a plethora of information around at the college websites if you search.
    many books in the AI and sciences in general tend to be expensive, and as far as programming, its hard to find good stuff.

    it is correct that neural nets are used in classification problems but the main reason the technique is used is when salient points are not known.

    data has to be prepared and there are a lot of things that can be changed between types of nets, their layers, data preparation, and so on.. so you get a lot of duds as well as potential winning output.

    what is it doing.. well..a neural net takes information in and in a way divides its influences up and mixes them in the next layer. from that layer these influences are
    pushed forward where those that are more salient have more of an effect and those less salient have less of an effect. your output has to be known using test cases that are used for learning.. those are tested agains another set of known data that is not used for data so as to determing and force the net to pick out what is important in learning and not memorize the answers from the test or learning set. learning is accomplished in back propagation and other forms.. the idea is to have the net converge on answers...

    a genetical algorithm is quite different and in many cases easier to code.. but is generally for other types or problems (as cellular automata are for others).. the problem is formalized in such a way that all the possible solutions are accessible in the solution space. this space has a way of getting large very fast. methods of symbolically represent this information are put together and run through to see their fitness. usually gray numbers are used and not normal binary.. this is to minimize the catastropic change in function in when a binary numbers bit changes. a random population is generated and each member is run against the problem.. the onese that are closer to the answer are kept and the majority are thrown away. these are mated with each other and occaisional mutations are added. there are many mating methods.. but the thought and practice is that the system conserves blocks or parts of solutions that are better since the mating is really swapping chunks or areas in a formalized way that is not fixed at a particular cut point.. eventually the population starts to converge on an answer... not always though..

    both types of systems require a bit of art to get them to work right in understanding how to set things up..

    there are a few shareware packages and demos that you can play with to get a good idea of how theywork and a bit of searching will find them.. especially for neural nets..
    real real good packages for nets run into the 5k range..

    paradigms that combine both are basically using genetic algorythims to defien net structure (topology), and activation values.. so its kind of creating nets that dont learn but are for lack of a better analogie.. instinctual..

    good luck!!
  11. kmguru Staff Member

    Keep tinkering...the day you can come up with a program that can predict a noise with high differential amplitude (random pattern) you will be rich beyond Bill Gates....

    Please Register or Log in to view the hidden image!

  12. malkiri Registered Senior Member

    This post is a couple weeks old, but...

    Do you have any particular problem in mind when you ask about representation? I don't know of any sources for that particular aspect. Some specific things to keep in mind: single bitflips in binary strings with the usual encoding we're used to are not as incremental as they seem - changing the most significant bit changes the value by 2^N-1; Gray codes are an alternative option, but have the same problem less often on a larger scale. Or say we use a tree 'replace a random node with a random tree' a good mutation operator, or is it too drastic?
    Potential issues aren't restricted to reproductive operators, either. Will your representation include your entire solution domain? Will it include too much? Will I be able to calculate a meaningful fitness in this representation?
    As is the case with most aspects of an evolutionary algorithm, there is no single correct answer. You have to take into account not only your problem but also how the results of each choice will interact with each other in order to have an algorithm that performs well. If your representation forces all your mutations to bounce around wildly, maybe it'll work if you use a more conservative recombination operator. Or perhaps you can scale down the rate of mutation as time passes. Or maybe you should use a new mutation operator, or change the representation.
    I just ran across a nice FAQ for at Take a look particularly at part 2 and 3, as well as part 4. Part 6 is where I drew the info about Gray codes above from.
Thread Status:
Not open for further replies.

Share This Page