Inspired by the relatively good performance of the DiscardPlayer, and
the discovery that I'd misunderstood the scoring system - I decided to
write another player from scratch (though reusing the knowledge gatherer
from my bredplayer).

http://members.iinet.net.au/~soxbox/always_positive.rb

My new player will not play any cards into a land unless he has enough
cards and enough time to overcome the -20 starting penalty for a land.
He'll pick up any cards that help him, and once he hits the endgame,
will start playing high-cards rather than low. 
Some areas where you'd probably get some improvement are in the
discarding of cards, which is pretty rudimentary. It should probably
discard in order of unusable_for_anybody_ever ->
unusable_for_opponent_ever -> minimise_opponent_points. He'd probably be
improved further by actually taking a chance towards the start of the
game if it can't get a guaranteed hand.

Playing all the players against each other with 50 games in each matchup
(everybody plays 300 total):

Class                          Wins     Avg.     Min.     Max.     Time
AlwaysPositive                  222    22.52     0.00    76.00    31.49
ADS_LC_Player                   220    41.05   -71.00   266.00    80.94
EvolvedPlayer                   203    27.52  -101.00   217.00    75.84
BredPlayer                      164     3.75  -149.00    91.00    63.58
DiscardPlayer                   113     0.00     0.00     0.00    11.45
DumbPlayer                      110   -11.44   -88.00    65.00    14.26
RiskPlayer                       16   -41.51  -120.00    -7.00    25.13

As the top 3 are so close, I did separates run of 200 games between each
of them:

Class                          Wins     Avg.     Min.     Max.     Time
ADS_LC_Player                   121    39.94   -44.00   154.00    49.91
AlwaysPositive                   78    28.09     0.00   104.00    21.63

So it seems that ADS_LC_Player is actually better than the evolved
player (so much for genetics), and they're both better than my
AlwaysPositive player, but I came out on top in the full match because I
ALWAYS beat RiskPlayer and either win or draw against DiscardPlayer.

I'm guessing that my player would be better at beating an amateur
player, but the ADS_LC_Player would provide more challenge for an
experienced player.

The "Time" column is indicative only - it measures the time taken for
the game.play and game.draw moves to occur, but that also includes a
bunch of show calls to both players, so it skews the figures.


#####################################################################################
This email has been scanned by MailMarshal, an email content filter.
#####################################################################################