Maybe this is a well known kind of problem but I am a novice and it looks puzzling to me.
Here is a lottery: I have these two choices:
- (a) get 0.5$ for sure
- (b) win 1$ with probability or nothing with probability
My utility function is .
What should I choose?
Let's compute the expected utilities:
- expected utility for one single game is for (b) while for (a) is so I have maximized expected utility with choice (a)
- if I compute expected utility for two games I get a different prescription:
- utility for chosing (a) two times is
- the expected utility for chosing (b) two times is
This last computation is equal to which is greater than the utility of double (a) (i.e. 1) so in order to maximize expected utility I should actually prefer to play (b) two times rather than playing (a) two times.
So we have this apparent inconsistency:
- for one single game it's better to choose (a)
- for two games it's better to choose (b) both times
This result is puzzling to me because I would expect that utility maximization for one single game should be enough in order to take the decision regardless of what I am allowed to do in future choices. It seems instead that the mere possibility that I could play this same lottery another time changes the convenience of the choices about what to play in the first game. If this is the case then utility theory seems almost useless: I would be forced to put in my computation the whole list of my possible future choices!
Am I missing something or is this an actual problem?
Well, if you assume these agents do not employ time-discounting then you indeed cannot compare trajectories, since all of them might have infinite utility (and are computationally intractable as you say) if they don't terminate.
We do run into the same problem if we assume realistic action spaces, i.e. consider all the things we could possibly do, as there are too many even for a single time step.
RL algorithms "solve" this by working with constrained action spaces and discounting future utility.. and also by often having terminating trajectories. Humans also work on (highly) constrained action spaces and have strong time discounting [citation needed], and every model of a rational human should take that into account.
I admit those points are more like hacks we've come up with for practical situations, but I suppose the computational intractability is a reason why we can't already have all the nice things ;-)