Marco Cadoli , Giovambattista Ianni , Luigi Palopoli , Andrea Schaerf , Domenico Vasile
{"title":"NP-SPEC: an executable specification language for solving all problems in NP","authors":"Marco Cadoli , Giovambattista Ianni , Luigi Palopoli , Andrea Schaerf , Domenico Vasile","doi":"10.1016/S0096-0551(01)00010-8","DOIUrl":null,"url":null,"abstract":"<div><p>In this paper a logic-based specification language, called <span>NP</span>-<span>SPEC</span>, is presented. The language is obtained by extending <span>DATALOG</span> through allowing a limited use of some second-order predicates of predefined form. <span>NP</span>-<span>SPEC</span> programs specify solutions to problems in a very abstract and concise way, and are executable. In the present prototype they are compiled to <span>PROLOG</span> code, which is run to construct outputs. Second-order predicates of suitable form allow to limit the size of search spaces in order to obtain reasonably efficient construction of problem solutions. <span>NP</span>-<span>SPEC</span> expressive power is precisely characterized as to express exactly the problems in the class NP. The specification of several combinatorial problems in <span>NP</span>-<span>SPEC</span> is shown, and the efficiency of the generated programs is evaluated.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"26 2","pages":"Pages 165-195"},"PeriodicalIF":0.0000,"publicationDate":"2000-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(01)00010-8","citationCount":"87","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055101000108","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 87
Abstract
In this paper a logic-based specification language, called NP-SPEC, is presented. The language is obtained by extending DATALOG through allowing a limited use of some second-order predicates of predefined form. NP-SPEC programs specify solutions to problems in a very abstract and concise way, and are executable. In the present prototype they are compiled to PROLOG code, which is run to construct outputs. Second-order predicates of suitable form allow to limit the size of search spaces in order to obtain reasonably efficient construction of problem solutions. NP-SPEC expressive power is precisely characterized as to express exactly the problems in the class NP. The specification of several combinatorial problems in NP-SPEC is shown, and the efficiency of the generated programs is evaluated.