Utility Distribution Strategy of the Task Agents in Coalition Skill Games

This paper focuses on the rational distribution of task utilities in coalition skill games, which is a restricted form of coalition game, where each service agent has a set of skills and each task agent needs a set of skills in order to be completed. These two types of agents are assumed to be self-interested. Given the task selection strategy of service agents, the utility distribution strategies of task agents play an important role in improving their individual revenues and system total revenue. The problem that needs to be resolved is how to design the task selection strategies of the service agents and the utility distribution strategies of the task agents to make the self-interested decisions improve the system whole performance. However, to the best of our knowledge, this problem has been the topic of very few studies and has not been properly addressed. To address this problem, a task allocation algorithm for self-interested agents in a coalition skill game is proposed, it distributes the utilities of tasks to the needed skills according to the powers of the service agents that possess the corresponding skills. The final simulation results verify the effectiveness of the algorithm.


Introduction
The coalition skill game is a typical model of task allocation problem for self-interested agents, the studies on which may help provide new thoughts for solving other cooperation problems of self-interested agents.Coalitional skill games were first proposed by Bachrach et al. [1,2].As a restricted form of coalition generating problem, a coalitional skill game model includes three sets: service agent set, skill set, and task agent set.Each service agent and each task agent have their respective skill set, which will ensure that a task can be accomplished by some service agents.Each task agent has a utility value.If a set of service agents cover the skills needed by one task agent, we say that the task can be completed.Given an allocation of task agents to service agents, the system revenue is defined as the sum of the utilities of those task agents that can be completed.
It is unnatural, perhaps, that task agents are assumed to be self-interested.The coalition skill game can be viewed as an agency recruiting market, where the service agent represents an applicant, each applicant has different skills, and the task agent represents the company that intends to recruit employees.Each company needs some employees to provide the skills they need.Only when all the needed skills are provided can the company operate and make profit.The company distributes its utility to the needed skills, and the expected wage of an applicant is the utility share of the skill it provides.Applicants are self-interested and will choose the companies that will bring them the greatest benefits.The companies are also self-interested, with the goal of recruiting all the employees needed to make the company operate and get benefits.
In this paper, the following question for coalition skill games is considered: Given the task selection strategies of self-interested service agents, how do the task agents distribute their utilities to the service agents so that it can get all the skills they needed?A simple example is given in Figure 1 to illustrate the influences of the utility distribution strategies on the individual revenues and the system total revenue.In Figure 1, the line between r i ∈ {r 1 , r 2 } and s j ∈ {s 1 , s 2 } indicates that the service agent r i possesses skill s j .The line between s j ∈ {s 1 , s 2 } and t k ∈ {t 1 , t 2 , t 3 } indicates that the task agent t k needs skill s j .Numbers next to task agents indicate their utilities.In this paper, the following question for coalition skill games is considered: Given the task selection strategies of self-interested service agents, how do the task agents distribute their utilities to the service agents so that it can get all the skills they needed?A simple example is given in Figure 1 to illustrate the influences of the utility distribution strategies on the individual revenues and the system total revenue.In Figure 1, the line between ri ∈ {r1, r2} and sj ∈ {s1, s2} indicates that the service agent ri possesses skill sj.The line between sj ∈ {s1, s2} and tk ∈ {t1, t2, t3} indicates that the task agent tk needs skill sj.Numbers next to task agents indicate their utilities.For task agents t1 and t3, because they only need one skill, there is no need for them to adjust their utility distribution schemes.For task agent t2, if its utility is distributed averagely, the shares of s1 and s2 are both 4. The resulted payoff matrix is shown in Table 1 whose Nash equilibrium is (2, 5) (underlined in Table 1).This means that no matter which tasks are selected by r1 and r2 on initialization, the end results are: r1 selects t1 and receives individual revenue 2, r2 selects t3 and receives individual revenue 5, the system total revenue is 7.However, in the ideal case, both r1 and r2 should select t2, and system total revenue is 8.Because of the unreasonable distribution of u2, the self-interested service agents are not willing to cooperate to complete t2.Therefore, for the task allocation problem of the self-interested agent coalition skill game, the utility distribution strategies of task agents affect the individual revenues and the system total revenue to a certain extent.Based on this point, this paper studies the utility distribution strategies of the task agents.An algorithm, the Task Allocation Algorithm, which is based on the Utility Distribution Adjustment (TAAUDA), is proposed to allocate tasks to service agents.The final simulation results verified the effectiveness of TAAUDA.
Table 1.Pay matrix when the utilities of task agents are distributed averagely.
The remainder of this paper is structured as follows.Section 2 introduces some related works on the task allocation for self-interested agent coalition skill game.Section 3 gives a formal definition of the problem model.Section 4 describes the basic thoughts of TAAUDA, and analyzes its convergence and time complexity.The simulation results in Section 5 show that our proposed algorithm can allocate tasks to self-interested service agents effectively.Finally, the conclusion of our work is presented in Section 6.

