Re: Help with Agent Problem...

• To: mathgroup at smc.vnet.net
• Subject: [mg99895] Re: Help with Agent Problem...
• From: dh <dh at metrohm.com>
• Date: Mon, 18 May 2009 06:18:58 -0400 (EDT)
• References: <guqv9o\$a6a\$1@smc.vnet.net>

```

Hi Earl,

simply change the function inside NestList to e.g.:

# + If[ myCheck, Sign[stufflocations[[Map[First[Ordering[#, 1]], 0] &

If myCheck evaluates to True, this will do what it did so far, but if

myCheck is False, the agent position is not changed.

Daniel

Earl Mitchell wrote:

> Code:

>

>

> ************

>

> "Making a World of Agents and Stuff"

>

>

> makeNewWorld[agents_]:=Apply[Join,Partition[Riffle[RandomReal[{-10,10},{agents,3}],RandomInteger[9,{agents,3}]],2],1]

>

>

> makeNewStuff[resources_]:=RandomReal[{-10,10},{resources,3}]

>

>

> agentlocations=makeNewWorld[10][[All,1;;3]];

>

> stufflocations=makeNewStuff[5];

>

>

>

> "The Problem of Movement"

>

>

> "Agents search for nearest stuff and move along the vector between their

> current position and that of the stuff."

>

>

> Steplist=NestList[#+Sign[stufflocations[[Map[First[Ordering[#,1]]&,Outer[Norm[#1-#2]&,#,stufflocations,1]]]]-#]/10.&,agentlocations,2000];

>

>

>

> Manipulate[ListPointPlot3D[{Steplist[[j]],stufflocations},PlotStyle->PointSize[Large]],{j,1,Length[Steplist],1}]

> *************

>

> How could I alter this code so that at each iteration an IF statement (or

> multiple IF statements) is applied to the agents, allowing them to, say,

> ignore stuff that's already found by another agent?

>

> I've been trying to figure it out on my own for weeks... My idea's outpace

> my intelligence...

```

• Prev by Date: Re: Preventing swapping (high memory use)
• Next by Date: Use of names
• Previous by thread: Re: Help with Agent Problem...
• Next by thread: trying to "install" a palette...