Learn R Programming

TUGLab (version 0.0.1)

convexcheck: Convex check

Description

This function checks if the given game is convex.

Usage

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

Value

TRUE if the game is convex, FALSE otherwise. If instance=TRUE and the game is not convex, the function also returns the positions (binary order positions if binary=TRUE; lexicographic order positions otherwise) of a pair of coalitions violating the Zumsteg convexity characterization.

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

A game \(v\in G^N\) is convex if \(v(S \cap T) + v(S \cup T) \ge v(S)+v(T)\) for all \(S,T \in 2^N\). Zumsteg, S. (1995) shows that \(v\) is convex if \(v(S \cup {i}\cup {j}) + v(S) \ge v(S\cup {i})+v(S\cup {j})\) for all \(S\in 2^N\) and \(i,j\in N\backslash S\) such that \(i\not=j\).

A game \(v\in G^N\) is concave if \(-v\) is convex.

References

Zumsteg, S. (1995). Non-cooperative aspects of cooperative game theory and related computational problems. PhD thesis, ETH Zurich.

See Also

strategicallyequivalentcheck, superadditivecheck

Examples

Run this code
v1 <- c(5, 2, 2, 1, 8, 8, 6, 4, 3, 3, 12, 10, 10, 6, 14)
convexcheck(v1)
v2 <- c(0, 0, 0, 2, 2, 1, 3)
convexcheck(v2, binary = FALSE, instance = TRUE)

# How to check if a game is concave:
v.conc <- c(4, 3, 3, 2, 6, 6, 5, 5, 4, 4, 7, 6, 6, 6, 7) # concave game
convexcheck(-v.conc)

Run the code above in your browser using DataLab