[Article] Using Julia to compare evolutionary game theory to agent based modelling

Hello all, I recently completed an undergraduate research project with Warwick’s Data Science Society. I had an idea to compare simulation to analytic methods while writing an essay for one of my economics modules and I was so impressed with Julia’s Agents package* that I decided it would be worth using it for the project.

As it was an undergraduate student led project it’s not come to any grand conclusions, but my hope is that it serves to introduce people who only know about one side to the other side, and hopefully encourage some Julia usage in my university.

You can find the article here: Computational Approach to Evolutionary Game Theory | Research @ WDSS

If anyone has any feedback on the code or the approach I’d love to hear it, and I welcome discussion.

Interestingly, in order to create the plots used in the article I also ended up laying the groundwork for a package for ternary diagrams which some people have already helped contribute to.

*It’s probably the best documented package I’ve ever used.

16 Likes

It’s great to see this Jacob, really awesome work.

Do you plan to publish this in an academic journal in the future? I’m thinking now that Agents is getting some traction and use cases more than just the simple examples we build for tutorials it would be useful to showcase work like this on a page in the Documentation. Are you open to something like this?

There are a few aspects of your code that I think we could make even cleaner than what you have now, and perhaps we can add a few features to an upcoming Agents version that makes models like this easier in the future. I’m pretty sure the data collection issue you have when the model has zero agents of one type can now be worked around in v4.2 for example, I just haven’t had time to look at that yet.

2 Likes

Thanks for the encouragement and for making such a great package. I don’t think this would really be publishable work to be honest, I’d love to do so but I think it would have to contain something more substantial. I was thinking of making a part II where I pull the model in a certain direction to demonstrate more about its advantages over traditional analytic methods and I think this would have potential, but as it stands I’m not sure which journals would be too keen on this.

I’d be very happy to help turn this into a showcase in the documentation, there were a few features that I coded myself that I later realised were coming out in the next release (like my random_agent_type function) and so I think this could be a great way of showcasing some of the newer features as well. My apologies for not being more active on the issue I opened on GitHub, my mindset at the time was just to fulfil my obligation of the article’s deadline before anything else but I’m glad that this issue has been addressed.

Hi,

You might consider submitting your work to https://ssc2021.uek.krakow.pl/ conference. I am sure you would get there some more feedback on your work. We have a track targeted at Julia High performance computing challenges in social simulation – SSC 2021 is the 16th annual Social Simulation Conference.

3 Likes

This is certainly something I will consider doing, thanks for letting me know about this.