Learn R Programming

TUGLab (version 0.0.1)

kohlbergcriterion: Kohlberg criterion for the prenucleolus

Description

This function applies the Kohlberg criterion to check if the given efficient allocation is the prenucleolus of the given game.

Usage

kohlbergcriterion(v, x, binary = FALSE, tol = 100 * .Machine$double.eps)

Value

TRUE if x is the prenucleolus of v, FALSE otherwise.

Arguments

v

A characteristic function, as a vector.

x

An efficient allocation, 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.

tol

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

Details

Given \(v \in G^{N}\) and \(x \in \mathbb{R}^{n}\) with \(\sum_{i \in N} x_{i} = v(N)\), let \(k(x)\) be the number of different excesses in \(x\). According to the Kohlberg criterion for the prenucleolus, \(x\) is the prenucleolus of \(v\) if and only if, for each \(j \in \{1,\dots,k(x)\}\), \(\bigcup_{t=1}^{j} F^{t}\) is a balanced family, being \(F^{t}\) the set of coalitions associated with the excess that occupies position \(t\) when excesses are arranged in decreasing order.

References

Kohlberg, E. (1971). On the Nucleolus of a Characteristic Function Game. SIAM Journal on Applied Mathematics, 20(1), 62–66.

See Also

balancedfamilycheck, excesses, prenucleolusvalue

Examples

Run this code
v <- c(0,0,0,0,10,40,30,60,10,20,90,90,90,130,160)
x <- prenucleolusvalue(v)
kohlbergcriterion(v, x) # x is the prenucleolus of v
y <- prenucleolusvalue(v) + c(1,-1,0,0)
kohlbergcriterion(v, y) # y is not the prenucleolus of v

# If the game is 0-monotonic, its nucleolus coincides with its prenucleolus,
# and therefore must pass the Kohlberg criterion for the prenucleolus:
v4 <- c(-2,-2,-2,7,7,7,6)
zeromonotoniccheck(v4)
kohlbergcriterion(v4, nucleolusvalue(v4))

Run the code above in your browser using DataLab