# A fungibility theorem

_Restatement of: __[If you don't know the name of the game, just tell me what I mean to you](/lw/2xb/if_you_dont_know_the_name_of_the_game_just_tell/). __Alternative to: [Why you must maximize expected utility](/lw/fu1/why_you_must_maximize_expected_utility/). Related to: [Harsanyi's Social Aggregation Theorem](/r/discussion/lw/g85/harsanyis_social_aggregation_theorem_and_what_it/)._

_Summary: This article describes a [theorem](#theorem), previously described by Stuart Armstrong, that tells you to maximize the expectation of a linear aggregation of your values. Unlike the von Neumann-Morgenstern theorem, this theorem gives you a reason to behave rationally.^[1](#1)^_

The [von Neumann-Morgenstern theorem](http://en.wikipedia.org/wiki/Von_Neumann%E2%80%93Morgenstern_utility_theorem) is great, but it is descriptive rather than prescriptive. It tells you that if you obey four axioms, then you are an optimizer. (Let us call an "optimizer" any agent that always chooses an action that maximizes the expected value of some function of outcomes.) But you are a human and you don't obey the axioms; the VNM theorem doesn't say anything about you.

There are Dutch-book theorems that give us reason to want to obey the four VNM axioms: E.g., if we violate the axiom of transitivity, then we can be money-pumped, and we don't want that; therefore we shouldn't want to violate the axiom of transitivity. The VNM theorem is somewhat helpful here: It tells us that the _only_ way to obey the four axioms is to be an optimizer.^[2](#2)^

So now you have a reason to become an optimizer. But there are an infinitude of decision-theoretic utility functions^[3](#3)^ to adopt — which, if any, ought you adopt? And there is an even bigger problem: If you are not already an optimizer, than any utility function that you're considering will recommend actions that run counter to your preferences!

To give a silly example, suppose you'd rather be an astronaut when you grow up than a mermaid, and you'd rather be a dinosaur than an astronaut, and you'd rather be a mermaid than a dinosaur. You have circular preferences. There's a decision-theoretic utility function that says

$\\mbox{mermaid} \\prec \\mbox{astronaut} \\prec \\mbox{dinosaur}$

which preserves some of your preferences, but if you have to choose between being a mermaid and being a dinosaur, it will tell you to become a dinosaur, even though you really really want to choose the mermaid. There's another decision-theoretic utility function that will tell you to pass up being a dinosaur in favor of being an astronaut even though you really really don't want to. Not being an optimizer means that any rational decision theory will tell you to do things you don't want to do.

So why would you ever want to be an optimizer? What theorem could possibly convince you to become one?

Stuart Armstrong's theorem
==========================

Suppose there is a set ![](http://www.codecogs.com/png.latex?P "P") (for "policies") and some functions ![](http://www.codecogs.com/png.latex?v_1, \dots, v_n "v_1, \dots, v_n") ("values") from ![](http://www.codecogs.com/png.latex?P "P") to ![](http://www.codecogs.com/png.latex?\mathbb{R} "\mathbb{R}"). We want these functions to satisfy the following **convexity property**:

For any policies ![](http://www.codecogs.com/png.latex?p, q \in P "p, q \in P") and any ![](http://www.codecogs.com/png.latex?\alpha \in [0, 1] "\alpha \in [0, 1]"), there is a policy ![](http://www.codecogs.com/png.latex?r \in P "r \in P") such that for all ![](http://www.codecogs.com/png.latex?i "i"), we have ![](http://www.codecogs.com/png.latex?v_i(r) = \alpha v_i(p) + (1 - \alpha) v_i(q) "v_i(r) = \alpha v_i(p) + (1 - \alpha) v_i(q)").

For policies ![](http://www.codecogs.com/png.latex?p, q \in P "p, q \in P"), say that ![](http://www.codecogs.com/png.latex?p "p") is a _Pareto improvement_ over ![](http://www.codecogs.com/png.latex?q "q") if for all ![](http://www.codecogs.com/png.latex?i "i"), we have ![](http://www.codecogs.com/png.latex?v_i(p) \geq v_i(q) "v_i(p) \geq v_i(q)"). Say that it is a _strong Pareto improvement_ if in addition there is some ![](http://www.codecogs.com/png.latex?i "i") for which ![](http://www.codecogs.com/png.latex?v_i(p) > v_i(q) "v_i(p) > v_i(q)"). Call ![](http://www.codecogs.com/png.latex?p "a") a _Pareto optimum_ if no policy is a strong Pareto improvement over it.

**Theorem.** Suppose ![](http://www.codecogs.com/png.latex?P "P") and ![](http://www.codecogs.com/png.latex?v_1, \dots, v_n "v_1, \dots, v_n") satisfy the convexity property. If a policy in ![](http://www.codecogs.com/png.latex?P "P") is a Pareto optimum, then it is a maximum of the function ![](http://www.codecogs.com/png.latex?c_1 v_1 + \cdots + c_n v_n "c_1 v_1 + \cdots + c_n v_n") for some nonnegative constants ![](http://www.codecogs.com/png.latex?c_1, \dots, c_n "c_1, \dots, c_n").

This theorem previously appeared in [If you don't know the name of the game, just tell me what I mean to you](/lw/2xb/if_you_dont_know_the_name_of_the_game_just_tell/). I don't know whether there is a source prior to that post that uses the hyperplane separation theorem to justify being an optimizer. The [proof](/r/discussion/lw/g8p/proof_of_fungibility_theorem/) is basically the same as the proof for the complete class theorem and the hyperplane separation theorem and the second fundamental theorem of welfare economics. [Harsanyi's utilitarian theorem](/lw/g85/harsanyis_social_aggregation_theorem_and_what_it/) has a similar conclusion, but it assumes that you already have a decision-theoretic utility function. The [second fundamental theorem of welfare economics](http://en.wikipedia.org/wiki/Fundamental_theorems_of_welfare_economics#Proof_of_the_second_fundamental_theorem) is virtually the same theorem, but it's interpreted in a different way.

What does the theorem mean?
===========================

Suppose you are a consequentialist who subscribes to Bayesian epistemology. And in violation of the VNM axioms, you are torn between multiple incompatible decision-theoretic utility functions. Suppose you can list all the things you care about, and the list looks like this:

1.  Your welfare
2.  Your family's welfare
3.  Everyone's total welfare
4.  The continued existence of human civilization
5.  All mammals' total welfare
6.  Your life satisfaction
7.  Everyone's average welfare
8.  ...

Suppose further that you can quantify each item on that list with a function ![](http://www.codecogs.com/png.latex?v_1, v_2, \dots "v_1, v_2, \dots") from world-histories to real numbers, and you want to optimize for each function, all other things being equal. E.g., ![](http://www.codecogs.com/png.latex?v_1(x) "v_1(x)") is large if ![](http://www.codecogs.com/png.latex?x "x") is a world-history where your welfare is great; and ![](http://www.codecogs.com/png.latex?v_5(x) "v_5(x)") somehow counts up the welfare of all mammals in world-history ![](http://www.codecogs.com/png.latex?x "x"). If the expected value of ![](http://www.codecogs.com/png.latex?v_1 "v_1") is at stake (but none of the other values are at stake), then you want to act so as to maximize the expected value of ![](http://www.codecogs.com/png.latex?v_1 "v_1").^[4](#4)^ And if only ![](http://www.codecogs.com/png.latex?v_5 "v_5") is at stake, you want to act so as to maximize the expected value of ![](http://www.codecogs.com/png.latex?v_5 "v_5"). What I've said so far doesn't specify what you do when you're forced to trade off value 1 against value 5.

If you're VNM-rational, then you are an optimizer whose decision-theoretic utility function is a linear aggregation ![](http://www.codecogs.com/png.latex?\sum_i c_i v_i "\sum_i c_i v_i") of your values and you just optimize for that function. (The ![](http://www.codecogs.com/png.latex?c_i "c_i") are nonnegative constants.) But suppose you make decisions in a way that does not optimize for any such aggregation.

You will make many decisions throughout your life, depending on the observations you make and on random chance. If you're capable of making precommitments and we don't worry about computational difficulties, it is as if today you get to choose a policy for the rest of your life that specifies a distribution of actions for each sequence of observations you can make.^[5](#5)^ Let ![](http://www.codecogs.com/png.latex?P "P") be the set of all possible policies. If ![](http://www.codecogs.com/png.latex?p \in P "p \in P"), and for any ![](http://www.codecogs.com/png.latex?i "i"), let us say that ![](http://www.codecogs.com/png.latex?v_i(p) "v_i(p)") is the expected value of ![](http://www.codecogs.com/png.latex?v_i "v_i") given that we adopt policy ![](http://www.codecogs.com/png.latex?p "p"). Let's assume that these expected values are all finite. Note that if ![](http://www.codecogs.com/png.latex?p_f "p_f") is a policy where you make every decision by maximizing a decision-theoretic utility function ![](http://www.codecogs.com/png.latex?f "f"), then the policy ![](http://www.codecogs.com/png.latex?p_f "p_f") itself maximizes the expected value of ![](http://www.codecogs.com/png.latex?f "f"), compared to other policies.

In order to apply the theorem, we must check that the convexity property holds. That's easy: If ![](http://www.codecogs.com/png.latex?p "p") and ![](http://www.codecogs.com/png.latex?q "q") are two policies and ![](http://www.codecogs.com/png.latex?\alpha \in [0, 1] "\alpha \in [0, 1]"), the mixed policy where today you randomly choose policy ![](http://www.codecogs.com/png.latex?p "p") with probability ![](http://www.codecogs.com/png.latex?\alpha "\alpha") and policy ![](http://www.codecogs.com/png.latex?q "q") with probability ![](http://www.codecogs.com/png.latex?1-\alpha "1-\alpha"), is also a policy.

What the theorem says is that if you really care about the values on that list (and the other assumptions in this post hold), then there are linear aggregations ![](http://www.codecogs.com/png.latex?\sum_i c_i v_i "\sum_i c_i v_i") that you have reason to start optimizing for. That is, there are a set of linear aggregations and if you choose one of them and start optimizing for it, you will get _more_ expected welfare for yourself, _more_ expected welfare for others, _less_ risk of the fall of civilization, ....

Adopting one of these decision-theoretic utility functions ![](http://www.codecogs.com/png.latex?\sum_i c_i v_i "\sum_i c_i v_i") in the sense that doing so will get you more of the things you value without sacrificing any of them.

What's more, once you've chosen a linear aggregation, optimizing for it is easy. The ratio ![](http://www.codecogs.com/png.latex?c_i/c_j "c_i/c_j") is a price at which you should be willing to trade off value ![](http://www.codecogs.com/png.latex?j "j") against value ![](http://www.codecogs.com/png.latex?i "i"). E.g., a particular hour of your time should be worth some number of marginal dollars to you.

_Addendum: Wei_Dai and other commenters point out that the set of decision-theoretic utility functions that will Pareto dominate your current policy very much depends on your beliefs. So a policy that seems Pareto dominant today will not have seemed Pareto dominant yesterday. It's not clear if you should use your current (posterior) beliefs for this purpose or your past (prior) beliefs._

More applications
=================

There's a lot more that could be said about the applications of this theorem. Each of the following bullet points could be expanded into a post of its own:

*   Philanthropy: There's a good reason to not split your charitable donations among charities.
*   Moral uncertainty: There's a good reason to linearly aggregate conflicting desires or moral theories that you endorse.
*   Population ethics: There's a good reason to aggregate the welfare or decision-theoretic utility functions of a population, even though there's no canonical way of doing so.
*   Population ethics: It's difficult to sidestep Parfit's Repugnant Conclusion if your only desiderata are total welfare and average welfare.

* * *

^[](#1_) [1](#1_)^This post evolved out of discussions with Andrew Critch and Julia Galef. They are not responsible for any deficiencies in the content of this post. The theorem appeared previously in Stuart Armstrong's post [If you don't know the name of the game, just tell me what I mean to you](/lw/2xb/if_you_dont_know_the_name_of_the_game_just_tell/).

[](#1return)^ [2](#2_)^That is, the VNM theorem says that being an optimizer is _necessary_ for obeying the axioms. The easier-to-prove converse of the VNM theorem says that being an optimizer is _sufficient_.

^[](#3_) [3](#3_)^[Decision-theoretic utility functions](http://en.wikipedia.org/wiki/Von_Neumann%E2%80%93Morgenstern_utility_theorem) are completely unrelated to [hedonistic utilitarianism](http://plato.stanford.edu/entries/utilitarianism-history/).

^ [4](#4_)^More specifically, if you have to choose between a bunch of actions and for all ![](http://www.codecogs.com/png.latex?i>1 "i>1") the expected value of ![](http://www.codecogs.com/png.latex?v_i "v_1") is independent of which actions you take, then you'll choose an action that maximizes the expected value of ![](http://www.codecogs.com/png.latex?v_1 "v_1").

^ [5](#5_)^We could formalize this by saying that for each sequence of observations ![](http://www.codecogs.com/png.latex?o_1, \dots, o_k "o_1, \dots, o_k"), the policy determines a distribution over the possible actions at time ![](http://www.codecogs.com/png.latex?k+1 "k+1").