Anastasis Georgoulas, J. Hillston, Guido Sanguinetti
{"title":"ProPPA: Probabilistic Programming for Stochastic Dynamical Systems","authors":"Anastasis Georgoulas, J. Hillston, Guido Sanguinetti","doi":"10.1145/3154392","DOIUrl":null,"url":null,"abstract":"Formal languages like process algebras have been shown to be effective tools in modelling a wide range of dynamic systems, providing a high-level description that is readily transformed into an executable model. However, their application is sometimes hampered because the quantitative details of many real-world systems of interest are not fully known. In contrast, in machine learning, there has been work to develop probabilistic programming languages, which provide system descriptions that incorporate uncertainty and leverage advanced statistical techniques to infer unknown parameters from observed data. Unfortunately, current probabilistic programming languages are typically too low-level to be suitable for complex modelling. \n \nIn this article, we present a Probabilistic Programming Process Algebra (ProPPA), the first instance of the probabilistic programming paradigm being applied to a high-level, formal language, and its supporting tool suite. We explain the semantics of the language in terms of a quantitative generalisation of Constraint Markov Chains and describe the implementation of the language, discussing in some detail the different inference algorithms available and their domain of applicability. We conclude by illustrating the use of the language on simple but non-trivial case studies: here, ProPPA is shown to combine the elegance and simplicity of high-level formal modelling languages with an effective way of incorporating data, making it a promising tool for modelling studies.","PeriodicalId":50943,"journal":{"name":"ACM Transactions on Modeling and Computer Simulation","volume":"181 1","pages":"3:1-3:23"},"PeriodicalIF":0.7000,"publicationDate":"2018-01-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Modeling and Computer Simulation","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1145/3154392","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 5
Abstract
Formal languages like process algebras have been shown to be effective tools in modelling a wide range of dynamic systems, providing a high-level description that is readily transformed into an executable model. However, their application is sometimes hampered because the quantitative details of many real-world systems of interest are not fully known. In contrast, in machine learning, there has been work to develop probabilistic programming languages, which provide system descriptions that incorporate uncertainty and leverage advanced statistical techniques to infer unknown parameters from observed data. Unfortunately, current probabilistic programming languages are typically too low-level to be suitable for complex modelling.
In this article, we present a Probabilistic Programming Process Algebra (ProPPA), the first instance of the probabilistic programming paradigm being applied to a high-level, formal language, and its supporting tool suite. We explain the semantics of the language in terms of a quantitative generalisation of Constraint Markov Chains and describe the implementation of the language, discussing in some detail the different inference algorithms available and their domain of applicability. We conclude by illustrating the use of the language on simple but non-trivial case studies: here, ProPPA is shown to combine the elegance and simplicity of high-level formal modelling languages with an effective way of incorporating data, making it a promising tool for modelling studies.
像过程代数这样的形式语言已经被证明是建模各种动态系统的有效工具,它提供了易于转换为可执行模型的高级描述。然而,它们的应用有时会受到阻碍,因为许多感兴趣的现实世界系统的定量细节并不完全清楚。相比之下,在机器学习领域,人们一直致力于开发概率编程语言,这些语言提供包含不确定性的系统描述,并利用先进的统计技术从观察到的数据中推断未知参数。不幸的是,当前的概率编程语言通常太低级,不适合复杂的建模。在本文中,我们介绍了概率编程过程代数(Probabilistic Programming Process Algebra, ProPPA),这是应用于高级形式语言的概率编程范式的第一个实例,以及它的支持工具套件。我们根据约束马尔可夫链的定量概括来解释该语言的语义,并描述该语言的实现,详细讨论了可用的不同推理算法及其适用范围。最后,我们举例说明了该语言在简单但不平凡的案例研究中的使用:在这里,ProPPA显示了将高级正式建模语言的优雅和简单性与有效的合并数据的方法相结合,使其成为建模研究的有前途的工具。
期刊介绍:
The ACM Transactions on Modeling and Computer Simulation (TOMACS) provides a single archival source for the publication of high-quality research and developmental results referring to all phases of the modeling and simulation life cycle. The subjects of emphasis are discrete event simulation, combined discrete and continuous simulation, as well as Monte Carlo methods.
The use of simulation techniques is pervasive, extending to virtually all the sciences. TOMACS serves to enhance the understanding, improve the practice, and increase the utilization of computer simulation. Submissions should contribute to the realization of these objectives, and papers treating applications should stress their contributions vis-á-vis these objectives.