that takes the state
of a system
, which can be anything the owner of the utility function can interact with, and is given certain goals
, which can be anything so long as they are logically consistent e.g. making money or gathering votes. It then returns a number, representing how "good
" this state is e.g. number of votes. All goal based systems must contain one, including humans. As using a utility function is very inefficient, this is often replaced with a set
, that are known to result
in high values, as a computational
short cut. This can lead to cases where something that wasn't in the ancestral environment
interferes with the adaptation, leading to a state that should
have a low utility value
, but is still reached by the adaptations. e.g. sweetness is used to determine what's good to eat. This worked, until chocolate and other artificial foods happened.
In theory, a goal based system would work as follows:
1. Let A be a list [a1,a2,a3,...] of all possible actions
2. For each action do steps 3-6
3. Let i be the current action
4. Let R be a list [r1,r2,r3,...] of all possible results of taking i, along with the probability's of happening.
5. Take the utility function of each result, and multiply this by the probability of happening
6. Sum the results of the previous step, to get the utility of i
7. Take the action that has the highest utility value
The above system would be extremely inefficient, but would achieve its goals.
a lottery has a 1/1000 chance of winning $100, and costs 1 dollar the enter.
A = [play lottery,don't play lottery]
utility of play lottery = (0.001*(100-1)) + (0.999*(0-1))
utility of play lottery = 0.099 - 0.999
utility of play lottery = -$0.9
utility of don't play lottery = (1*0) = 0
utility of don't play lottery>utility of play lottery
conclusion: don't play