{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,3,30]],"date-time":"2022-03-30T13:41:47Z","timestamp":1648647707103},"reference-count":0,"publisher":"World Scientific Pub Co Pte Lt","issue":"04","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[1991,12]]},"abstract":"<jats:p> Conjunctive match is often used in Artificial Intelligence as the kernel of a pattern-directed inference [37] engine. Conjunctive match entails generating and testing all possible combinations of objects against a pattern of constraints. While simple to program, it is an expensive, exponential cost computation. <\/jats:p><jats:p> To reduce this average match cost in production system engines, the RETE match algorithm [8] was devised. RETE compiles each rule's pattern of constraints into a network, and then incrementally updates partial matches as objects are inserted and deleted. RETE, however, has its own cost: conceptual and implementational complexity. <\/jats:p><jats:p> Call-graph caching (CGC) [20] is a mechanism for transforming recursive specifications into highly optimized networks. In this paper, we describe CGC, and use it to transform a family of recursive conjunctive match formulations into their corresponding RETE networks. Our approach illustrates the ideas behind RETE, and shows their application to other algorithms. <\/jats:p>","DOI":"10.1142\/s0218194091000263","type":"journal-article","created":{"date-parts":[[2004,11,27]],"date-time":"2004-11-27T01:43:01Z","timestamp":1101519781000},"page":"373-408","source":"Crossref","is-referenced-by-count":4,"title":["TRANSFORMING CONJUNCTIVE MATCH INTO RETE: A CALL-GRAPH CACHING APPROACH"],"prefix":"10.1142","volume":"01","author":[{"given":"MARK W.","family":"PERLIN","sequence":"first","affiliation":[{"name":"School of Computer Science,  Carnegie Mellon University, Pittsburgh, PA 15213, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2012,1,25]]},"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194091000263","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,7]],"date-time":"2019-08-07T15:50:11Z","timestamp":1565193011000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194091000263"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1991,12]]},"references-count":0,"journal-issue":{"issue":"04","published-online":{"date-parts":[[2012,1,25]]},"published-print":{"date-parts":[[1991,12]]}},"alternative-id":["10.1142\/S0218194091000263"],"URL":"https:\/\/doi.org\/10.1142\/s0218194091000263","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[1991,12]]}}}