Related Work
An important problem of the coalitional skill games studied in the available literature is the optimal coalition structure generating problem, the time complexity of which is given in [3], and it is proved that in general, coalitional skill games, as well as in very restricted versions, computing the optimal coalition structure is hard.At the same time, an algorithm to compute the optimal coalition structure is given in [3], and it was proved to have polynomial time complexity if the number of tasks and the tree-width of the corresponding hyper graph are both bounded within a constant, but this restrictive condition is very strict.At the same time, the problem model studied in [3] belongs to characteristic function games [4], in which the coalition value of each possible agent coalition is For task agents t 1 and t 3 , because they only need one skill, there is no need for them to adjust their utility distribution schemes.For task agent t 2 , if its utility is distributed averagely, the shares of s 1 and s 2 are both 4. The resulted payoff matrix is shown in Table 1 whose Nash equilibrium is (2, 5) (underlined in Table 1).This means that no matter which tasks are selected by r 1 and r 2 on initialization, the end results are: r 1 selects t 1 and receives individual revenue 2, r 2 selects t 3 and receives individual revenue 5, the system total revenue is 7.However, in the ideal case, both r 1 and r 2 should select t 2 , and system total revenue is 8.Because of the unreasonable distribution of u 2 , the self-interested service agents are not willing to cooperate to complete t 2 .Therefore, for the task allocation problem of the self-interested agent coalition skill game, the utility distribution strategies of task agents affect the individual revenues and the system total revenue to a certain extent.Based on this point, this paper studies the utility distribution strategies of the task agents.An algorithm, the Task Allocation Algorithm, which is based on the Utility Distribution Adjustment (TAAUDA), is proposed to allocate tasks to service agents.The final simulation results verified the effectiveness of TAAUDA.
Table 1.Pay matrix when the utilities of task agents are distributed averagely.
The remainder of this paper is structured as follows.Section 2 introduces some related works on the task allocation for self-interested agent coalition skill game.Section 3 gives a formal definition of the problem model.Section 4 describes the basic thoughts of TAAUDA, and analyzes its convergence and time complexity.The simulation results in Section 5 show that our proposed algorithm can allocate tasks to self-interested service agents effectively.Finally, the conclusion of our work is presented in Section 6.

