euba / BacArena

agent based modelling
GNU General Public License v3.0
26 stars 11 forks source link

Agent Based Modeling and FBA #100

Closed maringos closed 6 years ago

maringos commented 6 years ago

Hi, I am trying to understand where agent based modeling is depicted in the code of BacArena. Similarly, it is not clear to me where in the code FBA takes place, as optimizeProb occurs many times in many files.

maringos commented 6 years ago

By the way! Happy Anniversary Wishes for the 100th issue!

jotech commented 6 years ago

Hi and congratulations to the anniversary ;o) Agent-based modeling is more a modeling concept then a specific line of code. For a general, short introduction I would refer to John Hollands article on complex adaptive systems. As you may see it is more the class structure of BacArena which is in line with this paradigm. In addition to class deisgn, the iterative behavior (updating of environment and agents) is done by the beloved function simEnv().
For the second question, FBA (and similar things like MTF) is performed when ever optimizeProb is called ;) But the main growth model is done by growth() and cellgrowth().

Perhaps the class diagram can illustrate this a little bit more: class

maringos commented 6 years ago

Thanks for the answer which was very helpful. As far as I know cells can move in the Arena and also chemotaxis is provided by the program. Are they aspects of Agent Based Modeling?

euba commented 6 years ago

Hi,

Happy anniversary from me too :) Sorry that I was so quite lately.

I would say that all concepts are agent based modeling. To make it simple, agent based modeling is basically some rules that act on agents in a spatio-temporal environment. FBA is just another rule that acts on the agents (e.g., microbes). Therefore, FBA and ABM are not clearly separated, but integrated. The FBA always runs to calculate the growth of the agents.

Cheers, Eugen

jotech commented 6 years ago

@euba quiet or quite ;D

jotech commented 6 years ago

@maringos I would recommend to have at least a short read into John Holland because he is one the pioneers in the agent based field and explains the concept of agents and rules quite good!

euba commented 6 years ago

@jotech quiet ;) @maringos and yes, John Holland is quite good!

maringos commented 6 years ago

@euba & @jotech I have read it! It is amazing and inspiring when someone reads about concepts without numbers, p-values etc....Thanks for the suggestion!