No, it isn't - just like the subject in the Chinese room experiment cannot understand Chinese yet is able to reply with perfect language to given input.
No, it isn't - just like the subject in the Chinese room experiment cannot understand Chinese yet is able to reply with perfect language to given input.
Oh, come on. This is silly semantics. Human written engine doesn't "understand" the game state any more than an AI does!
Game engine here _merely_ means the algorithm that takes user input, calculates the next state of the game and outputs it to the screen. No-one has claimed that this engine would be a generic engine capable of running a variety of games. No. Only this game.
Whether the engine is written manually by a human or is a trained AI is irrelevant. It's still a game engine. The AI trained may have a different internal representation of the game state, but it still must have something like that.
The whole POINT of this exercise is to find an automatic way of generating this algorithm without manually writing code.
You don't seem to understand the difference between predicting what could be next compared to actually producing things from scratch.
Think of this in terms of a movie where there is no user input and the state is linear (state is frame number and increments at a constant rate). Predicting next frame and saying that AI can recreate a movie is false and very misleading.
Add in user input and non-linear state and your AI isn't very useful anymore, even with predicting next frames (you'll never reach perfect reproduction given the vast game state that is possible).
There specifically IS user input involved here. There is no "building from scratch".
I can look at (simple) video footage of a game I've never seen before and start to model in my head various ways how certain mechanisms can be implemented in code. I quickly learn to predict how different game elements move based on how they look and similarly looking things have moved before. Even if I didn't know anything about programming, I could learn to predict how that monster moves. In fact, playing the game trains my brain to predict these things.
_Obviously_ I might not know what's behind that next monster. I don't know what the game designers have come up with: some things are _impossible_ to predict, but the basic mechanics can be learned and the more I play, the better my prediction accuracy gets.
The mechanics of me learning these things is not too far away from e.g. neural network learning the same things. Again, obviously, the neural network cannot create the parts of the game world it hasn't seen. But no-one is claiming that. Nor that just by showing a little bit of game play, we could re-create the whole game. Only that it can probably learn to render the mechanics (game engine) based on user input. The authors showed some interesting results based on this.
> Oh, come on. This is silly semantics.
That is the exact point of the thought experiment, semantics vs syntax. A computer can work well with syntax but semantics are not so easy.
> You keep bringing up these useless analogues about movies and chinese boxes. Be more specific.
They're useless to you because you don't seem to understand how neural network or current AI tech works. In the current fashion, generalist AI like a game engine is very much impossible.
> I can look at (simple) video footage of a game I've never seen before and start to model in my head various ways how certain mechanisms can be implemented in code. I quickly learn to predict how different game elements move based on how they look and similarly looking things have moved before. Even if I didn't know anything about programming, I could learn to predict how that monster moves. In fact, playing the game trains my brain to predict these things.
Sadly our computers don't have a human brain, which is entirely the point of AI.
> The mechanics of me learning these things is not too far away from e.g. neural network learning the same things. Again, obviously, the neural network cannot create the parts of the game world it hasn't seen. But no-one is claiming that. Nor that just by showing a little bit of game play, we could re-create the whole game. Only that it can probably learn to render the mechanics (game engine) based on user input. The authors showed some interesting results based on this.
Game states are too large to be entirely seen even by a computer. We need pruning and MCTS for simple adversarial searches in games like chess, Go; What makes you think some magical AI can imitate a game engine?
I have some understanding how that works. You seem to read me incorrectly and extend what I say to something different.
Again, and I repeat myself, I don't claim "generalist AI". I don't claim that we can have a machine learning algorithm that learns ANY game mechanics perfectly just by looking at limited amount game play. Obviously that's not true for any neural network including human brain.
What I do claim is that we can have a machine learning algorithm that can learn some interesting game mechanics just by looking at game play. That is what the researchers intended and got some interesting results.
> Game states are too large to be entirely seen even by a computer. We need pruning and MCTS for simple adversarial searches in games like chess, Go; What makes you think some magical AI can imitate a game engine?
Ok, you may have a different definition of "game state" than I do.
My definition (which I think is the correct one): The state of the variables in a game program that define the state of the game. The game state may include variables that contain the position of monsters, player's score etc. The game state can be used
Game state is NOT all the possible game states of a particular game. That's called game state space. I'm sure you know that, I'm just being pedantic of course.
Now let us consider the game of Chess, which is not the best example, but let's do it anyway. The game state in chess is basically the position of the chess pieces on a board. That is about 64 variables. It is conceivable that we could use a machine learning algorithm to learn the _rules_ of the game and how to render the current state of the chess game ("game engine") just by showing the algorithm valid input (player move, image of the game board before move) and output (image of the game board after move) of the game.
Can we learn the rules of chess perfectly? Well, that might be hard, I fully understand that. We should carefully select all the interesting chess game positions to make sure the machine learns everything correctly and we would never be sure.
But that is not what we're trying to do here! We're trying to use machine learning to get some useful and possibly creative game engines without manually defining the rules (programming). The idea is not to replicate something existing perfectly. That was never my claim.
BTW, although this is not exactly what we're discussing here, Matthew Lai has done some interesting research on this topic. [1]
"Instead of the conventional method of teaching computers how to play chess by giving them hardcoded rules, this project is an attempt to use machine learning to figure out how to play chess through self-play, and have them derive their own rules from the games."
> What makes you think some magical AI can imitate a game engine?
Your rhetorical question seems to assume that I've said something I haven't said. If you have an argument, state that in sentences.
Let me repeat. A neural network (or some other machine learning model) can learn to do similar things than a game engine does, namely take user input, maintain game state and render game state. Therefore this model can be considered as a game engine for a given game being modeled. That's the extent of my argument. Nothing more. I don't think we need any magic with this.