Learn R Programming

TUGLab (version 0.0.1)

compromiseadmissiblecheck: Compromise-admissible check

Description

This function checks if the given game is compromise-admissible.

Usage

compromiseadmissiblecheck(v, binary = FALSE, instance = FALSE)

Value

TRUE if the game is compromise-admissible, FALSE otherwise. If instance=TRUE and \(\{i \in N : m_i(v)>M_i(v)\} \neq \emptyset\), one of the players in that set is also returned.

Arguments

v

A characteristic function, as a vector.

binary

A logical value. By default, binary=FALSE. Should be set to TRUE if v is introduced in binary order instead of lexicographic order.

instance

A logical value. By default, instance=FALSE.

Details

Let \(v\in G^N\). The utopia payoff of player \(i\in N\) is defined as \(M_i(v)=v(N)-v(N\backslash i)\). The minimal right of player \(i\in N\) is defined as \(m_i(v)=\max_{S:i\in S}(v(S)-\sum_{j\in S\backslash i}M_j(v))\).

The game \(v\in G^N\) is said to be compromise-admissible if its core-cover is not empty, that is, if the following conditions hold:

1) \(m(v)\leq M(v)\).

2) \(\sum_{i\in N}m_{i}(v)\leq v(N)\leq \sum_{i\in N}M_i(v)\).

Examples

Run this code
compromiseadmissiblecheck(c(0,0,0,0,10,40,30,60,10,20,90,90,90,130,160))
compromiseadmissiblecheck(c(1,2,2), instance=TRUE)

# What if the game is a cost game?
cost.v <- c(30, 20, 50, 40, 60, 60, 75) # compromise-admissible cost game
compromiseadmissiblecheck(-c(30, 20, 50, 40, 60, 60, 75))

Run the code above in your browser using DataLab