{'fraction_non_alphanumeric': 0.020785219399538105, 'fraction_numerical': 0.0, 'mean_word_length': 5.190476190476191, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Multi-agent System Simulation in Scala : An Evaluation of Actors for Parallel Simulation

Multi-agent system (MAS) simulation, a growing field within artificial intelligence, requires the creation of high-performance, parallel, and user-friendly simulation frameworks. The standard approach is to use threads and shared memory. The drawbacks of this approach are the common concurrency pitfalls of race conditions and performance loss due to synchronization. Our goal was to evaluate the feasibility of an alternate model of concurrency, actors. An actor can be thought of as a very lightweight thread that does not share memory with other threads, instead communicating only through message passing. Actors seem to be a natural fit for this task, since agents are concurrently processed objects that communicate with each other through message passing. We write an actor framework and an equivalent threaded framework in the modern object-functional JVM language Scala and compare their performance. We conclude that the actor model seems like a natural fit, but its performance is inferior to that of the threaded model. Despite this drawback, it shows great promise due to its elegance and simplicity. When scaling to multiple machines, the advantages of actors will almost certainly outweigh any