image

Robotics and Cyber-Physical Systems

When designing policies or controllers for autonomous embodied systems, factors such as safety and data efficiency become paramount. For both low-level control and high-level planning problems, the standard practice has been to leverage symbolic domain knowledge (e.g., the governing equations of motion for the system, or an automaton representation of the high-level states) to design structured models that have certifiable guarantees, good generalization, or both (\eg, \citet{propel}). An emerging research direction is to automatically learn or discover the structure of the symbolic knowledge (\eg, \citet{xu2018neural}), which can be viewed as an instance of neurosymbolic programming.


Selected Publications

Sorry, no publications matched your criteria.

image

Scientific Discovery

The acceleration of scientific discovery is among the most exciting promises of modern AI. However, algorithms that discover new scientific hypotheses and guide experiments must not only have high performance but also produce interpretable outputs. This makes many of our methods a natural fit for this space.

In particular, with collaborators in behavioral neuroscience, we have been recently working to use our methods in the analysis of animal behavior. Specifically, we have used neurosymbolic program synthesis to discover interpretable classifiers and clusters for behaviors, and models of divergences between different human experts annotating behaviors. In a separate ongoing effort with collaborators in cell biology, we are developing the use of program synthesis in discovering high-performance mechanistic models of RNA splicing.


Selected Publications

Sorry, no publications matched your criteria.

image part 003

Software Engineering

Many aspects of everyday software engineering are repetitive; today, developers commonly perform these tasks using the guidance of other developers through forums like Stack Overflow. Program synthesis systems, such as the ones developed in our work, can potentially automate away many of these repetitive tasks. By doing so, they can allow the expert software engineer to focus on the more creative aspects of their work and enable novice programmers to do far more complex tasks than they can do today.


Selected Publications

Sorry, no publications matched your criteria.