Welcome, Guest. Please Login or Register.
Nov 24th, 2024, 2:06am

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « New neural network bot in the works »


   Arimaa Forum
   Arimaa
   Bot Development
(Moderator: supersamu)
   New neural network bot in the works
« Previous topic | Next topic »
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: New neural network bot in the works  (Read 1957 times)
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
New neural network bot in the works
« on: Sep 21st, 2008, 9:08pm »
Quote Quote Modify Modify

I may have missed a mention of this here somewhere but looks like someone is working on building an Arimaa bot with their new neural net framework.
 
The most intriguing part I noticed was that they seem to be taking a much more biological basis for the network than traditional ANNs.
 
Janzert
IP Logged
Polyfractal
Forum Senior Member
****



Arimaa player #3241

   


Gender: male
Posts: 27
Re: New neural network bot in the works
« Reply #1 on: Sep 22nd, 2008, 1:45pm »
Quote Quote Modify Modify

Goodness, I wasn't expecting people to notice my little corner of the internet quite yet! I guess that's what I get for linking to Janzert's site Tongue
 
So, yes, I'm the developer of Distributed Neuron.  I've been lurking around Arimaa for quite some time now, and been working on various iterations of Distributed Neuron even longer.  I've gone through a full code rewrite about four times over the course of about two years.  Because of that, the blog isn't a great source of documentation regarding the project.  A lot of it is outdated.  Even more is just unwritten as I haven't had time to formally express my ideas and theories.
 
If anyone has questions I'd be more than willing to answer them.  I'm a biology major with a heavy emphasis on neuroscience.  I am also an ex-computer-science major, which leads to an interesting mix of skills.
 
The project, in a nutshell, is a biologically inspired neural network that will be evolved over a distributed grid.  I'm making heavy use of biology to model the network architecture and genetic algorithms to shape the networks.  The system is also distributed across multiple client computers to aid in computation time (similar to SETI@Home or Folding@Home).  That's a pretty simplistic explanation of everything but I guess it is a good starting point.
IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: New neural network bot in the works
« Reply #2 on: Sep 22nd, 2008, 6:55pm »
Quote Quote Modify Modify

Actually I was pleasantly surprised to see the link to my site while reading the blog, I noticed the blog from a google alert set up for arimaa.
 
Are you planning to use the neural net as an evaluator behind a traditional alpha-beta search or more directly to choose or even generate moves?
 
In any case it's great to see some more less traditional approaches tried.
 
Janzert
IP Logged
Polyfractal
Forum Senior Member
****



Arimaa player #3241

   


Gender: male
Posts: 27
Re: New neural network bot in the works
« Reply #3 on: Sep 22nd, 2008, 9:36pm »
Quote Quote Modify Modify

The neural networks will be doing all the work in generating, selecting and outputting moves.  The system is setup very similar to how your own brain works.  A "retina" of sorts scans a small portion of the board.  This input is sent to the network and eventually an output  emerges and directs a virtual "hand" to move a piece.  All aspects are controlled by the neural network.  Everything from the "retina" movement to the selection of pieces to the final output of a move.
 
This is also a good example of why I'm using genetic algorithms.  The test networks (generation zero, essentially random networks) are entirely incompetent at generating moves.  The moves they submit are often illegal and receive an error message from the server/match script.  Theoretically the genetic algorithms will help evolve networks that are competent at playing the game.  
 
Of course, playing legally and playing intelligently are two entirely different problems.  Regardless, the process of identifying a piece that is your own, selecting it, moving it to an adjacent non-illegal position and then outputting that move to the server is a incredibly complicated task.  Even if that is all the networks ever achieve I'll be relatively pleased.
IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: New neural network bot in the works
« Reply #4 on: Sep 23rd, 2008, 8:28pm »
Quote Quote Modify Modify

Wow, you're tackling a much harder problem than has been done with the other bots. Good luck.
 
Janzert
IP Logged
Polyfractal
Forum Senior Member
****



Arimaa player #3241

   


