Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Higher Order Bayesian Networks, Exactly

Published: 05 January 2024 Publication History

Abstract

Bayesian networks are graphical first-order probabilistic models that allow for a compact representation of large probability distributions, and for efficient inference, both exact and approximate. We introduce a higher-order programming language, in the idealized form of a lambda-calculus, which we prove sound and complete w.r.t. Bayesian networks: each Bayesian network can be encoded as a term, and conversely each (possibly higher-order and recursive) program of ground type compiles into a Bayesian network. The language allows for the specification of recursive probability models and hierarchical structures. Moreover, we provide a compositional and cost-aware semantics which is based on factors, the standard mathematical tool used in Bayesian inference. Our results rely on advanced techniques rooted into linear logic, intersection types, rewriting theory, and Girard's geometry of interaction, which are here combined in a novel way.

References

[1]
Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2020. The Machinery of Interaction. In Proceedings of the 22nd International Symposium on Principles and Practice of Declarative Programming (PPDP ’20). Association for Computing Machinery, New York, NY, USA. Article 4, 15 pages. isbn:9781450388214 https://doi.org/10.1145/3414080.3414108
[2]
Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2021. The (In)Efficiency of Interaction. Proc. ACM Program. Lang., 5, POPL (2021), Article 51, Jan., 33 pages. https://doi.org/10.1145/3434332
[3]
Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2021. The Space of Interaction. In 2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–13. https://doi.org/10.1109/LICS52264.2021.9470726
[4]
Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2022. Multi types and reasonable space. Proc. ACM Program. Lang., 6, ICFP (2022), 799–825. https://doi.org/10.1145/3547650
[5]
Beniamino Accattoli, Stéphane Graham-Lengrand, and Delia Kesner. 2020. Tight typings and split bounds, fully developed. J. Funct. Program., 30 (2020), e14. https://doi.org/10.1017/S095679682000012X
[6]
Beniamino Accattoli and Delia Kesner. 2010. The Structural lambda-Calculus. In Computer Science Logic, 24th International Workshop, CSL 2010, 19th Annual Conference of the EACSL, Brno, Czech Republic, August 23-27, 2010. Proceedings, Anuj Dawar and Helmut Veith (Eds.) (Lecture Notes in Computer Science, Vol. 6247). Springer, 381–395. https://doi.org/10.1007/978-3-642-15205-4_30
[7]
Victor Arrial, Giulio Guerrieri, and Delia Kesner. 2023. Quantitative Inhabitation for Different Lambda Calculi in a Unifying Framework. Proc. ACM Program. Lang., 7, POPL (2023), 1483–1513. https://doi.org/10.1145/3571244
[8]
P. N. Benton, Gavin M. Bierman, Valeria de Paiva, and Martin Hyland. 1993. A Term Calculus for Intuitionistic Linear Logic. In Typed Lambda Calculi and Applications, International Conference on Typed Lambda Calculi and Applications, TLCA ’93, Utrecht, The Netherlands, March 16-18, 1993, Proceedings, Marc Bezem and Jan Friso Groote (Eds.) (Lecture Notes in Computer Science, Vol. 664). Springer, 75–90. https://doi.org/10.1007/BFb0037099
[9]
P. N. Benton and Philip Wadler. 1996. Linear Logic, Monads and the Lambda Calculus. In Proceedings, 11th Annual IEEE Symposium on Logic in Computer Science, New Brunswick, New Jersey, USA, July 27-30, 1996. IEEE Computer Society, 420–431. https://doi.org/10.1109/LICS.1996.561458
[10]
Johannes Borgström, Ugo Dal Lago, Andrew D. Gordon, and Marcin Szymczak. 2015. A Lambda-Calculus Foundation for Universal Probabilistic Programming. CoRR, abs/1512.08990 (2015), arXiv:1512.08990. arxiv:1512.08990
[11]
Antonio Bucciarelli, Delia Kesner, Alejandro Ríos, and Andrés Viso. 2020. The Bang Calculus Revisited. In Functional and Logic Programming - 15th International Symposium, FLOPS 2020, Akita, Japan, September 14-16, 2020, Proceedings, Keisuke Nakano and Konstantinos Sagonas (Eds.) (Lecture Notes in Computer Science, Vol. 12073). Springer, 13–32. https://doi.org/10.1007/978-3-030-59025-3_2
[12]
Wray L. Buntine. 1994. Operations for Learning with Graphical Models. J. Artif. Int. Res., 2, 1 (1994), dec, 159–225. issn:1076-9757 https://doi.org/10.1613/jair.62
[13]
Simon Castellan and Hugo Paquet. 2019. Probabilistic Programming Inference via Intensional Semantics. In Programming Languages and Systems - 28th European Symposium on Programming, ESOP 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6-11, 2019, Proceedings, Luís Caires (Ed.) (Lecture Notes in Computer Science, Vol. 11423). Springer, 322–349. https://doi.org/10.1007/978-3-030-17184-1_12
[14]
David Chiang, Colin McDonald, and Chung-chieh Shan. 2023. Exact Recursive Probabilistic Programming. Proc. ACM Program. Lang., 7, OOPSLA1 (2023), 665–695. https://doi.org/10.1145/3586050
[15]
Mario Coppo and Mariangiola Dezani-Ciancaglini. 1978. A new type assignment for lambda-terms. Archiv für mathematische Logik und Grundlagenforschung, 19, 1 (1978), 139–156. https://doi.org/10.1007/BF02011875
[16]
Mario Coppo, Mariangiola Dezani-Ciancaglini, and Betti Venneri. 1981. Functional Characters of Solvable Terms. Math. Log. Q., 27, 2-6 (1981), 45–58. https://doi.org/10.1002/malq.19810270205
[17]
Fredrik Dahlqvist, Alexandra Silva, Vincent Danos, and Ilias Garnier. 2018. Borel Kernels and their Approximation, Categorically. In Proceedings of the Thirty-Fourth Conference on the Mathematical Foundations of Programming Semantics, MFPS 2018, Dalhousie University, Halifax, Canada, June 6-9, 2018, Sam Staton (Ed.) (Electronic Notes in Theoretical Computer Science, Vol. 341). Elsevier, 91–119. https://doi.org/10.1016/j.entcs.2018.11.006
[18]
Ugo Dal Lago, Claudia Faggian, and Simona Ronchi Della Rocca. 2021. Intersection types and (positive) almost-sure termination. Proc. ACM Program. Lang., 5, POPL (2021), 1–32. https://doi.org/10.1145/3434313
[19]
Ugo Dal Lago, Claudia Faggian, Benoît Valiron, and Akira Yoshimizu. 2017. The geometry of parallelism: classical, probabilistic, and quantum effects. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, France, January 18-20, 2017, Giuseppe Castagna and Andrew D. Gordon (Eds.). ACM, 833–845. https://doi.org/10.1145/3009837.3009859
[20]
Ugo Dal Lago and Marco Gaboardi. 2011. Linear Dependent Types and Relative Completeness. Log. Methods Comput. Sci., 8, 4 (2011), https://doi.org/10.2168/LMCS-8(4:11)2012
[21]
Vincent Danos and Thomas Ehrhard. 2011. Probabilistic coherence spaces as a model of higher-order probabilistic computation. Inf. Comput., 209, 6 (2011), 966–991. https://doi.org/10.1016/j.ic.2011.02.001
[22]
Vincent Danos and Russell Harmer. 2002. Probabilistic game semantics. ACM Trans. Comput. Log., 3, 3 (2002), 359–382. https://doi.org/10.1145/507382.507385
[23]
Adnan Darwiche. 2008. Bayesian Networks. In Handbook of Knowledge Representation, Frank van Harmelen, Vladimir Lifschitz, and Bruce W. Porter (Eds.) (Foundations of Artificial Intelligence, Vol. 3). Elsevier, 467–509. https://doi.org/10.1016/S1574-6526(07)03011-8
[24]
Adnan Darwiche. 2009. Modeling and Reasoning with Bayesian Networks. Cambridge University Press.
[25]
Daniel de Carvalho. 2018. Execution time of λ -terms via denotational semantics and intersection types. Math. Str. in Comput. Sci., 28, 7 (2018), 1169–1203. https://doi.org/10.1017/S0960129516000396
[26]
Thomas Dean and Keiji Kanazawa. 1989. A model for reasoning about persistence and causation. Computational Intelligence, 5, 2 (1989), 142–150. https://doi.org/10.1111/j.1467-8640.1989.tb00324.x arxiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1467-8640.1989.tb00324.x.
[27]
Jeff Egger, Rasmus Ejlers Møgelberg, and Alex Simpson. 2014. The enriched effect calculus: syntax and semantics. J. Log. Comput., 24, 3 (2014), 615–654. https://doi.org/10.1093/logcom/exs025
[28]
Thomas Ehrhard. 2016. Call-By-Push-Value from a Linear Logic Point of View. In Programming Languages and Systems - 25th European Symposium on Programming, ESOP 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2-8, 2016, Proceedings, Peter Thiemann (Ed.) (Lecture Notes in Computer Science, Vol. 9632). Springer, 202–228. https://doi.org/10.1007/978-3-662-49498-1_9
[29]
Thomas Ehrhard, Claudia Faggian, and Michele Pagani. 2023. The Sum-Product Algorithm For Quantitative Multiplicative Linear Logic. In 8th International Conference on Formal Structures for Computation and Deduction, FSCD 2023, July 3-6, 2023, Rome, Italy, Marco Gaboardi and Femke van Raamsdonk (Eds.) (LIPIcs, Vol. 260). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 8:1–8:18. https://doi.org/10.4230/LIPIcs.FSCD.2023.8
[30]
Thomas Ehrhard, Claudia Faggian, and Michele Pagani. 2023. The Variable Elimination Algorithm as a Let-Term Rewriting. Talk presented at LAFI 2023
[31]
Thomas Ehrhard, Michele Pagani, and Christine Tasson. 2014. Probabilistic Coherence Spaces are Fully Abstract for Probabilistic PCF. In The 41th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL14, San Diego, USA, P. Sewell (Ed.). ACM.
[32]
Thomas Ehrhard and Christine Tasson. 2019. Probabilistic call by push value. Log. Methods Comput. Sci., 15, 1 (2019), https://doi.org/10.23638/LMCS-15(1:3)2019
[33]
Claudia Faggian, Daniele Pautasso, and Gabriele Vanoni. 2023. Higher-Order Bayesian Networks, Exactly (Extended version). CoRR, 2311.04651 (2023), arxiv:2311.04651
[34]
Nir Friedman, Daphne Koller, and Avi Pfeffer. 1998. Structured Representation of Complex Stochastic Systems. In Proceedings of the Fifteenth National Conference on Artificial Intelligence and Tenth Innovative Applications of Artificial Intelligence Conference, AAAI 98, IAAI 98, July 26-30, 1998, Madison, Wisconsin, USA, Jack Mostow and Chuck Rich (Eds.). AAAI Press / The MIT Press, 157–164. http://www.aaai.org/Library/AAAI/1998/aaai98-022.php
[35]
W. R. Gilks, A. Thomas, and D. J. Spiegelhalter. 1994. A Language and Program for Complex Bayesian Modelling. Journal of the Royal Statistical Society. Series D (The Statistician), 43, 1 (1994), 169–177. issn:00390526, 14679884 http://www.jstor.org/stable/2348941
[36]
Jean-Yves Girard. 1989. Geometry of Interaction 1: Interpretation of System F. In Logic Colloquium ’88, R. Ferro, C. Bonotto, S. Valentini, and A. Zanardo (Eds.) (Studies in Logic and the Foundations of Mathematics, Vol. 127). Elsevier, 221 – 260. issn:0049-237X https://doi.org/10.1016/S0049-237X(08)70271-4
[37]
Noah D. Goodman, Vikash K. Mansinghka, Daniel M. Roy, Keith Bonawitz, and Joshua B. Tenenbaum. 2008. Church: a language for generative models. In UAI 2008, Proceedings of the 24th Conference in Uncertainty in Artificial Intelligence, Helsinki, Finland, July 9-12, 2008, David A. McAllester and Petri Myllymäki (Eds.). 220–229.
[38]
Andrew D. Gordon, Thomas A. Henzinger, Aditya V. Nori, and Sriram K. Rajamani. 2014. Probabilistic programming. In Proceedings of the on Future of Software Engineering, FOSE 2014, Hyderabad, India, May 31 - June 7, 2014, James D. Herbsleb and Matthew B. Dwyer (Eds.). ACM, 167–181. https://doi.org/10.1145/2593882.2593900
[39]
Maria I. Gorinova, Andrew D. Gordon, Charles Sutton, and Matthijs Vákár. 2022. Conditional Independence by Typing. ACM Trans. Program. Lang. Syst., 44, 1 (2022), 4:1–4:54. https://doi.org/10.1145/3490421
[40]
Chris Heunen, Ohad Kammar, Sam Staton, and Hongseok Yang. 2017. A convenient category for higher-order probability theory. In 32nd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2017, Reykjavik, Iceland, June 20-23, 2017. IEEE Computer Society, 1–12. https://doi.org/10.1109/LICS.2017.8005137
[41]
Bart Jacobs. 2023. Structured Probabilitistic Reasoning. http://www.cs.ru.nl/B.Jacobs/PAPERS/ProbabilisticReasoning.pdf
[42]
Bart Jacobs, Aleks Kissinger, and Fabio Zanasi. 2019. Causal Inference by String Diagram Surgery. In Foundations of Software Science and Computation Structures - 22nd International Conference, FOSSACS 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6-11, 2019, Proceedings, Mikolaj Bojanczyk and Alex Simpson (Eds.) (Lecture Notes in Computer Science, Vol. 11425). Springer, 313–329. https://doi.org/10.1007/978-3-030-17127-8_18
[43]
Bart Jacobs and Fabio Zanasi. 2016. A Predicate/State Transformer Semantics for Bayesian Learning. In The Thirty-second Conference on the Mathematical Foundations of Programming Semantics, MFPS 2016, Carnegie Mellon University, Pittsburgh, PA, USA, May 23-26, 2016, Lars Birkedal (Ed.) (Electronic Notes in Theoretical Computer Science, Vol. 325). Elsevier, 185–200. https://doi.org/10.1016/j.entcs.2016.09.038
[44]
Bart Jacobs and Fabio Zanasi. 2020. The Logical Essentials of Bayesian Reasoning. In Foundations of Probabilistic Programming. Cambridge University Press, 295 – 332.
[45]
Daphne Koller and Nir Friedman. 2009. Probabilistic Graphical Models: Principles and Techniques. The MIT Press.
[46]
Daphne Koller, David A. McAllester, and Avi Pfeffer. 1997. Effective Bayesian Inference for Stochastic Programs. In Proceedings of the Fourteenth National Conference on Artificial Intelligence 1997, Providence, Rhode Island, USA, Benjamin Kuipers and Bonnie L. Webber (Eds.). AAAI Press / The MIT Press, 740–747.
[47]
Daphne Koller and Avi Pfeffer. 1997. Object-Oriented Bayesian Networks. In UAI ’97: Proceedings of the Thirteenth Conference on Uncertainty in Artificial Intelligence, Brown University, Providence, Rhode Island, USA, August 1-3, 1997, Dan Geiger and Prakash P. Shenoy (Eds.). Morgan Kaufmann, 302–313. https://dslpitt.org/uai/displayArticleDetails.jsp?mmnu=1&smnu=2&article_id=324&proceeding_id=13
[48]
Jim Laird, Giulio Manzonetto, Guy McCusker, and Michele Pagani. 2013. Weighted Relational Models of Typed Lambda-Calculi. In 28th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2013, New Orleans, LA, USA, June 25-28, 2013. IEEE Computer Society, 301–310. https://doi.org/10.1109/LICS.2013.36
[49]
Paul Blain Levy. 1999. Call-by-Push-Value: A Subsuming Paradigm. In Typed Lambda Calculi and Applications, 4th International Conference, TLCA’99, L’Aquila, Italy, April 7-9, 1999, Proceedings, Jean-Yves Girard (Ed.) (Lecture Notes in Computer Science, Vol. 1581). Springer, 228–242. https://doi.org/10.1007/3-540-48959-2_17
[50]
Vikash Mansinghka, Daniel Selsam, and Yura Perov. 2014. Venture: a higher-order probabilistic programming platform with programmable inference. arxiv:1404.0099.
[51]
Paul-André Melliès and Nicolas Tabareau. 2010. Resource modalities in tensor logic. Ann. Pure Appl. Log., 161, 5 (2010), 632–653. https://doi.org/10.1016/j.apal.2009.07.018
[52]
Robin Milner. 2006. Local Bigraphs and Confluence: Two Conjectures: (Extended Abstract). In Proceedings of the 13th International Workshop on Expressiveness in Concurrency, EXPRESS 2006, Bonn, Germany, August 26, 2006, Roberto M. Amadio and Iain Phillips (Eds.) (Electronic Notes in Theoretical Computer Science, Vol. 175). Elsevier, 65–73. https://doi.org/10.1016/j.entcs.2006.07.035
[53]
Eugenio Moggi. 1989. Computational Lambda-Calculus and Monads. In Proceedings of the Fourth Annual Symposium on Logic in Computer Science (LICS ’89), Pacific Grove, California, USA, June 5-8, 1989. IEEE Computer Society, 14–23.
[54]
Richard E. Neapolitan. 2003. Learning Bayesian Networks. Prentice Hal.
[55]
Hugo Paquet. 2021. Bayesian strategies: probabilistic programs as generalised graphical models. In Programming Languages and Systems - 30th European Symposium on Programming, ESOP 2021, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021, Luxembourg City, Luxembourg, March 27 - April 1, 2021, Proceedings, Nobuko Yoshida (Ed.) (Lecture Notes in Computer Science, Vol. 12648). Springer, 519–547. https://doi.org/10.1007/978-3-030-72019-3_19
[56]
Sungwoo Park. 2003. A calculus for probabilistic languages. In Proceedings of TLDI’03: 2003 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, New Orleans, Louisiana, USA, January 18, 2003. 38–49.
[57]
Sungwoo Park, Frank Pfenning, and Sebastian Thrun. 2005. A Probabilistic Language based upon Sampling Functions. In Conference Record of the 32nd Symposium on Principles of Programming Languages (POPL’05), M.Abadi (Ed.). ACM Press, Long Beach, California. 171–182.
[58]
Judea Pearl. 1986. Fusion, Propagation, and Structuring in Belief Networks. Artif. Intell., 29, 3 (1986), 241–288. https://doi.org/10.1016/0004-3702(86)90072-X
[59]
Judea Pearl. 1988. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. isbn:1558604790
[60]
Avi Pfeffer. 2016. Practical Probabilistic Programming (1st ed.). Manning Publications Co., USA. isbn:1617292338
[61]
Avi Pfeffer and Daphne Koller. 2000. Semantics and Inference for Recursive Probability Models. In Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on on Innovative Applications of Artificial Intelligence, July 30 - August 3, 2000, Austin, Texas, USA, Henry A. Kautz and Bruce W. Porter (Eds.). AAAI Press / The MIT Press, 538–544. http://www.aaai.org/Library/AAAI/2000/aaai00-082.php
[62]
Daniel Pless and George F. Luger. 2001. Toward General Analysis of Recursive Probability Models. In UAI ’01: Proceedings of the 17th Conference in Uncertainty in Artificial Intelligence, University of Washington, Seattle, Washington, USA, August 2-5, 2001. 429–436.
[63]
Norman Ramsey and Avi Pfeffer. 2002. Stochastic lambda calculus and monads of probability distributions. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, OR, USA, January 16-18, 2002. 154–165. https://doi.org/10.1145/503272.503288
[64]
N. Saheb-Djahromi. 1978. Probabilistic LCF. In Mathematical Foundations of Computer Science 1978, Proceedings, 7th Symposium, Zakopane, Poland, September 4-8, 1978, Józef Winkowski (Ed.) (Lecture Notes in Computer Science, Vol. 64). Springer, 442–451. isbn:0-387-08921-7 https://doi.org/10.1007/3-540-08921-7_92
[65]
Adam Ścibior, Ohad Kammar, Matthijs Vákár, Sam Staton, Hongseok Yang, Yufei Cai, Klaus Ostermann, Sean K. Moss, Chris Heunen, and Zoubin Ghahramani. 2018. Denotational validation of higher-order Bayesian inference. Proc. ACM Program. Lang., 2, POPL (2018), 60:1–60:29. https://doi.org/10.1145/3158148
[66]
Alex K. Simpson. 2005. Reduction in a Linear Lambda-Calculus with Applications to Operational Semantics. In Term Rewriting and Applications, 16th International Conference, RTA 2005, Nara, Japan, April 19-21, 2005, Proceedings, Jürgen Giesl (Ed.) (Lecture Notes in Computer Science, Vol. 3467). Springer, 219–234. https://doi.org/10.1007/978-3-540-32033-3_17
[67]
Dario Stein and Sam Staton. 2021. Compositional Semantics for Probabilistic Programs with Exact Conditioning. 2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), 1–13.
[68]
Matthijs Vákár, Ohad Kammar, and Sam Staton. 2019. A domain theory for statistical probabilistic programming. Proc. ACM Program. Lang., 3, POPL (2019), 36:1–36:29. https://doi.org/10.1145/3290349
[69]
Jan-Willem van de Meent, Brooks Paige, Hongseok Yang, and Frank Wood. 2018. An Introduction to Probabilistic Programming. CoRR, abs/1809.10756 (2018), arXiv:1809.10756. arxiv:1809.10756
[70]
Frank Wood, Jan Willem Meent, and Vikash Mansinghka. 2014. A New Approach to Probabilistic Programming Inference. In Proceedings of the Seventeenth International Conference on Artificial Intelligence and Statistics, Samuel Kaski and Jukka Corander (Eds.) (Proceedings of Machine Learning Research, Vol. 33). PMLR, Reykjavik, Iceland. 1024–1032. https://proceedings.mlr.press/v33/wood14.html

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Programming Languages
Proceedings of the ACM on Programming Languages  Volume 8, Issue POPL
January 2024
2820 pages
EISSN:2475-1421
DOI:10.1145/3554315
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution 4.0 International License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 January 2024
Published in PACMPL Volume 8, Issue POPL

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Bayesian networks
  2. denotational semantics
  3. intersection types
  4. lambda calculus
  5. probabilistic programming

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 243
    Total Downloads
  • Downloads (Last 12 months)243
  • Downloads (Last 6 weeks)35
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media