Welcome, Guest. Please Login or Register.
Mar 29th, 2024, 4:58am

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « Technical issues about self-modifying bots »


   Arimaa Forum
   Arimaa
   Bot Development
(Moderator: supersamu)
   Technical issues about self-modifying bots
« Previous topic | Next topic »
Pages: 1 2  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: Technical issues about self-modifying bots  (Read 3741 times)
BlackKnight
Forum Guru
*****



Arimaa player #695

   


Gender: male
Posts: 98
Technical issues about self-modifying bots
« on: Nov 16th, 2005, 9:41pm »
Quote Quote Modify Modify

There was quite some discussion about bots that can learn and analyze games by themselves to extend their knowledge about other players and bots even during the championship.
 
I'm wondering how can the submitted bot access the game database? Will all games also be stored in ASCII format in a certain directory which will be accessible by the bots? The bots will for sure not be able to download the zip-files. Wink
 
How is it possible to start a process that updates for example the opening database? And how much time will be allowed for doing so?
 
Those are just two points that pop up in my mind immediately and I guess there will be more if developers really want to start to integrate such ideas.
 
Thanks.
IP Logged
99of9
Forum Guru
*****




Gnobby's creator (player #314)

  toby_hudson  


Gender: male
Posts: 1413
Re: Technical issues about self-modifying bots
« Reply #1 on: Nov 16th, 2005, 9:59pm »
Quote Quote Modify Modify

on Nov 16th, 2005, 9:41pm, BlackKnight wrote:
I'm wondering how can the submitted bot access the game database? Will all games also be stored in ASCII format in a certain directory which will be accessible by the bots? The bots will for sure not be able to download the zip-files. Wink

One method I tried was for the bot to first be trained on the whole database, and then be updated by keeping records of its own games only.  However I agree with you it would be nice to have the up to date game database available to the CC bots.  Omar could you arrange this if someone actually had a bot able to profit from it?
 
Quote:
How is it possible to start a process that updates for example the opening database?

When I mentioned this problem to Paul Mertens about a year ago, he kindly modified the bot script to run a program (that I specified in the bot.cfg file) at the end of each game the bot played.  I used it for a while and it worked quite well.  Obviously the bot was unavailable for play during this self-modification.  Unfortunately Omar has since made an update to the main bot script, so the version Paul gave me no longer communicates properly with the server (every time it plays gold it starts before the opponent even arrives Smiley).  I wasn't even clever enough to cut and paste Paul's modifications effectively either!
 
Anyway, in the long term I'd envisage this becoming part of the standard bot script.  Omar is certain to be cleverer than me in this regard, and even if he's not, we can always call on Paul Wink.
 
Quote:
And how much time will be allowed for doing so?

Until the next game is scheduled!  But processing one or two games shouldn't take long... what are you imagining??
« Last Edit: Nov 16th, 2005, 10:01pm by 99of9 » IP Logged
BlackKnight
Forum Guru
*****



Arimaa player #695

   


Gender: male
Posts: 98
Re: Technical issues about self-modifying bots
« Reply #2 on: Nov 16th, 2005, 11:10pm »
Quote Quote Modify Modify

on Nov 16th, 2005, 9:59pm, 99of9 wrote:

Until the next game is scheduled!  But processing one or two games shouldn't take long... what are you imagining??

Yes, I agree that integrating a few games into the opening data base shouldn't take a long time unless you decide you want to "confirm" the quality of a move by let's say a 6-ply analysis which could be achieved by some bot maybe (my own bot is VERY far from this! Wink) but still would take a very long time. Of course I'm not quite sure whether this would help a lot anyway and a human might still judge this move as bad in a positional sense.
 
I guess my following imagination is quite a bit too futuristic:
I hope some time a bot could "sit down" especially after a lost game -- just like a human -- and start to analyze why (S)HE lost the game and improve later on.  Cheesy
I guess such an analysis would also take a long time.
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: Technical issues about self-modifying bots
« Reply #3 on: Nov 19th, 2005, 9:38am »
Quote Quote Modify Modify

