Lun Ai, Stephen H. Muggleton, Shi-Shun Liang, Geoff S. Baldwin
{"title":"Simulating Petri nets with Boolean Matrix Logic Programming","authors":"Lun Ai, Stephen H. Muggleton, Shi-Shun Liang, Geoff S. Baldwin","doi":"arxiv-2405.11412","DOIUrl":null,"url":null,"abstract":"Recent attention to relational knowledge bases has sparked a demand for\nunderstanding how relations change between entities. Petri nets can represent\nknowledge structure and dynamically simulate interactions between entities, and\nthus they are well suited for achieving this goal. However, logic programs\nstruggle to deal with extensive Petri nets due to the limitations of high-level\nsymbol manipulations. To address this challenge, we introduce a novel approach\ncalled Boolean Matrix Logic Programming (BMLP), utilising boolean matrices as\nan alternative computation mechanism for Prolog to evaluate logic programs.\nWithin this framework, we propose two novel BMLP algorithms for simulating a\nclass of Petri nets known as elementary nets. This is done by transforming\nelementary nets into logically equivalent datalog programs. We demonstrate\nempirically that BMLP algorithms can evaluate these programs 40 times faster\nthan tabled B-Prolog, SWI-Prolog, XSB-Prolog and Clingo. Our work enables the\nefficient simulation of elementary nets using Prolog, expanding the scope of\nanalysis, learning and verification of complex systems with logic programming\ntechniques.","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"42 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Symbolic Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2405.11412","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
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.