Simulating Petri nets with Boolean Matrix Logic Programming
<|reference_start|>Simulating Petri nets with Boolean Matrix Logic Programming: Recent attention to relational knowledge bases has sparked a demand for understanding how relations change between entities. Petri nets can represent knowledge structure and dynamically simulate interactions between entities, and thus they are well suited for achieving this goal. However, logic programs struggle to deal with extensive Petri nets due to the limitations of high-level symbol manipulations. To address this challenge, we introduce a novel approach called Boolean Matrix Logic Programming (BMLP), utilising boolean matrices as an alternative computation mechanism for Prolog to evaluate logic programs. Within this framework, we propose two novel BMLP algorithms for simulating a class of Petri nets known as elementary nets. This is done by transforming elementary nets into logically equivalent datalog programs. We demonstrate empirically that BMLP algorithms can evaluate these programs 40 times faster than tabled B-Prolog, SWI-Prolog, XSB-Prolog and Clingo. Our work enables the efficient simulation of elementary nets using Prolog, expanding the scope of analysis, learning and verification of complex systems with logic programming techniques.<|reference_end|>
@article{ai2024simulating,
    title={Simulating Petri nets with Boolean Matrix Logic Programming},
    author={Lun Ai, Stephen H. Muggleton, Shi-Shun Liang, Geoff S. Baldwin},
    journal={arXiv preprint arXiv:2405.11412},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.11412},
    primaryClass={cs.AI cs.SC}
}