×

多元控制部分评价的实用性研究。 (英语) Zbl 1279.68043号

López Fraguas,Francisco J.(编辑),第十五届函数和(约束)逻辑编程研讨会论文集(WFLP 2006),西班牙马德里,2006年11月16日至17日。阿姆斯特丹:爱思唯尔。理论计算机科学电子笔记177137-151(2007)。
摘要:多元控制部分评估(PCPE)是最近提出的一种灵活的逻辑程序专业化方法。它考虑了全局控制和局部控制规则的储备,而不是一个预先确定的单一组合。因此,可以将不同的全局和局部控制规则分配给不同的调用模式,从而获得混合的结果,即不能像传统的部分求值那样使用控制规则的单一组合来获得这些结果。PCPE可以作为一种基于搜索的算法实现,生成一组候选的专用程序(其中许多是混合的),而不是单个程序。每个程序的质量都是通过使用不同的适应度函数来评估的,这些适应度函数可以是资源感知的,同时考虑了多个因素,如运行时间、内存消耗和专用程序的代码大小等。尽管PCPE是一种很有吸引力的方法,但当作为基于搜索的算法实现时,它的搜索空间会发生固有的膨胀。因此,为了在实践中使用,并处理现实的程序,我们必须能够在不丢失有趣的解决方案的情况下修剪其搜索空间。这项工作的贡献是双重的。一方面,我们对基于搜索的PCPE获得的解决方案的异质性进行了实验研究,表明使用适应度函数进行比较时,所提供的解决方案表现出非常不同的行为。请注意,这一点很重要,因为否则产生大量候选专业的成本是不合理的。这项工作的第二个贡献是引入了一种技术来修剪这种方法的搜索空间。该技术易于应用,并大大减少了搜索空间的大小,使PCPE能够处理合理数量的基准程序。虽然剪枝是以启发式的方式进行的,但我们的实验结果表明,我们的启发式在实践中表现良好,因为使用剪枝获得的解的适应值与不使用剪枝时得到的解的适合值一致。
关于整个系列,请参见[Zbl 1275.68023号].

MSC公司:

68N17号 逻辑编程
68T20型 人工智能背景下的问题解决(启发式、搜索策略等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 艾伯特·E。;普埃布拉,G。;Gallagher,J.,《带有不精确谓词的逻辑程序部分求值中的非最左展开》,(第14届基于逻辑的程序合成与转换国际研讨会,第14届关于基于逻辑的编程合成与转换的国际研讨会,(LOPSTR'05)。第十四届基于逻辑的程序综合与转换国际研讨会。第十四届基于逻辑的程序合成与转换国际研讨会,(LOPSTR'05),LNCS,编号3901(2006年4月),斯普林格-Verlag·Zbl 1156.68324号
[2] Bruynooghe,M。;De Schreye博士。;Martens,B.,在部分演绎过程中避免无限展开的一般准则,新一代计算,1,11,47-79(1992)·Zbl 0782.68024号
[3] 斯蒂芬·克雷格(Stephen-John Craig);Michael Leuschel,《Prolog的自调优资源感知专业化》(PPDP’05:第七届ACM SIGPLAN声明性编程原则与实践国际会议论文集(2005),ACM出版社:美国纽约州纽约市ACM出版社),23-34
[4] Debray,Saumya K.,《基于资源的部分评估》(载于1997年《政治公众人物》会议录——ACM Sigplan部分评估和基于语义的程序操作研讨会(1997年),ACM出版社),179-192年
[5] 加拉赫,J。;Bruynoogh,M.,《程序专业化算法的推导》,《新一代计算》,第9期,1991年,第305-333页(1991年)·Zbl 0742.68044号
[6] Gallagher,J.P.,《逻辑程序专业化教程》,(《93年政治公众人物会议论文集》)。1993年《PEPM会议记录》,ACM Sigplan部分评估和基于语义的程序操作研讨会(1993),ACM出版社,88-98
[7] 曼努埃尔五世(Manuel V.Hermenegildo)。;普埃布拉,Germanán;旧金山布埃诺;López-García,Pedro,使用抽象解释的集成程序调试、验证和优化(和Ciao系统预处理器),计算机编程科学,58,1-2,115-140(2005年10月)
[8] Leuschel,M。;Bruynooghe,M.,通过部分演绎实现逻辑程序专业化:控制问题,逻辑程序设计理论与实践,2,4&5,461-515(2002年7月和9月)
[9] ichael Leuschel,M.,《同胚嵌入对在线终止的作用》,(Levi,Giorgio,静态分析,SAS’98会议录。静态分析。《1998年SAS会议记录》,意大利比萨。静态分析。SAS’98会议记录。静态分析。《SAS’98会议录》,意大利比萨,LNCS,第1503卷(1998年9月),斯普林格-Verlag,230-245
[10] Michael Leuschel;伯尔尼马滕斯;De Schreye,Danny,控制一般逻辑程序部分推导中的泛化和多元性,美国计算机学会编程语言与系统汇刊,20,1208-258(1998年1月)
[11] 劳埃德·J·W。;Shepherdson,J.C.,逻辑编程中的部分评估,逻辑编程杂志,11,217-242(1991)·Zbl 0741.68030号
[12] Lloyd,J.W.,《逻辑编程基础》(1987),施普林格出版社·Zbl 0547.68005号
[13] 出现技术报告CW180的删节和修订版,部门Computerwetenschappen,K.U.Leuven,1993年10月;出现技术报告CW180的删节和修订版,部门Computerwetenschappen,K.U.Leuven,1993年10月·Zbl 0867.68023号
[14] 普埃布拉,G。;艾伯特·E。;Hermenegildo,M.,《利用祖先堆栈实现全Prolog的高效局部展开》,(第14届基于逻辑的程序合成与转换国际研讨会,第14届逻辑的程序综合与转换国际会议,(LOPSTR'04)。第十四届基于逻辑的程序综合与转换国际研讨会。第14届基于逻辑的程序综合与转换国际研讨会,(LOPSTR'04),LNCS,编号3573(2005),Springer Verlag),149-165·Zbl 1134.68335号
[15] 普埃布拉,G。;Ochoa,C.,Poly-Controlled Partial Evaluation,(第八届ACM-SIGPLAN声明性编程原理与实践国际研讨会论文集·Zbl 1279.68043号
[16] 瑟伦森,M.H。;Glück,R.,正超编译中的泛化算法,(ILPS’95(1995),麻省理工学院出版社),465-479
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。