UROP Openings

Have a UROP opening you would like to submit?

Please fill out the form.

Submit your UROP opening

Discovering Causal Reactive Programs adsa




CSAIL: Computer Science and Artificial Intelligence Lab

Faculty Supervisor:

Armando Solar Lezama

Faculty email:


Apply by:

July 9th



Project Description

Can a machine learn to identify cause and effect? Many experiments in cognitive science have shown that infants possess this ability: By interacting with a domain, such as a toy music box, toddlers are able to figure out which events cause others without being told, such as that pushing a button turns on the music, while pushing and holding changes the tune. We seek to automate this sort of causal reasoning, a milestone that remains elusive among machine learning systems that center overwhelmingly oncorrelation instead of causation. Concretely, we are developing a domain-specific language (DSL) for specifying causal probabilistic models, and building a system that can synthesize the particular program within the DSL that captures the model's causal relationships, given interaction-based observations. The models described by our DSL can be viewed and interacted with in an online interface that we are developing, which will also be used to collect user data and provide helpful insight on how humans infer these causal links. Some images of the interface in its current form and a few sample models we have written (how traffic responds to a barrier, how ants respond to food, etc.) can be viewed at the links below. Inferring/synthesizing the correct causal program is an exciting and challenging problem at the intersection of probabilistic inference, program synthesis, and causality. In contrast to existing work on causal model discovery, we are not just finding the direction of edges but the actual program: their full functional relationship. This is an exciting opportunity to learn more about a rich new area of artificial intelligence/program synthesis research, and get your hands dirty solving a cool, concrete problem. Interface Stills/Example Models: https://photos.app.goo.gl/PCaP2iDvsV2tjXpG8 http://www.zenna.org/CausalDiscovery.jl/CISC/traffic.html


Strong programming ability. Experience in causal inference, probabilistic inference, program synthesis, and machine learning are a bonus.