Who Am I
I am a Ph.D candidate in the both the department of Brain and Cognitive Sciences and the Computer Science and Artificial Intelligence Lab at MIT. I work in the Computer Aided Programming Group under supervision of Armando Solar Lezama, and am associated with the Computational Cognitive Science group run by Joshua Tenenbaum.
What do I do
I work primarily on algorithms for inference in probabilistic programs using formal methods from program analysis and constraint solving. These ideas are embodied in a probabilistic programming language Sigma.jl.
More recently I have been trying to connect ideas in supervised learning with that of program synthesis; afterall, both are concerned with finding programs given some specification of what it should do.
I am generally interested in how to represent knowledge about the world, in all its complexity and uncertainty, and how to efficiently derive conclusions and inferences from such knowledge.
What do I do (with less the mumbo jumbo)
It’s a strange mix, right? What connection could there be between computer programs and human thought? My research is based on the premise that there are parallels between the two on multiple levels, both analogical and fundamental. At the simplest level, researchers in cognitive science and artificial intelligence routinely use programming languages to model or simulate aspects of human cognition, without batting as much as an eyelid. The fact that this is possible is utterly surprising; I wouldn’t expect to be able to create thinking machines out of paper, or mud, a toaster, or even lego (or would I?).
This idea that thinking is like information processing, i.e., computation is called computationalism; and I ascribe to it fully. But taking it seriously forces us to address some hard questions, namely: what is computation, really? How does it relate to inference? How should we represent information, such that we can compute with it?