Statistical Language Learning
GIB: Steps Toward an Expert-Level Bridge-Playing Program
IJCAI '99 Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence
Semantics and Inference for Recursive Probability Models
Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence
Monte Carlo Statistical Methods (Springer Texts in Statistics)
Monte Carlo Statistical Methods (Springer Texts in Statistics)
Synthesizing open worlds with constraints using locally annealed reversible jump MCMC
ACM Transactions on Graphics (TOG) - SIGGRAPH 2012 Conference Proceedings
Hi-index | 0.00 |
Memoization is a fundamental technique in computer science, providing the basis for dynamic programming. This paper explores using memoization to improve the performance of rejection sampling algorithms. It is shown that reusing values produced in previous samples and stored in a cache is beneficial. The paper goes on to explore the idea of recursive memoization, in which values are aggressively reused from the cache even in the process of computing a value to store in the cache. This leads to the values in the cache becoming dependent on each other, and therefore produces a biased sampler. However in practice this seems to be quite beneficial. Furthermore, we show that the error in the cache tends to zero in the long run. We demonstrate the usefulness of memoized sampling in a duplicate bridge simulation, and in experiments with probabilistic grammars.