5.0.0 • Published 8 months ago

glicko2-composite-opponent v5.0.0

Weekly downloads
141
License
MIT
Repository
github
Last release
8 months ago

glicko2-composite-opponent

Update Glicko-2 ratings for two teams of players by creating a composite player whose rating and deviation is the average of a team's players and then having the opponent team's players each win/lose a single match against the composite player.

This procedure is described in Abstracting Glicko-2 for Team Games.

Example

var compositeOpponent = require('../');
var glicko2 = require('glicko2').Glicko2;

var r = new glicko2();
var a = [
  r.makePlayer(1100, 300),
  r.makePlayer(1200, 310),
  r.makePlayer(1300, 320)
];
var b = [
  r.makePlayer(1400, 110),
  r.makePlayer(1500, 120),
  r.makePlayer(1600, 130)
];

// team A defeats team B
var matches = compositeOpponent(a, b, 1);
matches.forEach(function(match) {
  console.log('%d±%d vs %d±%d', Math.round(match[0].getRating()),
                                Math.round(match[0].getRd()),
                                Math.round(match[1].getRating()),
                                Math.round(match[1].getRd()));
  // => 1100±300 vs 1500±120
  // => 1200±310 vs 1500±120
  // => 1300±320 vs 1500±120
  // => 1200±310 vs 1400±110
  // => 1200±310 vs 1500±120
  // => 1200±310 vs 1600±130
});

Installation

$ npm install glicko2-composite-opponent

API

var compositeOpponent = require('glicko2-composite-opponent');

compositeOpponent(a, b, score, [vol])

Given Arrays a and b, each containing glicko2 Players, returns an Array of matches wherein each player on each team is put against a composite opponent made up of the average rating and rating deviation of the opposite team. Each match will have a score of Number score.

If you use a custom vol parameter you can pass it as a fourth argument. This is only used for creating the composite player.

compositeOpponent.lite(a, b)

Specifically for use with glicko2-lite.

Given Arrays a and b, each containing Objects with rating and rd properties, returns the composite opponents as an Array. First element will be the composite player created from a and second element will be the composite player created from b.

5.0.0

8 months ago

4.0.1

1 year ago

4.0.0

1 year ago

3.0.1

2 years ago

3.0.0

3 years ago

2.0.2

3 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago