精确递归概率编程
摘要:递归调用在递归数据上非常有用,可以用于生成概率分布,而概率编程允许以模块化和直观的方式对这些分布进行计算。精确推理也有用,但不幸的是,现有的概率编程语言不能在递归数据上进行精确推理,迫使程序员需要手动编码许多应用程序。我们引入了一种概率语言,可以自然地表达各种递归,并进行精确推理。例如,概率下推自动机及其推广易于表达,并且可以自动生成它们的多项式时间解析算法。我们通过与去函数化和重新函数化相关的程序转换来消除递归数据类型。这些转换通过线性类型系统保证了正确性,并且如果有的话,贪婪算法能够找到一个成功的转换选择。
作者:David Chiang and Colin McDonald and Chung-chieh Shan
论文ID:2210.01206
分类:Programming Languages
分类简称:cs.PL
提交时间:2023-03-28