Shelang : An Implementation of Probabilistic Programming Language and its Applications

University essay from Mittuniversitetet/Avdelningen för informations- och kommunikationssystem

Abstract: Nowadays, probabilistic models are playing a significant role in various areas in- cluding machine learning, artificial intelligence and cognitive science, etc. How- ever, as those models are becoming more and more complex, it shows that the corresponding programs are really hard to maintain and reuse as well. Meanwhile, the current tools are not feasible enough to enable probabilistic modeling and ma- chine learning to be accessible to the working programmer, who has sufficient do- main expertise, but perhaps not enough expertise in probability theory or machine learning. Probabilistic programming is one possible way to solve this. Indeed, probabilistic programming languages are powerful tools to specify probabilistic models directly in terms of a computer programs. While programmers writes normal procedures, everything will be automatically translated into statistical distributions and then users can do inferences upon them. This project aims at exploring and implementing a probabilistic programming language, for which we name as Shelang. We use Scheme, a dialect of Lisp lan- guage which is originated from λ-Calculus, to implement a embedded probabilis- tic programming language. This paper mainly discusses about the design, algo- rithms, details of this implementation and several usages of Shelang and make a conclusion in the end. 

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)