How to Simulate Billiards and Similar Systems
Boris D. Lubachevsky

TL;DR
This paper introduces an efficient event-driven algorithm for simulating complex N-component systems like billiards, focusing on essential interactions and achieving near-optimal processing times, outperforming previous methods.
Contribution
A novel serial event-driven simulation algorithm that processes only essential interactions, significantly improving efficiency for systems with asynchronous pairwise events.
Findings
Algorithm processes events in O(log N) time under certain conditions.
Maintains only two states per component for fast data access.
Outperforms existing algorithms in speed for simulating billiard-like systems.
Abstract
An N-component continuous-time dynamic system is considered whose components evolve autonomously all the time except for in discrete asynchronous instances of pairwise interactions. Examples include chaotically colliding billiard balls and combat models. A new efficient serial event-driven algorithm is described for simulating such systems. Rather than maintaining and updating the global state of the system, the algorithm tries to examine only essential events, i.e., component interactions. The events are processed in a non-decreasing order of time; new interactions are scheduled on the basis of the examined interactions using preintegrated equations of the evolutions of the components. If the components are distributed uniformly enough in the evolution space, so that this space can be subdivided into small sectors such that only O(1) sectors and O(1)$components are in the neighborhood…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
