The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

SYNOPSIS

  use Games::Go::AGA::BayRate::Player;

DESCRIPTION

Games::Go::AGA::BayRate::Player is a perl implementation of player.cpp found in the bayrate.zip package from the American Go Association (http://usgo.org).

METHODS

get_seed ()
get_rating ()
get_sigma ()
get_id ()
get_index ()
set_seed ( new )
set_rating ( new )
set_sigma ( new )
set_id ( new )
set_index ( new )

These accessors can be used to set and get a player sigma, ID, index, seed, and rating.

seed

This is the initial rating.

rating

The adjusted rating (after calc_ratings is complete).

sigma

The standard deviation of the rating. Higher sigma means the rating is less certain. In the AGA rating system, a new 20 kyu player (with no previously recorded games) enters the system with a sigma of about 2.9 while a new 5 dan enters with a sigma of about 1.0 (see calc_init_sigma below). Also, the AGA increases a player's sigma as time from the previous recorded games increases (this affect is not handled by this implementation).

id

A unique identifier for each player, ususally the AGA ID.

index

The index of the GSL vector element that corresponds to the rating of this player. This is used internally.

get_cseed ()
get_crating ()
set_cseed ( new )
set_crating ( new )

These accessors are similar to get/set_seed/rating, but they close the dan/kyo gap, making for mathematically consistent versions of rating and seed. seed(3.5) -> cseed(2.5) and rating(-4.4) = crating(-3.4).

calc_init_sigma (seed)

Provides a sigma value for a new player entering the rating system for the first time. Value depends on the seed rating of the player, with the sigma increasing as the nominal rating decreases.

Data is interpolated for points away from the ratings corresponding to the midpoints of each rank.