Abstract
Agent-based models (ABMs) have shown themselves to be very suitable for examining complex phenomena. Their rise in popularity and multi-disciplinary interest has spurred many researchers to seek more efficient algorithms and methodologies, such as parameter optimisation, interaction redundancy reduction, model induction and meta-modelling. Some of these efforts are directed towards reducing the difficulty associated with them, which has limited the wider adoption of ABM. Several Domain-specific languages (DSLs) have been developed, many of which ease the difficulty faced by programmers from disciplines unrelated to computer science. Aside from the need of knowledge in programming, some researchers have also expressed a need to model larger systems. These can easily become too computationally expensive, and more difficult to build and manage. In this work, we propose a simple extensible DSL which performs behaviour generation using domain-specific knowledge, whilst avoiding run-time interpretation and abstraction penalties. This is done using a simple evolutionary optimiser, which operates directly on program syntax trees, computing recombinations. We allow the user to explore uncertainty and discover models in a guided manner; as opposed to tedious trial-and-error. Our DSL makes use of the Multi-Stage Programming paradigm within Terra, in order to just-in-time compile generated programs at run-time, as well as allowing the optimiser to modify program syntax trees. The goal of the optimiser is to reduce uncertain syntax constructs to concrete ones while exploring the search space of a given objective function. This results in a guided modelling language with high performance and extensibility. We discuss the implementation of this language, with its compiler architecture, as well as the incorporation of the evolutionary optimiser, and we demonstrate the use of this approach in solving the Santa Fe Ant Trail problem.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.