Advertisement

Grouping actors based on competence and interest

Started by April 07, 2008 09:43 AM
56 comments, last by Kylotan 16 years, 7 months ago
Another slightly vague title from me, I'm afraid. Based on the discussion in this thread, I came up with a good way of assessing how interested a given actor would be in participating in a certain group task, given reasonable assumptions about the other actors to be involved in that task. Thanks to all who made suggestions or improved my understanding. Now I have a situation where, for any given task, I have 2 rankings: one of how much each actor wishes to participate, measured as an expected payoff (always positive, at this point), and another of how much an actor would contribute towards the task, as a percentage/probability. Both of these values can be compared against corresponding values for other tasks, so that all tasks can be ranked for each actor on both criteria too. There would typically be a handful of tasks on offer, with actors eligible for some subset of them. The complication is that the mapping of actors to desire to participate has 2 maxima: one where the actors are extremely competent, meaning their chance of success is high and therefore the chance of reward is high, and one where the actors are minimally competent and are expecting to effectively 'freeload', claiming a share of the reward while only improving the task's chance of success by 0.001% (for example). My initial plan was to allow the most interested actor to organise his group first, going down through the group and extracting other interested actors until the group is full, or it is found that there is not enough interest to fill it. Then the allocated actors and task are removed, and the procedure is repeated with remaining actors and tasks. But, test data shows that such groups will end up half full of free-loaders. But if I do it in competency order instead, people will not necessarily get their first choice task, as the skilled people will be allocated to the trivial tasks first. What sort of system can I use here to reconcile both these rankings? I don't even really know what sort of outcome I would expect to see, but I wouldn't want to be penalising the average participant by always filling groups with experts and apprentices.
You could add currency. :)
Advertisement
You need to consider exactly what you want to maximize. Having each actor maximize their expected reward won't work.

Suppose there are two tasks, both identical, and two actors, Aaron and Bob. Aaron's competent, Bob's a freeloader. Consider: Do they end up on the same project? If yes, then Aaron moves to the other project to get away from Bob. If no, then Bob follows Aaron. There's no Nash equilibrium.

I'm not sure what is best to maximise. Number of actors allocated to tasks? Number of tasks allocated with actors? Total expected reward across the actor population? Similarity of actor competence within each allocated task? This is just for a game rather than any rigorous application so I just want something that feels right and doesn't break the game.

I suppose that if each actor is allowed to just maximise their own gain, then the problem I was seeing is bound to happen. It seems reasonable that there needs to be some power of veto available.

Perhaps I could still start with the most competent actor, provisionally allocate him to his favoured task, then go down the list, allocating anybody else who has this as a preferred task, providing nobody's expected reward drops as a result. If the group can't muster enough people to make it safe enough to yield a positive expected reward, it can be discarded for this round and the procedure repeated with the remaining tasks.

Anybody see any obvious flaws to this plan?
Quote: Original post by Kylotan
Another slightly vague title from me, I'm afraid.

Based on the discussion in this thread, I came up with a good way of assessing how interested a given actor would be in participating in a certain group task, given reasonable assumptions about the other actors to be involved in that task. Thanks to all who made suggestions or improved my understanding.

Now I have a situation where, for any given task, I have 2 rankings: one of how much each actor wishes to participate, measured as an expected payoff (always positive, at this point), and another of how much an actor would contribute towards the task, as a percentage/probability. Both of these values can be compared against corresponding values for other tasks, so that all tasks can be ranked for each actor on both criteria too. There would typically be a handful of tasks on offer, with actors eligible for some subset of them.

The complication is that the mapping of actors to desire to participate has 2 maxima: one where the actors are extremely competent, meaning their chance of success is high and therefore the chance of reward is high, and one where the actors are minimally competent and are expecting to effectively 'freeload', claiming a share of the reward while only improving the task's chance of success by 0.001% (for example).

My initial plan was to allow the most interested actor to organise his group first, going down through the group and extracting other interested actors until the group is full, or it is found that there is not enough interest to fill it. Then the allocated actors and task are removed, and the procedure is repeated with remaining actors and tasks. But, test data shows that such groups will end up half full of free-loaders. But if I do it in competency order instead, people will not necessarily get their first choice task, as the skilled people will be allocated to the trivial tasks first.

What sort of system can I use here to reconcile both these rankings? I don't even really know what sort of outcome I would expect to see, but I wouldn't want to be penalising the average participant by always filling groups with experts and apprentices.



This is a typical group behavior problem that in effect requires negotiation strategies. Economics studies have mathematical equations (and curves) to explain the relations in such a system. Often many cycles of adjustments have to be made as the groups complement changes (and its prospects shift).

Individuals bargain for a percentage of the payoff contributing either their skill or their ability to fill out the team for the least cost.

The actors dont have to be the entity that fills out the group (makes the decisions) but they do have to negotiate for their own benefit.
--------------------------------------------[size="1"]Ratings are Opinion, not Fact
Yes, I initially realised that the most reasonable solution would be something like the bidding system Timkin suggested in my previous thread, where presumably the actors would ask for a smaller share of the reward if their competence was lower, and vice versa. This is still an option for me, but since I'd like to keep the reward system looking simple (as it is exposed to the player), and because I want to explicitly eliminate the masters + apprentices effect, rather than presumably just making the system indifferent as to whether it takes on 10 apprentices or 1 average person, I would prefer a system that makes an attempt to group people by skill level.
Advertisement
Damn. This is a cool problem. My brain hurts right now so I will have to come back to it later... but there IS a Game Theory component to it. I just can't see it right now. More caffeine necessary.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by Kylotan
Now I have a situation where, for any given task, I have 2 rankings: one of how much each actor wishes to participate, measured as an expected payoff (always positive, at this point), and another of how much an actor would contribute towards the task, as a percentage/probability.
Is there a correlation between how much payoff/desire an actor expects from joining, and how much they will contribute to the team's success?

Scenario: How much does one soldier ant contribute to taking down a rabbit? One tiny percentage, and wins one tiny portion. Is it like that, or is there a possibility that one ant will walk away with a bigger portion, even though he contributed the same tiny percentage effort as all the rest? If the ants enlist the aid of a scorpion, will the scorpion get a larger piece of the rabbit for his bigger contribution?

"Expected payoff" is typically an average value multiplied by the percentage chance to succeed, but you have a second listing for percentage contribution to the task -- is this part of the chance to succeed, or a portion of some other whole?

[Edited by - AngleWyrm on April 8, 2008 5:35:22 PM]
--"I'm not at home right now, but" = lights on, but no ones home
The idea is that all members receive an equal share of the reward.

There could be an alternative system where people receive a share of the reward that is broadly proportional to their contribution. However it makes the output less transparent to the player, and I'm also not convinced it wouldn't just skew the curve in a different but equally unwanted way.
At some point, this thread could run the risk of devolving into a political discussion worthy of getting locked in the lounge.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

This topic is closed to new replies.

Advertisement