×

在惰性函数程序中使用改进序列进行修剪。 (英语) Zbl 1256.68033号

摘要:本文提出了一个基于改进序列的库,并证明了它们在修剪不必要计算的同时保持程序的清晰性。改进序列是根据某种排序关系逐渐改进的最终值的近似值的单调序列。使用改进序列的计算通过要求下一个近似值进行。如果改进序列中间的近似值有足够的信息来生成程序的某些部分的结果,则可以修剪产生剩余值的计算。
通过组合适当的改进序列和为序列定义的基本函数,我们可以用与简单和朴素程序相同的形式编写高效的程序。我们给出的例子表明了改进序列的有效性,并通过程序计算表明,使用改进序列的简单minimax-like程序实现了著名的分枝定界搜索算法。

MSC公司:

68甲18 函数编程和lambda演算

软件:

哈斯克尔
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿卡尔、阿联酋、布列洛赫、G.E.、哈珀、R.:自适应函数编程。ACM事务处理。程序。语言系统。28(6), 990–1034 (2006) ·doi:10.1145/1186632.1186634
[2] 阿卡尔,阿联酋,布莱洛赫,G.E.,哈珀,R.:选择性记忆。摘自:第30届会议记录。ACM SIGPLAN-IGACT程序设计语言原理研讨会(POPL 2003),第14-25页(2003)
[3] Bird,R.:《使用Haskell的函数编程导论》,第二版。普伦蒂斯·霍尔(Prentice Hall),恩格尔伍德悬崖(Englewood Cliffs)(1998年)
[4] Bird,R.,Hughes,J.:字母-贝塔算法:程序转换练习。信息处理。莱特。24(1), 53–57 (1987) ·doi:10.1016/0020-0190(87)90198-0
[5] Burton,F.W.:用确定性语义将非确定性封装在抽象数据类型中。J.功能。程序。1(1), 3–20 (1991) ·Zbl 1155.68451号 ·doi:10.1017/S0956796800000046
[6] Carlsson,M.:增量计算的Monads。摘自:《第七届函数式编程国际会议论文集》(ICFP 2002),第26-35页。ACM出版社,纽约(2002)·Zbl 1322.68036号
[7] Ennals,R.,Peyton Jones,S.L.:乐观评估:非严格项目的适应性评估策略。摘自:《第八届函数式编程国际会议论文集》(ICFP 2003),第287-298页。ACM出版社,纽约(2003)·Zbl 1315.68048号
[8] Horowitz,E.,Sahni,S.:计算机算法基础。纽约计算机科学出版社(1978)·Zbl 0442.68022号
[9] Hu,Z.,Iwasaki,H.,Takeichi,M.:从递归定义导出结构体形。摘自:《1996年函数式编程国际会议论文集》(ICFP 1996),第73-82页。ACM出版社,纽约(1996)·Zbl 1345.68059号
[10] Hu,Z.,Iwasaki,H.,Takeichi,M.:计算累积。新一代。计算。17(2),153–173(1999年)·doi:10.1007/BF03037434
[11] Knuth,D.E.,Moore,R.W.:α-β修剪分析。Artif公司。智力。6(4), 293–326 (1975) ·Zbl 0358.68143号 ·doi:10.1016/0004-3702(75)90019-3
[12] Lawler,E.L.,Wood,D.E.:分支定界方法:一项调查。操作。第14(4)号决议,699–719(1966)·兹比尔0143.42501 ·doi:10.1287/opre.14.699
[13] Leijen,D.,Meijer,D.:特定领域的嵌入式编译器。摘自:第二届领域特定语言会议记录(DSL 1999),第109-122页。纽约ACM出版社(1999)
[14] Liu,Y.A.,Stoller,S.D.,Teitelbaum,T.:用于增量计算的静态缓存。ACM事务处理。程序。语言系统。20(3), 546–585 (1998) ·数字对象标识代码:10.1145/291889.291895
[15] Meijer,E.、Fokkinga,M.M.、Paterson,R.:用香蕉、镜头、信封和带刺铁丝网进行功能编程。摘自:《1991年函数编程与计算机体系结构国际会议论文集》(FPCA 1991)。计算机科学课堂讲稿,第523卷,第124-144页。柏林施普林格(1991)
[16] Morimoto,T.,Takano,Y.,Iwasaki,H.:立即将一个朴素的穷举搜索转化为三个有效的修剪搜索。摘自:第九届声明性语言实践方面国际研讨会论文集(PADL 2007)。计算机科学课堂讲稿,第4354卷,第65-79页。柏林施普林格出版社(2007)
[17] Ramalingam,G.,Reps,T.W.:关于增量计算的分类书目。摘自:第20届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集(POPL 1993),第502-510页。纽约ACM出版社(1993)
[18] Takano,A.,Meijer,E.:计算形式的快捷砍伐森林。摘自:《1995年函数式编程和计算机架构国际会议论文集》(FPCA 1995),第306–313页。纽约ACM出版社(1995)·Zbl 0939.68556号
[19] Tanaka,K.:并行函数编程研究。东京大学工程研究生院哲学硕士论文(1993年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。