copelandScores {socialranking} | R Documentation |
Copeland-like method
Description
Based on cpMajorityComparison()
, add or subtract scores
based on how an element fares against the others.
copelandRanking()
returns the corresponding ranking.
Usage
copelandScores(powerRelation, elements = powerRelation$elements)
copelandRanking(powerRelation)
Arguments
powerRelation |
A |
elements |
Vector of elements of which to calculate their scores.
By default, the scores of all elements in |
Details
Strongly inspired by the Copeland score of social choice theory (Copeland 1951), the Copeland-like solution is based on the net flow of the CP-majority graph (Allouche et al. 2020).
Individuals are ordered according to the number of pairwise winning comparisons, minus the number of pairwise losing comparisons, over the set of all CP-comparisons.
More formally, in a given PowerRelation pr
with element i
, count the number of elements
j \in N \setminus \lbrace i \rbrace
where
cpMajorityComparison
(pr, i, j) >= 0
and subtract those where
cpMajorityComparison
(pr, i, j) <= 0
.
Value
Score function returns a list of type CopelandScores
and length of powerRelation$elements
(unless parameter elements
is specified). Each element is a vector of 2 numbers,
the number of pairwise winning comparisons and the number of pairwise losing comparisons.
Those two numbers summed together gives us the actual ordinal Copeland score.
Ranking function returns corresponding SocialRanking
object.
References
Allouche T, Escoffier B, Moretti S, Öztürk M (2020). “Social Ranking Manipulability for the CP-Majority, Banzhaf and Lexicographic Excellence Solutions.” In Bessiere C (ed.), Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, IJCAI-20, 17–23. doi:10.24963/ijcai.2020/3, Main track.
Copeland AH (1951). “A reasonable social welfare function.” mimeo, 1951. University of Michigan.
See Also
Other CP-majority based functions:
cpMajorityComparison()
,
kramerSimpsonScores()
Other ranking solution functions:
L1Scores()
,
L2Scores()
,
LPSScores()
,
LPScores()
,
cumulativeScores()
,
kramerSimpsonScores()
,
lexcelScores()
,
ordinalBanzhafScores()
Examples
# (123 ~ 12 ~ 3 ~ 1) > (2 ~ 23) > 13
pr <- PowerRelation(list(
list(c(1,2,3), c(1,2), 3, 1),
list(c(2,3), 2),
list(c(1,3))
))
copelandScores(pr)
# `1` = c(2, -1)
# `2` = c(2, -2)
# `3` = c(1, -2)
# only calculate results for two elements
copelandScores(pr, c(1,3))
# `1` = c(2, -1)
# `3` = c(1, -2)
# or just one element
copelandScores(pr, 2)
# `2` = c(2, -2)
# 1 > 2 > 3
copelandRanking(pr)