Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Bot Development >> Naught to be cross about
(Message started by: Swynndla on Jun 16th, 2011, 6:09am)

Title: Naught to be cross about
Post by Swynndla on Jun 16th, 2011, 6:09am
So I've been learning minimax & alpha-beta searches, and after much effort and personal sacrifice, I've finally got a tic-tac-toe (we call it naughts & crosses in my country) program working using an alpha-beta incremental depth search in python.  Hey - don't laugh, we're all at different stages.

I haven't made use of symmetry or anything like that as I want to be able to transfer over everything to an arimaa bot.  Since I only know a little bit of programming (I've had no formal training etc), and since Don Daily's sample bot is over my head, I came up with a plan:
1 - get tic-tac-toe bot working using alpha-beta & transposition tables (and maybe bitboards too) in python.
2 - use that to make an arimaa bot in python and play around with other ideas like null move and qsearch and some crazy pruning.
3 - when I'm happy with it, learn C++ (I only know a beginners level of C) and transfer the bot to C++.
4 - enter bot in 2013 computer champs.

(When I've done my bot, if you see her trying to line up three rabbits all the time then you'll know I haven't been able to transfer things as cleanly as I was hoping.)

I'm half-way though step 1, and I'm having fun, but I am surprised at how hard it is to google some step-by-step explanations of these concepts.  This site has heaps of stuff:
http://chessprogramming.wikispaces.com/ .. but it's a bit terse for someone new to it like me.

I'm not looking for sample code, but explanations.  I have found other alpha-beta tic-tac-toe programs on the net, but I only searched for them after I did mine, as I think it's important for me to go through the hard slog of programming it, so that I gain understanding (but explanations of ideas would be nice).  I've been drawing out various search trees on paper etc, and it really helps.

At last I found a site that was pretty much what I was after, but can you believe it's on a way-back machine? ... http://web.archive.org/web/20070706004727/http://www.seanet.com/~brucemo/topics/topics.htm

Anyone know of other sites with good explanations (good = deeper than an overview)?  Or if you have any advise/tips in general for me for that matter, it would be welcome. :)

So far it's been a lot of fun.

Title: Re: Naught to be cross about
Post by aaaa on Jun 16th, 2011, 9:20am
  • http://web.archive.org/web/20071026090003/http://www.brucemo.com/compchess/programming/index.htm (more recent version with more info)
  • course notes at
    http://webdocs.cs.ualberta.ca/~jonathan/PREVIOUS/Courses/657/index.html.

Title: Re: Naught to be cross about
Post by lightvector on Jun 16th, 2011, 9:26am
This site was also helpful for me when I was getting started:

http://mediocrechess.sourceforge.net/guides.html

Title: Re: Naught to be cross about
Post by Swynndla on Jun 16th, 2011, 6:54pm
Cheers for the links!  :)



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