Welcome, Guest. Please Login or Register.
Apr 18th, 2024, 7:42pm

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « AI Class Project ??? »


   Arimaa Forum
   Arimaa
   Bot Development
(Moderator: supersamu)
   AI Class Project ???
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: AI Class Project ???  (Read 3132 times)
Nombril
Forum Guru
*****



Arimaa player #4509

   
Email

Gender: male
Posts: 292
AI Class Project ???
« on: Feb 17th, 2012, 1:49pm »
Quote Quote Modify Modify

Hoping I can get some feedback and ideas from everyone here...I'm taking a graduate level AI course and we have a group project (3 people) to complete by the end of April.  We have a few weeks here to get a project idea hammered out.  (Project suggestions include optimization problems, spam filtering, recommendation systems, etc)  The scope is small enough to be suitable for a graduate level course...but we aren't expected to do something so in depth and novel that we would expect to publish it.  (If it does go that far...OK, I'm sure all of us would be willing to do a little more over the summer...)
 
1.
In the past I've read advice here about not starting to learn programming with Arimaa bots.  We all know how to program, but besides a month worth of lectures on search techniques, we don't have experience with actually writing game playing agents.  I like to play Arimaa...so am inclined to jump right into programming an Arimaa bot.  Is it foolish to start with Arimaa for game playing bots, or can we start here?
 
2.
Any guess at a ballpark number of hours it takes to get a bot written and playing?  (I'm wondering if we should start from scratch or maybe it would be wiser to test out some variations using one of the sample bots that are available?)
 
3.
Are there any questions people have that we should consider answering with our course project?
 
Thanks for any input on some or all of these questions!!!
IP Logged

Nombril
Forum Guru
*****



Arimaa player #4509

   
Email

Gender: male
Posts: 292
Re: AI Class Project ???
« Reply #1 on: Feb 17th, 2012, 2:03pm »
Quote Quote Modify Modify

PS: I have seen some questions and ideas from Fritz and Hippo at the end of this thread:
 
http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=devTalk;action=display ;num=1249585696;start=
 
I haven't noticed "answers" to these questions, so I assume they are possible points to consider for my 3rd question.
IP Logged

rbarreira
Forum Guru
*****



Arimaa player #1621

   


Gender: male
Posts: 605
Re: AI Class Project ???
« Reply #2 on: Feb 17th, 2012, 2:19pm »
Quote Quote Modify Modify

Since you have time constraints and don't have experience writing game-playing programs I would suggest two simplifications so that you can focus on what's really important:
 
- don't use bitboards. It's probably more straightforward to use a simple 8*8 array as your board representation, even if it doesn't result in the shortest/fastest code possible.
 
- go single-threaded only, don't write a parallel bot.
 
With those two simplifications and if you have some programming experience, I'd say it's definitely feasible.
 
How many hours to write the code? I wouldn't know, but you should expect at least 2000-3000 lines of code for a bare-bones bot.
IP Logged
jdb
Forum Guru
*****



Arimaa player #214

   


Gender: male
Posts: 682
Re: AI Class Project ???
« Reply #3 on: Feb 17th, 2012, 3:43pm »
Quote Quote Modify Modify


The chess programming wiki contains a ton of information. Since arimaa uses a chess board and chess pieces, most of it is relevant.
 
http://chessprogramming.wikispaces.com/
 
Use the Arimaa Engine Interface (AEI). It comes with some tools to play automated games and connect to the server. This is very useful for testing various changes and generating data to put in a report.
 
Using plain alpha beta search is enough to get a decent playing bot. There are dozens of enhancements in the chess wiki that can be added later.
 
 
 
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: AI Class Project ???
« Reply #4 on: Feb 17th, 2012, 6:07pm »
Quote Quote Modify Modify

I imagine that "write an Arimaa bot" isn't too great a scope, because (at the beginning) as soon as you can hook move generation up to the bot interface, you have a bot, and because (later on) you can add as many features as you have time for.
 
I also imagine that some professors won't like the project if your intention is to add features in the order that makes the bot play better.  The most critical features could be completely boring from some perspectives.  It used to be that if a computer would perform a task well, that was AI, no matter how the computer did it, but more recently people seem to think that something is AI (or not) based less on what the computer is doing and more on how the computer is doing it.
 
I particular, your professors may be interested in automated learning.  If so, you could think about a bot that only generates moves and applies an evaluation function, i.e. a bot with no search beyond 1-ply, so that you wouldn't have to spend any precious time on the machinery of search.
 
Just within that limited realm, there are many different types of experiments that you could run.  For example, trying to learn evaluation from self-play would be a very different sort of adventure than trying to learn evaluation from expert games.
 
I'm trying to think within the framework of a graduate class here.  If I were answering from the perspective of "what Fritz wants to know about Arimaa if someone is willing to research it," I would say something completely different.
« Last Edit: Feb 17th, 2012, 6:11pm by Fritzlein » IP Logged

Hippo
Forum Guru
*****




Arimaa player #4450

   


Gender: male
Posts: 883
Re: AI Class Project ???
« Reply #5 on: Feb 21st, 2012, 2:19pm »
Quote Quote Modify Modify

on Feb 17th, 2012, 2:03pm, Nombril wrote:
PS: I have seen some questions and ideas from Fritz and Hippo at the end of this thread:
 
http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=devTalk;action=display ;num=1249585696;start=
 
I haven't noticed "answers" to these questions, so I assume they are possible points to consider for my 3rd question.

 
Actually I have got one student (Tomas Jakl) for bachelor thesis to compare MCTS with alpha-beta. And it is difficult to interpret the results (or rather ... it would need much more/longer experiments). Unfortunately Tomas does not want to continue working on the project. ... The work is included here.  
One thing which favorizes MCTS is its simplicity of time management and paralelization. I don't expect MCTS to be better in blitz speed, but I would bet on it in postal speed.
 
Now I got student for master thesis dealing with "static evaluation function". ... let us see what we get in 2 years ...
« Last Edit: Feb 21st, 2012, 2:25pm by Hippo » IP Logged

Nombril
Forum Guru
*****



Arimaa player #4509

   
Email

Gender: male
Posts: 292
Re: AI Class Project ???
« Reply #6 on: Mar 1st, 2012, 11:02pm »
Quote Quote Modify Modify

Thanks everyone for the input.  I discussed the project briefly with our professor, and they are most interested in the heuristic function, so we'll be thinking about that a bit.
 
As for evaluating how well it works - any thoughts if we should be aiming to beat a particular bench mark bot?  Or reaching some ELO ranking in the game room?
 
For leaving out bitboards - Would adding them in later to require starting over from scratch, just minor modifications, or something in between?
IP Logged

Hippo
Forum Guru
*****




Arimaa player #4450

   


Gender: male
Posts: 883
Re: AI Class Project ???
« Reply #7 on: Mar 2nd, 2012, 1:39am »
Quote Quote Modify Modify

For the searching the game representation is not that much important it just uses "position" and "move" objects.
For position evaluation the game representation could matter. Of course you could convert from one to the other, but the speed is what is the essential. Briareus actually uses both representations in parallel.
So try thinking on evaluation on both representations ... what suits better?
 
Playing against fixed bot is wrong in sense your bot could missuse weaknesses of the bot.  
Gaining given rating is wrong as good player could inflate it easily by intentionaly losing to it.  
And deflating it could be easy as well.
 
Using a set of benchmark bots seems to be "best wrong" solution.
IP Logged

jdb
Forum Guru
*****



Arimaa player #214

   


Gender: male
Posts: 682
Re: AI Class Project ???
« Reply #8 on: Mar 2nd, 2012, 9:47am »
Quote Quote Modify Modify

on Mar 1st, 2012, 11:02pm, Nombril wrote:

 
For leaving out bitboards - Would adding them in later to require starting over from scratch, just minor modifications, or something in between?

 
The way of representing the board is a major decision. Adding bitboards at a later date, would (likely) require rewriting move generation and evaluation at the very least. So switching to bitboards at a later date would require a significant amount of work.
 
 
IP Logged
Hippo
Forum Guru
*****




Arimaa player #4450

   


Gender: male
Posts: 883
Re: AI Class Project ???
« Reply #9 on: Mar 3rd, 2012, 3:08am »
Quote Quote Modify Modify

on Mar 2nd, 2012, 9:47am, jdb wrote:

 
The way of representing the board is a major decision. Adding bitboards at a later date, would (likely) require rewriting move generation and evaluation at the very least. So switching to bitboards at a later date would require a significant amount of work.
 

 
Oh yes, the move objects ... their generator depends very havily on the representation.
It seems to me for move generation the bitboards are much faster.
But for position evaluation the coordinate system could be better.
I am still facing the decision to maintain both at the same time.
IP Logged

Pages: 1  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.