Advertisement

Neural Net - Playing Cards

Started by October 25, 2005 06:56 PM
15 comments, last by Sneftel 19 years, 1 month ago
Im looking to implement a neural net system to play the game "hearts". I understand the theory behind neural nets but can't seem to find anything which applies or discusses this sort of implementation (closest I have found is blackjack). Any hints etc would be appreciated :)
Why do you think a neural network would be the right tool for the job?
Advertisement
It might not be the best tool for the job but somebody suggested it could work. Im thinking about implementing one of the AI computers with MaxN and one as a neural net and then get them to play against eachother to see how well each one performs.

This isn't for anything critical, mostly just general interest. Im sure there are a number of algorithms that I could use, any other suggestions are welcome.
It sounds like an interesting project.

You might want to try using a neural network as a utility function. That is, find a way to enumerate your game state into a set of numerical inputs, and then output a single value which represents how good the state is. Then, you could loop through all possible moves and evaluate which move would be the best to make.
Neural networks tend to be very very very bad at choosing an optimum move for a turn-based adversarial game. Be advised right now that it will take you awhile to tweak and that its eventual skill will suck ass.
Maybe not too good an idea then, are there any good LEARNING algorithms which could be implemented for this?
Advertisement
Sneftel, wouldn't that be specific to turn based adversarial games with incomplete information? I would think that for certain games with complete information (not hearts) it could do a decent job of learning an evaluation function. Obviously for some difficult games like chess it will fall on its face, but maybe some simpler games?
Quote: Original post by kevmo
Sneftel, wouldn't that be specific to turn based adversarial games with incomplete information? I would think that for certain games with complete information (not hearts) it could do a decent job of learning an evaluation function. Obviously for some difficult games like chess it will fall on its face, but maybe some simpler games?

It could definitely be useful as an evaluation function for early-terminated minmax. I was referring to the case where it was used outside the context of any sort of look-ahead algorithm.
Here is an idea I had that I will throw out (I haven't thought it through very far, but it may give you other ideas).

My thought it that if you were able to estimate what your opponents had in their hands, it would be pretty easy to decide on an optimal move. You could use some statistical inference model to make these guesses, using their past cards played as your evidence. This model would learn by updating its joint probabilities once it knows what cards the opponent actually had.
I was hoping to use neural nets in a way that would allow it to learn 'stratagy' the more games it played, i.e. base its moves off previous moves and how well they worked.

Is this even vaguely possible or am I taking on too big a task?

This topic is closed to new replies.

Advertisement