The initial round of data seems to roughly coincide with the findings of Choi and Bowles that Parochial Altruism is consistently the dominant behavior of benefit in the simulation. Thus far, variations in resource availability do not seem to effect this, though adjustments to the simulation parameters are still being addressed. Non-Parochial, Non-Altruists have ocassional spikes in frequency, as was suggested in the previous work, but do not come close to the dominant influence of PAs. However, Parochial, non-altruists are often high in population and under certain parameters tend to be far and away the dominant force in behavior and can create locked-in scenarios of populations interspersed with each other and leaching from the resources of each other in a self-sustaining symbiotic relationship.
There have been a great deal of compromises had over the course of the implementation. While I have certainly adhered in the general to the overal trajectory of my project, the area that took the most compromise was in the details. In retrospect, this might be to the better, as the less complicated my simulation is, the less convoluted the results. The details I'm specifically referring to is in the genetic behavior of the Sytizens. Intitially, the probability parameters for attackng, stealing, giving were far more nuanced. Now, for example, it is a straight 1 in 2 chance of killing an opponent, regardless of their condition. Likewise, Altruists no longer convert other team members, thereby likely destroying one of the few benefits they enjoy. Consequently, you see very few altruists in my simulation. Finally, parochial altruists no longer form roving gangs to terrorize other out-groups. However, they seem to be doing just fine on their own. I am glad to see that sexual reproduction appears to be sustainable; I was worried that would not work out very well.
Debugging was initially very hard, however became much easier once I learned how to write out to LOG.debug. This helped me to help myself, however I did still need to reach out from time to time whenever I needed to ask something of the MFM at large, outside the behavior of my Sytizens. I'm still not convinced that the whole thing is even working correctly, but I get data out of it, so that's a start.
To me, the biggest surprise was the dominance of the parochial non-altruist and the locked-in scenarios that would arise from this. These are the Sytizens that will steal from out-group members at a potential risk to themselves. I had to make the action of stealing particularly risky, perhaps more risky than the act is worth, just to keep them from dominating the map. In all, this makes me feel like the simulation itself is rather arbitrary in it's parameters, and the rather non-scientific way I implement these genetic behaviors speaks more to what I see than biological evolutionary tendencies. The fact that parochial altruists are now the dominant force, though consistent with previous findings, strikes me as less of a surprise. A good defense still seems to be a good offense, and the first population that generates a dominant group of PAs tends to win the day. It's not clear to me that varying the resource availability will affect this at all. So while I continue to run simulations and gather results, I feel mired somewhere between feeling like I may have implementation bugs, or worse, model bugs.
I will continue to adjust the simulation parameters to allow myself more flexibility in resource control. Once this is finalized, I will turn my attention back to the genetic behaviors and see how they are now different, and make a determination then as to whether I need to revisit implementation of that behavior. Oh, and at some point stop and collect useful data.