Towards an Agent Society

Wednesday, February 01, 2006

More on Agents with Tags

From: Using Tags to Evolve Trust and Cooperation Between Groups
Zohar, Rosenschien 2005

This very short paper seems to have taken me up on some of the thoughts I had on extensions to the ideas in the previous paper I talked about. Or at least where I might have gotten with my thoughts had I spent a bit longer working out what I was trying to say.

In Zohar and Rosenschein's work the procedure for agent evolution is a little different. This time the agents don't get to pick their opponents, they are just able to observe the tag of their randomly selected opponent and can base their strategy (cooperating or defecting) on that agent's tag. Each agent also has a memory of what their opponents with each tag have played against them in the past.

Once again the tags of an agent have no relation to what their strategy will actually be. However, as the well-performing agents reproduce asexually (with a small chance of mutation), a correlation between the tag and the behaviour of an agent is to be expected.

There are some interesting parallels to this situation that come to mind. Firstly it seems like each round is in essence an example of Newcomb's Paradox (a.k.a. the Predictor Paradox) for the agents involved. It's not really, as they're dumb creatures following a simple strategy, but it does look like that. The other agent can predict with a certain amount of accuracy what they'll do, based on what they or other agents with the same tag (i.e. the same genetic material) have done in the past. I guess all instances of the Prisoner's Dilemma in which the agents are basing their decision on what they guess their opponents will do is an instance of Newcomb's Paradox. It comes down to a coordination problem if you have no desire to defect if you don't think your opponent will defect.

The other parallel that comes to mind is again something from the real world, where people do feel free to judge people with genetic material that has thrown up "defectors". According to the results in this paper that sort of judgemental attitude actually strongly leads to a more cooperative society. Controversial.

The results seem reasonably convincing to me. It seems (or they claim) that a lot of variants on tit-for-tat and forgiving versions of it seem to be developed. Just how effective this evolutionary process is depends on four factors they discuss.

1. How many rounds are played before each new generation is created. You need a decent number so the co-operators can learn not to trust the defectors each time.

2. How many memory states the agents have. They need to actually remember that a particular tag defected against them last time, and more states allow more complex strategies to be developed. It doesn't matter much beyond about 3 according to the pretty picture.

3. How high is the mutation rate? With no mutations a tag that was trustworthy to start with will always stay that way, so eventually everyone cooperates. With higher rates it deteriorates slowly as there is a loss of correlation. There is a large dip when there's a very small mutation rate as the "safe" tag groups will eventually become invaded, but there isn't so much chance that another co-operator group will form and expand anytime soon. Or that's my take on it.

4. How large is the tag space? More tags means better social utility, it seems. There isn't that much extra effort associated with a larger tag space in terms of complexity of the system, as long a sensible system is used for memory, it just has the effect that defecting agents are less likely to mutate to have the same tag as co-operators, so only the mutations within a tag effect the trustworthiness of that tag.

It looks like things haven't gone much further than this as yet in this particular direction. This was only published July of last year. It seems like I'm slowly getting to the present.

3 Comments:

  • I'd be more scared if things had come a long way since a 2005 paper was published!!

    Surely mutation presence depend on what you're trying to do? If you're trying to model human society then good, but if you're purely trying to create agents to play on the stock market then you would prefer not to have any mutation, wouldn't you?

    By Anonymous Anonymous, at 3:53 PM  

  • Yeah, one of my main problems when I think about these things is that I switch between the different ways one can use things very rapidly and end up with a bit of a mess sometimes.

    Also, the last thing you want is to hve cooperating agents playing on the stock market. The whole point is that you predict trends better than other people - if the market is perfectly efficient (i.e. companies are always valued at the correct share values (*or I think that's what it means, I'm not an economist)) then nobody should really be making any money.

    By Blogger Rowan, at 9:05 AM  

  • Sorry, communist, financially-ignorant Claire! Sounds good to me!

    Although, not quite. People will always be losing money which implies people must be making money too. Recent example: the AWB knew their wheat money was buying guns in Iraq, allegedly (allegedly Mr Howard knew nothing, again. Does our prime minister know ANYTHING?). Their stock prices plummeted immediately. Bad news will always have that effect on a company, so the money must be going somewhere else as other agents make better choices..

    But seriously, I really don't understand how money works beyond what's in my wallet, so I'm a bad one to talk to about economics!

    I suspect though that when you're working with this you'll have to be fairly focussed, like, when considering necessary rules and implications, start by defining the problem: what type of agents you're working with and what they're doing - even though many things may boil down to a similar structure, it's important that you define the rules right for that situation. I can hardly tell you how to work, but I suspect that it's a good start to just generally think about agents and rules and tags and possibilities, but I think before you start going anywhere with it you'll have to define a series of agent-related problems: stock markets, games of chance, games of skill, flow/optimisation problems, model societies. All will require their conditions defining - even if they turn out to be virtually the same. Make a list of where agents can hypothetically be used. Then outline the differences in each situation. THEN consider how they would be implemented and when tags are good and when mutation is good, etc.

    Feel free to ignore me, I probably would and I'm not your supervisor, but just a thought from a compulsively ordered/ordering person :p

    By Anonymous Anonymous, at 10:00 AM  

Post a Comment

<< Home