Related Work
An important problem of the coalitional skill games studied in the available literature is the optimal coalition structure generating problem, the time complexity of which is given in [3], and it is proved that in general, coalitional skill games, as well as in very restricted versions, computing the optimal coalition structure is hard.At the same time, an algorithm to compute the optimal coalition structure is given in [3], and it was proved to have polynomial time complexity if the number of tasks and the tree-width of the corresponding hyper graph are both bounded within a constant, but this restrictive condition is very strict.At the same time, the problem model studied in [3] belongs to characteristic function games [4], in which the coalition value of each possible agent coalition is given in advance, but it is not given in the problem model studied in this paper; other similar models include the Resource Model and Service Model [5,6].The key difference between the resource model and coalition skill games is that the resources in the resource model are transferable, but the skills owned by the service agents in coalitional skill games are not.The difference between the coalitional skill game and service model is that the former assumes that the service agents can use more than one skill when they are performing tasks, but only one service can be provided in service model.Another important difference between the three models is that the service agents and task agents considered in this paper are self-interested.
As for the task allocation for self-interested agents, [7] proposed an algorithm based on game theory negotiation for multiple robots task allocation, which assumed that all the robots are self-interested and always select the tasks which can maximize their own individual revenues and each task need only one robot.It means that the problem solved in [7] belongs to the task allocation problem of single-agent tasks [8], but the task agents in this paper belongs to multi-agent tasks.Game theory is a powerful tool to study the strategy selection problems of self-interested agents.Game theory based learning algorithms include Best Response, Fictitious Play, sampled Fictitious Play, and Computationally Efficient Sampled Fictitious Play (CESFP) [9].
When the self-interested agents cannot communicate with each other, they only have their own historic actions and the corresponding individual revenues, the algorithms proposed in [10] can be used to allocate the task agents to the service agents in identical interest games and weakly acyclic games [10,11].In this paper, it is assumed that the task agent selected by each service agent and the utility distribution scheme are known to all service and task agents, but all the historic information is not known.
The problem of coalition formation in task oriented domains was researched in [12], where the self-interested agent has a set of resources and wants to perform a set of tasks, and the completion of each task requires a set of corresponding resources.The differences between the problems in [12] and this paper are that (1) the former belongs to the resource model, but the latter belongs to the serve model; (2) the goal of the service agent in [12] is to perform a set of interested tasks, but the goal of the service agent in this paper is to get maximal individual revenue.The resource consumers and providers are also considered self-interested in [13].Where the subtasks in the proposed problem model can be seen as skills, however, the tasks do not have utilities; utilities correspond to the skills of the service agents, which sometimes is inconsistent with the actual application.
The task selection strategy, based on market economy or auction, can also be used as the task selection strategy of self-interested agents in coalition skill games [14][15][16].In [14], robots negotiate their respective assignments in order to optimize task distribution according to their own utility function.It is assumed that robots may execute different type of tasks, and that they have the goal of maximizing the number of tasks to be executed according to the resources they have.But in our scenario, the goals of service agents and task agents are to maximize their own individual revenues.In the auction-based task allocation method of a coalition skill game, the task agent can be seen as the auction commodity, and the self-interested service agent is regarded as the buyer.Of course, the skills of the service agent can also be seen as auction commodities, and the task agent who needs the skills is seen as the buyer.Combinatorial auction theory was used to solve the multi-robot coalition formation problem [17], this method can effectively allocate tasks to self-interested robots, but in which the individual revenues were not considered, which partly reflects the powers of robots in the system.
Two different computational intelligence algorithms are proposed in [18] to solve the coalition structure generation problem of coalition skill game, namely the binary particle swarm optimization and binary differential evolution.The difference between the problem models in [19] and this paper is that the former belongs to the characteristic function game, and the later belongs to the partition function game [4].In the characteristic function coalition skill games, the worth of any service agent coalition can be represented using a single, real number, and the value is only determined by the identities of the service agents in the coalition.However, in partition function coalition skill games, the value of a service agent coalition depends not only on the identities of its members, but also on the identities of non-members and the tasks selected by the coalition.Many computational questions surrounding characteristic function coalition skill games have been studied [1][2][3][4][18][19][20].However, as far as we know, there are few studies about partition function coalition skill games.

Definition of the Problem Model
The formal definition of the problem model, the multiple self-interested agent coalition skill game, is given in Definition 1.
indicates task agent t k needs (does not need) skill s j .Utilities of all task agents are denoted by a vector of U: Utility distribution schemes of all the task agents are denoted with TS.
Task agent t k can be completed if all needed skills are provided.Given RTS(τ), the system revenue is defined as the sum of the utilities of the tasks that can be completed.The optimal task allocation to a multiple self-interested agent coalition skill game is an allocation of task agents to service agents which maximizes its system revenue.
In this paper, it is assumed that: (1) each service agent is allowed to select at most one task at any time, but it can use multiple skills when performing a task.(2) A service agent is willing to abandon the currently selected task and select a new task only if the new one can bring it a higher individual revenue.
The states of service agents and task agents are defined in Definitions 2 and 3 respectively.

Definition 2. (State of service agent)
The state of service agent r i ∈ R at time τ is denoted by r i (τ , where ST •,k is the kth column of ST.TSN k ∈ Z + denotes the number of skills needed by t k (It is assumed that at most one unit of each skill is needed).u k corresponds to the utility of t k representing the value that completing the task is worth.TS k,• (τ) is the kth row of TS(τ).

The Task Selection Strategies of Service Agents and the Utility Distribution Strategies of Task Agents
Section 4.1 describes the task selection strategies of the service agents.Section 4.2 describes the utility distribution strategies of the task agents.The whole frame of TAAUDA is given in Section 4.3, and its convergence and time complexity are also demonstrated.In Section 4.4, the example given in Section 1 is used to further illustrate the basic thoughts of TAAUDA.

Task Selection Strategy of Service Agent
To facilitate the description of the algorithm, some notations are given first: (1) H i R (τ) = 1 indicates that r i is still in the system and waiting to select a task at time τ.
indicates that r i is deleted from the system at time τ.
still (is not) in the system.(2) P(i,k,τ) denotes the set of skills that can be provided to t k by r i at time τ, that is: ) N i (τ) denotes the set of task agents which need the skills possessed by r i ∈ R at time τ: ) denotes the share of utility r i ∈ R can get if it selected t k ∈ T at time τ without considering whether it can be completed or not: It is assumed that f (i,0,τ) = 0, which means that the individual revenue of r i is 0 if it does not select any task at time τ.
Sub-procedure 1 describes the task selection strategy of service agent r i ∈ R at time τ.The output is t(i,τ + 1), which denotes r i 's next-step selection.

Utility Distribution Strategy of Task Agent
As for the utility distribution scheme of task agent t k ∈ T, it is assumed that u k = ∑ s j ∈S∧ST j,k =1 TS k,j (τ), and if ST j,k = 1, TS k,j (τ) ≥ 0. At initialization, the utility of the task agent is averagely distributed among the required skills, and then the task agent adjusts its utility distribution scheme according to the inadequacy degree of the skills.If the task agent only needs one skill, the adjustment is not needed.To understand how t k ∈ T adjusts its utility distribution scheme, it is only need to answer the following 4 questions: (1) Among the skills needed by t k ∈ T, whose share of utility needs to be increased?Let S k need (τ) denote the set of skills of this type: s j ∈ S k need (τ) must satisfy the following three conditions: (1) ST j,k = 1, (2) R 1 (k,j,τ) = Φ and (3) , what is the minimum increase?It is denoted with f min (k,j,τ), whose computing method is given in Sub-procedure 2, where Sub-Procedure 2 Compute the value of f min (k,j,τ) (3) From which skills can t k adjust shares of utility to s j ∈ S k need (τ)?Let S lend (k,j,τ) denote the set of skills of this type: (4) For s j' ∈ S lend (k,j,τ), what is the maximum decrease?It is denoted with f max (k,j,j'), whose computing method is shown in Sub-procedure 3.Where k sec denotes the serial number of the task agents which will be selected by r i if t k was out of consideration.The method to compute the values of ξ 1 and ξ 2 is: if Sub-Procedure 3 Compute the value of f max (k,j,j') f max (k,j,j')←0; 9: END IF 10: f max (k,j,j')←min(f max (k,j,j'),TS k,j' (τ)).

The Whole Frame of TAAUDA
The whole frame of TAAUDA is shown in Algorithm 1, where DRS denotes the maximum number of times the order of service agent selecting task is changed, DN denotes the maximum number of times the task selection state is disturbed, and IN denotes the maximum number of times the task agent adjusts the utility distribution scheme.

Algorithm 1 TAAUDA
Inputs: RS, ST, U, DRS, DN, IN; Outputs: the maximal system total revenue and the corresponding RTS.
Disturb the order in which the service agents select the most satisfied task agents; 3: Initialize TS(0): the utilities of task agents are distributed averagely.

16:
END WHILE 17: END FOR 18: END FOR 19: END WHILE 20: Delete the task agents who have all the needed skills and their corresponding service agents.

21:
Delete the task agents that cannot be completed.

22:
If there is not any task agent is deleted in line 20 and 21, delete f (i, k, τ).

25:
Record the maximum system total revenue and its corresponding RTS.Disturbing oldRTS: each service agent randomly selects a task that requires its skills.26:

END FOR 27: END FOR
The following texts explain why lines 14-16 of TAAUDA will end in finite steps.The minimum adjusting step size is assumed to be 1.If T 1 (j,τ) = Φ, for any task agent t k' ∈ T 1 (j,τ), the value of TS k',j (τ) is increasing, and ∑ t k ∈T 1 (j,τ) TS k ,j (τ) is a strictly monotone increasing function, whose upper bound is ∑ t k ∈T 1 (j,τ) u k .So lines 14-16 of TAAUDA will end in finite steps.
If the minimum adjusting step size is ±1, the time complexity of TAAUDA is O(n 2 m 3 l 3 ).TAAUDA is polynomial, inexact algorithm.

Further Analyses of the Example in Section 1
Considering the example from Section 1, t 2 distributes its utility to s 1 and s 2 averagely at the initializing time.r 2 will select t 3 and r 1 will select t 1 .The system total revenue is 7. t 2 needs to adjust its utility distribution scheme: (1) Among the skills needed by t 2 , because R 2 (2,1,τ) = {r 1 } is not empty, there is no need to increase the value of TS 2,1 (τ).For s 2 , because R 1 (2,2,τ) = Φ and R 2 (2,2,τ) = Φ, it is needed to increase the value of TS 2,2 (τ).( 2) What is the minimum increase for s 2 ?Because R 3 (2,2,τ) = Φ, R 4 (2,2) = {r 2 }, RTS 2,0 (τ) = 3, and So t 2 adjusts "1" to s 2 from s 1 successfully.The last utility distribution scheme of t 2 is 3 to s 1 and 5 to s 2 .The payoff matrix of the game after t 2 adjusted its utility distribution scheme is shown in Table 2, in which there are 2 Nash equilibriums (2, 5) and (3, 5) (underlined in Table 2).The latter is system optimal.It can be seen that the method proposed in this paper not only distributes the utilities of task agents rationally but also increases the individual revenues and the system total revenue.The utility distribution scheme, to a certain extent, reflects the powers of service agents in the system.As the example showing, if r 1 does not select t 2 , it can select t 1 and receive individual revenue 2. If r 2 does not select t 2 , it can select t 3 and receive individual revenue 5.This means that the "power" of r 2 is bigger than that of r 1 in the bargaining process, so (3,5) is better than (4,4).
Table 2.The payoff matrix when u 2 is distributed with Utility Distribution Adjustment (TAAUDA).

