Given a powerRelation
object, make its order monotonic.
Arguments
- powerRelation
A
PowerRelation
object created byPowerRelation()
oras.PowerRelation()
- addMissingCoalitions
If
TRUE
, also include all coalitions in the power set ofpowerRelation$elements
that 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 vectorv
and returning the equivalence class it belongs to. SeecoalitionLookup()
for more.$elementLookup
:function(e)
taking an elemente
and 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 ~ {})