Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Bot Development >> bot_bomb update
(Message started by: fotland on Nov 13th, 2004, 12:44am)

Title: bot_bomb update
Post by fotland on Nov 13th, 2004, 12:44am
bot_bomb is much stronger now.

I have two versions of bot_bomb.  I developed it as a windows program with a GUI and many debug features.  Getmove.exe just used pipes to communicate file names to the gui program.

Right before the match last January, I ported it to Unix, which meant creating a getmove.exe that does the search, without a gui, and only uses Unix APIs.

I've been using the unix code, running on Windows for the last week or so it has been on the server.  But it seemed to be playing much weaker moves than I expected, and its rating was dropping steadily.

Today I figured out why.  The Unix version had a bug that was disabling the goal search and some of the complex evaluation terms.

It's fixed now, and should be noticably stronger.

Title: Re: bot_bomb update
Post by 99of9 on Nov 13th, 2004, 7:33am
Ahh that explains it.  I'll be interested to give the real bomb a spin sometime soon.  Do you mean that even the version that played Omar in the challenge was handicapped???

Title: Re: bot_bomb update
Post by fotland on Nov 13th, 2004, 9:33am
I don't think the version that played Omar last year was handicapped.  When I made the commercial version I added some parameters to the evaluation to optionally weaken it so beginners would have a fun game.  The unix version didn't initialize them properly.

Title: Re: bot_bomb update
Post by Fritzlein on Nov 13th, 2004, 10:58am
Ha ha!  Was Bomb's evaluation function set to "medium" or "weak"?

It reflects badly on me that I was so eager to conclude that I had gotten better rather than Bomb weaker.

OK, now we start over.  I can hardly wait to see if any of the strategies that recently worked against Bomb still work now.  I may lose a few rating points finding out.  :-)

Title: Re: bot_bomb update
Post by fotland on Nov 13th, 2004, 6:34pm
The evaluation was set to medium, and it had 1% chance to throw away any move at the first step without looking at it.

Tomorrow I should have a version that won't let the elephant be smothered.

Title: Re: bot_bomb update
Post by omar on Nov 14th, 2004, 11:03pm
In the one game that I played it so far since it's been on again, it did feel like a lot weaker than the version I played against in Feb 2004.

Title: Re: bot_bomb update
Post by fotland on Nov 15th, 2004, 12:00am
New Update Sunday evening right before F's game.  Fixed some evlauation bugs, added evaluation to maintain access to center for Elephant, and made big changes to the static exchange evaluator.

With luck it is stonger, but who knows until there are some test games.  Let me know if it seems stronger.

Title: Re: bot_bomb update
Post by fotland on Nov 16th, 2004, 9:32am
I updated bomb.  The change I made Sunday encouraged it to give up rabbits and cats to keep the enemy elephant tied up.  It should be better now.

Title: Re: bot_bomb update
Post by fotland on Nov 17th, 2004, 2:20am
New version.  It was valuing long range weak threats to trap a piece high than rabbits.

Title: Re: bot_bomb update
Post by fotland on Nov 19th, 2004, 12:16am
New version.  Fixed lots of trap evaluation bugs.

Title: Re: bot_bomb update
Post by fotland on Nov 23rd, 2004, 2:16am
new version (speedy).  More pruning, cut nodes by factor of 2 to 8.  It will search deeper, but it will also miss some things when evaluation has a bug.

Title: Re: bot_bomb update
Post by fotland on Nov 25th, 2004, 4:42pm
New speedy.  cut node count again, fixed some eval bugs.

Title: Re: bot_bomb update
Post by fotland on Nov 27th, 2004, 2:24am
New version.  Fixed some search bugs that caused strange moves.  Node count is down again.  It generally finds 12 step goals in under a second now, and 16 step goals average about 20 seconds.

Title: Re: bot_bomb update
Post by fotland on Nov 28th, 2004, 1:49am
New speedy.  Adjusted threat values.  In some situations it valued a threat higher than the piece, so it would try to keep the piece threatened without taking it off the board.

Title: Re: bot_bomb update
Post by PMertens on Nov 28th, 2004, 3:51pm
Actually that might even be a good idea against a bot.

Especially if the threat can be easily maintained ...

Title: Re: bot_bomb update
Post by fotland on Nov 29th, 2004, 1:28am
new speedy.  fixed some hash table bugs and added more smarts to quiescence search.

I'm done with the search now.  If I have time this week, I'll try to do something about pulling rabbits.

Title: Re: bot_bomb update
Post by PMertens on Nov 29th, 2004, 2:10am
it sure is a decent bot - not to be played late at night, drunk or preocupied with anything else :-)
handle with care

Title: Re: bot_bomb update
Post by fotland on Nov 30th, 2004, 9:22am
Thanks.  Still not agressive enough in openeing.

New version.  Minor eval cahnges - won't try to smother enemy phant in center.

Title: Re: bot_bomb update
Post by fotland on Dec 1st, 2004, 1:49am
Fixed a couple of minor midgame evaluation bugs.  Found a major problem, but no time to fix it tonight.  Maybe Thursday.

Title: Re: bot_bomb update
Post by fotland on Dec 2nd, 2004, 1:13am
Minor changes.  Can't reproduce the illegal move bug.  Should be able to play 3-step moves now.

Title: Re: bot_bomb update
Post by PMertens on Dec 2nd, 2004, 11:14am
Looks like I can reproduce your bug :-(
(Game #14277)

Everytime I blunder speedy plays to the end - if I dont your bot just gives up ? unfair ;-)

Title: Re: bot_bomb update
Post by fotland on Dec 2nd, 2004, 11:44am
This was a new bug.  It passed after 3 steps when there was a forced push.  It's fixed.

Title: Re: bot_bomb update
Post by fotland on Dec 3rd, 2004, 1:17am
Many evaluation adjustments.  Should be more material oriented now, and should be harder to pull its rabbits.

Title: Re: bot_bomb update
Post by PMertens on Dec 3rd, 2004, 8:12am
I will try one game to concentrate on rabbit pulling ....

Title: Re: bot_bomb update
Post by Fritzlein on Dec 3rd, 2004, 12:04pm
Nice try.  It seems Speedy won't let you concentrate on pulling rabbits.  Even if you don't attack with a horse and let Speedy take it hostage, Speedy will come get a horse and hold it hostage all the same.  Then you can get it's small pieces one by one, etc...

If I were a developer, I don't know what I could do to fix the weakness of speedy playing poorly on either side of the elephant/horse deal.  I guess the next thing to focus on might be the play of the camel.  But how do you encode "If the elephants are tied up at the same trap, be more adventuresome with your camel"?  The problem is that it isn't obvious what "tied up" means.

Title: Re: bot_bomb update
Post by PMertens on Dec 3rd, 2004, 3:04pm
since I managed to give speedy some points back .... yes rabbit pulling is now not that interesting anymore - good job


Title: Re: bot_bomb update
Post by PMertens on Dec 3rd, 2004, 7:33pm
I wish other bot developers (me included  :-[) would post here that often about their progress  ;)

Title: Re: bot_bomb update
Post by fotland on Dec 5th, 2004, 2:04am
Fixed some search bugs.  Added something to push the camel into advancing when opponent's elephant is defending a hostage.  

Title: Re: bot_bomb update
Post by Fritzlein on Dec 5th, 2004, 10:00am
Thank you for continuing to improve Bomb.  Playing against an actively developed bot is more like playing against a human, because it is harder to win the same way over and over.  The camel tweak is significant against my elephant/horse attack.  (Although I'm not positive yet that it is refutation.  I think I may just have to play more precisely, and not allow the camel to take my horse hostage, freeing the elephant.)    The good thing is that it isn't routine to beat speedy like it once was, and could again be when you leave this project for other things.  I may have to take it back about the gap between bots and humans widening.


Title: Re: bot_bomb update
Post by fotland on Dec 5th, 2004, 9:44pm
I'm finally happy with the search, since bomb is looking 12 or 13 steps ahead, and speedy is doing 11 or 12.  Extensions typically go 20 steps or more.

Lots of evaluation changes today.  Camel and horse should advance and attack when there is a hostage.  It likes all frames rather than just very favorable ones.  Many minor tweaks and some bug fixes.

Title: Re: bot_bomb update
Post by fotland on Dec 7th, 2004, 1:16am
minor changes today.  Reduced the value of framing a camel, limited depth of quiescence search.  This version seems stronger, but it's still not attacking.

Title: Re: bot_bomb update
Post by Fritzlein on Dec 7th, 2004, 9:35am
It's too bad that speedy won't attack.  Maybe its evaluation function is picking up on the fact that attacking is too dangerous, i.e. disadvantageous to the attacker and advantageous for the defender.  Nah, I'm just kidding to call it a "fact"; to the contrary I slightly believe and fervently hope that multi-piece attacks can be advantageous to the attacker if done correctly.

The most glaring problem for speedy is diddling around against a passive opponent, and possibly losing by formula after eight hours.  This can potentially be solved by single-piece attacks.  That is to say, by being more aggresive with the lone elephant in the opening, and when the elephants are tied up, being more aggressive with the lone camel.  The horses wouldn't absolutely have to be brought into the attacking picture, even though it would be more fun if they were.

Perhaps there is a way to detect passivity by the opponent, e.g. if the opponent has no captures the next move, generating a threat is given priority over consolidating the position.

Title: Re: bot_bomb update
Post by fotland on Dec 7th, 2004, 10:57am
I already have code to detect passivity and force an attack, since someone already made a "wait 8 hours" bot.

Title: Re: bot_bomb update
Post by fotland on Dec 9th, 2004, 10:46pm
reduced value of hostage horse, added evaluation of dominated forward traps.  fixed frame bug.  Didn't do anything yet about reversible moves.

I'd like to see some games with clueless...

Title: Re: bot_bomb update
Post by Fritzlein on Dec 9th, 2004, 11:53pm
Do the changes have anything to do with the way speedy slugged it out with me in the opening of game 10200?  Speedy normally leaves my camel alone and comes back to defend the trap with its elephant, although it was a slightly different opening this time.  Anyway, whatever the reason, I enjoyed the variety.  I thought about defending the camel, but then decided that even if technically correct, it would make the game less interesting than attacking full speed ahead.

Furthermore, since a significant amount of Bomb's code is specific to the camel, I feel it plays worse when one camel is gone, especially in an endgame.  Not that this ever got to an endgame, but it was in the back of my mind that it might help me out to unbalance things, as long as I got reasonable compensation.

Title: Re: bot_bomb update
Post by fotland on Dec 10th, 2004, 11:50am
I didn't look at your game yet, so I don't know.

This new version has a lot of changes in the camel motivations when an elaphant is protecting a hostage.  It should be better at mobilizing the camel.

I also fixed a big problem in the Q search that sometimes returned the worst move rather than the best one.   The new code is faster as well, so it will sometimes search deeper.  It probably still has some bugs though, so I need some test games.

Title: Re: bot_bomb update
Post by fotland on Dec 11th, 2004, 1:57pm
Fixed the double counting threat bug in the last game speedy lost to clueless.

Title: Re: bot_bomb update
Post by omar on Dec 12th, 2004, 12:21am
I think Speedy/Bomb might be getting a bit too cavalier with the camel. In the last two games against me (10220 and 10241) and it ended up trading a horse for its camel.

Title: Re: bot_bomb update
Post by fotland on Dec 14th, 2004, 8:58pm
I did turn down the value of the camel, since a camel vs horse is not a huge disadvantage.

I just made a very minor change to avoid some opening problems I saw in recent games with Fritz and Belbo.

Title: Re: bot_bomb update
Post by fotland on Dec 16th, 2004, 2:15am
Fixed some evaluation bugs I found from Omar's last game where it let him pull and trap a cat early.

Title: Re: bot_bomb update
Post by fotland on Dec 16th, 2004, 4:15pm
Fixed a pruning bug that made it miss an easy goal.  Made it search deeper when there are interesting tactics.

Title: Re: bot_bomb update
Post by PMertens on Dec 16th, 2004, 5:53pm
hmmm - you are still quite active here ;-)

Title: Re: bot_bomb update
Post by fotland on Dec 20th, 2004, 1:02am
Fixed some bugs in the goal search and the Q search.

Title: Re: bot_bomb update
Post by fotland on Dec 30th, 2004, 5:01pm
I put speedy back to 30 seconds.  It looks like everyone who wants to got a chance to try it out at 15 seconds, and it is clear that 15 seconds is much stronger compared with people.

When I didi the tournament port, gcc found a bug in the camel mobility evaluation, so there was a minor change a few days ago.

Title: Re: bot_bomb update
Post by Fritzlein on Dec 31st, 2004, 11:40pm
Yep, I'd say that speedy is about 200 points stronger at 15 seconds per move than at 30 seconds per move, relative to humans.  Whether or not speedy is the strongest Arimaa-playing entity in the world at 15 seconds per move is something I'd like to hash out next week.  :-)

