Welcome, Guest. Please Login or Register.
May 2nd, 2024, 8:18am

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « bot_ArimaaScoreP1 and P2 »


   Arimaa Forum
   Arimaa
   General Discussion
(Moderator: supersamu)
   bot_ArimaaScoreP1 and P2
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: bot_ArimaaScoreP1 and P2  (Read 1174 times)
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
bot_ArimaaScoreP1 and P2
« on: Feb 23rd, 2006, 10:04am »
Quote Quote Modify Modify

These bots use only the Arimaa Scoring System formula to evaluate the board positions. They are very easy to beat since they push lonely rabbits forward faster then even ShallowBlue. It's going to be interesting to see how low the ratings of these bots get and if they ever win any games by goal against humans.
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: bot_ArimaaScoreP1 and P2
« Reply #1 on: Feb 23rd, 2006, 11:12am »
Quote Quote Modify Modify

I can see that it would be nice to have an even easier bot than ShallowBlue to ease new players into the game.  However, having these two additional bots in the ladder is yet another argument for only requiring one win to get past each bot in the ladder.  As it is now, players who play well from their very first game might get bored and frustrated  having to win a bunch against lame opponents.  Why force them to win eight silly games against ScoreP1, ScoreP2, ShallowBlue, and Arimaalon if they are ready to move up to a challenge much earlier?  I would hate for the ladder to take away from the excitement of encountering Arimaa rather than adding to it.  Even if the two-win requirement is kept in place for the higher bots, ease up for the totally brain-dead ones.
IP Logged

RonWeasley
Forum Guru
*****




Harry's friend (Arimaa player #441)

   


Gender: male
Posts: 882
Re: bot_ArimaaScoreP1 and P2
« Reply #2 on: Feb 23rd, 2006, 11:16am »
Quote Quote Modify Modify

It was interesting that they pay attention to your own advancing rabbits and block them if they can.
 
I wonder how many ply they need to attempt to defend their advanced rabbits or not advance them if they can't be nominally defended.
 
One logical strategy for them would be to play for a blocked game at their opponent's end and wait for time to run out.
IP Logged
Ryan_Cable
Forum Guru
*****



Arimaa player #951

   


Gender: male
Posts: 138
Re: bot_ArimaaScoreP1 and P2
« Reply #3 on: Feb 23rd, 2006, 2:13pm »
Quote Quote Modify Modify

Wow, this really drives home how horrible the scoring function is.  Advancing a R a single step can be worth way more than a M.
 
It will be interesting to see where these bots equilibrate.  I think it will basically be determined by the rate of timeouts/resignations.
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: bot_ArimaaScoreP1 and P2
« Reply #4 on: Feb 23rd, 2006, 3:16pm »
Quote Quote Modify Modify

on Feb 23rd, 2006, 2:13pm, Ryan_Cable wrote:
Wow, this really drives home how horrible the scoring function is.
Yes, it is pretty bad, and recall from the rating deflation thread that ArimaaScoreP1 is approximately 1000 points better than a random bot.  Unfortunately, if ArimaaScoreP1 never wins a game on the server ever, it will give us no upper bound on how high the rest of us should be on an "anchored" scale.
 
I think ArimaaScoreP2 might actually legitimately win against a weak human player, because it is defensive by nature, whereas ArimaaScoreP1 is blindly offensive.  Still, I don't think ArimaaScoreP2 will win as often against noobs as ShallowBlue will.
 
I'm also curious about head to head results between ShallowBlue and ArimaaScoreP2.  It is possible that the former will be harder for humans to beat while the latter wins more games head to head.  If that sort of intransitivity pops up, it will be another reason to avoid anchoring the rating scale with a ladder of bots of fixed rating.
IP Logged

Ryan_Cable
Forum Guru
*****



Arimaa player #951

   


Gender: male
Posts: 138
Re: bot_ArimaaScoreP1 and P2
« Reply #5 on: Feb 23rd, 2006, 4:24pm »
Quote Quote Modify Modify

ArimaaScoreP2 managed to get a timeout win against kerro.  It appears that he forgot to press send on his final winning move.  I think a noob would have to be extremely dumb or sub-flash tutorial clueless about the game to loose to ArimaaScoreP2.  The bot has almost no concern for protecting or killing noble pieces.
 
I don’t think ShallowBlue has much chance of loosing to ArimaaScoreP2 either.  I am most interested in seeing how big a handicap we can give the ArimaaScore bots.
 
It would be interesting to see how good FAME maximizers did.  There would need to be something added in to get it to try to goal though.
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: bot_ArimaaScoreP1 and P2
« Reply #6 on: Feb 25th, 2006, 10:03am »
Quote Quote Modify Modify

It's very easy to create and experiment with your own bots. Just download the MatchOffline kit from the download page. I contains several sample bots. You just need to edit the eval.c file to define your own method of evaluating the board position. Then just compile and test the bots against each other.  
 
Here's what the eval.c file for ArimaaScore looks like:
 
 
/* ---------------------------------------------------
    Uses the Arimaa "Scoring System" formula for the evaluation:
 
  TotScore = MyScore - OppScore
 
  Score = R + P*(C+1)
 
  R = Points given for how far the players Rabbits have progressed.
 The row to which each rabbit has progressed is cubed (i.e.
 raised to the power of 3) and these values are summed up to
 determine R.  The first row is 1 and the goal row is 8.
  C = The number of Rabbits the player still has on the board.
  P = Points given for the pieces the player still has on the board.
 The value of each piece on the board is summed.
 
  Value of each piece is:
 
  1 - Rabbit
  2 - Cat
  3 - Dog
  4 - Horse
  5 - Camel
  6 - Elephant
 
   ---------------------------------------------------- */
 
int  eval( position *p )
{
  int   i;
  int   c;
  int   tot[2] = { 0, 0 };
  u64   dom;    // bit board of dominant pieces.
  u64   non;    // bb of non-dominant pieces
 
  int sC; // the C value of the score
  int sP; // the P value of the score
  int sR; // you guessed it
 
  for (c=0; c<2; c++)  // c = color, 0 or 1
  {
    int  e = c^1;  // enemy for convienence.
 
// calculate the P value of the score
    sP = 0;
    for (i=1; i<7; i++) // i loops over the types of pieces 1=rabbit .. 6=ele
 sP += bit_count( p->bd[c][i] ) * i;
 
// calculate the C value of the score
    sC = bit_count( p->bd[c][1] ) * 1;
 
// calculate the R value of the score
    sR = 0;
    for (i=0; i<8; i++) // i loops over the rows of the board
 sR += bit_count( p->bd[c][1] & adv[i+1][c] ) * (i+1)*(i+1)*(i+1);
 
    tot[c] = sR + sP*(sC+1);
  }
 
  if (p->ply & 1)
    return(tot[1] - tot[0]);
 
  return(tot[0] - tot[1]);
}
 

 
That's the brain of bot_ArimaaScore Smiley
 
IP Logged
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »

Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.