Shelang: An Implementation of Probabilistic Programming Language and its Applications
Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesis
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.
Place, publisher, year, edition, pages
2015. , 53 p.
Probabilistic Models, Programming Language Theory, Lisp, Machine Learning, Artificial Intelligence
Electrical Engineering, Electronic Engineering, Information Engineering
IdentifiersURN: urn:nbn:se:miun:diva-26016OAI: oai:DiVA.org:miun-26016DiVA: diva2:858127
Subject / course
Computer Engineering DT1
2015-06-05, L408, Sundsvall, 09:00 (English)
Zhang, Tingting, Professor
Jennehag, Ulf, Universitetslektor