Title: Re: bot_bomb update
Post by 99of9 on Jan 2nd, 2005, 6:51pm

on 12/30/04 at 17:01:24, fotland wrote:
I put speedy back to 30 seconds.  It looks like everyone who wants to got a chance to try it out at 15 seconds, and it is clear that 15 seconds is much stronger compared with people.

When I didi the tournament port, gcc found a bug in the camel mobility evaluation, so there was a minor change a few days ago.


Unfortunately it looks like I missed my chance :-)  I've been away skiing for a week.  But don't worry, I'm not too excited about 15 sec games anyway....

Title: Re: bot_bomb update
Post by PMertens on Jan 2nd, 2005, 7:35pm
I missed my chance too - and why is speedy over 2000 ?????

what are you doing people ?

Title: Re: bot_bomb update
Post by fotland on Jan 2nd, 2005, 9:16pm
It's much stronger at 15 second games :)

Does anyone want me to put it back to 15 seconds?

Omar, if you want to make me another bot account, bot_lightning, I'll run that one at 15 seconds and keep speedy at 30 seconds.  It will be better for the rating system to have separate accounts.


Title: Re: bot_bomb update
Post by PMertens on Jan 3rd, 2005, 9:45am
hehe the lightning bot will be cruel, since it starts with ultra low rating and high RU ...

