Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 03 Mar 2009
Offline Last Active Sep 19 2012 07:00 AM

Topics I've Started

Monte Carlo Tree Search

01 February 2012 - 11:33 AM

This post is related to a comment Alvaro made in a thread about AI in games of perfect information.

I'm interested in implementing Monte Carlo Tree search for a game that involves random outcomes. For some moves the outcome is fixed. For others there could be 6 or more different outcomes depending on some unknown value. The probabilities of each outcome occuring can change as the game progresses-- in this way it is similar to Poker.

I understand MCTS in terms of growing the tree for moves with a fixed outcome, but I'm confused about nodes that have a random outcome. Do I try to expand these nodes, or do I simply use the node to as a starting point for a number of simulated games?

If they are expanded, how? Is each possible outcome explored as a separate node? Are the probability distributions stored, and the node essentially 'randomized' each time it is visited (which would totally mess up the sanity of child nodes?) I can see the value in expanding them (to a degree) but it seems extermely risky given the nature of UCB-- it may attach priority to a very unlikely outcome.

Any help would be very much appreciated. Thanks!


String representation of ANN

10 May 2011 - 01:13 PM

Hi folks,

Am interested in applying genetic algorithms to artificial neural networks. In the past I've done this by hand coding various mutation and crossover operators (i.e. AddRandomNode(), AddRandomConnection()) quite successfully, but the framework is hardly portable.

What I would like to do is use the 'standard' GA method of bitstring encoding and apply it to an Artificial Neural network. Rather than reinvent the wheel I was wondering if any of the GameDev folks are familiar with a decent string representation of the ANN.

My only real constraints are as follows:

- The number of inputs must be predefined

- The number of outputs must be predefined.

- The network is feed forward.

In terms of architecture, the only constraint is that it's literally feed-forward.

i.e. Node 7 can never connect to node 6, but can connect to node 9 and 10. Node 9 can never connect to 7 but can connect to node 10.

Comments? Suggestions? Is this even worthwhile or am I better off sticking with hand-coded operators?

Comic to eBook converter

07 March 2010 - 10:01 AM

Not really game related, but thought I'd share it here anyway. Just released a program (and source code) to convert Comic book archives (CBR and CBZ) to EPUB, which is an open eBook format supported by most eBook readers. The software can automatically reformat the scanned comic book images so that they display better on most eBook readers. Its free, open source, and available at: http://sourceforge.net/projects/comictoepub/ Enjoy

Classifying data

26 January 2010 - 08:23 AM

I have a 'simple' problem that I'm trying to solve but so far can't think of anything beyond a 'brute force' exhasutive search approach to solving it. I have a sequence of numbers N in the range of -100 to +100. Half of the numbers belong to set A (apples) and half belong to set B (bannanas) which I already know before hand. Each number also has a corresponding weight W. Another way of looking at it would be a chart like this:
A   1.2  5    3    0.2  0    0    0    0.1  0.2
B   0    0.2  0.5  2.5  1.0  2.6  0.1  6    0.1  

I'd like to find the threshold of X that 'splits' the sets with minimal error. In the above example, X > 2 = Bannana, X <= 2 = Apple (error of 0.5) One cheap-but-suboptimal method I currently use is to calculate the weighted mean of both A and B, and then use the point in between as X. (X = 2.22, error = 1.0). One optimal method (which I want to avoid) would be to test every X. Any ideas? :)