Perhaps you overlooked the stochastic nature of the human-agent temperament.
draw_random_fury_factor (-5, 9000); --Doug On Mon, Aug 24, 2009 at 4:15 PM, Owen Densmore <[email protected]> wrote: > [...] > Did I miss anything? > > -- Owen > > > On Aug 24, 2009, at 2:01 PM, Douglas Roberts wrote: > > Welcome to alt.friam.flames! (You geezers know what I'm talking about.) > > ;-} > > FWIW, I was thinking along similar lines, i.e. that a hybrid ABM / > rule-based simulation framework would be amenable to implementation in C++. > > I was also going to make an observation that people (here on this list, as > well as elsewhere) seem to constantly be in search of some kind of 'one size > fits all' simulation development environment, and that such always fail > because they are too heavy-weight, too cumbersome, and too constraining. > > But I won't make that comment now. > > --Doug > > On Mon, Aug 24, 2009 at 9:43 AM, Owen Densmore <[email protected]>wrote: > >> Whew, good thing I didn't make the NetLogo response, its exactly what I >> was thinking of though. It would be quite easily done, I believe, by a >> competent NetLogo programmer. >> >> We have several here on the list .. they could let us know if Eric and I >> are wrong. >> >> Russ, there is no reason to be so rude. It makes you appear a pouting >> ass. >> >> -- Owen >> >> >> >> On Aug 23, 2009, at 10:37 PM, Russ Abbott wrote: >> >> Eric, >>> >>> You said, "Not knowing what you want to do ...". >>> >>> It's clear from the rest of your message that you're absolutely right. >>> You have no idea what I want to do. >>> >>> What amazes me is that you nevertheless seem to think that you can tell >>> me the best way for me to do it. How can you be so arrogant? >>> >>> Perhaps that's also what went wrong in our discussion of consciousness a >>> while ago. >>> >>> -- Russ >>> >>> >>> >>> On Mon, Aug 24, 2009 at 1:58 PM, ERIC P. CHARLES <[email protected]> wrote: >>> Russ (and everyone else), >>> Just because its what I know, I would do it in NetLogo. I'm not >>> suggesting that NetLogo will do what you want, just that it can simulate >>> doing what you want. Not knowing what you want to do, lets keep it general: >>> >>> You start by making an "agent" with a list of things it can do, lets >>> label them 1-1000, and a list of things it can sense, lets label them A-ZZZ. >>> But there is a catch, the agent has no commands connecting the sensory list >>> to the behaviors list, a different object must do that. The agent must query >>> all the rules until it finds one that accepts its current input, and then >>> the rule sends it a behavior code. (Note, that any combination of inputs can >>> be represented as a single signal or as several separate ones, it doesn't >>> matter for theses purposes) >>> >>> You then make several "rules", each of which receives a signal from an >>> agent and outputs a behavior command. One rule might be "If input WFB, then >>> behavior 134." Note, it doesn't matter how complicated the rule is, this >>> general formula will still work. Any countable infinity of options can be >>> re-presented using the natural numbers, so it is a useful simplification. >>> Alternatively, imagine that each digit provides independent information and >>> make the strings as long as you wish. >>> >>> Now, to implement one of my suggestions you could use: >>> 1) The "system level" solution: On an iterative basis asses the benefit >>> gained by individuals who accessed a given rule (i.e. turtles who accessed >>> rule 4 gained 140 points on average, while turtles who accessed rule 5 only >>> gained 2 points on average). This master assessor then removes or modifies >>> rules that aren't up to snuff. >>> >>> 2) The "rule modified by agents" solution: Agents could have a third set >>> of attributes, in addition to behaviors and sensations they might have "rule >>> changers". Let's label them from ! to ^%*. For example, command $% could >>> tell the rule to select another behavior at random, while command *# could >>> tell the rule to simply add 1 to the current behavior. >>> >>> 3) The "agents disobey" solution: Agents could in the presence of certain >>> sensations modify their reactions to the behavior a given rule calls up in a >>> permanent manner. This would require an attribute that kept track of which >>> rules had been previously followed and what the agent had decided from that >>> experience. For example, a given sensation may indicate that doing certain >>> behaviors is impossible or unwise (you can't walk through a wall, you don't >>> want to walk over a cliff); under these circumstance, if a rule said "go >>> forward" the agent could permanently decide that if rule 89 ever says "go >>> forward" I'm gonna "turn right" instead.... where "go forward" = "54" and >>> "turn right" = "834". In this case the object labeled "rule" is still the >>> same, but only because the effect of the rule has been altered within the >>> agent, which for metaphorical purposes should be sufficient. >>> >>> Because of the countable-infinity thing, I'm not sure what kinds of thing >>> a system like this couldn't simulate. Any combination of inputs and outputs >>> that a rule might give can be simulated in this way. If you want to have 200 >>> "sensory channels" and 200 "limbs" that can do the various behaviors in the >>> most subtle ways imaginable, it would still work in essentially the same >>> way, or could be simulated in exactly the same way. >>> >>> Other complications are easy to incorporate: For example, you could have >>> a rule that responded to a large set of inputs, and have those inputs >>> change... or you could have rules link themselves together to change >>> simultaneously... or you could have the agent send several inputs to the >>> same rule by making it less accurate in detection. You could have rules that >>> delay sending the behavior command... or you could just have a delay built >>> into certain behavior commands. >>> >>> >>> Eric >>> >>> P.S. I'm sorry for the bandwidth all, but I am continuing to communicate >>> through the list because I am hoping someone far more experienced than I >>> will chime in if I am giving poor advice. >>> >>> >>> >>> >>> On Sun, Aug 23, 2009 10:32 PM, Russ Abbott <[email protected]> >>> wrote: >>> My original request was for an ABM system in which rules were first class >>> objects and could be constructed and modified dynamically. Although your >>> discussion casually suggests that rules can be treated the same way as >>> agents, you haven't mentioned a system in which that was the case. Which >>> system would you use to implement your example? How, for example, can a rule >>> alter itself over time? I'm not talking about systems in which a rule >>> modifies a field in a fixed template. I'm talking about modifications that >>> are more flexible. >>> >>> Certainly there are many examples in which rule modifications occur >>> within very limited domains. The various Prisoner Dilemma systems in which >>> the rules combine with each other come to mind. But the domain of PD rules >>> is very limited. >>> >>> Suppose you really wanted to do something along the lines that your >>> example suggests. What sort of ABM system would you use? How could a rule >>> "randomly (or non-randomly) generate a new contingency" in some way other >>> than simply plugging new values into a fixed template? As I've said, that's >>> not what I want to do. >>> >>> If you know of an ABM system that has a built-in Genetic Programming >>> capability for generating rules, that would be a good start. Do you know of >>> any such system? >>> >>> -- Russ >>> >>> >>> >>> >>> On Mon, Aug 24, 2009 at 11:10 AM, ERIC P. CHARLES <[email protected]> wrote: >>> 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 <[email protected]> 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 <[email protected]> >>> 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 >>> >>> ============================================================ >>> 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 > > > > ============================================================ > 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 > -- Doug Roberts [email protected] [email protected] 505-455-7333 - Office 505-670-8195 - Cell
============================================================ 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
