Inverse Planning

Inverse Planning refers to the process of inferring an agent's mental states, such as goals, beliefs, emotions, etc., from actions by assuming agents are rational planners. It is a method commonly used in Computational Cognitive Science and Artificial Intelligence for modeling agents' Theory of Mind.

Inverse Planning is closely related to Inverse Reinforcement Learning, which attempts to learn a reward function based on agents' behavior, and plan recognition, which finds logically-consistent goals given the action observations.

Bayesian Inverse Planning
Inverse Planning is often framed with a Bayesian formulation, such as sequential Monte Carlo methods. The inference process can be represented with a graphical model shown on the right. In this causal diagram, a rational agent with a goal g produces a plan with a sequence of actions $$a_{1:t}$$, where

$$a_{1:t} \sim P(a_{1:t} | g, s_0)$$

In the forward planning model, it is often assumed that the agent is rational. The agents' actions can then be derived from a Boltzmann rational action distribution,

$$P(a_i | g, s_0) = \frac{\exp(\frac{1}{\beta} Q(s_0,a_i))}{\sum_{a_j}{\exp(\frac{1}{\beta} Q(s_0,a_j)))}}$$

where $$Q(s_0, a)$$ is the cost of the optimal plan to goal $$g$$ by first performing action $$a$$, and $$\beta$$ is the Boltzmann temperature parameter.

Then giving action observations of $$a_{1:t}$$, Inverse Planning applies Bayes rule to invert the conditional probability to find the posterior probability of the agent's goal.

$$P(g|a_{1:t}, s_0) \propto P(a_{1:t}|g, s_0)P(g)$$

Inverse planning can also be applied for inferring agent's beliefs, emotions, preferences, etc. Recent work in Bayesian Inverse Planning has also been able to account for boundedly rational agent behavior, multi-modal interactions, and team actions in multi-agent systems.

Application
Inverse Planning has been widely used in modeling agent's behavior in cognitive science to understand human's ability to interpret and infer other agents' latent mental states. It has increasingly been applied in Human-AI and Human-Robot interactions, allowing artificial agents to recognize the goals and beliefs of human users in order to provide assistance.