I just modified the bot script to allow running a post game program. Download the bot interface kit and give it a try. Let me know if you encounter any problems, since I didn't test the changes.
IP Logged
99of9
Forum Guru
*****




Gnobby's creator (player #314)

  toby_hudson  


Gender: male
Posts: 1413
Re: Technical issues about self-modifying bots
« Reply #4 on: Nov 19th, 2005, 8:40pm »
Quote Quote Modify Modify

Thanks heaps Omar, I'll download it and test it sometime soon.
IP Logged
BlackKnight
Forum Guru
*****



Arimaa player #695

   


Gender: male
Posts: 98
Re: Technical issues about self-modifying bots
« Reply #5 on: Nov 19th, 2005, 10:47pm »
Quote Quote Modify Modify

Thanks a lot also from me! I will try it out soon!
IP Logged
99of9
Forum Guru
*****




Gnobby's creator (player #314)

  toby_hudson  


Gender: male
Posts: 1413
Re: Technical issues about self-modifying bots
« Reply #6 on: Nov 29th, 2005, 2:17am »
Quote Quote Modify Modify

on Nov 16th, 2005, 9:59pm, 99of9 wrote:
However I agree with you it would be nice to have the up to date game database available to the CC bots.  Omar could you arrange this if someone actually had a bot able to profit from it?

This has become a more pressing question for me.  Gnobot now learns from the game database.  On the CC computers, is it possible to have access to an up to date version of allgames2005 ?  I suppose I could wget it after each game,  but for one that would mean a large MB download (do the CC computers have available bandwidth?), and secondly since it's currently only updated once a week it wouldn't help that much.
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: Technical issues about self-modifying bots
« Reply #7 on: Nov 29th, 2005, 5:17pm »
Quote Quote Modify Modify

Out of curiosity, are you keeping a database of whole games internal to Gnobot, or do you just want a chance to review any new games (updating Gnobot as you go) before discarding the game record?
IP Logged

99of9
Forum Guru
*****




Gnobby's creator (player #314)

  toby_hudson  


Gender: male
Posts: 1413
Re: Technical issues about self-modifying bots
« Reply #8 on: Nov 29th, 2005, 6:53pm »
Quote Quote Modify Modify

As poor as I am at keeping secrets, I think it would be prudent for the next month.  You may be able to figure out the answer to your question by reviewing Gnobby's recent games.
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: Technical issues about self-modifying bots
« Reply #9 on: Nov 29th, 2005, 7:27pm »
Quote Quote Modify Modify

Hey Toby,
 
See if this will suit your needs.  
 
http://arimaa.com/arimaa/games/db.cgi
 
Omar
IP Logged
99of9
Forum Guru
*****




Gnobby's creator (player #314)

  toby_hudson  


Gender: male
Posts: 1413
Re: Technical issues about self-modifying bots
« Reply #10 on: Nov 29th, 2005, 7:35pm »
Quote Quote Modify Modify

That's superb Omar!  And so fast.
 
Thankyou very much.
IP Logged
PMertens
Forum Guru
*****



Arimaa player #692

   
WWW

Gender: male
Posts: 437
Re: Technical issues about self-modifying bots
« Reply #11 on: Nov 29th, 2005, 8:16pm »
Quote Quote Modify Modify

hmmm ... I really really should do more about my bot Grin
IP Logged
99of9
Forum Guru
*****




Gnobby's creator (player #314)

  toby_hudson  


Gender: male
Posts: 1413
Re: Technical issues about self-modifying bots
« Reply #12 on: Jan 23rd, 2006, 7:30pm »
Quote Quote Modify Modify

on Nov 29th, 2005, 5:17pm, Fritzlein wrote:
Out of curiosity, are you keeping a database of whole games internal to Gnobot, or do you just want a chance to review any new games (updating Gnobot as you go) before discarding the game record?

 
on Nov 29th, 2005, 11:29am, 99of9 wrote:
As poor as I am at keeping secrets, I think it would be prudent for the next month.  You may be able to figure out the answer to your question by reviewing Gnobby's recent games.

 
As I have probably already let slip the answer to your question, this post is perhaps unneccessary, but for those not in the know...
 