Gender: male
Posts: 27
Re: New neural network bot in the works
« Reply #5 on: Oct 9th, 2008, 8:30am »
Quote Quote Modify Modify

Heh, thanks.  I think I'll probably be needing it Smiley
 
Been working on the client a lot lately.  It currently has the ability to check and download "work units" from the server, which are essentially "genomes" to simulate and score.  I'm getting close(r) to having the process fully automated, so you just turn the client on and it plays matches, scores and reports to the server without human intervention.
 
Too bad real world obligations keep development hours to a minimum Sad
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: New neural network bot in the works
« Reply #6 on: Oct 17th, 2008, 4:28pm »
Quote Quote Modify Modify

Wow, that's really a very grand plan. But this is exactly the kind of vision the Arimaa challenge hopes to inspire. I wish you the best of luck with this.
 
Even if you don't win the Arimaa challenge I am sure taking this kind of approach will cause you to encounter several hurdles along the way and possibly even make some break through in the area of Genetic Algorithms.
 
One of the difficulties I had faced when using GAs during my Thesis was maintaining continuous long term evolution. After a certain number of generations the population of specimens would lose diversity and get stuck in a local minimum. So running 10 separate simulations would on average produce a better specimen than running the same simulation 10 times as long. I remember thinking that for the simple problems (like balancing an inverted pendulum) I could get away with restarting the evolution, but what if I was trying to solve a complex problem; I probably would not want to restart the evolution and lose what the specimens had already achieved. I don't know what the current state of the art is these days in GAs and if the problem of sustaining long term evolution has been solved. If not then I am sure you are going to encounter this problem and finding a solution for it I would consider to be a break through in the area of GAs.
IP Logged
Polyfractal
Forum Senior Member
****



Arimaa player #3241

   


Gender: male
Posts: 27
Re: New neural network bot in the works
« Reply #7 on: Oct 26th, 2008, 8:06pm »
Quote Quote Modify Modify

I've thought about this problem a fair amount and am, frankly, unsure how my application will work.  The problem I think is that a genetic algorithm is an outside manipulator of a system that should be self regulating.  Furthermore, the problem of defining "success" is often, I think, a critical problem with many GAs.  Evolution in real life is a much more complicated factor than a simple scale of "success".  Of course, that is just further compounded by the fact that defining success in an Arimaa-playing game is very rather difficult.  My tentative plan is something like this:
 
1) Drive evolution towards networks that are capable of playing the game (select pieces, move pieces, submit turns, etc).  Basic functionality (survivability).
 
2) Drive evolution towards networks that can demonstrate simple game mechanics (pushing/pulling a piece, capturing a piece, etc).
 
3) Drive evolution towards bots that are capable of surviving long periods of time.  Longer survival periods means they are capable of reacting and playing more complicated games.
 
4) Stop evolving for specific "tasks" and instead begin selecting networks that show improvement over time.  At this point, functioning networks should be evolved.  The networks that show improved performance over time (perhaps playing successively longer and longer games) are the ones that may be "learning" and improving.  
 
 
 
I fully expect evolution to progress in spurts (just like it does in real life).  For instance, you either can or can't move a piece.  There is no middle ground.  When a network finally evolves a way to move a piece, that particular ability will quickly migrate across the gene pool.  Hopefully I've designed the "DNA" to be robust and discrete enough that improvements like this can spread without destroying other attributes.
 
Furthermore, this project is planned as a distributed computing project, where volunteer computers simulate networks.  I plan on allowing a wide variety of backgrounds in the genepool to hopefully minimize local convergence.  
 
Of course, it could all flop.  Should be interesting though Smiley
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: New neural network bot in the works
« Reply #8 on: Nov 4th, 2008, 10:44pm »
Quote Quote Modify Modify

Yes, GAs are very sensitive to how you define your fitness function. I found that out while doing my Thesis.
 
I think your plan of gradually refining the fitness function is on the right track. You will just need to make sure that you have the proper number of specimen in the population and you set the mutation rate properly to minimize the chances of getting stuck.
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.