# Is there a type of Neural Network able to do this?

This topic is 4787 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi, I am creating a spaceship game, and I have ships with thrusters strategically placed around the ship to allow strafing, rolling, pitching etc. And I was wondering if it would be possible to use some kind of network where I could input the linearVelocity and angularVelocity vectors into the network, which would be 6 input neurons. and the output the amount of thrust(probably in percentage form, 0.0 to 1.0) for each thruster on the ship. So there would be a output neuron per thruster. And to get the error amount, you get the difference between the 'change in the ship's velocities' and the 'inputted velocities'. eg: veloctiesDifference = shipNewVelocities - shipOldVelocities - inputtedVelocties; So I'm guessing I would just use a feedforward network for this, but does anyone have any ideas on how I would train it? I don't think backpropagation could be used here. Thanks btw I know someone else posted a question like this a while ago, but they didn't end up using an ANN.

##### Share on other sites
Provided you can create a good fitness function (a fn that is able to tell you if one ship is performing better than another) you can use a genetic algorithm to train the ANN. See my website for more detail.

##### Share on other sites
Something like this was already discussed here. Have a peek.

##### Share on other sites
The problem here is that your "error" isn't really an error at all. The error in the backpropagation algorithm is supposed to be the difference between the desired output and the actual output. It is used to determine how to shift the weights to move the output closer to the desired output.

If you don't know what you want your function to output, a nueral network using backpropagation won't be able to figure it out either.

##### Share on other sites
Quote:
 Original post by johnnyBravoAnd I was wondering if it would be possible to use some kind of network where I could input the linearVelocity and angularVelocity vectors into the network, which would be 6 input neurons.

Do you intend to feed the network the curent linearVelocity and angularVelocity, or the desired linearVelocity and angularVelocity? This will make a difference to your network architecture and training scheme.

Timkin

##### Share on other sites
Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

##### Share on other sites
Quote:
 Original post by SneftelWhy bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

I agree absolutely... but the problem around here Sneftel is that people typically pick up a hammer and then start trying to make all their problems look like nails!

##### Share on other sites
Quote:
Original post by Timkin
Quote:
 Original post by SneftelWhy bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

I agree absolutely... but the problem around here Sneftel is that people typically pick up a hammer and then start trying to make all their problems look like nails!

hehe, yeah! They do have a habit of doing that.

There is one thing to point out though: If you just want to learn about ANNs then it helps to get some practical experience trying to solve *any* kind of problem; especially if it's fun.

##### Share on other sites
Call me practical, but I think that problem can be solved with a good old math analysis, without the use of any learning at all.

##### Share on other sites
Quote:
Original post by Timkin
Quote:
 Original post by johnnyBravoAnd I was wondering if it would be possible to use some kind of network where I could input the linearVelocity and angularVelocity vectors into the network, which would be 6 input neurons.

Do you intend to feed the network the curent linearVelocity and angularVelocity, or the desired linearVelocity and angularVelocity? This will make a difference to your network architecture and training scheme.

Timkin

I think to feed it 'new' velocities, eg roll by 0.2

Quote:
Original post by Timkin
Quote:
 Original post by SneftelWhy bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

I agree absolutely... but the problem around here Sneftel is that people typically pick up a hammer and then start trying to make all their problems look like nails!

:)

Quote:
 Call me practical, but I think that problem can be solved with a good old math analysis, without the use of any learning at all.

I'm making the program more like a simulation to test my attempts at ai, so its more of a learning experience than making a game.

Quote:
 Original post by fupProvided you can create a good fitness function (a fn that is able to tell you if one ship is performing better than another) you can use a genetic algorithm to train the ANN. See my website for more detail.

I'm trying out the genetic algos right now, i think they're looking quite promising.

I read all the tutorials you had there, they were pretty good.

Quote:
 Why bother with the complexity, overhead, training, untweakability, and inefficiency of an ANN? This is well-trodden ground for control systems.

I've thought about doing that, like would it be better to have the ai use them instead of me trying to evolve something to do it automatically. And that I could use state-based ai, and hard code all the things like targeting, moving to positions etc, but there are just so many nails....

edit:

actually i've been thinking of using two different ai schemes.
as there are two opposing teams in this app, iv been thinking about having one use state-based ai, and the other a bunch of genetic evolved ann's.

..might be cool if i can get the Anns ones to work.

1. 1
Rutin
73
2. 2
3. 3
4. 4
5. 5

• 21
• 10
• 33
• 20
• 9
• ### Forum Statistics

• Total Topics
633427
• Total Posts
3011818
• ### Who's Online (See full list)

There are no registered users currently online

×