Gnobot keeps an internal database of all moves from every position that has ever been seen, and their success rates.  It uses that information in an opening book, which chooses the "most successful" move from the position it finds itself in, and plays it.  Searching the database usually takes about 0.5 seconds.  The definition of "most successful" is an interesting theoretical question, and I think I found a fairly good scoring system for this.
 
Whilst this has not added up to outrageous success in the tournament, it does have some advantages:
1) Opening competence will remain fairly contemporary, even as humans develope new setups.  I take personal pride in the fact that Gnobby's analysis currently leads it to use the 99of9 setup with gold Smiley, but as theory moves on, that may change.
 
2) If a completely deterministic bot is ever submitted, Gnobby has a chance of beating it using entire games copied from others.  It may not always follow the right lines (it depends how distinctive the other bot's play is), but sometimes it gives gnobby cheap games.
 
3) It appears that many of the other CC bots are seriously randomizing their opening setups.  This may be a response to Advantage #2.  The reason this is good for Gnobot is that it got to play against what I consider were often inferior setups.
 
4) It adds to the unpredictability of Gnobby's opening.  Many previous botbashing attempts focussed on one particular line of play, and gradually smacked Gnobot harder and harder as the human figured its weaknesses out.  This should no longer work for very long, because soon Gnobot will consider that an inferior line to go down.  Further it cannot be done by playing unrated games, because Gnobot deliberately sets up badly every time it senses that it is playing unrated.
 
How about disadvantages?
1) I have noticed is that Gnobot occasionally follows a line that originated from a player (eg blue22) that plays with a style that totally opposes Gnobot's.  Once the opponent deviates, Gnobot finds itself totally lost, and scrambling for things to do.
 
2) Once I noticed that it followed a "sacrificial" line, but then the opponent deviated, and Gnobot came out of the book a dog behind!!  People have suggested ways to prevent this, and that may be necessary once Gnobot gets good at winning games in it's own right.
 
3) perhaps more?
IP Logged
fotland
Forum Guru
*****



Arimaa player #211

   


Gender: male
Posts: 216
Re: Technical issues about self-modifying bots
« Reply #13 on: Jan 24th, 2006, 12:11am »
Quote Quote Modify Modify

bomb also keeps an opening book of every position it has ever seen.  It just keeps a count of wins and losses from this position, and includes this in the evaluation function, as 0.1 rabbit times (wins - losses).
IP Logged
Ryan_Cable
Forum Guru
*****



Arimaa player #951

   


Gender: male
Posts: 138
Re: Technical issues about self-modifying bots
« Reply #14 on: Jan 24th, 2006, 10:07pm »
Quote Quote Modify Modify

on Jan 24th, 2006, 12:11am, fotland wrote:
bomb also keeps an opening book of every position it has ever seen.  It just keeps a count of wins and losses from this position, and includes this in the evaluation function, as 0.1 rabbit times (wins - losses).

Is this just for bot_bomb or will it be in the Bomb2006CC, etc?  Surely it has not been in effect for the Bomb2005s.  By "it has ever seen" you mean only positions where it was playing right?
 
The problem with any sort of database learning and IMO the main problem with bot programming in general is that there are many positions that are strategically indistinguishable but are slightly or even significantly different in actual piece placement.  At the same time, there are positions that are strategically or tactically very different despite very similar piece placement.  (This is probably a particular problem for a bot like Bomb that randomizes its opening.)
 
While a human cannot always tell these situations apart at a glance, a human being has the luxury of being able to think strategically about the specific position under question.  A bot designer must try to express all necessary strategic knowledge about all positions that could possibly occur in a game in the evaluation function.  The need to be all things to all positions inevitably results in an evaluation that is very wrong in some positions and a little off in nearly all positions, no matter how well tuned the evaluation weights are.  Short of having a bot that has real intelligence, the only solution I see to this is the error filtering effect of doing backwards induction (alpha-beta minimax) from a position many ply ahead (which is what Arimaa’s high branching factor prevents).
IP Logged
Pages: 1 2  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.