{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/hamiltonian-monte-carlo-for-probabilistic","title":"Hamiltonian Monte Carlo for Probabilistic Programs with Discontinuities","arxiv_id":"1804.03523","date":"2018-04-07","proceeding":null,"authors":["Bradley Gram-Hansen","Yuan Zhou","Tobias Kohn","Tom Rainforth","Hongseok Yang","Frank Wood"],"abstract":"Hamiltonian Monte Carlo (HMC) is arguably the dominant statistical inference\nalgorithm used in most popular \"first-order differentiable\" Probabilistic\nProgramming Languages (PPLs). However, the fact that HMC uses derivative\ninformation causes complications when the target distribution is\nnon-differentiable with respect to one or more of the latent variables. In this\npaper, we show how to use extensions to HMC to perform inference in\nprobabilistic programs that contain discontinuities. To do this, we design a\nSimple first-order Probabilistic Programming Language (SPPL) that contains a\nsufficient set of language restrictions together with a compilation scheme.\nThis enables us to preserve both the statistical and syntactic interpretation\nof if-else statements in the probabilistic program, within the scope of\nfirst-order PPLs. We also provide a corresponding mathematical formalism that\nensures any joint density denoted in such a language has a suitably low measure\nof discontinuities.","url_abs":"http://arxiv.org/abs/1804.03523v2","url_pdf":"http://arxiv.org/pdf/1804.03523v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"hamiltonian-monte-carlo-for-probabilistic","repo_url":"https://github.com/bradleygramhansen/pyfo","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"probabilistic-programming","task_name":"Probabilistic Programming"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}