copelandScores | R Documentation |
Based on cpMajorityComparison()
, add or subtract scores
based on how an element fares against the others.
copelandRanking()
returns the corresponding ranking.
copelandScores(powerRelation, elements = powerRelation$elements)
copelandRanking(powerRelation)
powerRelation |
A |
elements |
Vector of elements of which to calculate their scores.
By default, the scores of all elements in |
Strongly inspired by the Copeland score of social choice theory \insertCite1951Copelandsocialranking, the Copeland-like solution is based on the net flow of the CP-majority graph \insertCite2021Manipulabilitysocialranking.
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
.
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.
2021Manipulabilitysocialranking
\insertRef1951Copelandsocialranking
Other CP-majority based functions:
cpMajorityComparison()
,
kramerSimpsonScores()
Other ranking solution functions:
L1Scores()
,
L2Scores()
,
LPSScores()
,
LPScores()
,
cumulativeScores()
,
kramerSimpsonScores()
,
lexcelScores()
,
ordinalBanzhafScores()
# (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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.