UROP Openings

Have a UROP opening you would like to submit?

Please fill out the form.

Submit your UROP opening

Answering Why? Explanation systhemsis through causality, probabilsitic inference and program induction. adsa




6: Electrical Engineering and Computer Science

Faculty Supervisor:

Armando Solar Lezama

Faculty email:


Apply by:




Project Description

Constructing and communicating explanations is a fundamental and routine human capacity. Despite advances in machine learning, no existing system comes close to approximating these capabilities. A system that constructs explanations must address three problems simultaneously: The objective of this project is to construct a general system that can answer "why?" questions, that is, construct explanations of observations.  In particular, the first domain will be physics-based games.  Given an event (e.g. the player died), the system will construct explanations that resemble what a human would give (e.g. the player accelerated too fast around the first corner).  - Probabilistic inference to infer latent world parameters (e.g. the 3d shape and object positions) from observed data (e.g. 2D pixel data) - Program Synthesis - Causal Inference This project is led by Zenna Tavares (zenna@mit.edu) under supervision of Armando Solar Lezama.


This is an exciting project. We expect candidates to have expertise in at least some of the following fields: - Physics simulation - Graphics/rendering - Probabilistic inference - Causal inference - Programming languages and program analysis - Program Synthesis/induction - Programming languages: Julia, Python, C++