MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

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...