[QUIZ] Lost Cities (#51)

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

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.

ยทยทยท

from my bredplayer).

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