×

使用非严格非确定性实现概率编程库。 (英语) Zbl 1434.68062号

摘要:本文介绍了函数逻辑编程语言Curry中的概率编程库PFLP。它演示了函数逻辑编程语言的概念如何支持概率编程库的实现。事实上,函数逻辑和概率规划的范式是紧密相连的。也就是说,一个地区的语言特征存在于另一个地区,反之亦然。例如,函数逻辑规划中的非确定性选择和调用时间选择的概念分别与概率规划中的随机记忆和概率选择相关并一致。我们将进一步看到,与基于列表的标准实现相比,基于函数逻辑编程概念的实现在性能方面具有优势,甚至可以与成熟的概率编程语言竞争,我们通过几个基准来说明这一点。

MSC公司:

68甲15 编程语言理论
68N17号 逻辑编程
68甲18 函数编程和lambda演算
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Antoy,S.2005年。函数逻辑编程的评估策略。符号计算杂志401875-903·Zbl 1129.68019号
[2] Antoy,S.和Hanus,M.2010。功能逻辑编程。ACM53、4、74-85的通信。
[3] Braßel,B.2009。一种为惰性函数逻辑语言构建调试工具的技术。理论计算机科学电子笔记246,63-76。
[4] Braßel,B.,Hanus,M.和Huch,F.2004。在函数逻辑计算中封装非确定性。《函数与逻辑编程杂志》2004年第6期,专刊1·Zbl 1084.68511号
[5] Braßel,B.、Hanus,M.、Peemöller,B.和Reck,F.2011。KiCS2:从Curry到Haskell的新编译器。《第20届函数和约束逻辑编程国际会议论文集》,Kuchen,H.,Ed.WFLP’11。施普林格·维拉格,丹麦欧登塞,1-18。
[6] Christiansen,J.和Fischer,S.2008。EasyCheck-免费测试数据。函数和逻辑编程国际研讨会论文集。柏林施普林格,海德堡,322-336。
[7] Christiansen,J.、Seidel,D.和Voigtl¨ander,J.,2010年。函数逻辑程序的自由定理。在第四届ACM SIGPLAN编程语言研讨会会议记录中,遇到了程序验证。美国纽约州纽约市ACM,39-48。
[8] Christiansen,J.、Seidel,D.和Voigtl¨ander,J.2011。适用于打字扁平货币的充分的、表示意义的、功能风格的语义。第19届函数和(约束)逻辑编程国际研讨会论文集。LNCS公司。西班牙马德里斯普林格-Verlag·兹比尔1327.68074
[9] De Raedt,L.和Kimmig,A.2013。概率编程概念。arXiv:1312.4328(预印本)·Zbl 1346.68050号
[10] Dylus,S.、Christiansen,J.和Teegen,F.2018。概率函数逻辑编程。在声明语言的实际方面。PADL’18号。施普林格国际出版公司,美国加利福尼亚州洛杉矶,3-19·Zbl 1434.68062号
[11] Erwig,M.和Kollmansberger,S.2006。函数珍珠:Haskell中的概率函数编程。功能编程杂志16,1,21-34·Zbl 1091.68023号
[12] Fischer,S.、Kiselyov,O.和Shan,C.-C.2009。纯功能惰性非确定性编程。第14届ACM SIGPLAN函数编程国际会议论文集。美国纽约州纽约市ACM,11-22·Zbl 1302.68058号
[13] 古德曼,N.D.,曼辛卡,V.K.,罗伊,D.M.,博纳维茨,K.和特南鲍姆,J.B.2008。教会:生成模型的语言。CoRR,第220-229页。
[14] Goodman,N.D.和Stuhlmüller,2014年2月。概率编程语言的设计与实现。http://dippl.org。
[15] Gordon,A.D.、Henzinger,T.A.、Nori,A.V.和Rajamani,S.K.2014。概率规划。《软件工程的未来》,FOSE’14。印度海得拉巴ACM,167-181。
[16] Hanus,M.2017年。PAKCS:波特兰-亚琛-基尔咖喱体系。发布时间:发布地点:http://www.informatik.uni-kiel.de/包装/。
[17] Kimmig,A.、Demoen,B.、De Raedt,L.、Costa,V.S.和Rocha,R.2011。概率逻辑程序设计语言ProbLog的实现。逻辑程序设计的理论与实践11,235-262·Zbl 1220.68037号
[18] Kiselyov,O.和Shan,C.,2009年。嵌入式概率编程。在领域特定语言中。柏林施普林格,海德堡,360-384。
[19] McCallum,A.、Schultz,K.和Singh,S.2009。FACTORIE:通过强制定义的因子图进行概率规划。神经信息处理系统国际会议论文集。加拿大不列颠哥伦比亚省温哥华。
[20] Nampally,A.和Ramakrishnan,C.R.2015。概率逻辑程序中基于约束的推理。概率规划研讨会,46-56·Zbl 1451.68264号
[21] Nogatz,F.、Frühwirth,T.和Seipel,D.2018。CHR.js:JavaScript中的CHR实现。在规则和推理中。施普林格,131-146。
[22] Paige,B.和Wood,F.2014。概率编程语言的编译目标。机器学习国际会议论文集。中国北京。
[23] Runciman,C.、Naylor,M.和Lindblad,F.2008。SmallCheck和Lazy SmallCheck:针对小值的自动穷尽测试。在第一届ACM SIGPLAN Haskell研讨会的会议记录中。Haskell’08年。加拿大不列颠哥伦比亚省维多利亚市ACM,37-48。
[24] Ścibior,A.,Ghahramani,Z.和Gordon,A.D.2015。单子函数的实用概率规划。2015年ACM SIGPLAN哈斯克尔研讨会论文集。哈斯克尔15岁。加拿大不列颠哥伦比亚省温哥华市ACM,165-176。
[25] Varacca,D.和Winskel,G.2006。在非确定性上分配概率。计算机科学中的数学结构16,87-113·邮编1093.18002
[26] Wadler,P.1985。如何用成功列表替换失败。函数编程语言和计算机体系结构国际会议论文集。美国纽约州纽约市ACM,113-128·Zbl 0568.68007号
[27] Wood,F.、Meent,J.W.和Mansinghka,V.2014。概率规划推理的一种新方法。第十七届国际人工智能与统计会议论文集。机器学习研究论文集。冰岛雷克雅未克PMLR,1024-1032。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。