I don't quite understand the specifics of your needs. But the typical starting point is the comonadic structure of the grid (see http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-is.html ) where you basically iterate over the resulting cells rather than the existing agents. I don't know if your example can fit in this framework. On 9 June 2014 17:56, Anthony Tavener wrote: > To implement something like the bidding you're thinking of (or any > finer-grained competition) you might need to have several sub-iterations to > each timestep... or each timestep is smaller and not sufficient for > completing an "eat" action. Think of pipelined processors, perhaps, as some > inspiration. ;) > > For an example of sub-iterations within each timestep: you have claims, > then resolve conflicting claims, then do all resulting actions. In this > case, "losers" of a competition probably wasted their action. If you still > want them to be able to at least do a simpler action or start another > claim, this is where you might want finer-grained steps (and actions). > > > On Mon, Jun 9, 2014 at 8:24 AM, O Frolovs < > ollie.frolovs.2012@my.bristol.ac.uk> wrote: > >> Hello >> >> I am trying to write a predator-prey simulator and I have hit the wall >> with functional design. I would appreciate any help or pointers to relevant >> literature. >> >> The simulator is that of a world populated with fish and sharks. It is a >> discrete-time multi-agent simulation and what I am struggling to think >> about is how to implement the illusion of parallelism in simulation. Since >> the problem is not specifically with OCaml (but the simulator is in OCaml), >> I have kept this email short and put all the details and the code on GitHub: >> >> "On the subject of Toroidal Planets, Sharks and Fish." >> https://gist.github.com/olliefr/fb26ca3a7645dae7e203 >> >> It's only a hobby project, but it is of some interest to me, so I would >> really appreciate any advice. >> >> Best regards, >> >> Ollie >> > >