Given a powerRelation object, make its order monotonic.
Arguments
- powerRelation
 A
PowerRelationobject created byPowerRelation()oras.PowerRelation()- addMissingCoalitions
 If
TRUE, also include all coalitions in the power set ofpowerRelation$elementsthat are not present in the current power relation.
Value
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 vectorvand returning the equivalence class it belongs to. SeecoalitionLookup()for more.$elementLookup:function(e)taking an elementeand returning a list of 2-sized tuples. SeeelementLookup()for more.
Details
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.
See also
Other helper functions for transforming power relations:
appendMissingCoalitions()
Examples
pr <- as.PowerRelation("ab > ac > abc > b > a > {} > c > bc")
makePowerRelationMonotonic(pr)
#> (abc ~ ab) > ac > (bc ~ b) > a > (c ~ {})
# (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
# (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 ~ {})
# (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 ~ {})
# (abc ~ ab ~ ac ~ a) > (bc ~ b ~ c ~ {})