leastcore {TUGLab}R Documentation

Least core

Description

Given a game, this function computes its least core.

Usage

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

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.

tol

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

Details

Given a game v\in G^N and a number \varepsilon \in \mathbb{R}, the \varepsilon-core of v is defined as

C_{\varepsilon}(v)= \{ x\in \mathbb{R}^n : x(N)=v(N) \text{ and } x(S) \ge v(S)-\varepsilon \ \forall S \in 2^N \setminus \{\emptyset,N\} \},

where x(S)=\sum_{i\in S} x_i. The least core of v is defined as the intersection of all non-empty \varepsilon-cores of v:

LC(v) = \{ \bigcap_{\varepsilon \in \mathbb{R} \ : \ C_{\varepsilon}(v) \neq \emptyset} C_{\varepsilon}(v) \}.

The implementation of this function is based on the algorithm presented in Derks and Kuipers (1997) and on the MATLAB package WCGT2005 by J. Derks.

Value

This function returns four outputs:

t

The excess value that defines the least core.

sat

The positions (binary order positions if binary=TRUE; lexicographic order positions otherwise) of the saturated coalitions, as a vector.

x

A least core allocation, as a vector.

vt

The game whose core is the least core of v, as a vector in binary order if binary=TRUE and in lexicographic order otherwise.

References

Derks, J. & Kuipers, J. (1997). Implementing the simplex method for computing the prenucleolus of transferable utility games.

Software by J. Derks (Copyright 2005 Universiteit Maastricht, dept. of Mathematics), available in package MatTuGames,

https://www.shorturl.at/i6aTF.

See Also

excesses, nucleoluspcvalue, nucleolusvalue, prenucleolusvalue

Examples

v <- c(0,0,0,0,10,40,30,60,10,20,90,90,90,130,160)
( vt <- leastcore(v)$vt )
# Plotting the core and the least core of v:
plotcoresets(games = rbind(v,vt), imputations = FALSE)

# What if the game is a cost game?
cost.v <- c(2,2,2,3,4,4,5) # characteristic function of the cost game
-leastcore(-cost.v)$t # the excess value that defines the least core of cost.v
leastcore(-cost.v)$sat # the saturated coalitions
-leastcore(-cost.v)$x # a least core allocation
-leastcore(-cost.v)$vt # the cost game whose core is the least core of cost.v

[Package TUGLab version 0.0.1 Index]