On look-ahead heuristics in disjunctive logic programming

Disjunctive logic programming (DLP), also called answer set programming (ASP), is a convenient programming paradigm which allows for solving problems in a simple and highly declarative way. The language of DLP is very expressive and able to represent even problems of high complexity (every problem i...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Annals of mathematics and artificial intelligence 2007-12, Vol.51 (2-4), p.229-266
Hauptverfasser: Faber, Wolfgang, Leone, Nicola, Pfeifer, Gerald, Ricca, Francesco
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 266
container_issue 2-4
container_start_page 229
container_title Annals of mathematics and artificial intelligence
container_volume 51
creator Faber, Wolfgang
Leone, Nicola
Pfeifer, Gerald
Ricca, Francesco
description Disjunctive logic programming (DLP), also called answer set programming (ASP), is a convenient programming paradigm which allows for solving problems in a simple and highly declarative way. The language of DLP is very expressive and able to represent even problems of high complexity (every problem in the complexity class ). During the last decade, efficient systems supporting DLP have become available. Virtually all of these systems internally rely on variants of the Davis–Putnam procedure (for deciding propositional satisfiability [SAT]), combined with a suitable model checker. The heuristic for the selection of the branching literal (i.e., the criterion determining the literal to be assumed true at a given stage of the computation) dramatically affects the performance of a DLP system. While heuristics for SAT have received a fair deal of research, only little work on heuristics for DLP has been done so far. In this paper, we design, implement, optimize, and experiment with a number of heuristics for DLP. We focus on different look-ahead heuristics, also called “dynamic heuristics” (the DLP equivalent of unit propagation [UP] heuristics for SAT). These are branching rules where the heuristic value of a literal Q depends on the result of taking Q true and computing its consequences. We motivate and formally define a number of look-ahead heuristics for DLP programs. Furthermore, since look-ahead heuristics are computationally expensive, we design two techniques for optimizing the burden of their computation. We implement all the proposed heuristics and optimization techniques in DLV—the state-of-the-art implementation of disjunctive logic programming, and we carry out experiments, thoroughly comparing the heuristics and optimization techniques on a large number of instances of well-known benchmark problems. The results of these experiments are very interesting, showing that the proposed techniques significantly improve the performance of the DLV system.
doi_str_mv 10.1007/s10472-008-9087-4
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2918193085</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2918193085</sourcerecordid><originalsourceid>FETCH-LOGICAL-c273t-2cb8d2b526de11ccd76c2295b26f9abcb6f12d832cb39338f200ecf99d36794d3</originalsourceid><addsrcrecordid>eNotkE1LAzEURYMoWKs_wN2A6-jLSyYfSylqhUI3ug4zSaZNbWdqMiP4702pq3sXh3vhEHLP4JEBqKfMQCikAJoa0IqKCzJjteJUCQWXpQNDikLwa3KT8w4AjNRyRsy6r_bD8EWbbWh8tQ1TinmMLlexr3zMu6l3Y_wJBdpEVx3TsEnN4RD7zS256pp9Dnf_OSefry8fiyVdrd_eF88r6lDxkaJrtce2RukDY855JR2iqVuUnWla18qOode8cNxwrjsECK4zxnOpjPB8Th7Ou-X7ewp5tLthSn25tGiYZoaDrgvFzpRLQ84pdPaY4qFJv5aBPRmyZ0O2GLInQ1bwP6yuWMc</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2918193085</pqid></control><display><type>article</type><title>On look-ahead heuristics in disjunctive logic programming</title><source>ProQuest Central UK/Ireland</source><source>SpringerLink Journals - AutoHoldings</source><source>ProQuest Central</source><creator>Faber, Wolfgang ; Leone, Nicola ; Pfeifer, Gerald ; Ricca, Francesco</creator><creatorcontrib>Faber, Wolfgang ; Leone, Nicola ; Pfeifer, Gerald ; Ricca, Francesco</creatorcontrib><description>Disjunctive logic programming (DLP), also called answer set programming (ASP), is a convenient programming paradigm which allows for solving problems in a simple and highly declarative way. The language of DLP is very expressive and able to represent even problems of high complexity (every problem in the complexity class ). During the last decade, efficient systems supporting DLP have become available. Virtually all of these systems internally rely on variants of the Davis–Putnam procedure (for deciding propositional satisfiability [SAT]), combined with a suitable model checker. The heuristic for the selection of the branching literal (i.e., the criterion determining the literal to be assumed true at a given stage of the computation) dramatically affects the performance of a DLP system. While heuristics for SAT have received a fair deal of research, only little work on heuristics for DLP has been done so far. In this paper, we design, implement, optimize, and experiment with a number of heuristics for DLP. We focus on different look-ahead heuristics, also called “dynamic heuristics” (the DLP equivalent of unit propagation [UP] heuristics for SAT). These are branching rules where the heuristic value of a literal Q depends on the result of taking Q true and computing its consequences. We motivate and formally define a number of look-ahead heuristics for DLP programs. Furthermore, since look-ahead heuristics are computationally expensive, we design two techniques for optimizing the burden of their computation. We implement all the proposed heuristics and optimization techniques in DLV—the state-of-the-art implementation of disjunctive logic programming, and we carry out experiments, thoroughly comparing the heuristics and optimization techniques on a large number of instances of well-known benchmark problems. The results of these experiments are very interesting, showing that the proposed techniques significantly improve the performance of the DLV system.</description><identifier>ISSN: 1012-2443</identifier><identifier>EISSN: 1573-7470</identifier><identifier>DOI: 10.1007/s10472-008-9087-4</identifier><language>eng</language><publisher>Dordrecht: Springer Nature B.V</publisher><subject>Complexity ; Computation ; Declarative programming ; Design optimization ; Heuristic ; Logic programming ; Mathematical programming ; Optimization techniques ; Performance enhancement ; Problem solving</subject><ispartof>Annals of mathematics and artificial intelligence, 2007-12, Vol.51 (2-4), p.229-266</ispartof><rights>Springer Science+Business Media B.V. 2008.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c273t-2cb8d2b526de11ccd76c2295b26f9abcb6f12d832cb39338f200ecf99d36794d3</citedby><cites>FETCH-LOGICAL-c273t-2cb8d2b526de11ccd76c2295b26f9abcb6f12d832cb39338f200ecf99d36794d3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.proquest.com/docview/2918193085?pq-origsite=primo$$EHTML$$P50$$Gproquest$$H</linktohtml><link.rule.ids>314,776,780,21368,27903,27904,33723,43784,64361,64365,72215</link.rule.ids></links><search><creatorcontrib>Faber, Wolfgang</creatorcontrib><creatorcontrib>Leone, Nicola</creatorcontrib><creatorcontrib>Pfeifer, Gerald</creatorcontrib><creatorcontrib>Ricca, Francesco</creatorcontrib><title>On look-ahead heuristics in disjunctive logic programming</title><title>Annals of mathematics and artificial intelligence</title><description>Disjunctive logic programming (DLP), also called answer set programming (ASP), is a convenient programming paradigm which allows for solving problems in a simple and highly declarative way. The language of DLP is very expressive and able to represent even problems of high complexity (every problem in the complexity class ). During the last decade, efficient systems supporting DLP have become available. Virtually all of these systems internally rely on variants of the Davis–Putnam procedure (for deciding propositional satisfiability [SAT]), combined with a suitable model checker. The heuristic for the selection of the branching literal (i.e., the criterion determining the literal to be assumed true at a given stage of the computation) dramatically affects the performance of a DLP system. While heuristics for SAT have received a fair deal of research, only little work on heuristics for DLP has been done so far. In this paper, we design, implement, optimize, and experiment with a number of heuristics for DLP. We focus on different look-ahead heuristics, also called “dynamic heuristics” (the DLP equivalent of unit propagation [UP] heuristics for SAT). These are branching rules where the heuristic value of a literal Q depends on the result of taking Q true and computing its consequences. We motivate and formally define a number of look-ahead heuristics for DLP programs. Furthermore, since look-ahead heuristics are computationally expensive, we design two techniques for optimizing the burden of their computation. We implement all the proposed heuristics and optimization techniques in DLV—the state-of-the-art implementation of disjunctive logic programming, and we carry out experiments, thoroughly comparing the heuristics and optimization techniques on a large number of instances of well-known benchmark problems. The results of these experiments are very interesting, showing that the proposed techniques significantly improve the performance of the DLV system.</description><subject>Complexity</subject><subject>Computation</subject><subject>Declarative programming</subject><subject>Design optimization</subject><subject>Heuristic</subject><subject>Logic programming</subject><subject>Mathematical programming</subject><subject>Optimization techniques</subject><subject>Performance enhancement</subject><subject>Problem solving</subject><issn>1012-2443</issn><issn>1573-7470</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2007</creationdate><recordtype>article</recordtype><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><sourceid>GNUQQ</sourceid><recordid>eNotkE1LAzEURYMoWKs_wN2A6-jLSyYfSylqhUI3ug4zSaZNbWdqMiP4702pq3sXh3vhEHLP4JEBqKfMQCikAJoa0IqKCzJjteJUCQWXpQNDikLwa3KT8w4AjNRyRsy6r_bD8EWbbWh8tQ1TinmMLlexr3zMu6l3Y_wJBdpEVx3TsEnN4RD7zS256pp9Dnf_OSefry8fiyVdrd_eF88r6lDxkaJrtce2RukDY855JR2iqVuUnWla18qOode8cNxwrjsECK4zxnOpjPB8Th7Ou-X7ewp5tLthSn25tGiYZoaDrgvFzpRLQ84pdPaY4qFJv5aBPRmyZ0O2GLInQ1bwP6yuWMc</recordid><startdate>200712</startdate><enddate>200712</enddate><creator>Faber, Wolfgang</creator><creator>Leone, Nicola</creator><creator>Pfeifer, Gerald</creator><creator>Ricca, Francesco</creator><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>M7S</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PTHSS</scope></search><sort><creationdate>200712</creationdate><title>On look-ahead heuristics in disjunctive logic programming</title><author>Faber, Wolfgang ; Leone, Nicola ; Pfeifer, Gerald ; Ricca, Francesco</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c273t-2cb8d2b526de11ccd76c2295b26f9abcb6f12d832cb39338f200ecf99d36794d3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2007</creationdate><topic>Complexity</topic><topic>Computation</topic><topic>Declarative programming</topic><topic>Design optimization</topic><topic>Heuristic</topic><topic>Logic programming</topic><topic>Mathematical programming</topic><topic>Optimization techniques</topic><topic>Performance enhancement</topic><topic>Problem solving</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Faber, Wolfgang</creatorcontrib><creatorcontrib>Leone, Nicola</creatorcontrib><creatorcontrib>Pfeifer, Gerald</creatorcontrib><creatorcontrib>Ricca, Francesco</creatorcontrib><collection>CrossRef</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Advanced Technologies &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>Engineering Collection</collection><jtitle>Annals of mathematics and artificial intelligence</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Faber, Wolfgang</au><au>Leone, Nicola</au><au>Pfeifer, Gerald</au><au>Ricca, Francesco</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>On look-ahead heuristics in disjunctive logic programming</atitle><jtitle>Annals of mathematics and artificial intelligence</jtitle><date>2007-12</date><risdate>2007</risdate><volume>51</volume><issue>2-4</issue><spage>229</spage><epage>266</epage><pages>229-266</pages><issn>1012-2443</issn><eissn>1573-7470</eissn><abstract>Disjunctive logic programming (DLP), also called answer set programming (ASP), is a convenient programming paradigm which allows for solving problems in a simple and highly declarative way. The language of DLP is very expressive and able to represent even problems of high complexity (every problem in the complexity class ). During the last decade, efficient systems supporting DLP have become available. Virtually all of these systems internally rely on variants of the Davis–Putnam procedure (for deciding propositional satisfiability [SAT]), combined with a suitable model checker. The heuristic for the selection of the branching literal (i.e., the criterion determining the literal to be assumed true at a given stage of the computation) dramatically affects the performance of a DLP system. While heuristics for SAT have received a fair deal of research, only little work on heuristics for DLP has been done so far. In this paper, we design, implement, optimize, and experiment with a number of heuristics for DLP. We focus on different look-ahead heuristics, also called “dynamic heuristics” (the DLP equivalent of unit propagation [UP] heuristics for SAT). These are branching rules where the heuristic value of a literal Q depends on the result of taking Q true and computing its consequences. We motivate and formally define a number of look-ahead heuristics for DLP programs. Furthermore, since look-ahead heuristics are computationally expensive, we design two techniques for optimizing the burden of their computation. We implement all the proposed heuristics and optimization techniques in DLV—the state-of-the-art implementation of disjunctive logic programming, and we carry out experiments, thoroughly comparing the heuristics and optimization techniques on a large number of instances of well-known benchmark problems. The results of these experiments are very interesting, showing that the proposed techniques significantly improve the performance of the DLV system.</abstract><cop>Dordrecht</cop><pub>Springer Nature B.V</pub><doi>10.1007/s10472-008-9087-4</doi><tpages>38</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1012-2443
ispartof Annals of mathematics and artificial intelligence, 2007-12, Vol.51 (2-4), p.229-266
issn 1012-2443
1573-7470
language eng
recordid cdi_proquest_journals_2918193085
source ProQuest Central UK/Ireland; SpringerLink Journals - AutoHoldings; ProQuest Central
subjects Complexity
Computation
Declarative programming
Design optimization
Heuristic
Logic programming
Mathematical programming
Optimization techniques
Performance enhancement
Problem solving
title On look-ahead heuristics in disjunctive logic programming
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-25T17%3A08%3A49IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=On%20look-ahead%20heuristics%20in%20disjunctive%20logic%20programming&rft.jtitle=Annals%20of%20mathematics%20and%20artificial%20intelligence&rft.au=Faber,%20Wolfgang&rft.date=2007-12&rft.volume=51&rft.issue=2-4&rft.spage=229&rft.epage=266&rft.pages=229-266&rft.issn=1012-2443&rft.eissn=1573-7470&rft_id=info:doi/10.1007/s10472-008-9087-4&rft_dat=%3Cproquest_cross%3E2918193085%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2918193085&rft_id=info:pmid/&rfr_iscdi=true