My research focuses on issues in the intersection of computer science (especially artificial intelligence, multiagent systems, and computational social choice) and economics (especially microeconomic theory, game theory, and mechanism design). This includes the following topics.

(1) Making decisions based on the preferences of multiple agents. This can be done using, for example, voting or auction mechanisms. I am especially interested in cases where the space of alternatives is combinatorial in nature, for example, when multiple items must be allocated. This leads to questions about how the agents' preferences should be represented and communicated, as well as nontrivial optimization problems for finding the best alternative.

(2) Algorithms and complexity results for fundamental game-theoretic solution concepts. Game theory studies how an agent should act in the presence of other agents who have their own preferences. It has introduced a variety of solution concepts, including Nash equilibrium but also many others. I work on operationalizing these concepts, by designing algorithms for computing or learning the solution in specific games. I am particularly interested in settings where one party has a commitment advantage, and these techniques are finding applications in real-world security domains.

(3) (Automated) mechanism design for strategic agents. In mechanisms such as the ones discussed under (1), a selfish agent is sometimes better off reporting her preferences inaccurately, in order to obtain an outcome that is better for her. We can design these mechanisms in such a way that good outcomes result in spite of selfish behavior. I am especially interested in automated mechanism design (where we identify good mechanisms by having a computer search through the space of possible mechanisms in an intelligent way), and the effects of the agents' computational limitations on the mechanism design process.

(4) Mechanism design in highly anonymous environments. Mechanism design has traditionally focused on the problem of agents misreporting their preferences. However, in highly anonymous environments such as the Internet, another often-used manipulation is for an agent to pretend to be multiple agents. I am working on extending the theory of mechanism design to address this type of manipulation.