who dares the first games :-)

Title: Re: bot_bomb update
Post by omar on Jan 4th, 2005, 7:54pm
David, you should be able to create the account yourself from the bot registration page. Check the README.1st file in the bot interface kit.

I would suggest using a name like bot_BombLightning rather than just bot_Lightning. That way people know what the original bot is.

Title: Re: bot_bomb update
Post by Fritzlein on Feb 10th, 2005, 9:53am

on 02/06/05 at 22:19:57, fotland wrote:
One way you could help would be to help me identify missed opportunities.  For example in the bomb-belbo postal game, at 23b, it looks to me that Bomb could immobilize Belbo's Elephant by moving its Elephant to b5 and rabbit to c7.  Later it could pull one of Belbo's rabbits forward to release its own Elephant, and have a winning position.  Is there something I'm missing that makes this a bad plan?  If not, it shows a big problem with the Elephant mobility evaluation.


I like your suggestion for 23b much better than what Bomb actually played.  It doesn't totally lock down Belbo's elephant, because the Gold camel is nearby to try to help dig out the elephant and/or frustrate your plan to complete the cage while rotating out the Silver elephant, but your suggested move would have put Belbo in a very awkward spot to be sure.

I think there must be something wrong with Bomb's elephant mobility evaluation, unless you have worked on it since game 10627, where speedy let its elephant be smothered for only a cat.  Maybe that was a function of limited search depth, but still it seems Bomb has made lots of quesitionable elephant mobility decisions since this evaluation problem was supposedly ironed out.

Title: Re: bot_bomb update
Post by fotland on Mar 1st, 2005, 2:01am
Speedy is back, but the botman seems to crash when it plays gold.

This is an experimental version.  I'm fixing problems found in Paul's postal game:  some trap evaluation bugs, and a rewrite of the static trap sequence evaluator.  The old evaluator looked at traps from upper left to lower right, so it often misevaluated big threats in the lower right corner (as in Paul's game).  The new one evaluates threats from biggest to smallest.

This version has a learning opening book, so the opening setup is no longer random.  Learning is broken for the getmove version, since the final position when the opponent gets the goal is not transmitted by the server.

Title: Re: bot_bomb update
Post by omar on Mar 1st, 2005, 6:24pm

on 03/01/05 at 02:01:14, fotland wrote:
Speedy is back, but the botman seems to crash when it plays gold.


I found a bug that got introduced when I was modifying it to support postal games. This is also why the online bots were perfering to play sivler :-)

I think I've fixed it now. Seems to be working now for the online bots. Download a new copy of the BotKit and try it out.

Omar



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