Well, there are some ways of playing fast and loose with the metaphor. There are almost always easy, but computationally non-elegant, ways to simulate things like this. Remember, we have quotes because "rules" and "agents" are just two classes of agents with different structures.
Some options: 1) The "rules" can alter themselves over time, as they can be agents in a Darwinian algorithm or any other source of system level change you want to impose. 2) The "rules" could accept instructions from the "agents" telling them how to change. 3) The "agents" could adjust their responses to commands given by the "rules" which effectively changes what the rule (now not in quotes) does. To get some examples, let's start with a "rule" that says "when in a red patch, turn left". That is, in the starting conditions the "agent" tells the rule it is in a red patch, the "rule" replies back "turn left": 1) Over time that particular "rule" could be deemed not-useful and therefore done away with in some master way. It could either be replaced by a different "rule", or there could just no longer be a "rule" about what to do in red patches. 2) An "agent" in a red patch could for some reason no longer be able to turn left. When this happens, it could send a command to the "rule" telling the "rule" it needs to change, and the "rule" could randomly (or non-randomly) generate a new contingency. 3) In the same situation, an "agent" could simply modify itself to turns right instead; that is, when the command "turn left" is received through that "rule" (or perhaps from any "rule"), the "agent" now turns right. This is analogous to what happens at some point for children when "don't touch that" becomes "touch that". The parents persist in issuing the same command, but the rule (now not in quotes) has clearly changed. Either way, if you are trying to answer a question, I think it something like one of the above options is bound to work. If there is some higher reason you are trying to do something in a particular way, or you have reason to be worried about processor time, then it might not be exactly what you are after. Eric On Sun, Aug 23, 2009 05:18 PM, Russ Abbott <[email protected]> wrote: > > >Thanks Eric. It doesn't sound like your suggestion will do what I want. I want to be able to create new rules dynamically as in rule evolution. As I understand your scheme, the set of rule-agents is fixed in advance. > >-- Russ > > > > >>On Sun, Aug 23, 2009 at 8:30 AM, ERIC P. CHARLES <<#>> wrote: > > >>>Russ, >I'm probably just saying this out of ignorance, >but... If you want to "really" do that, I'm not sure how to do so.... However, >given that you are simulating anyway... If you want to simulate doing that, it >seems >straightforward. Pick any agent-based simulation program, create two classes of >agents, call one class "rules" and the others "agents". Let individuals in the >"rules" class do all sorts of things to individuals in the "agents" class >(including controlling which other "rules" they accept commands from and how >they respond to those commands). > >Not the most elegant solution in the >world, but it would likely be able to answer whatever question you want to >answer (assuming it is a question answering task you wish to engage in), with >minimum time spent banging your head against the wall programming it. My biases >(and lack of programming brilliance) typically lead me to find the simplest way >to simulate what I want, even if that means the computers need to run a little >longer. I assume there is some reason this would not be satisfactory? > > >Eric> >> >> > > > > >On Sat, Aug 22, >2009 11:13 PM, Russ Abbott <<#>> >wrote: > > > > >> >> >> > > >Hi, > >I'm interesting in developing a model that uses >rule-driven agents. I would like the agent rules to be condition-action rules, >i.e., similar to the sorts of rules one finds in forward chaining blackboard >systems. In addition, I would like both the agents and the rules themselves to >be first class objects. In other words, the rules should be able: > > >to refer to agents, > > >to create and destroy agents, > > >to create new rules for newly created agents, > > >to disable rules for existing agents, and > > >to modify existing rules for existing agents. > > >Does anyone know of a system like that? > >-- Russ > > > > > ============================================================ >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> > >Eric Charles > >Professional Student and >Assistant >Professor of Psychology >Penn State University >Altoona, PA >16601 > > > > > >============================================================ > >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> > > > > > ============================================================ >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 > Eric Charles Professional Student and Assistant Professor of Psychology Penn State University Altoona, PA 16601
============================================================ 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
