neural networks

Started by
23 comments, last by walkingcarcass 21 years, 6 months ago
quote:Original post by Kylotan
But usually, the point of NNs or GAs is that you use them in situations where the ''rules'' are either not known up-front, or are difficult to express, or perhaps where there are a lot of rules and it''s hard to judge their relative importance.


There are non-ANN tools for handling these situations, such as Holland''s Classifier System.

Timkin
Advertisement
quote:Original post by fup

If you understand these tools and you use them wisely, they will work. If you have failed in the past then either you don’t understand them enough or you have tried to apply them to the wrong type of problem (which also implies a lack of understanding).



ai-junkie.com


I can use the same argument for anything: "C++ is ohh so very complicated.. You can solve ANY problem with it, but only after years of subtle mastery with the Mystic HooDoo of Gnu." The fact remains, that while it MAY be possible to solve ANY problem via C++, most problems ARE still unsolveable.

Anyway, you missed my point. I wasn''t saying it''s impossible to get a solution using a GA or ANN. I''m saying that _MOST_ of the time it''s the wrong approach. You seem to know what a NN is good for, but does that mean the rest of the world does? Herein lies the point of the discussion.

Let compare apples to apples. In terms of resources, what is acceptable for an ANN/GA in terms of a) CPU time, b) Training data, and c) operator assistance? Compare the same figures to a rule based solution. Faster-Better-Cheaper != ANN/GA. At least not for now anyway.

Will




------------------http://www.nentari.com
well I''ll (and anyone whose has done any serious research or training in AI, Genetic Algorithms/Programming, and Neural Networks) agree that ANN and GA/P aren''t the solution to every problem, and that they are really just tools, which usually need to be used with other things. However, they are not useless.

Neural nets are a relatively new invention, and already has many uses: it is a very good thing to model any living entity, and it is also very good for pattern matching. Obviously, this is because pattern matching is pretty much what it does. Therefore, this can''t be used by itself in a game, and it will give the best AI. However, it can be used with other things to make a more decent and natural AI in many cases - and by then making the proper simplifications this can become very fast, and using little resources. The key thing is that it needs to be used with other techniques, since it is itself only a technique.

As for Genetic Algorithms/ Genetic Programming, this is an even newer technique, and it is very remarkable. It can easily be used in computer games, something that my dissertation for my degree has shown. It is really just a search through some space, but it is much faster than a random search, and it is very natural. Of the two, Genetic Programming is the more interesting one: by combining this with a simple scripting language, it is possible to genetically create an AI behaviour, which you can then see if it is good or not. If it is good, then the next behaviour scripts will contain elements of the good behaviour. In essence, you will get a natural progression. Again, as in NN, this is only a technique which needs to be used with other techniques and methods to make an AI.

Phew! Hope this helps someone, or at least inspire them to look into these techniques. And ignore the doomsayers who say they are useless. They are perfectly fine for what they do.
All done with Cash:www.venini.co.uk/arthursdeparture/
You dont use heuristics when you can apply simple rules...
But for highly dynamicla and/or chaotic systems you have to use heuristics, and this is where ANN and GA/GP are very very good tools...

intersting discussion

--Spencer
--Spencer"All in accordance with the prophecy..."
About six years ago I setup a GA experiment where two "gene pools" were to learn the game Connect-4. One pool played Red, and the other played Black.

The results were quite interesting, as just by watching a graph of one pools score, I could tell when one gene pool learned something, and when the opposing pool learned a counter. I used these ''spikes'' to keep track of new discoveries, and would keep the top ranking algorithm at the time as part of all subsequent generations.

Of course, the system never ''learned'' how to play connect-4 well enough to beat me (although it did much better than ''random''), but I''ll always remember how amazed I was at being able to quantify ''discovery''.

Just thought someone might enjoy that little story.

Will
------------------http://www.nentari.com

This topic is closed to new replies.

Advertisement