Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Chess::Elo
Perl module to calculate Chess "Elo" ratings

Chess::Elo - Perl module to calculate Chess "Elo" ratings


NAME

Chess::Elo - Perl module to calculate Chess ``Elo'' ratings


SYNOPSIS


  use Chess::Elo qw(:all);

  # Alice is going to thump Bob...

  my ($alice_elo, $bob_elo) = (2100, 1200);

  # Oh no, Alice lost to Bob!

  my $result = 0; # 0.5 for draw, 1 for win

  my @new_elo_alice_bob = elo ($alice, 0, $bob);

  use Data::Dumper; warn Dumper(\@new_elo_alice_bob);

  [

          '2068.17894295388',   # My, Alice took a hit on her rating :)

          '1231.82105704612'    # Bob is setting pretty 

  ];


DESCRIPTION

This module provides a single function, elo which allows one to calculate individual ratings based on performance. Typically, a player is given an initial provisional rating of 1600 points. In all cases, one gains and loses points as a function of the playing strength of both parties and the result of their encounter.

The formula used is the same one used at magi-nation:

http://www.magi-nation.com/Tournaments/ratingsfaq.htm

Or, quantitatively speaking:


    A2 = A1 + 32 (  G - ( 1 / ( 1 + 10 ** ( ( B1 -A1) / 400 ) ) ) )
A2 is Alice's post-game rating
A1 is Alice rating before the game against Bob
B1 is Bobs rating before the game against Alice
G is the game result, in this case:

              1, if A beats B

              0, if A loses to B

              0.5, if A draws to B


METHODS

($new_a, $new_b) = elo($elo_a, $result, $elo_b)

This function takes 3 arguments describing the result of a person with rating $elo_a competing with the person with rating $elo_b. The result argument is from the perspective of person A. Thus if A won $result is 1. If A lost, $result is 0. If A drew, $result is 0.5.

EXPORT

None by default, elo upon request.


SEE ALSO


AUTHOR

Terrence Brannon, tbone@cpan.org


COPYRIGHT AND LICENSE

Copyright 2003 by Terrence Brannon

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy