Professional Documents
Culture Documents
3, MAY 2012
739
AbstractRole assignment is a critical task in role-based collaboration. It has three steps, i.e., agent evaluation, group role
assignment, and role transfer, where group role assignment is a
time-consuming process. This paper clarifies the group role assignment problem (GRAP), describes a general assignment problem
(GAP), converts a GRAP to a GAP, proposes an efficient algorithm
based on the KuhnMunkres (K-M) algorithm, conducts numerical experiments, and analyzes the solutions performances. The results show that the proposed algorithm significantly improves the
algorithm based on exhaustive search. The major contributions of
this paper include formally defining the GRAPs, giving a general
efficient solution for them, and expanding the application scope of
the K-M algorithm. This paper offers an efficient enough solution
based on the K-M algorithm that outperforms significantly the
exhaustive search approach.
Index TermsAlgorithm, assignment problem, group role
assignment, role.
I. I NTRODUCTION
740
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART A: SYSTEMS AND HUMANS, VOL. 42, NO. 3, MAY 2012
TABLE I
C OMPARISONS A MONG A SSIGNMENT S TRATEGIES
Fig. 2. Evaluation values of agents for roles and the assignment matrix.
Fig. 3.
Table I shows all the group performances based on 24 different permutations. Among all of the 24 strategies, the optimum
one is (r1 , r3 , r2 , r0 ), i.e., the bold row in Table I. The solution
is shown in Fig. 2(a) as circles, in Fig. 2(b) as an assignment
matrix, and in Fig. 3 as a graph. Please note that the solution
is not intuitive and needs enumerated optimization, e.g., the
most qualified player a12 is not assigned to the goalkeeper (r0 )
because he contributes more for the team when he plays a back
(r1 ) than the goalkeeper. Based on this assignment, the coach
chooses the players to arrange their positions in the field. This
assignment obtains the best total group performance of 9.51.
III. C ONDENSED E-C ARGO M ODEL
With the E-CARGO model [28][33], a tuple of agent a
and role r, i.e., a, r, is called a role assignment (also called
agent assignment). A role r is workable if it is assigned enough
(expressed by lower range l of range q of base B of role r in environment e of group g, i.e., g.e.B[r].q.l) current agents to play
it [30]. For example, the columns in Fig. 2(b) express workable
roles for the soccer team shown in Fig. 1 with a 4-3-3 formation.
In formalizing GRAPs, only agents and roles are emphasized. In the following discussions, current agents or roles are
our focus, and environments and groups are simplified into
vectors and matrices, respectively; m(= |A|) expresses the size
of the agent set A, and n(= |R|) expresses the size of the role
set R.
Some notations require initial clarification. If a and b are
objects, a.b denotes b of a, or a s b.{a, b, . . .} denotes a set of
enumerated elements of a, b, and others. If a and b are integers,
[a, b] denotes the set of all the real numbers between a and b
including both a and b, and (a, b] denotes that excluding a. If Y
is a vector, Y [i] denotes the element at its ith position. If Y is a
matrix, Y [i, j] denotes the element at the intersection of row i
and column j in Y .
Definition 1Role Range Vector: A role range vector is a
vector of the lower ranges of roles in environment e of group g.
The role range vector is denoted as L[j] N , where N is the
set of natural numbers and 0 j < n. Supposing that roles in
g.e are numbered as j(0 j < n) and B[j] means the tuple for
role j, then L[j] = g.e.B[j].q.l.
For example, L = [1, 4, 3, 3] for the soccer team in Fig. 1.
Definition 2Qualification Matrix: The qualification matrix
is an m n matrix of values in [0, 1], where Q[i, j] expresses
the qualification value of agent i for role j. It is denoted as
Q[i, j] [0, 1](0 i < m; 0 j < n).
For example, Fig. 2(a) shows a qualification matrix for the
soccer team in Fig. 1.
Definition 3Role Assignment Matrix: A role assignment
matrix is an m n matrix of values in {0, 1}. If T [i, j] = 1,
agent i is assigned to role j, and agent i is called an assigned
agent. It is denoted as T [i, j] {0, 1}(0 i < m; 0 j < n).
For example, Fig. 2(b) shows an assignment matrix for the
soccer team in Fig. 1.
Definition 4Group Qualification: A group qualification is
defined
as the sum of the assigned agents qualifications, i.e.,
!m1 !
n1
i=0
j=0 Q[i, j] T [i, j].
For example, the group qualification of Fig. 2 is 9.51.
Definition 5Role Weight Vector: A role weight vector is
a vector of the weights of roles in environment e of group g.
The role weight vector is denoted as W [j] [0, 1](0 j < n).
Supposing that roles in g.e are numbered as j(0 j < n) and
B[j] means the tuple for role j, then W [j] = g.e.B[j].w.
For example, for the soccer team in Fig. 1, if we emphasize
attack, we may set W = [0.6, 0.7, 0.8, 0.9], but if we emphasize
defense, we may set W = [0.9, 0.8, 0.7, 0.6].
Definition 6Weighted Group Qualification: A weighted
group qualification is defined as the weighted sum of assigned
agents qualifications, i.e.,
n1
"
j=0
W [j]
m1
"
i=0
741
For example, Fig. 2(b) forms a workable group for the team
in Fig. 1, but Fig. 4 does not because L = [1, 4, 3, 3]. Note that
not workable here just means that this assignment cannot
implement the 4-3-3 formation but does not mean that the team
cannot compete on the field.
IV. GRAPs
GRAPs can be categorized into different levels based on
the different requirements: simple, rated, and weighted role
assignment [30].
A. Simple Role Assignment
Definition 8Simple GRAP (SGRAP): Let Q[i, j]
{0, 1}(0 i < m; 0 j < n) be the value that represents if
a given agent i is able to play a given role j, where 0 and 1
mean no and yes, respectively. The roles are equally important.
The problem is to find a role assignment matrix T that makes g
workable [30].
For example, suppose that Q is shown as Fig. 5(a) and L =
[1, 4, 3, 3]. One solution T is as shown in Fig. 5(b).
B. Rated Role Assignment
Assume that agents are qualified to play a role but with a
rated value, i.e., a real number from 0 to 1, and the roles are
equally important, where 0 means disqualified and 1 completely
qualified. In this situation, group role assignment favors a
solution with the maximum overall sum of qualifications for
all the assigned agents.
742
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART A: SYSTEMS AND HUMANS, VOL. 42, NO. 3, MAY 2012
TABLE II
P ERMUTATIONS AND THE S UMS FOR M ATRIX A
Fig. 6. Rated qualification matrix and its rated and weighted solutions.
7 5 11.2
A= 5 4
1 ,
9.3 3
2
Fig. 7.
Input:
An m m matrix M with the above preliminaries.
Output:
All the subscripts of the selected elements of M , i.e.,
the starred zeros.
L1: K-M(M):
L2: { for (all zeros z in M )
L3: If (there are no starred zeros in the row or column of z)
L4: star z;
L5: while (true) // the main loop
L6: { cover all the columns containing a 0 ;
L7: if (all the columns are covered)
L8: return; // the optimal solution is starred;
L9: while (!(all zeros are covered)) //the inner loop
L10: { for (all noncovered zeros z)
L11: { prime z;
L12: if (there is a starred zero z in this row)
L13: { cover row of z ;
L14: uncover column of z ;
L15: }
L16: else
L17: { highlight z;
L18: while (there is a starred zero z in zs column)
L19: { z = z ;
L20: highlight z;
L21: z := the primed zero in zs row; // This always exists.
L22: highlight z;
L23: }// end of while
L24: unstar highlighted starred zeros;
L25: star highlighted primed zeros and remove highlights;
L26: remove primes and uncover all rows and columns;
L27: continue to while (the main loop);
L28: }// end of if
L29: }//end of for
L30: h := smallest uncovered element in M ;
L31: add h to each covered row;
L32: subtract h from each uncovered column;
L33: }//end of whilethe inner loop
L34: }//end of whilethe main loop
L35: }// end of K-M
For example, we process the matrix in Fig. 7(a). By initialization, we obtain a matrix in Fig. 7(b). With steps L2L4, we
star the zeros [Fig. 7(c)] From L5L8, we get Fig. 7(d). From
L9L15, we get Fig. 7(e), and then by step L30, we get h = 1.
By L31L32 and back to L9L11 and L17, we get Fig. 7(f).
From L24L25, we get Fig. 7(g). Continuing to L26, we get
Fig. 7(h). Through L27 and back to L5L6, we get Fig. 7(i).
Then, with L7L8, we complete the process. Finally, we obtain
the assignment result as [0, 0], [1, 2], and [2, 1]. The minimum
sum of the problem is 7 + 1 + 3 = 11.
VI. S OLUTIONS TO GRAPS
To apply the K-M algorithm into solving the GRAPs, many
aspects should be considered. Note that the algorithm is always
successful because it finds a smallest sum or a largest sum
743
Fig. 8. Matrix that the K-M algorithm may obtain a wrong result.
744
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART A: SYSTEMS AND HUMANS, VOL. 42, NO. 3, MAY 2012
Condition 2: For
!each role, there should be enough qualified
agents, i.e., m1
i=0 Q[i, j] L[j], where 0 j < n.
To convert a GRAP to a GAP, a square matrix must be
created. To form the square matrix used in the K-M algorithm,
duplicate columns should be added based on the role range
vector L.
Definition
13Role Index Vector L : A role index vector is
!n1
an m( j=0 L[j]) dimensional vector created from a role
range vector L. L [k] is a role number related with column
k(0 k < m) in the adjusted qualification matrix Q defined
in Definition 14, where
0 +
(k < L[0])
x1
x
!
!
x
L[p] k <
L[p](0 < x < n)
p=0
p=0
L [k] =
,
+
n1
n
L[p]
(0 k < m).
k
!n1
j=0
L[j].
Fig. 12.
Fig. 13.
Fig. 14.
p=0
n1
Q [i, L [j]]
0 i < m; 0 j <
L[p]
p=0
+
,
Q [i, j] =
n1
0 i < m;
L[p] j < m .
1
p=0
for
(0 g < x){M [i, g] := Q [i, j];
L [k + g] := j; k := k + x;
}
}
j := j + 1;
}
if (k < m) then for (0 h < m k){M [i, k + h] := 1;};
i := i + 1;
}
for (0 i < m, 0 j < m) M [i, j] := 1 M [i, j];
}
V
[i]))
i=0
m1
"
M [i, V [i]] =
i=0
m1
"
i=0
=m
m1
"
i=0
M [i, V [i]] = m
=
m1
"
i=0
m1
"
i=0
m
m
m1
"
i=0
m1
"
i=0
m1
"
M [i, V [i]]
M [i, V [i]]
M [i, V [i]]
M [i, V [i]] =
i=0
m1
"
+
+
(1 M [i, V [i]]) .
M [i, j] (j = V [i])
m1
"
i=0
m1
"
m1
"
M [i, V [i]]
i=0
i=0
M [i, V [i]]
i=0
m1
"
+m1
"
i=0
(1 M [i, V [i]])
M [i, j] (j = V [i])
m1
"
i=0
M [i, j] (j = V [i]) .
m1
"
i=0
m1
"
i=0
M [i, j] =
i=0
M [i, V [i]]
m1
"
i=0
m1
"
m1
"
i=0
T [i, j] = 1,
then
T [i, j] Q [i, j] =
!m1 !n1
m1
"
Q [i, j] T [i, j] =
M [i, V [i]] .
i=0
Therefore,
i=0
j=0 T [i, j] Q [i, j] is the maximum
sum as for Q . Furthermore
(1 M [i, V [i]])
M [i, V [i]]
i=0
745
(1 M [i, j]) =
m1
"
M [i, j]
i=0
746
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART A: SYSTEMS AND HUMANS, VOL. 42, NO. 3, MAY 2012
for
and then prove that T also makes
!m1
!n1an RGRAP
j=0 {W [j]
i=0 (Q[i, j] T [i, j])} the maximum.
Supposing that we have a qualification matrix Q and a weight
vector W for the WGRAP, we obtain a new matrix Q1 by
Q1 [i, j] := W [j] Q[i, j].
Supposing that T is the assignment matrix obtained
by
the!algorithm for the RGRAP based on Q1 , then
!m1
n1
i=0
j=0 Q1 [i, j] T [i, j] is the maximum, i.e.,
m1
n1
""
i=0 j=0
Q1 [i, j] T [i, j]
m1
n1
""
i=0 j=0
TABLE III
T IMES FOR THE R ATED A SSIGNMENT A LGORITHM( = 0.6)
m1
n1
""
i=0 j=0
m1
n1
""
i=0 j=0
n1
"
j=0
n1
"
j=0
W [j]
W [j]
n1
"
j=0
i=0
m1
"
i=0
W [j]
T makes
m1
"
n1
"
j=0
Q[i, j] T [i, j]
Q[i, j] T [i, j]
m1
"
i=0
W [j]
m1
"
i=0
Fig. 15. Distribution of assignment times for rated group role assignment
( = 0.6): m = 10 and n = 5.
747
TABLE IV
T IMES FOR S IMPLE A SSIGNMENT A LGORITHM( = 1.0)
Fig. 18. Trend for typical assignment times according to group sizes.
Fig. 16. Distribution of assignment times for simple group role assignment
( = 1.0): m = 10 and n = 5.
Fig. 17. Trend lines for typical times for different sizes of the groups for rated
group role assignment.
Fig. 18 is separated into Fig. 18(a) and Fig. 18(b) to show the
difference between average and smallest times for the simple
group role assignment. The largest times have properties similar
to those of RGRAPs. From Figs. 17 and 18 and Tables III and
IV, the proposed algorithm for the GRAPs is much better than
the algorithm in [30] and can be applied to large groups.
Please note that it is not practical to compare directly the data
of the proposed algorithm with that of the exhaustive search
algorithm that has an exponential complexity. The latter takes
hours and even days after the agent number m exceeds 15.
The estimation is as follows. The time used when m = 10
is 1.5 s [30], and then, the time required to solve a problem
with m = 30 is roughly 230 /210 220 1.5 s 18 days.
Hence, it is difficult to show the data of the latter algorithm in
Figs. 17 and 18.
IX. C ASE S TUDY BY S IMULATION
748
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART A: SYSTEMS AND HUMANS, VOL. 42, NO. 3, MAY 2012
749
TABLE V
C OMPARISONS B ETWEEN R ELATED W ORK AND T HIS PAPER (N OTE: m I S THE N UMBER OF AGENTS IN A G ROUP )
750
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART A: SYSTEMS AND HUMANS, VOL. 42, NO. 3, MAY 2012
Haibin Zhu (M02SM04) received the B.S. degree in computer engineering from the Institute of
Engineering and Technology, Zhengzhou, China, in
1983 and the M.S. and Ph.D. degrees in computer
science from the National University of Defense
Technology (NUDT), Changsha, China, in 1988 and
1997, respectively.
He is a Full Professor with the Department of
Computer Science and Mathematics, Nipissing University, North Bay, ON, Canada. He was a Visiting
Professor and a Special Lecturer with the College
of Computing Sciences, New Jersey Institute of Technology, Newark, from
1999 to 2002 and a Lecturer, an Associate Professor, and a Full Professor at
NUDT from 1988 to 2000. He has published more than 100 research papers,
4 books, and 2 book chapters on object-oriented programming, distributed
systems, collaborative systems, and computer architecture.
Dr. Zhu is a member of ACM and a Life Member of the Chinese Association
for Science and TechnologyUSA. He has served as Cochair of the Technical
Committee of Distributed Intelligent Systems of the IEEE SMC Society,
Associate Editor-in-Chief of the International Journal of Advances in Information and Service Sciences, Editor of the International Journal of Intelligent
Control and Systems, Associate Editor of the International Journal of Agent
Technologies and Systems, Managing Editor of the International Journal of
Electrical, Electronics & Computing Technology, Computer Sciences, member
of the editorial board of the International Journal of Software Science and
Computational Intelligence, Guest Editor of the IEEE T RANSACTIONS ON
SMC(A), organizer of workshops and special sessions on role-based collaboration for more than ten international conferences, and program committee
member for more than 40 international conferences. He was the recipient of the
2011 Chancellors award for excellence in research and 20062007 research
achievement award from Nipissing University, the 2004 and 2005 IBM Eclipse
Innovation Grant Awards, the Best Paper Award from the ISPE International
Conference on Concurrent Engineering (ISPE/CE2004), the Educators Fellowship of OOPSLA03, a 2nd Class National Award of Excellent Textbook from
the Ministry of Education of China in 2002, a 2nd Class National Award of
Education Achievement from the Ministry of Education of China in 1997, three
1st Class Ministerial Research Achievement Awards from The Commission
of Science Technology and Industry for National Defense of China in 1997,
1994, and 1991, and a 2nd Class Excellent Textbook Award of the Ministry of
Electronics Industry of China in 1996.