Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Bot Development >> bot_clueless
(Message started by: jdb on Nov 14th, 2005, 7:23pm)

Title: bot_clueless
Post by jdb on Nov 14th, 2005, 7:23pm
I started this thread to let people know when I update bot_clueless.

It is running on an AMD 2800.

Giving in to the tremendous peer pressure, I changed the opening setup. Hopefully this version meets with 99of9's approval.  :-)

Added some pruning to the search, so it should search a little better. (I hope)

Title: Re: bot_clueless
Post by 99of9 on Nov 14th, 2005, 8:14pm
Haha, thanks Jeff - I'm sure Clueless will be a worthy opponent once again!

Title: Re: bot_clueless
Post by jdb on Dec 9th, 2005, 7:15pm
I made some more changes.

1) Changed time usage. Hopefully it won't time out anymore. Added some logging to see what's happening

2) Added 2 ply, captures only, Q search. No idea if it helps or not.

3) Fixed repetition of position detection bug. I carefully detected all the duplicate positions in the game file, but never tested them against the actual move.


Title: Re: bot_clueless
Post by jdb on Dec 11th, 2005, 9:41am
More changes:

1) another change to the timing. Hopefully this does it

2) Increased value of a framed piece

3) added null move

Title: Re: bot_clueless
Post by jdb on Dec 13th, 2005, 3:22pm
Ok, timeout stuff seems to be fixed

1) Updated to FAME 2.0. Changes as listed in Fritz's post

2) Changed to all rabbits captured is a win. This is the ruleset for the tournament

3) Scaled FAME values so a rabbit is worth 1000, so I have more room to work with for positional values

Title: Re: bot_clueless
Post by Fritzlein on Dec 13th, 2005, 5:49pm
Thanks for the updates, Jeff.  It's really cool of you to let us know what is going on.  Also, I'm thrilled that any developer thinks FAME is worth using.  Now I will definitely be rooting for Clueless to win the CC.

I hope, though, that having dynamic piece values doesn't cause too much of a headache when combined with static positional values.  For example, cats get way more valuable later in the game, so the value of a cat hostage or a cat threat should rise too.  I wonder if it is possible to index the value of hostages and threats to the positions of the pieces in the matchup order.  That is to say, instead of having a value for an elephant holding a horse hostage, there would be a value for the #1 piece holding the enemy's #4 piece hostage.  Just a thought...

Title: Re: bot_clueless
Post by 99of9 on Dec 13th, 2005, 6:08pm

on 12/13/05 at 17:49:34, Fritzlein wrote:
Also, I'm thrilled that any developer thinks FAME is worth using.

I think we all would if it were easy to integrate - it's clearly a better system than previous proposals.


Quote:
I hope, though, that having dynamic piece values doesn't cause too much of a headache when combined with static positional values.

This is why I'm working on other things instead this year.

Title: Re: bot_clueless
Post by jdb on Dec 15th, 2005, 1:19pm
More changes

1) Fixed bug in defend threat search. This bug caused clueless_test to decide not to capture a free camel.

2) More agressive in advancing rabbits in the endgame.

3) Started changing static positional values to dynamic ones, to stay in tune with FAME values. Currently framed and threatened pieces are done this way.

Title: Re: bot_clueless
Post by jdb on Dec 16th, 2005, 2:13pm
More changes to eval.

1) Added some basic understanding of enemy trap control

2) If enemy trap is controlled, then decide if a rabbit or two should be sent in. Divided board into quarters and do a modified FAME on the quadrant. If attacking side has material superiority and enemy trap control, bonus for sending in the rabbits


Title: Re: bot_clueless
Post by Ryan_Cable on Dec 16th, 2005, 3:07pm

on 12/16/05 at 14:13:25, jdb wrote:
2) If enemy trap is controlled, then decide if a rabbit or two should be sent in. Divided board into quarters and do a modified FAME on the quadrant. If attacking side has material superiority and enemy trap control, bonus for sending in the rabbits

Awesome!  I have been saying for a long time that the bots need a global understanding of the board.

I think FAME would greatly overvalue Rs in goal defense, but maybe this is already included in your modifications.

