Author |
Topic: New neural network bot in the works (Read 1957 times) |
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
New neural network bot in the works
« on: Sep 21st, 2008, 9:08pm » |
Quote 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:
Posts: 27
|
|
Re: New neural network bot in the works
« Reply #1 on: Sep 22nd, 2008, 1:45pm » |
Quote 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 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:
Posts: 1016
|
|
Re: New neural network bot in the works
« Reply #2 on: Sep 22nd, 2008, 6:55pm » |
Quote 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:
Posts: 27
|
|
Re: New neural network bot in the works
« Reply #3 on: Sep 22nd, 2008, 9:36pm » |
Quote 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:
Posts: 1016
|
|
Re: New neural network bot in the works
« Reply #4 on: Sep 23rd, 2008, 8:28pm » |
Quote 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:
Posts: 27
|
|
Re: New neural network bot in the works
« Reply #5 on: Oct 9th, 2008, 8:30am » |
Quote Modify
|
Heh, thanks. I think I'll probably be needing it 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
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: New neural network bot in the works
« Reply #6 on: Oct 17th, 2008, 4:28pm » |
Quote 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:
Posts: 27
|
|
Re: New neural network bot in the works
« Reply #7 on: Oct 26th, 2008, 8:06pm » |
Quote 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
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: New neural network bot in the works
« Reply #8 on: Nov 4th, 2008, 10:44pm » |
Quote 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 |
|
|
|
|