Since the aim of the project is to see how well different economic models compare to each other, and perhaps to criticise standard econ, it's important to get the agents to reflect some of the standard neoclassical assumptions on how an economy works. To this end agents need to be considerably more complex than they are now. For the entire framework:
Additionally for MoneyAgents:
After that it would be possible to measure sum utilities (since we're presumably doing welfare economics), average leisure time, deviations from Pareto efficiency and other observables more useful than the mere number of agents alive. The necessity of all those complications follows from the fact that existing simulation frameworks already include them. To compare inconventional economies against the standard model, one needs to exceed the level of what we now have.
At a much more basic level, OPTIMAES is not using the standard neoclassical assumptions.
The basis of neoclassical economic theory is rational agents maximising utility subject to constraints.
Firstly, OPTIMAES has no maximisation.
In OPTIMAES, agents either satisfy their minimum needs or they die. In neoclassical theory, agents aren't content just to stay alive, they want more. (And more and more - standard utility functions are non-decreasing in all goods.)
Also, OPTIMAES agents aren't actually doing any rational choosing. In the experiments, there is no choice between different behaviours - eg. to keep or give away resources. Agents are simply either 'givers' or 'barterers' etc. by fiat.
The freerider problem comes up in neoclassical economics because agents have choice. And, in a world where surpulses are possible, they want more than subsistence.
Rational choice is the main strength of neoclassical economics. Neoclassical economics claims to prove that (under very restrictive conditions) a market economy is (in some very restricted definitions) good for us. But more importantly, it claims to explain how complex economic systems occur from basic human characteristics and situations.
In theory, it can then go on to predict whether, or under what circumstances, a given economic system could be viable (for rational human beings). Which is the bit that would be relevant for the OPTIMAES project.
I'm not going to get into selfishness right now - maybe later.
Fisrt thoughts about a 'neoclassical' OPTIMAES model -
To start with, I wouldn't worry yet about the issue of costs to get resources. Leave it that agents get a given basic allocation of resources each go. The issue is then just pared down to how they can act to improve on the basic allocation by interacting in different ways.
Utility and consumption. Firstly, neoclassical agents are selfish. Secondly, neoclassical utility functions must be non-decreasing in all goods.
In standard models of dynamic consumption, the basic choice is between consuming now or saving for later. It could go something like this - for simplicity, suppose just one resource. An agent gets 3 units each period. It has to use up one each period to survive. One or both of the other two can be spent now on 'pleasure' or be saved for later.
In OPTIMAES terms, agents get a basic allocation RGC, but can choose how to use it. To keep things simple, I would leave out stores for now and just think that agents have a minimum consumption need per period. The choice is then how to use the 'surplus' each period.
In standard models, agents discount the future at some rate. If an agent knows it will always receive 3 units in every period forever then there is no point in saving anything. If its utility from consuming the good is increasing for consumption between 1 and 3, then it will consume it all now. (On the other hand, it could be fully sated after consuming 1 unit, and have no interest in the other 2.)
These models become interesting where there is some variability in 'income' over the agent's lifetime - eg. it will retire at 65. Or where there is uncertainty - agents can save some for a 'rainy day', for 'insurance'.
On these lines, the first OPTIMAES experiment made me think about models of 'sharing' and 'informal insurance' around in development economics. The basic idea is that different people can have surpluses at different times. A 'primitive' form of insurance is to give to neighbours when they are in need and you have plenty, in the expectation that they will reciprocate when fortunes are reversed. (The problem for real 'third-world' communities being that often everyone in the social network gets in trouble at the same time, eg when the whole village's harvest fails.)
So - maybe you could get something like the first experiment set up in neoclassical terms by introducing uncertainty. I.e., through variability of RGC.
rough example / working through of ideas (and would need checking)- suppose an agent has a need each period of 1 unit. RGC each go is a random draw of 0, 1 or 2.
1. all agents can do is consume what they've got. then there is a 1/3 chance each go that an agent will die .
2. agents with 2 units can choose to consume or give away surplus unit.
an agent will share if expected utility from 'sharing' is greater than utility from consuming extra unit this period.
utility of consuming extra unit is defined at some level u. eg. - agents are sated after one, and get no extra benefit from consuming surplus, so u = 0. alternatively, people are greedy and u > 0.
apart from level of u, key issue is then expected gain from sharing. for selfish rational agents this has to be an expectation of the benefits from reciprocation by other agents in future periods.
this will depend on - agent's desire to stay alive ('utility' of consuming at need level); rate of discounting future periods; probability distribution of RGC; any other limits on agents' lifespan; (believed) probability of other agents sharing with you / reciprocating ....
eg suppose 'utility' of surviving at subsistence level is normalised at 1 in any given period.
(question - how do utility-maximising agents treat possibility of their own destruction? one hyper-rationalist idea - get zero utility in that period and then zero thereafter. i.e. you have just stopped receiving hedons. Or is there some disutility DEATH < 0?)
expected utility in any period is then eu = eu = 1/3 + 1/3 (1+u) + 1/3 p + 1/3 (1-p) DEATH
(or eu = 2/3 + 1/3 p + 1/3 (1-p) DEATH if you give away surplus)
where p is prob of someone else sharing if you have nothing.
(so 1-p is probability of demise if you get RGC 0, and as prob (RGC = 0) is 1/3 then probability of death in any period is 1/3 (1 - p).)
if as in the original experiment agents only ever die from failing to consume then their expected lifespan is L = 1 / ( 1/3 (1-p) )
(expected value of geometrically distributed random variable with parameter = 1/3 (1-p). eg if the chance of death in any period is 1 in 10 then your life expectancy is 10 goes.)
if there is no discounting of future then expected utility over lifespan is EU = L eu
if agent discounts future at rate d then EU = eu ((1 - (1/ (1+d)^L) / d))
(or something like that - I am not 100% sure if this is right way to deal with possibility of death)
the key factor in any case is the believed probability p that other agents will share. and, most crucially, how this is (believed to be) related to an agent's own choice of sharing.
that is, p = probability of others sharing with me in future given my choice
so the choice is between:
share and get 1 this round and EU (share) thereafter = 1 + EUs
consume and get 1 + u this round and EU (not share) thereafter = 1 + u + EUn
and a rational agent will share if EUs > EUn + u
which then leads to a discussion on reciprocity, reputation, etc. ....
(note - above it looks like future chances of reciprocity will be based on just this one turn's action. what about past -and future - behaviour?)
3. Agents also have choice of storing surplus.
Suppose agents have some kind of infallible deep freeze. Every time they get a surplus unit they can store it in knowledge there will be a full unit there to retrieve next time they don't meet need.
With sharing, there is only the probability p < 1 you will get reciprocity. (Even if everyone always shares, there will be periods where there is not enough surplus to go round.)
on the other hand, if you have a run of bad periods you may use up all your store and now no one will share with you.
To start with - Imagine a small, closed network (stereotypical ye olde village) where everyone knows what everyone else does.
simplifying idea 1 - agents can choose between strategies of being either 'sharing' or 'greedy' every time they get surplus.
sharing agents are known as such, they are upstanding citizens of good reputation. being a sharer is like being a member of a good citizens' insurance club. each period, sharers in surplus will give to fellow-sharers in need.
it is still possible to die. there may be a period where more sharers are in need than get surplus. then needy sharers draw straws. (1-p) above is the probability of this happening and an agent drawing the short straw.
on the other hand, if there is a net surplus amongst sharers, they could have a party with the extra hedons. (can add a term to EU equation - with symmetric distribution of RGC's there is equal chance of party as of death).
if you are not a member of the sharing club, p = 0.
still, it might be preferable to be greedy for an agent who - has little care for the future,
agents will choose sharing if EUs > EUn + u
(note - when is this choice made? perhaps behind a veil of ignorance at some zero period. then formulas need modifying - the immediate pay-off from greed is not u but 1/3 (u + DEATH), but basic idea is the same)
i.e. As eus > An eun + u
i.e. if As/3 (2 + p + (1-p)(DEATH + PARTY) ) > An/3 (2 + u + DEATH) + u
where Ai = ((1 - (1/ (1+d)^Li) / d)) i= share, not share
is the 'annuity factor', and sharers have higher life expectancy Ls > Ln so As > An
more likely to choose greed if you are a reckless agent with a great lust for consumption (high u), little care for the future (high d), and no fear of death.
there is also a strategic factor - p is higher for a larger pool of sharers (though conversely the chance and value of a 'sharers party' is lower)
simplifying idea 2 - alternatively, reputation could be much more short lived. sharing one time only insures you for the next time you are in need (something like tit for tat).