makePowerRelationMonotonic {socialranking} | R Documentation |
Given a powerRelation
object, make its order monotonic.
makePowerRelationMonotonic(powerRelation, addMissingCoalitions = TRUE)
powerRelation |
A |
addMissingCoalitions |
If |
A power relation is monotonic if
T \subset S \Leftrightarrow S \succsim T.
for every coalition S \subseteq N
.
Calling makePowerRelationMonotonic()
on some PowerRelation
object moves or adds coalitions to certain equivalence classes
so that the power relation becomes monotonic.
PowerRelation
object containing the following values:
$elements
: vector of elements
$eqs
: equivalence classes. Nested list of lists, each containing vectors representing groups of elements in the same equivalence class
$coalitionLookup
: function(v)
taking a coalition vector v
and returning the equivalence class it belongs to. See coalitionLookup()
for more.
$elementLookup
: function(e)
taking an element e
and returning a list of 2-sized tuples. See elementLookup()
for more.
Other helper functions for transforming power relations:
appendMissingCoalitions()
pr <- as.PowerRelation("ab > ac > abc > b > a > {} > c > bc")
makePowerRelationMonotonic(pr)
# (abc ~ ab) > ac > (bc ~ b) > a > (c ~ {})
# notice that missing coalitions are automatically added,
# except for the empty set
pr <- as.PowerRelation("a > b > c")
makePowerRelationMonotonic(pr)
# (abc ~ ab ~ ac ~ a) > (bc ~ b) > c
# setting addMissingCoalitions to FALSE changes this behavior
pr <- as.PowerRelation("a > ab > c ~ {} > b")
makePowerRelationMonotonic(pr, addMissingCoalitions = FALSE)
# (ab ~ a) > (b ~ c ~ {})
# notice that an equivalence class containing an empty coalition
# automatically moves all remaining coalitions to that equivalence class.
pr <- as.PowerRelation("a > {} > b > c")
makePowerRelationMonotonic(pr)
# (abc ~ ab ~ ac ~ a) > (bc ~ b ~ c ~ {})