foundations of computational agents
Utility for an agent is a function of outcomes or states. Representing utilities in terms of features or variables typically results in more compact representations that are easier to reason with and more natural to acquire.
Suppose each outcome can be described in terms of features . An additive utility is one that can be decomposed into a sum of terms:
Such a decomposition is making the assumption of additive independence.
When this can be done, it greatly simplifies preference elicitation – the problem of acquiring preferences from the user. This decomposition is not unique, because adding a constant to one of the terms and subtracting it from another gives the same utility. A canonical form for additive utility has a unique decomposition. Canonical forms are easier to acquire as each number can be acquired without considering the other numbers. To put additive utility into canonical form, for each feature , define a local utility function that has a value of 0 for the value of in the worst outcome and 1 for the value of in the best outcome, and a non-negative real weight, . The weights should sum to 1. The utility as a function of the variables is:
To elicit such a utility function requires eliciting each local utility function and assessing the weights. Each feature, if it is relevant, must have a best value for an agent and a worst value for the agent. Assessing the local functions and weights can be done as follows. Consider just ; the other features then can be treated analogously. For feature , values and for , and fixed values for :
The weight can be derived when is the best outcome and is the worst outcome (because then ). The values of for the other values in the domain of can be computed using Equation 9.1, making the worst outcome (as then ).
Assuming additive independence entails making a strong independence assumption. In particular, in Equation 9.1, the difference in utilities must be the same for all values for .
Additive independence is often not a good assumption. Consider binary features and , with domains and .
Two values of and are complements if having both is better than the sum of having the two separately. More formally, values and are complements if getting one when the agent has the other is more valuable than when the agent does not have the other:
Two values are substitutes if having both is not worth as much as the sum of having each one. More formally, values and are substitutes if getting one when the agent has the other is less valuable than getting one when the agent does not have the other:
For a purchasing agent in the travel domain, having a plane booking for a particular day and a hotel booking for the same day are complements: one without the other does not give a good outcome. Thus,
where the right side would be small or even negative.
Two different outings on the same day would be substitutes, assuming the person taking the holiday would enjoy one outing, but not two, on the same day. However, if the two outings are in close proximity to each other and require a long traveling time, they may be complements (the traveling time may be worth it if the person gets two outings).
Additive utility assumes there are no substitutes or complements. When there is interaction, we require a more sophisticated model, such as a generalized additive independence model, which represents utility as a sum of terms, where each term can be a factor over multiple variables. Elicitation of the generalized additive independence model is much more involved than eliciting an additive model, because a variable can appear in many factors.