The unit on modelling human cognition introduced a framework based on the creation of generative models of the physical and social worlds that enable probabilistic inference about objects, agents, and events. The Church programming language was designed to facilitate the implementation and testing of such models. In this tutorial, you will first learn the syntax and some basic primitives of the Church language, and how to define functions that implement simple probabilistic models and inference methods. The concepts are then explored through examples such as hypothesis testing in the domain of coin-flipping, and reasoning about the goals and beliefs of an agent.
Josh Tenenbaum and colleagues propose that our intuitions about properties like the stability of a stack of blocks, may derive from “probabilistic programs” that can simulate, with some uncertainty, the physics that governs how objects behave in space and time. Such programs can be implemented and tested using probabilistic programming languages such as the Church language. (Image courtesy of Josh Tenenbaum, used with permission.)
- Introductions to probability and probabilistic approaches to modelling behaviour
- Video lectures on computational models of cognition by Josh Tenenbaum
- Introduction to computer programming