Inference algorithms in probabilistic programming languages (PPLs) can be thought of as interpreters, since an inference algorithm traverses a model given evidence to answer a query. As with interpreters, we can improve the efficiency of inference algorithms by compiling them once the model, evidence and query are known. We present SIMPL, a domain specific language for inference algorithms, which uses this idea in order to automatically specialize annotated inference algorithms. Due to the approach of specialization, unlike a traditional compiler, with SIMPL new inference algorithms can be added easily, and still be optimized using domain-specific information. We evaluate SIMPL and show that partial evaluation gives a 2-6x speedup, caching provides an additional 1-1.5x speedup, and generating C code yields an additional 13-20x speedup, for an overall speedup of 30-150x for several inference algorithms and models.
Broadway @cite_12 uses annotations to provide semantic information about a library in order to optimize it. It replaces general library calls with manually written specialized versions, whereas we want to specialize the code automatically.
@cite_12
1519963781
In this paper, we present our case-based browsing advisor for the Web, called Broadway. Broadway follows a group of users during their navigations and supports an indirect collaboration to recommend Web pages to visit next. Broadway uses case-based reasoning to reuse precise experiences extracted from past navigations with a time-extended situation assessment, i.e. the recommendations are based mainly on the similarity of ordered sequences of past accessed documents. A first experimental evaluation shows that the system improves the information searching task.