The Ghost in the Model (and Other Effects of Floating Point Arithmetic)
AbstractThis paper will explore the effects of errors in floating point arithmetic in two published agent-based models: the first a model of land use change (Polhill et al. 2001; Gotts et al. 2003), the second a model of the stock market (LeBaron et al. 1999). The first example demonstrates how branching statements with floating point operands of comparison operators create a high degree of nonlinearity, leading in this case to the creation of 'ghost' agents -- visible to some parts of the program but not to others. A potential solution to this problem is proposed. The second example shows how mathematical descriptions of models in the literature are insufficient to enable exact replication of work since mathematically equivalent implementations in terms of real number arithmetic are not equivalent in terms of floating point arithmetic.
Download InfoIf you experience problems downloading a file, check if you have the proper application to view it first. In case of further problems read the IDEAS help page. Note that these files are not on the IDEAS site. Please be patient as the files may be large.
Bibliographic InfoArticle provided by Journal of Artificial Societies and Social Simulation in its journal Journal of Artificial Societies and Social Simulation.
Volume (Year): 8 (2004)
Issue (Month): 1 ()
Contact details of provider:
Agent Based Modelling; Floating Point Arithmetic; Interval Arithmetic; Replication;
You can help add them by filling out this form.
CitEc Project, subscribe to its RSS feed for this item.
- LeBaron, Blake, 2006. "Agent-based Computational Finance," Handbook of Computational Economics, in: Leigh Tesfatsion & Kenneth L. Judd (ed.), Handbook of Computational Economics, edition 1, volume 2, chapter 24, pages 1187-1233 Elsevier.
For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: (Nigel Gilbert).
If references are entirely missing, you can add them using this form.