Quote: Original post by InnocuousFox
Your approach was similar to taking a 7 year old ....teach the hapless child calculus at this stage would not be productive for either the student or the teacher.
Tipotas, are you really a hapless 7 year old who just happens to be going to University? Kudos on your work with MinMax; recrusive functions are tricky! Despite what Dave Mark says, it's more linear algebra than calculus. There is some Matrix math, but definately worth doing since it can carry over to all kinds of things non-AI (like 3D rendering).
Quote: Original post by InnocuousFox
The OP isn't "interested in predicting future events based on past behavior." He's interested in writing a simple decision-making agent that needs to look at its own bloody context in the world ... He doesn't even know how to make a context for the agent to look at ... More importantly, he would have no framework for even recognizing, much less recording and analyzing the agents' actions.
The OP (Tipotas688) asked "Hey I have worked on minimax and pathfinding in the past, some of A* as well. What should I try working on next?". Our poor fellow even went on to elaborate that he'd implemented a PacMan AI that could see and had a memory. Sounds to me like he's already got that 'context in the world' thing figured out.
If anything has been confusing the poor lad it's your oft-repeated insistence that he implement a glorifed script engine... err I mean state table.
Quote: Original post by InnocuousFox
Again... there's a lot of math to be learned before calculus.
We're talking about linear algebra Dave. Besides, I'm sure his calculus is adequate given that he's already implemented MinMax.
Quote: Original post by InnocuousFox
You sound like a salesman, by the way.
That's rich, coming from a guy who tags each post with:
- a link to a website where he sells 'AI' expertise.
- a link to buy a copy of his book
- a link to his own forum (where I'm sure he does his best to derive advertising revenue, or promote his own speaking appearances)
Anyway, back to the OP:
Tipotas688, time series analysis is all about finding patterns and trends in past data that can help you make decisions about future events. It's one of those things that can be really simple or really complex, depending on what you want to do. It's also one of those things that hasn't been solved. Wikipedia has a good page on it. The math at Wikipedia is usually pretty formal, but if you Google a specific term you can usually find more clear explanations elsewhere.
A good place to start is linear regression (which you probably already have some experience with). Basically, you have a bunch of points (coordinates of where the player was), and want to find a line that comes close to hitting all of those points-- like estimating a trajectory. It's really simple and can be done in a few lines of code. Non-linear regression allows you to do the same thing, but with more complex curves; instead of figuring out the best line that fits your data, you can figure out the best sine wave, or best zig zag, or whatever.
You don't even need to know what type of curve to use before hand-- Google 'R squared' or 'correlation coefficient'. You can use either number to measure how accurate your regression is. With that you can regress a series of curves to the data and pick that one that has the highest correlation coefficient. I promise that this can all be done in real-time if you're clever about it.
Concepts like a predicition interval can help you judge how how accurate your future prediction will be (as opposed to how accurate it fits the data you already have), and give you a range around that prediction that should 'gaurantee' you've covered your bases. (I use the word gaurantee loosely here)
Imagine that you've been watching the player move towards some goal, and it looks like he's zig-zagging back and forth. Using regression analysis you've modeled the players behaviour (in real-time) and determine that he's about to Zag. You want to know where you should move your AI pieces so as to best block/trap the player. In the real world the player will probably never actually follow your predicted exactly, and so you can use the prediction interval to judge 'where abouts' he's going to be along that predicted path. Place your pieces in such a way as to cover the prediction interval on either side of your regression.. or not. It's up to you-- whatever works best for what you're trying to do. :)