Clueless has rudimentary global understanding.  Gnobby has some kind of book learning.  Bomb has bugs.  This CC should be much more interesting than I expected 2 months ago.

Title: Re: bot_clueless
Post by Fritzlein on Dec 17th, 2005, 1:23pm

on 12/16/05 at 14:13:25, jdb wrote:
2) If enemy trap is controlled, then decide if a rabbit or two should be sent in. Divided board into quarters and do a modified FAME on the quadrant. If attacking side has material superiority and enemy trap control, bonus for sending in the rabbits

Excellent!  A minor point is for the combination to work the other way, i.e. if there is an advanced rabbit on one wing, then attacking the trap on that side is worth more than usual.  Maybe that is built into the way the eval works, but I thought I would bring it up just in case.

Title: Re: bot_clueless
Post by jdb on Dec 19th, 2005, 9:46am
More changes

1) Fixed horrendous bug in elephant blockade code. Had true and false reversed.

2) Increased major piece mobility values

3) Rabbit attacks are evaluated independantly of enemy trap control. Only condition for attack is material superiority in that quadrant

4) Changed definition of trap control. Stronger side must have at least 2 pieces near trap to have control.

5) Added term to encourage rotating big pieces out of a frame.

Title: Re: bot_clueless
Post by jdb on Dec 27th, 2005, 3:05pm
The comptuer clueless runs on decided to stop sharing files, so I had to convince it that sharing files was in its best interests.

Added code to handle hostage situations and pieces dragged into enemy territory. Clueless should resist getting its pieces dragged a little better and work a little harder on dragging opponents pieces. There are alot of big eval terms in this, so it will take some tuning to get right.


Title: Re: bot_clueless
Post by jdb on Jan 16th, 2006, 11:32am
Added some eval stuff to activate the camel, if the enemy elephant is entangled.

Increased material value relative to the positional terms. It was throwing away rabbits for no reason.

Tested stuff on the tournament computer. Seemed to work ok.

Title: Re: bot_clueless
Post by rajmahendra on Aug 15th, 2009, 12:08am
Hi Jeff,

I am a Java developer too. :)

Is the code in http://arimaa.com/arimaa/download/#javaBot  is updated ?

Just like to see how its coded never tried of any engine.

One doubt.

java -Xmx500000000 -classpath test.jar arimaa3.ArimaaMain posFile moveFile gameStateFile

May i know what are posFile moveFile gameStateFile

how to create these files?

Thank you for creating a Bot in Java it will be helpful for many Java developers :)

Title: Re: bot_clueless
Post by jdb on Aug 15th, 2009, 5:42am

on 08/15/09 at 00:08:07, rajmahendra wrote:
Hi Jeff,

I am a Java developer too. :)

Is the code in http://arimaa.com/arimaa/download/#javaBot  is updated ?

Just like to see how its coded never tried of any engine.

One doubt.

java -Xmx500000000 -classpath test.jar arimaa3.ArimaaMain posFile moveFile gameStateFile

May i know what are posFile moveFile gameStateFile

how to create these files?

Thank you for creating a Bot in Java it will be helpful for many Java developers :)


It is the code from 2006. It is somewhat different than the current version, but the core data structures are still the same.

The posFile moveFile gameStateFile are created by Omar's bot interface script.

Title: Re: bot_clueless
Post by rajmahendra on Aug 15th, 2009, 5:58am
can you give me a sample file of posFile moveFile gameStateFile so i can pass it to the bot.

Title: Re: bot_clueless
Post by jdb on Aug 15th, 2009, 7:27am

on 08/15/09 at 05:58:46, rajmahendra wrote:
can you give me a sample file of posFile moveFile gameStateFile so i can pass it to the bot.


The code has multiple program entry points. The program starts in ArimaaMain if it is going to play in the gameroom. To do testing, start the program in ArimaaEngine. ArimaaMain just pulls in the information from the gameState file and sends it to ArimaaEngine in a format it understands. It would be easiest to start by looking at main in ArimaaEngine.

Title: Re: bot_clueless
Post by rajmahendra on Aug 15th, 2009, 9:16am
Thank you Jeff now i got it.

the input is  a graphical representation of a position and the output is the moves.



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