Calculate the \(L^{p^*}\) scores.
LPSScores(powerRelation, elements = powerRelation$elements)LPSRanking(powerRelation)
lexcelPSScores(powerRelation, elements = powerRelation$elements)
lexcelPSRanking(powerRelation)
Score function returns a list of type LP*Scores
and length of powerRelation$elements
(unless parameter elements
is specified).
Each index contains a matrix with length(powerRelation$elements)
rows and a variable number of columns, depending on the equivalence class index containing the singleton coalition of that element (matrix can have 0 columns).
Ranking function returns corresponding SocialRanking
object.
A PowerRelation
object created by PowerRelation()
or as.PowerRelation()
Vector of elements of which to calculate their scores.
By default, the scores of all elements in powerRelation$elements
are considered.
Let \(\succsim: (123 \sim 12 \sim 2) \succ (13 \sim 23) \succ (1 \sim 3 \sim \{\})\). From this, we get the following three matrices:
$$ M^\succsim_1 = \begin{bmatrix} 0 & 0 & 1\\ 1 & 1 & 0\\ 1 & 0 & 0 \end{bmatrix} M^\succsim_2 = \begin{bmatrix} 1 & 0 & 0\\ 1 & 0 & 1\\ 1 & 0 & 0 \end{bmatrix} M^\succsim_3 = \begin{bmatrix} 0 & 0 & 1\\ 0 & 2 & 0\\ 1 & 0 & 0 \end{bmatrix} $$
\((M^\succsim_2)_{2,3}\) in this context refers to the value in the second row and third column of element 2, in this case \(1\).
In the example, \(2\) will be immediately put above \(1\) and \(3\) because \(\lbrace 2 \rbrace \succ \lbrace 1 \rbrace\) and \(\lbrace 2 \rbrace \succ \lbrace 3 \rbrace\). Since \(\lbrace 1 \rbrace \sim \lbrace 3 \rbrace\), we next consider the coalitions of size 2. Here, it turns out that \((M^\succsim_1)_{2,1} = 1 > 0 = (M^\succsim_3)_{2,1}\), setting \(3\) to be the least preferred option (this is opposed to the \(L^p\) relation, which has no strict preference of \(1\) over \(3\)).
As alluded to, \(L^{p^*}\) is similar to \(L^p\), LPRanking()
, in that it first considers the singleton coalitions, then sequentially every coalition of size 2 and above that ranks better than the corresponding singleton.
It can be assumed, however, that \(L^{p^*}\) is more granular, as it doesn't throw away any information about which equivalence class these bigger coalitions belong to.
The matrices as described above and in beal2022lexicographicsocialranking can be investigated with the L1Scores()
function.
LPSScores()
discards some redundant information, most notably all columns from each element's singleton class and the ones thereafter.
The first row is also removed, as all values there are guaranteed to be 0.
For the example above, this would actually result in the matrices
matrix(c(1,1, 1,0), nrow=2)
matrix(numeric(), nrow=2)
matrix(c(0,1, 2,0), nrow=2)
For better discoverability, lexcelPSScores()
and lexcelPSRanking()
serve as aliases for LPSScores()
and LPSRanking()
, respectively.
Let \(N\) be a set of elements, \(\succsim \in \mathcal{T}(\mathcal{P})\) a power relation, and \(\Sigma_1 \succ \Sigma_2 \succ \dots \succ \Sigma_m\) its corresponding quotient order.
For an element \(i \in N\), construct a matrix \(M^\succsim_i\) with \(m\) columns and \(|N|\) rows. Whereas each column \(q\) represents an equivalence class, each row \(p\) corresponds to the coalition size.
$$(M^\succsim_i)_{p,q} = |\lbrace S \in \Sigma_q: |S| = p \text{ and } i \in S\rbrace|$$
For \(i, j \in N\), the social ranking solution \(L^{p^*}\) then ranks \(i\) strictly above \(j\) if one of the following conditions hold:
\(\lbrace i \rbrace \succ \lbrace j \rbrace\);
\(\lbrace i \rbrace, \lbrace j \rbrace \in \Sigma_k\) and there exists a row \(p_0 \in \lbrace 2, \dots, |N|\rbrace\) and column \(q_0 \in \lbrace 1, \dots, k-1\rbrace\) such that: $$(M^\succsim_i)_{p,q} = (M^\succsim_j)_{p,q}\quad \forall p < p_0, q < k,$$ $$(M^\succsim_i)_{p_0,q} = (M^\succsim_j)_{p_0,q}\quad \forall q < q_0,\text{ and}$$ $$(M^\succsim_i)_{p_0,q_0} > (M^\succsim_j)_{p_0,q_0}.$$
beal2022lexicographicsocialranking
Other ranking solution functions:
L1Scores()
,
L2Scores()
,
LPScores()
,
copelandScores()
,
cumulativeScores()
,
kramerSimpsonScores()
,
lexcelScores()
,
ordinalBanzhafScores()
pr <- as.PowerRelation("(123 ~ 12 ~ 2) > (13 ~ 23) > (1 ~ 3 ~ {})")
scores <- LPSScores(pr)
scores$`1`
# [,1] [,2]
# [1,] 1 1
# [2,] 1 0
scores$`2`
#
# [1,]
# [2,]
LPSRanking(pr)
# 2 > 1 > 3
Run the code above in your browser using DataLab