fbpx
Wikipedia

Rank-maximal allocation

Rank-maximal (RM) allocation is a rule for fair division of indivisible items. Suppose we have to allocate some items among people. Each person can rank the items from best to worst. The RM rule says that we have to give as many people as possible their best (#1) item. Subject to that, we have to give as many people as possible their next-best (#2) item, and so on.

In the special case in which each person should receive a single item (for example, when the "items" are tasks and each task has to be done by a single person), the problem is called rank-maximal matching or greedy matching.

The idea is similar to that of utilitarian cake-cutting, where the goal is to maximize the sum of utilities of all participants. However, the utilitarian rule works with cardinal (numeric) utility functions, while the RM rule works with ordinal utilities (rankings).

Definition edit

There are several items and several agents. Each agent has a total order on the items. Agents can be indifferent between some items; for each agent, we can partition the items to equivalence classes that contain items of the same rank. For example, If Alice's preference-relation is x > y,z > w, it means that Alice's 1st choice is x, which is better for her than all other items; Alice's 2nd choice is y and z, which are equally good in her eyes but not as good as x; and Alice's 3rd choice is w, which she considers worse than all other items.

For every allocation of items to the agents, we construct its rank-vector as follows. Element #1 in the vector is the total number of items that are 1st-choice for their owners; Element #2 is the total number of items that are 2nd-choice for their owners; and so on.

A rank-maximal allocation is one in which the rank-vector is maximum, in lexicographic order.

Example edit

Three items, x y and z, have to be divided among three agents whose rankings are:

  • Alice: x > y > z
  • Bob: x > y > z
  • Carl: y > x > z

In the allocation (x, y, z), Alice gets her 1st choice (x), Bob gets his 2nd choice (y), and Carl gets his 3rd choice (z). The rank-vector is thus (1,1,1).

In the allocation (x,z,y), both Alice and Carl get their 1st choice and Bob gets his 3rd choice. The rank-vector is thus (2,0,1), which is lexicographically higher than (1,1,1) – it gives more people their 1st choice.

It is easy to check that no allocation produces a lexicographically higher rank-vector. Hence, the allocation (x,z,y) is rank-maximal. Similarly, the allocation (z,x,y) is rank-maximal – it produces the same rank-vector (2,0,1).

Algorithms edit

RM matchings were first studied by Robert Irving, who called them greedy matchings. He presented an algorithm that finds an RM matching in time  , where n is the number of agents and c is the largest length of a preference-list of an agent.[1]

Later, an improved algorithm was found, which runs in time  , where m is the total length of all preference-lists (total number of edges in the graph), and C is the maximal rank of an item used in an RM matching (i.e., the maximal number of non-zero elements in an optimal rank vector).[2] The algorithm reduces the problem to maximum-cardinality matching. Intuitively, we would like to first find a maximum-cardinality matching using only edges of rank 1; then, extend this matching to a maximum-cardniality matching using only edges of ranks 1 and 2; then, extend this matching to a maximum-cardniality matching using only edges of ranks 1 2 and 3; and so on. The problem is that, if we pick the "wrong" maximum-cardinality matching for rank 1, then we might miss the optimal matching for rank 2. The algorithm of [2] solves this problem using the Dulmage–Mendelsohn decomposition, which is a decomposition that uses a maximum-cardinality matching, but does not depend on which matching is chosen (the decomposition is the same for every maximum-cardinality matching chosen). It works in the following way.

  1. Let G1 be the sub-graph of G containing only edges of rank 1 (the highest rank).
  2. Find a maximum-cardinality matching in G1, and use it to find the decomposition of G1 into E1, O1 and U1.
  3. One property of the decomposition is that every maximum-cardinality matching in G1 saturates all vertices in O1 and U1. Therefore, in a rank-maximal matching, all vertices in O1 and U1 are adjacent to an edge of rank 1. So we can remove from the graph all edges with rank 2 or higher adjacent to any of these vertices.
  4. Another property of the decomposition is that any maximum-cardinality matching in G1 contains only E1-O1 and U1-U1 edges. Therefore, we can remove all other edges (O1-O1 and O1-U1 edges) from the graph.
  5. Add to G1 all the edges with the next-highest rank. If there are no such edges, stop. Else, go back to step 2.

A different solution, using maximum-weight matchings, attains a similar run-time:  .[3]

Variants edit

The problem has several variants.

1. In maximum-cardinality RM matching, the goal is to find, among all different RM matchings, the one with the maximum number of matchings.

2. In fair matching, the goal is to find a maximum-cardinality matching such that the minimum number of edges of rank r are used, given that - the minimum number of edges of rank r−1 are used, and so on.

Both maximum-cardinality RM matching and fair matching can be found by reduction to maximum-weight matching.[3]

3. In the capacitated RM matching problem, each agent has an upper capacity denoting an upper bound on the total number of items he should get. Each item has an upper quota denoting an upper bound on the number of different agents it can be allocated to. It was first studied by Melhorn and Michail, who gave an algorithm with run-time  .[4] There is an improved algorithm with run-time  , where B is the minimum of the sum-of-quotas of the agents and the sum-of-quotas of the items. It is based on an extension of the Gallai–Edmonds decomposition to multi-edge matchings.[5]

See also edit

References edit

  1. ^ Irving, Robert W. (2003). Greedy matchings. University of Glasgow. pp. Tr–2003–136. CiteSeerX 10.1.1.119.1747.{{cite book}}: CS1 maint: location missing publisher (link)
  2. ^ a b Irving, Robert W.; Kavitha, Telikepalli; Mehlhorn, Kurt; Michail, Dimitrios; Paluch, Katarzyna E. (1 October 2006). "Rank-maximal Matchings". ACM Trans. Algorithms. 2 (4): 602–610. doi:10.1145/1198513.1198520. ISSN 1549-6325.
  3. ^ a b Michail, Dimitrios (10 December 2007). "Reducing rank-maximal to maximum weight matching". Theoretical Computer Science. 389 (1): 125–132. doi:10.1016/j.tcs.2007.08.004. ISSN 0304-3975.
  4. ^ Kurt Mehlhorn and Dimitrios Michail (2005). "Network Problems with Non-Polynomial Weights and Applications".
  5. ^ Paluch, Katarzyna (22 May 2013). "Capacitated Rank-Maximal Matchings". Algorithms and Complexity. Lecture Notes in Computer Science. Vol. 7878. Springer, Berlin, Heidelberg. pp. 324–335. doi:10.1007/978-3-642-38233-8_27. ISBN 978-3-642-38232-1.

rank, maximal, allocation, rank, maximal, allocation, rule, fair, division, indivisible, items, suppose, have, allocate, some, items, among, people, each, person, rank, items, from, best, worst, rule, says, that, have, give, many, people, possible, their, best. Rank maximal RM allocation is a rule for fair division of indivisible items Suppose we have to allocate some items among people Each person can rank the items from best to worst The RM rule says that we have to give as many people as possible their best 1 item Subject to that we have to give as many people as possible their next best 2 item and so on In the special case in which each person should receive a single item for example when the items are tasks and each task has to be done by a single person the problem is called rank maximal matching or greedy matching The idea is similar to that of utilitarian cake cutting where the goal is to maximize the sum of utilities of all participants However the utilitarian rule works with cardinal numeric utility functions while the RM rule works with ordinal utilities rankings Contents 1 Definition 2 Example 3 Algorithms 4 Variants 5 See also 6 ReferencesDefinition editThere are several items and several agents Each agent has a total order on the items Agents can be indifferent between some items for each agent we can partition the items to equivalence classes that contain items of the same rank For example If Alice s preference relation is x gt y z gt w it means that Alice s 1st choice is x which is better for her than all other items Alice s 2nd choice is y and z which are equally good in her eyes but not as good as x and Alice s 3rd choice is w which she considers worse than all other items For every allocation of items to the agents we construct its rank vector as follows Element 1 in the vector is the total number of items that are 1st choice for their owners Element 2 is the total number of items that are 2nd choice for their owners and so on A rank maximal allocation is one in which the rank vector is maximum in lexicographic order Example editThree items x y and z have to be divided among three agents whose rankings are Alice x gt y gt z Bob x gt y gt z Carl y gt x gt zIn the allocation x y z Alice gets her 1st choice x Bob gets his 2nd choice y and Carl gets his 3rd choice z The rank vector is thus 1 1 1 In the allocation x z y both Alice and Carl get their 1st choice and Bob gets his 3rd choice The rank vector is thus 2 0 1 which is lexicographically higher than 1 1 1 it gives more people their 1st choice It is easy to check that no allocation produces a lexicographically higher rank vector Hence the allocation x z y is rank maximal Similarly the allocation z x y is rank maximal it produces the same rank vector 2 0 1 Algorithms editRM matchings were first studied by Robert Irving who called them greedy matchings He presented an algorithm that finds an RM matching in time O n2c3 displaystyle O n 2 c 3 nbsp where n is the number of agents and c is the largest length of a preference list of an agent 1 Later an improved algorithm was found which runs in time O m min n Cn displaystyle O m cdot min n C sqrt n nbsp where m is the total length of all preference lists total number of edges in the graph and C is the maximal rank of an item used in an RM matching i e the maximal number of non zero elements in an optimal rank vector 2 The algorithm reduces the problem to maximum cardinality matching Intuitively we would like to first find a maximum cardinality matching using only edges of rank 1 then extend this matching to a maximum cardniality matching using only edges of ranks 1 and 2 then extend this matching to a maximum cardniality matching using only edges of ranks 1 2 and 3 and so on The problem is that if we pick the wrong maximum cardinality matching for rank 1 then we might miss the optimal matching for rank 2 The algorithm of 2 solves this problem using the Dulmage Mendelsohn decomposition which is a decomposition that uses a maximum cardinality matching but does not depend on which matching is chosen the decomposition is the same for every maximum cardinality matching chosen It works in the following way Let G1 be the sub graph of G containing only edges of rank 1 the highest rank Find a maximum cardinality matching in G1 and use it to find the decomposition of G1 into E1 O1 and U1 One property of the decomposition is that every maximum cardinality matching in G1 saturates all vertices in O1 and U1 Therefore in a rank maximal matching all vertices in O1 and U1 are adjacent to an edge of rank 1 So we can remove from the graph all edges with rank 2 or higher adjacent to any of these vertices Another property of the decomposition is that any maximum cardinality matching in G1 contains only E1 O1 and U1 U1 edges Therefore we can remove all other edges O1 O1 and O1 U1 edges from the graph Add to G1 all the edges with the next highest rank If there are no such edges stop Else go back to step 2 A different solution using maximum weight matchings attains a similar run time O m min n C Cn displaystyle O m cdot min n C C sqrt n nbsp 3 Variants editThe problem has several variants 1 In maximum cardinality RM matching the goal is to find among all different RM matchings the one with the maximum number of matchings 2 In fair matching the goal is to find a maximum cardinality matching such that the minimum number of edges of rank r are used given that the minimum number of edges of rank r 1 are used and so on Both maximum cardinality RM matching and fair matching can be found by reduction to maximum weight matching 3 3 In the capacitated RM matching problem each agent has an upper capacity denoting an upper bound on the total number of items he should get Each item has an upper quota denoting an upper bound on the number of different agents it can be allocated to It was first studied by Melhorn and Michail who gave an algorithm with run time O Cnmlog n2 m log n displaystyle O Cnm log n 2 m log n nbsp 4 There is an improved algorithm with run time O m min B CB displaystyle O m cdot min B C sqrt B nbsp where B is the minimum of the sum of quotas of the agents and the sum of quotas of the items It is based on an extension of the Gallai Edmonds decomposition to multi edge matchings 5 See also editFair item assignment Stable matching Envy free matching Priority matchingReferences edit Irving Robert W 2003 Greedy matchings University of Glasgow pp Tr 2003 136 CiteSeerX 10 1 1 119 1747 a href Template Cite book html title Template Cite book cite book a CS1 maint location missing publisher link a b Irving Robert W Kavitha Telikepalli Mehlhorn Kurt Michail Dimitrios Paluch Katarzyna E 1 October 2006 Rank maximal Matchings ACM Trans Algorithms 2 4 602 610 doi 10 1145 1198513 1198520 ISSN 1549 6325 a b Michail Dimitrios 10 December 2007 Reducing rank maximal to maximum weight matching Theoretical Computer Science 389 1 125 132 doi 10 1016 j tcs 2007 08 004 ISSN 0304 3975 Kurt Mehlhorn and Dimitrios Michail 2005 Network Problems with Non Polynomial Weights and Applications Paluch Katarzyna 22 May 2013 Capacitated Rank Maximal Matchings Algorithms and Complexity Lecture Notes in Computer Science Vol 7878 Springer Berlin Heidelberg pp 324 335 doi 10 1007 978 3 642 38233 8 27 ISBN 978 3 642 38232 1 Retrieved from https en wikipedia org w index php title Rank maximal allocation amp oldid 1172254367, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.