{"title":"quickexplain算法的形式化证明和简单解释","authors":"Patrick Rodler","doi":"10.1007/s10462-022-10149-w","DOIUrl":null,"url":null,"abstract":"<div><p>In his seminal paper of 2004, Ulrich Junker proposed the <span>QuickXplain</span> algorithm, which provides a divide-and-conquer computation strategy to find within a given set an irreducible subset with a particular (monotone) property. Beside its original application in the domain of constraint satisfaction problems, the algorithm has since then found widespread adoption in areas as different as model-based diagnosis, recommender systems, verification, or the Semantic Web. This popularity is due to the frequent occurrence of the problem of finding irreducible subsets on the one hand, and to <span>QuickXplain</span>’s general applicability and favorable computational complexity on the other hand. However, although (we regularly experience) people are having a hard time understanding <span>QuickXplain</span> and seeing why it works correctly, a proof of correctness of the algorithm has never been published. This is what we account for in this work, by explaining <span>QuickXplain</span> in a novel tried and tested way and by presenting an intelligible formal proof of it. Apart from showing the correctness of the algorithm and excluding the later detection of errors (<i>proof and trust effect</i>), the added value of the availability of a formal proof is, e.g., <i>(i)</i> that the workings of the algorithm often become completely clear only after studying, verifying and comprehending the proof (<i>didactic effect</i>), <i>(ii)</i> that the shown proof methodology can be used as a guidance for proving other recursive algorithms (<i>transfer effect</i>), and <i>(iii)</i> the possibility of providing “gapless” correctness proofs of systems that rely on (results computed by) <span>QuickXplain</span>, such as numerous model-based debuggers (<i>completeness effect</i>).</p></div>","PeriodicalId":8449,"journal":{"name":"Artificial Intelligence Review","volume":"55 8","pages":"6185 - 6206"},"PeriodicalIF":10.7000,"publicationDate":"2022-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10462-022-10149-w.pdf","citationCount":"6","resultStr":"{\"title\":\"A formal proof and simple explanation of the QuickXplain algorithm\",\"authors\":\"Patrick Rodler\",\"doi\":\"10.1007/s10462-022-10149-w\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>In his seminal paper of 2004, Ulrich Junker proposed the <span>QuickXplain</span> algorithm, which provides a divide-and-conquer computation strategy to find within a given set an irreducible subset with a particular (monotone) property. Beside its original application in the domain of constraint satisfaction problems, the algorithm has since then found widespread adoption in areas as different as model-based diagnosis, recommender systems, verification, or the Semantic Web. This popularity is due to the frequent occurrence of the problem of finding irreducible subsets on the one hand, and to <span>QuickXplain</span>’s general applicability and favorable computational complexity on the other hand. However, although (we regularly experience) people are having a hard time understanding <span>QuickXplain</span> and seeing why it works correctly, a proof of correctness of the algorithm has never been published. This is what we account for in this work, by explaining <span>QuickXplain</span> in a novel tried and tested way and by presenting an intelligible formal proof of it. Apart from showing the correctness of the algorithm and excluding the later detection of errors (<i>proof and trust effect</i>), the added value of the availability of a formal proof is, e.g., <i>(i)</i> that the workings of the algorithm often become completely clear only after studying, verifying and comprehending the proof (<i>didactic effect</i>), <i>(ii)</i> that the shown proof methodology can be used as a guidance for proving other recursive algorithms (<i>transfer effect</i>), and <i>(iii)</i> the possibility of providing “gapless” correctness proofs of systems that rely on (results computed by) <span>QuickXplain</span>, such as numerous model-based debuggers (<i>completeness effect</i>).</p></div>\",\"PeriodicalId\":8449,\"journal\":{\"name\":\"Artificial Intelligence Review\",\"volume\":\"55 8\",\"pages\":\"6185 - 6206\"},\"PeriodicalIF\":10.7000,\"publicationDate\":\"2022-04-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://link.springer.com/content/pdf/10.1007/s10462-022-10149-w.pdf\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Artificial Intelligence Review\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://link.springer.com/article/10.1007/s10462-022-10149-w\",\"RegionNum\":2,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Artificial Intelligence Review","FirstCategoryId":"94","ListUrlMain":"https://link.springer.com/article/10.1007/s10462-022-10149-w","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
A formal proof and simple explanation of the QuickXplain algorithm
In his seminal paper of 2004, Ulrich Junker proposed the QuickXplain algorithm, which provides a divide-and-conquer computation strategy to find within a given set an irreducible subset with a particular (monotone) property. Beside its original application in the domain of constraint satisfaction problems, the algorithm has since then found widespread adoption in areas as different as model-based diagnosis, recommender systems, verification, or the Semantic Web. This popularity is due to the frequent occurrence of the problem of finding irreducible subsets on the one hand, and to QuickXplain’s general applicability and favorable computational complexity on the other hand. However, although (we regularly experience) people are having a hard time understanding QuickXplain and seeing why it works correctly, a proof of correctness of the algorithm has never been published. This is what we account for in this work, by explaining QuickXplain in a novel tried and tested way and by presenting an intelligible formal proof of it. Apart from showing the correctness of the algorithm and excluding the later detection of errors (proof and trust effect), the added value of the availability of a formal proof is, e.g., (i) that the workings of the algorithm often become completely clear only after studying, verifying and comprehending the proof (didactic effect), (ii) that the shown proof methodology can be used as a guidance for proving other recursive algorithms (transfer effect), and (iii) the possibility of providing “gapless” correctness proofs of systems that rely on (results computed by) QuickXplain, such as numerous model-based debuggers (completeness effect).
期刊介绍:
Artificial Intelligence Review, a fully open access journal, publishes cutting-edge research in artificial intelligence and cognitive science. It features critical evaluations of applications, techniques, and algorithms, providing a platform for both researchers and application developers. The journal includes refereed survey and tutorial articles, along with reviews and commentary on significant developments in the field.