Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Bot Development >> Winning with random moves
(Message started by: leon_messerschmidt on Feb 27th, 2014, 2:19am)

Title: Winning with random moves
Post by leon_messerschmidt on Feb 27th, 2014, 2:19am
I'm dabbling with the idea of writing a bot.  To test the mechanics of my move-generator I wrote a bot that selects random moves and matched it against the random player in AEI.

Curiously when I pitch the two together my bot wins roughly 70% of the time.  When two instances of the AEI random player face off, they win about 50/50.  Likewise for two instances of my random bot.

The only reason I can think of is that my bot culls duplicate moves and that the AEI random player selects from all available moves.  But it doesn't sound right does it?

Title: Re: Winning with random moves
Post by chessandgo on Feb 27th, 2014, 4:24am
If "culls duplicate moves" means that you select a post-move position uniformly at random instead of a uniformly random move, you give more weight to captures and fast rabbit advances (which mostly can only be achieved with one move, while useless moves replicate more easily, especially the two-effective plus 2 reverse steps)

Title: Re: Winning with random moves
Post by clyring on Feb 27th, 2014, 7:01am
A random-mover is indeed stronger than a random-stepper, but not to the point of having a 70% winrate. If I had to guess, the other difference is that only one of the setup protocols is random.

Title: Re: Winning with random moves
Post by Ail on Feb 27th, 2014, 7:35am
I'm rather curious how many moves on avarage a match of 2 random-movers takes.

I also started coding some arimaa-stuff.

Right now I'm still at my move-checker. It would have been easy if you could only move your own pieces but checking the validity of pushing/pulling is not a simple task. ^^

Is there probably any open-source bot where one could copy&paste the basics so one doesn't have to reinvent everything from scratch?

Title: Re: Winning with random moves
Post by petermck on Feb 27th, 2014, 10:41am
Looks like there's a bunch of source code here that you could probably use:
http://arimaa.com/arimaa/download/

Title: Re: Winning with random moves
Post by leon_messerschmidt on Feb 27th, 2014, 1:58pm
@chessandgo I generate all possible positions (4 steps deep) and use a transposition table to remove duplicates.  And then randomly select a position from that set.

Thank you for your insights.  That makes a heap of sense.  

Title: Re: Winning with random moves
Post by clyring on Feb 27th, 2014, 10:11pm
Apparently there was already some research into this in 2003. See also this thread (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=talk;action=display;num=1065901453;start=30#37).

Title: Re: Winning with random moves
Post by Janzert on Feb 28th, 2014, 10:07am

on 02/27/14 at 07:01:30, clyring wrote:
If I had to guess, the other difference is that only one of the setup protocols is random.


The "simple_engine.py" included with AEI is a constant setup, random stepper. So like clyring I would guess that your bot is most likely either using random setups or possibly a constant setup that favors random movement more (maybe some or all rabbits forward?).

Janzert



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