Simulation Results
In simulation 1-4, of the 4 groups of data sets, the runtime and average system revenue of TAAUDA were compared with the results of the other 5 algorithms.Simulation 5 verifies the influences of the utility distribution schemes of task agents on the system total revenue.Simulation environment: internal memory capacity, 3.34 GB; CPU, Intel(R) Core(TM) i3-3240; main frequency, 3.40 GHz; operating system, Win 7.
For the data set, as far as we know, there is currently no standard database for the coalition skill game system.For the resource-constrained project scheduling problem, the project scheduling problem library [21] is a benchmark data set, but in which the resources do not possess multiple skills.Another similar data set is iMOPSE [22,23], the resources in which have multiple skills (where the resources can be seen as service agents in coalition skill games), but the task in iMOPSE needs only one skill.There are some other data sets that are generated artificially [24][25][26].Analogously, in this work, the data sets 1, 2, and 3 were generated randomly.Data set 4 is generated based on iMOPSE.The generation methods will be described in detail later.To establish a standard database is our future work.
Simulation 1: In this simulation, the results of TAAUDA were compared with those of General Genetic Algorithm (GGA), Service and Adams Algorithm (SAA) [6], Combinatorial Bids based Algorithm (CBA) [17], Computationally Efficient Sampled Fictitious Play, and the Vig and Adams Algorithm (VAA) [27].The service agents in the Combinatorial Bids based Algorithm and Computationally Efficient Sampled Fictitious Play are self-interested and those in the General Genetic Algorithm, Service and Adams Algorithm, and Vig and Adams Algorithm are not.The service agents and task agents in TAAUDA are all self-interested.
In order to get the optimal parameters of General Genetic Algorithm and Combinatorial Bids based Algorithm, a group of data sets, the size of which were n = 30, l = 15, and m = 30, were generated randomly.The number of skills possessed by each service agent is random (1,5), and the number of skills needed by each task agent is random (1,5).Where random(a, b) denotes a random integer between a and b (a and b are included).For this data set, with different values of crossover probability (CP) and mutation probability (MP), the General Genetic Algorithm ran 20 times, the average system revenues are shown in Table 3 (rows represent mutation probability and columns represent crossover probability).From the simulation results, it can be seen that the largest average system revenue is achieved when the crossover probability is 0.6 and the mutation probability is 0.1.In simulations 1-4, the parameters of the General Genetic Algorithm were set as: the crossover probability is 0.6, the mutation probability is 0.1, the size of the population was 150, and the maximal number of iteration was 10,000.For the same data set, with different values of λ(ρ(t) = t −λ ), the Computationally Efficient Sampled Fictitious Play algorithm ran 20 times, and the average system revenues are shown in Table 4.It can be seen that the largest average system revenue is got when λ = 0.8(ρ(t) = t −0.8 ).So in simulations 1-4, the parameters of Computationally Efficient Sampled Fictitious Play algorithm were set to λ = 0.8.In simulation 1, the parameters of TAAUDA were set to DRS = 2, DN = 6, and IN = 10 5 .In Simulation 1, 15 groups of data sets numbered 1.1 to 1.15 (named data set 1) and were generated by the following methods: The size of which were n = 30, l = 15, and m = 30.Each service agent in group d ∈ {1, 2,•••, 15} possesses d skills, which skill is possessed is random.Each task agent in all the 15 groups of data sets needs random(1,5) skills, which skill is needed is random.For t k ∈ T, u k ← TSN k ×random(1,m/2).The average system revenues of TAAUDA, the General Genetic Algorithm, Vig and Adams Algorithm, and Service and Adams Algorithm (the agents in the latter three algorithms are not self-interested) are shown in Table 5. Figure 2 displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play, the agents in which are all self-interested.The average run time of the 6 algorithms is shown in Figure 3.In simulations 1-5, all the algorithms ran 100 times, and the average system revenues and average run time were computed.
Algorithm, Vig and Adams Algorithm, and Service and Adams Algorithm (the agents in the latter three algorithms are not self-interested) are shown in Table 5. Figure 2 displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play, the agents in which are all self-interested.The average run time of the 6 algorithms is shown in Figure 3.In simulations 1-5, all the algorithms ran 100 times, and the average system revenues and average run time were computed.From the results in Table 5 and Figure 2, show that in most cases the average system revenues obtained by TAAUDA are better than those of other 5 algorithms.It can also be concluded from Figure 3 that the run time of TAAUDA is shorter than that of the General Genetic Algorithm and Vig and Adams Algorithm.
Simulation 2: In this simulation, 15 groups of data sets numbered 2.1 to 2.15 (named data set 2) were generated by the following methods: The size of which were n = 30, l = 15, and m = 30.Each service agent in all the 15 groups of data sets possesses random(1,5) skills, which skill is possessed is  From the results in Table 5 and Figure 2, show that in most cases the average system revenues obtained by TAAUDA are better than those of other 5 algorithms.It can also be concluded from Figure 3 that the run time of TAAUDA is shorter than that of the General Genetic Algorithm and Vig and Adams Algorithm.Simulation 2: In this simulation, 15 groups of data sets numbered 2.1 to 2.15 (named data set 2) were generated by the following methods: The size of which were n = 30, l = 15, and m = 30.Each service agent in all the 15 groups of data sets possesses random(1,5) skills, which skill is possessed is random.Each task agent in group d ∈ {1, 2,•••, 15} needs d skills, which skill is needed is random.For t ∈ T, u k ← TSN k × random(1,m/2).The average system revenues of TAAUDA, the General Genetic Algorithm, Vig and Adams Algorithm, and Service and Adams Algorithm are shown in Table 6. Figure 4     From the results in Table 6 and Figure 4, it can be seen that in most cases the average system revenues obtained by TAAUDA were better than those of the other 5 algorithms.Because each task agent in data set 2.1 needs only one skill, the utility distribution scheme of the task agents will not work, its average system total revenue is smaller than that of the General Genetic Algorithm.It can also be concluded from Figure 5 that the run time of TAAUDA is shorter than that of the General Genetic Algorithm but is longer than that of the rest 4 algorithms.Because TAAUDA is polynomial,    From the results in Table 6 and Figure 4, it can be seen that in most cases the average system revenues obtained by TAAUDA were better than those of the other 5 algorithms.Because each task agent in data set 2.1 needs only one skill, the utility distribution scheme of the task agents will not work, its average system total revenue is smaller than that of the General Genetic Algorithm.It can also be concluded from Figure 5 that the run time of TAAUDA is shorter than that of the General Genetic Algorithm but is longer than that of the rest 4 algorithms.Because TAAUDA is polynomial, From the results in Table 6 and Figure 4, it can be seen that in most cases the average system revenues obtained by TAAUDA were better than those of the other 5 algorithms.Because each task agent in data set 2.1 needs only one skill, the utility distribution scheme of the task agents will not work, its average system total revenue is smaller than that of the General Genetic Algorithm.It can also be concluded from Figure 5 that the run time of TAAUDA is shorter than that of the General Genetic Algorithm but is longer than that of the rest 4 algorithms.Because TAAUDA is polynomial, it is acceptable for the most practical applications.
Simulation 3: In this simulation, 15 groups of data sets numbered 3.1 to 3.15 (named data set 3) were generated by the following methods: The size of which were n = 30, l = 15, and m = 30.Each service agent in group ).The average system revenues of TAAUDA, the General Genetic Algorithm, Vig and Adams Algorithm, and Service and Adams Algorithm are shown in Table 7. Figure 6     It can be seen from the results in Table 7, Figure 6, and Figure 7, that in most cases, the average system revenues obtained by TAAUDA are better than those of the other 5 algorithms and the run time of TAAUDA is shorter than that of the General Genetic Algorithm, which is similar to the results of Simulation 2. The effectiveness of TAAUDA is further verified.Resources in iMOPSE can be seen as service agents, a total of 30 service agents and a total of 30 tasks were extracted randomly from the corresponding data sets.Some modifications were made on the extracted data: the salaries of resources and the durations of the tasks were ignored.A total of random (1,11) skills were added to each task, this is because each task in iMOPSE needs only one skill, which is inconsistent with the case of this paper.For tk ∈ T, uk ← TSNk×random(1,m/2).The average system revenues of TAAUDA, the General Genetic Algorithm, Vig and Adams Algorithm and Service, and Adams Algorithm are shown in Table 8. Figure 8    It can be seen from the results in Table 7, Figure 6, and Figure 7, that in most cases, the average system revenues obtained by TAAUDA are better than those of the other 5 algorithms and the run time of TAAUDA is shorter than that of the General Genetic Algorithm, which is similar to the results of Simulation 2. The effectiveness of TAAUDA is further verified.
Simulation 4: In this simulation, 12 groups of data sets numbered 4.1 to 4.12 (named data set 4) were generated based on iMOPSE, which was created based on the real-life project instances received from international enterprise (Volvo IT): Data 4.1-4.4were extracted from data set 200-40-133-15, 4.5-4.8were extracted from data set 200-40-45-15, and 4.9-4.12were extracted from data set 200-40-91-15.Resources in iMOPSE can be seen as service agents, a total of 30 service agents and a total of 30 tasks were extracted randomly from the corresponding data sets.Some modifications were made on the extracted data: the salaries of resources and the durations of the tasks were ignored.A total of random(1,11) skills were added to each task, this is because each task in iMOPSE needs only one skill, which is inconsistent with the case of this paper.For t k ∈ T, u k ← TSN k ×random(1,m/2).The average system revenues of TAAUDA, the General Genetic Algorithm, Vig and Adams Algorithm and Service, and Adams Algorithm are shown in Table 8. Figure 8     It can be seen from the results of Table 8 and Figures 8 and 9 that in most cases, the average system revenues obtained by TAAUDA are better than those of the other 5 algorithms and that the run time of TAAUDA is shorter than that of the General Genetic Algorithm.The effectiveness of TAAUDA is further verified.
Simulation 5: This simulation checks the influences of the utility distribution scheme on the system revenue.The comparison algorithm assumes that each task agent always distributes its utility equally to the needed skills.Other settings are exactly the same as TAAUDA.The comparison algorithm is called the task allocation through distributing utilities averagely (TADUA).With different data, we ran TAAUDA and TADUA 100 times, the average system revenues are shown in Table 9-12 (Table 9 for data set 1, Table 10 for data set 2, Table 11 for data set 3, and Table 12 for data set 4).The parameters of TAAUDA and TADUA were both set as: DRS = 3, DN = 6, and IN = 10 5 .It can be concluded from the simulation results, that in most cases, adjusting the utility distribution schemes of the task agents can improve the system total revenue, although in a few cases it is not the case, this is partly due to the randomness of these two algorithms.It can be seen from the results of Table 8 and Figures 8 and 9 that in most cases, the average system revenues obtained by TAAUDA are better than those of the other 5 algorithms and that the run time of TAAUDA is shorter than that of the General Genetic Algorithm.The effectiveness of TAAUDA is further verified.
Simulation 5: This simulation checks the influences of the utility distribution scheme on the system revenue.The comparison algorithm assumes that each task agent always distributes its utility equally to the needed skills.Other settings are exactly the same as TAAUDA.The comparison algorithm is called the task allocation through distributing utilities averagely (TADUA).With different data, we ran TAAUDA and TADUA 100 times, the average system revenues are shown in Table 9-12 (Table 9 for data set 1, Table 10 for data set 2, Table 11 for data set 3, and Table 12 for data set 4).The parameters of TAAUDA and TADUA were both set as: DRS = 3, DN = 6, and IN = 10 5 .It can be concluded from the simulation results, that in most cases, adjusting the utility distribution schemes of the task agents can improve the system total revenue, although in a few cases it is not the case, this is partly due to the randomness of these two algorithms.It can be seen from the results of Table 8 and Figures 8 and 9 that in most cases, the average system revenues obtained by TAAUDA are better than those of the other 5 algorithms and that the run time of TAAUDA is shorter than that of the General Genetic Algorithm.The effectiveness of TAAUDA is further verified.
Simulation 5: This simulation checks the influences of the utility distribution scheme on the system revenue.The comparison algorithm assumes that each task agent always distributes its utility equally to the needed skills.Other settings are exactly the same as TAAUDA.The comparison algorithm is called the task allocation through distributing utilities averagely (TADUA).With different data, we ran TAAUDA and TADUA 100 times, the average system revenues are shown in Tables 9-12 (Table 9 for data set 1, Table 10 for data set 2, Table 11 for data set 3, and Table 12 for data set 4).The parameters of TAAUDA and TADUA were both set as: DRS = 3, DN = 6, and IN = 10 5 .It can be concluded from the simulation results, that in most cases, adjusting the utility distribution schemes of the task agents can improve the system total revenue, although in a few cases it is not the case, this is partly due to the randomness of these two algorithms.

