Skip to contents

Calculate the Kramer-Simpson-like scores. Higher scores are better.

kramerSimpsonRanking() returns the corresponding ranking.

Usage

kramerSimpsonScores(powerRelation, elements = powerRelation$elements)

kramerSimpsonRanking(powerRelation)

Arguments

powerRelation

A PowerRelation object created by PowerRelation() or as.PowerRelation()

elements

Vector of elements of which to calculate their scores. By default, the scores of all elements in powerRelation$elements are considered.

Value

Score function returns a vector of type KramerSimpsonScores and length of powerRelation$elements

(unless parameter elements is specified). Higher scoring elements are ranked higher.

Ranking function returns corresponding SocialRanking object.

Details

Inspired by the Kramer-Simpson method of social choice theory (Simpson 1969) (Kramer 1975) , the Kramer-Simpson-like method compares each element against all other elements using the CP-Majority rule.

For a given element \(i\), calculate the cpMajorityComparisonScore() against all elements \(j\), \(d_{ji}(\succsim)\) (notice that \(i\) and \(j\) are in reverse order). \(-\max_{j \in N \setminus \lbrace i \rbrace}(d_{ji}(\succsim))\) then determines the final score, where higher scoring elements are ranked higher (notice the negative symbol in front of the \(\max\) statement).

The implementation slightly differs from the original definition in 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. . While the ranking solution itself is the same, the scores for this package are intentionally multiplied by -1, as this significantly improves performance when sorting the elements, as well as making simple comparisons between elements more logical to the user.

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.

Simpson PB (1969). “On defining areas of voter choice: Professor Tullock on stable voting.” The Quarterly Journal of Economics, 83(3), 478--490.

Kramer GH (1975). “A dynamical model of political equilibrium.” Journal of Economic Theory, 16(2), 310--334.

See also

Other CP-majority based functions: copelandScores(), cpMajorityComparison()

Other ranking solution functions: L1Scores(), L2Scores(), LPSScores(), LPScores(), copelandScores(), cumulativeScores(), lexcelScores(), ordinalBanzhafScores()

Examples

# 2 > (1 ~ 3) > 12 > (13 ~ 23) > {} > 123
pr <- as.PowerRelation("2 > (1~3) > 12 > (13~23) > {} > 123")

# get scores for all elements
# cpMajorityComparisonScore(pr, 2, 1, strictly = TRUE)[1] = 1
# cpMajorityComparisonScore(pr, 3, 1, strictly = TRUE)[1] = 0
# therefore the Kramer-Simpson-Score for element
# `1` = -max(0, 1) = -1
#
# Score analogous for the other elements
# `2` = 0
# `3` = -2
kramerSimpsonScores(pr)
#>  1  2  3 
#> -1  0 -2 
#> attr(,"class")
#> [1] "KramerSimpsonScores"

# get scores for two elements
# `1` = 1
# `3` = 2
kramerSimpsonScores(pr, c(1,3))
#>  1  3 
#> -1 -2 
#> attr(,"class")
#> [1] "KramerSimpsonScores"

# or single element
# result is still a list
kramerSimpsonScores(pr, 2)
#> 2 
#> 0 
#> attr(,"class")
#> [1] "KramerSimpsonScores"

# 2 > 1 > 3
kramerSimpsonRanking(pr)
#> 2 > 1 > 3