Lun Ai, Stephen H. Muggleton, Shi-Shun Liang, Geoff S. Baldwin
{"title":"用布尔矩阵逻辑编程模拟 Petri 网","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":"{\"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}","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}
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.