On Aug 24, 2009, at 6:18 PM, Russ Abbott wrote:
I think Marcus gets to the problem. I want agents that can create
new agents that have new functionality -- or equivalently modify
their own functionality in new ways.
Well, will table based functionality work? .. i.e. a list of behavior
parameters?
If not, will code snippets work? NetLogo has an eval function (run &
runresult) so dynamically created code snippets as behavior would work.
I don't see how NetLogo lets you do that.
See above.
You need the ability to manipulate the rules themselves.
Well, both the above can do that.
Just creating a class of agents that you call rules doesn't do that.
It doesn't provide a way to create new functionality.
Agreed, at least to a point. Agents are just objects. And it's easy
to embed genetic algorithms in them. I've got a TSP in NetLogo that
uses the algorithm in the Modern Heuristics book. The list probably
has a hundred others!
As Marcus said, think of it as having an agent with a built-in
Genetic Programming system that it can use to generate and test
possible rules.
OK, GP is a different deal. None the less, with the eval function in
NetLogo, I believe this is possible.
When it finds good ones, it either creates a new agent with those
rules or it replaces its own rules with that new rule set. I don't
see how NetLogo lets you do that without building an awful lot of
new stuff.
This is a fairly big/detailed conversation.
What are the performance requirements, for example. Redfish found
that there are ranges of number of agents that NetLogo does fine with,
but when we got in the 100,000+ range, we had to move to Processing
and roll our own agent classes. Hopefully you are not in Doug
Robert's world needing a room full of clusters, but if so, he's the
expert on the list.
How about other agent systems? We used Repast for years, but found
that there was very little it could do that NetLogo could not. It
might be worth another look after all these years.
How about libraries that already exist to make your life easier? I
think there are GP libraries in several languages. That might bias
you in a particular direction.
And possibly most important of all is community. Is there a community
that is working in this domain? This was why I mentioned Miles, I
thought his WedTech talk of a few years past sounded like it might do
well in this domain.
-- Owen
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org