Any suggestions will be appreciated!
Speed (Intel Core i7, 2.2 GHz, 8 GM RAM, 64-bit)
n = 2: 0.433 ms
n = 3: 0.439 ms
n = 4: 0.542 ms
n = 5: 0.671 ms
n = 6: 0.810 ms
n = 7: 1.032 ms
n = 8: 1.306 ms
Inputs:
v:
(1, 2^n-1)
worth of each coalition
(expected sum of payoffs for the members in a coalition)
originalcoalitions:
(2^n-1, n)
OPTIONAL
if coalitions are not following the order of binary
numbers (see example below)
firstplayer:
string
OPTIONAL
'left' / 'right' (default)
'left', if the first player is denoted by
[1, 0, 0, ..., 0] in originalcoalitions, and right,
if it is denoted by [0, ... 0, 0, 1]
Output:
vector of n elements [value for player_1, player_2,..., player_n]
CONSTRUCTING THE INPUT VECTOR
Binary numbers represent the coalitions.
For example, for n = 3 players,
binary numbers from 1 to 2^n-1: [001, 010, 011, 100, 101, 110, 111]
Coalitions: {1}, {2}, {1, 2}, {3}, {1, 3}, {2, 3}, {1, 2, 3}
So v = [payoff for {1}, payoff for {2}, payoff for {1, 2}, payoff for {3},...]
[player_3, player_2, player_1]
c = [0, 0, 1;
0, 1, 0;
0, 1, 1;
1, 0, 0;
1, 0, 1;
1, 1, 0;
1, 1, 1];
v = [0, 0, 0, 0, 1, 1, 1];
shapley(v)
shapley(v, c, 'right')
In case coalitions are ordered differently:
[player_3, player_2, player_1]
c = [1, 1, 1;
0, 1, 0;
1, 0, 0;
0, 1, 1;
1, 0, 1;
1, 1, 0;
0, 0, 1];
v = [1, 0, 0, 0, 1, 1, 0];
shapley(v, c)
shapley(v, c, 'right')
Suppose that the first player now is on the left hand side:
[player_1, player_2, player_3]
c = [1, 0, 0;
0, 1, 0;
0, 0, 1;
1, 1, 0;
1, 0, 1;
0, 1, 1;
1, 1, 1];
v = [0, 0, 0, 0, 1, 1, 1];
shapley(v, c, 'left')
INTERPRETING RESULTS
The result is a vector containing n elements:
[value for player_1, player_2, player_3] independently of the position of the first player (left/right side) in the coalition matrix
Zitieren als
G. Czupy (2025). Shapley value (fast) (https://de.mathworks.com/matlabcentral/fileexchange/57735-shapley-value-fast), MATLAB Central File Exchange. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- AI and Statistics > Statistics and Machine Learning Toolbox > Cluster Analysis and Anomaly Detection > Nearest Neighbors >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
| Version | Veröffentlicht | Versionshinweise | |
|---|---|---|---|
| 1.0.0.0 | Works with previous versions of MATLAB as well. |