Conclusions
This paper studies the task allocation problem of self-interested agents in coalition skill games.The service agent and task agent in this game are self-interested.It is assumed that the self-interested service agent always selects the task agents that can bring them the maximum individual revenues.The goal of each self-interested task agent is to obtain all the needed skills.To achieve this goal, it needs to distribute its utility reasonably.Based on this idea, the algorithm TAAUDA was proposed, whose effectiveness is verified by the simulation results.Future works are divided into four main aspects: Firstly, this paper only considers the allocation of static tasks, the actual task allocation problems can be divided to static and dynamic [28].There are many dynamic task allocation problems in practical applications [29], so the next work could invest in the utility's reasonable distribution in the dynamic task allocation environment.Secondly, when the service agents and the task agents are connected via a network and their communication is limited by the network structure, what is the best way to design the service agent's task selection strategy and the task agent's utility distribution strategy to ensure high system revenue?Thirdly, applying TAAUDA to some practical applications such as multi-robot pursuit-evasion problems [30,31], multi-robot patrolling [32,33], etc.The last is to establish the standard data base for the coalition skill game.

Figure 1 .
Figure 1.A simple example of coalition skill game.

Figure 1 .
Figure 1.A simple example of coalition skill game.

Figure 3 .
Figure 3.The average runtime of the 6 algorithms.
displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play.The average run time of the 6 algorithms is shown in Figure 5.The parameters of TAAUDA in Simulation 2 were set as: DRS = 2, DN = 3, and IN = 10 5 .

