中文

概率编程中随机记忆化与名称生成的模型:基于预层范畴上单子的范畴语义

编程语言 2024-02-14 v2

摘要

随机记忆化是概率编程语言的一种高阶构造,在贝叶斯非参数方法中至关重要;贝叶斯非参数方法是一种模块化方法,使我们能够超越参数限制来扩展模型,并以优雅且原则性的方式组合它们。随机记忆化在实践中简单且有用,但在语义上难以捉摸,特别是在数据流变换方面。由于朴素实现诉诸于状态单子(state monad),而状态单子不可交换,因此尚不清楚随机记忆化是否保持数据流性质——即,在保留数据流图的前提下,我们是否可以重排程序的各行而不改变其语义。在本文中,我们针对一类受限函数,在一种极小概率编程语言的语境下,给出了随机记忆化与名称生成的运算语义与范畴语义。我们的贡献是首个对具有不可数类型的常数伯努利(Bernoulli)函数进行随机记忆化的模型,该模型验证了数据流变换,弥合了传统概率论与高阶概率模型之间的鸿沟。我们的模型使用了一个预层范畴(presheaf category)以及在其上的一个新颖概率单子。

关键词

引用

@article{arxiv.2309.09467,
  title  = {A model of stochastic memoization and name generation in probabilistic programming: categorical semantics via monads on presheaf categories},
  author = {Younesse Kaddar and Sam Staton},
  journal= {arXiv preprint arXiv:2309.09467},
  year   = {2024}
}

备注

To be published in the MFPS 2023 Proceedings as part of the Electronic Notes in Theoretical Informatics and Computer Science (ENTICS) series