balancedcheck {TUGLab}R Documentation

Balanced check

Description

This function checks if the given game is balanced and computes its balanced cover.

Usage

balancedcheck(v, game = FALSE, binary = FALSE, tol = 100 * .Machine$double.eps)

Arguments

v

A characteristic function, as a vector.

game

A logical value. By default, game=FALSE. If set to TRUE, the balanced cover of the game is also returned.

binary

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

tol

A tolerance parameter, as a non-negative number.
By default, tol=100*.Machine$double.eps.

Details

Let v \in G^{N}. A family F of non-empty coalitions of N is balanced if there exists a weight family \delta^{F} = \{ \delta^{F}_{S} \}_{S \in F} such that \delta^{F}_{S} > 0 for each S \in F and \sum_{S \in F} \delta^{F}_{S} e^{S} = e^{N}, being e^{S} the characteristic vector of S, that is, the vector (e_{i}^{S})_{i \in N} in which e_{i}^{S}=1 if i \in S and e_{i}^{S}=0 if i \notin S).

The game v is balanced if, for each balanced family F, it is true that

\sum_{S \in F} \delta^{F}_{S} v(S) \leq v(N).

The balanced cover of v is the game \tilde{v} defined by \tilde{v}(S)=v(S) for all S \neq N and

\tilde{v}(N) = \max_{\delta \in P}{\sum_{S \subset N} \delta_{S} v(S)},

being P the set of the weight families associated with the balanced families of N.

A game is balanced if and only if it coincides with its balanced cover. By the Bondareva-Shapley Theorem, a game has a non-empty core if and only if it is balanced.

Value

TRUE if the game is balanced, FALSE otherwise. If game=TRUE, the balanced cover of the game is also returned.

References

Maschler, M., Solan, E., & Zamir, S. (2013). Game Theory. Cambridge University Press.

See Also

totallybalancedcheck

Examples

balancedcheck(c(12,10,20,20,50,70,70), game=TRUE)
balancedcheck(c(rep(0,4), rep(30,6), rep(0,4), 50))
v <- runif(2^3-1,0,10) # random three-player game
balancedcheck(v, game=TRUE)
balancedcheck(balancedcheck(v, game=TRUE)$game) # balanced cover is indeed balanced
balancedcheck(runif(2^(15)-1,min=10,max=20)) # random game

[Package TUGLab version 0.0.1 Index]