Figure 5 .
Figure 5.The average runtime of the 6 algorithms.

Figure 5 .
Figure 5.The average runtime of the 6 algorithms.

Figure 5 .
Figure 5.The average runtime of the 6 algorithms.
displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play.The average run time of the 6 algorithms is shown in Figure 7.The parameters of TAAUDA in Simulation 3 were set as: DRS = 4, DN = 7, and IN = 10 5 .

Simulation 3 :
In this simulation, 15 groups of data sets numbered 3.1 to 3.15 (named data set 3) were generated by the following methods: The size of which were n = 30, l = 15, and m = 30.Each service agent in group {1, 2, ,15} d   possesses d skills, which skill is possessed is random.Each task agent in group d ∈ {1, 2,•••, 15} needs d skills, which skill is needed is random.For tk ∈ T, uk ← TSNk × random(1,m/2).The average system revenues of TAAUDA, the General Genetic Algorithm, Vig and Adams Algorithm, and Service and Adams Algorithm are shown in Table 7. Figure 6 displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play.The average run time of the 6 algorithms is shown in Figure 7.The parameters of TAAUDA in Simulation 3 were set as: DRS = 4, DN = 7, and IN = 10 5 .

Figure 7 .
Figure 7.The average runtime of the six algorithms.
displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play.The average run time of the 6 algorithms is shown in Figure 9.The parameters of TAAUDA in Simulation 4 were set as: DRS = 4, DN = 7, and IN = 10 5 .

Figure 7 .
Figure 7.The average runtime of the six algorithms.
displays the average system revenues of TAAUDA, the Combinatorial Bids based Algorithm, and Computationally Efficient Sampled Fictitious Play.The average run time of the 6 algorithms is shown in Figure 9.The parameters of TAAUDA in Simulation 4 were set as: DRS = 4, DN = 7, and IN = 10 5 .

Figure 9 .
Figure 9.The average runtime of the six algorithms.

Figure 9 .
Figure 9.The average runtime of the six algorithms.

Figure 9 .
Figure 9.The average runtime of the six algorithms.
of service agents needed by t d are chosen with a Greedy Strategy

Table 3 .
The average system revenues of GGA with different values of CP and MP.

Table 4 .
The average system revenues of CESFP with different values of λ.

Table 5 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 5 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 6 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 6 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 6 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 7 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 7 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.The average system revenues of TAAUDA, CBA, and CESFP.

Table 8 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 8 .
The average system revenues of TAAUDA, GGA, VAA, and SAA.

Table 9 .
Average system revenues under data set 1. The average system revenues of TAAUDA, CBA, and CESFP.

Table 9 .
Average system revenues under data set 1.

Table 12 .
Average system revenues under data set 4.