I'm trying to build a very simple economic model for the blobs. There are two types of items: food and money. A blob can do four things: rest, plant crops, harvest crops, or eat. What makes this complicated is that the blob has to make a tradeoff between present and future and between comfort and wealth.

How can I make it interesting? I don't want one option to be always better than the other.

One way to make blob behavior interesting is a non-linear utility function. Intuitively, the unpleasantness (negative utility) of each hour of work increases the more work you've done. Hour ten is tougher than hour three. Also, the pleasantness of goods (positive utility) decreases for each additional unit. This is called diminishing marginal utility in economics. With this principle we can have blobs that do not always choose the same thing, because choosing the same thing over and over leads to reduced returns each time.

The blob decision algorithm is: compute the total utility function of each of the alternative actions and then choose the highest one.

What I still haven't worked out is how to value the future. Planting crops has a present negative utility and a future positive utility. But how do I value the future utility? Having two farms that can be harvested in six months isn't equal to having one farm that can be harvested in three months and another that can be harvested in nine months. How do I take into account the amount of time involved? How do I take into account the possibly varying price of food? Also, how do I take into account the ability to choose something different (by having free time) in the future?

1 comment:

jhylands wrote at December 09, 2020 10:22 AM

I'm sure you've found a solution to this already given this is almost 2 decades ago, but one way to work with future values is to use discounting.
The technique is used in finance to work out the value of things going into the future.
In the example from the post the way you would compare two farms yielding a unit after 6 months and one yielding a unit after 3 months would be as follows.
Take a time based discounting factor, in this case well use 3% per month.
What that means is that £100 today is worth the same to the agent as £103 in a months time. (3% would be more realisticly used over the course of a year but the point remains)

We can then calculate the value of the two scenarios as follows assuming a constant price for one unit of yield:
For a single farm the yield is 1/(1.03^3) + 1/(1.03^6) = 1.75
for the two farms the yield is 2/(1.03^6) = 1.67

In that way you can clearly represent the benefit of the more frequently yielding farm.