Advertisement

I like AI

Started by October 28, 2010 06:09 PM
26 comments, last by Tipotas688 14 years ago
Quote: Original post by InnocuousFox
Try just developing simple context-dependent decisions. i.e. FSM state transitions. That is far more "AI-like" than Minmax or A*.


I've started a project which has two agents, one trying to get home, one protecting the other if a player is nearby and an escape state. I don't quite feel the satisfaction even if its AI... Should I keep on making states to increase the complexity of the AI or should I implement different scenarios and build AI for those?

Quote: Original post by willh
How about time-series analysis?


Do you have any good papers on it?
Quote: Original post by Tipotas688
I've started a project which has two agents, one trying to get home, one protecting the other if a player is nearby and an escape state. I don't quite feel the satisfaction even if its AI... Should I keep on making states to increase the complexity of the AI or should I implement different scenarios and build AI for those?

The complexity of your AI will increase proportional to the number of things it has to do. If all it has to do is one thing, you will not have to bother with a complex AI. Therefore, create more complex scenarios if you want to push your AI further.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Advertisement
Quote: Original post by willh
How about time-series analysis?

So a guy who barely gets Minimax and A* should do time-series analysis as a next step? Uh... no. There are far more productive and learning-conducive things he could be doing.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Quote: Original post by InnocuousFox
Quote: Original post by Tipotas688
I've started a project which has two agents, one trying to get home, one protecting the other if a player is nearby and an escape state. I don't quite feel the satisfaction even if its AI... Should I keep on making states to increase the complexity of the AI or should I implement different scenarios and build AI for those?

The complexity of your AI will increase proportional to the number of things it has to do. If all it has to do is one thing, you will not have to bother with a complex AI. Therefore, create more complex scenarios if you want to push your AI further.


Any good ideas? :)
As I continue to add states and simultaneous functionality, the organisation of the project gets complicated... How do I create my states in a way to always be able to add more and more, without really a context? Is it even possible? :P
Quote: Original post by InnocuousFox
Quote: Original post by willh
How about time-series analysis?

So a guy who barely gets Minimax and A* should do time-series analysis as a next step? Uh... no. There are far more productive and learning-conducive things he could be doing.


It's a sad day for GameDev when the AI forum moderator thinks trying to model future events based on past events is not productive.

Who would really be surprised though? Dave Mark is the same AI 'expert' who pre-flamed any and all people who dare ask a question about ANNs afterall.

The most basic form of machine learning is regression analysis. Besides it's practical and well documented history, it is also the underpinnings of backpropagation, and the purest form of gradient decent. It's hardly a surprise that curve fitting is one of the first toy-problems ANN folks get introduced to.

Time series analysis is well researched, and the equations are easy to understand due to the bulk of literature on the subject. It builds on a lot of the basics, and can go as deep as you want it to. Infinitely practical stuff.

If you're interested in predicting future events based on past behaviour, time series analysis is your friend. Why anyone would want to model behaviour in a video game is beyond Dave Mark though...
Advertisement
Quote: Original post by willh
Quote: Original post by InnocuousFox
Quote: Original post by willh
How about time-series analysis?

So a guy who barely gets Minimax and A* should do time-series analysis as a next step? Uh... no. There are far more productive and learning-conducive things he could be doing.


It's a sad day for GameDev when the AI forum moderator thinks trying to model future events based on past events is not productive.

I believe that if you use your advanced AI skills to analyze my post (conveniently quoted above), you will note that I didn't say that time-series analysis is not valuable. (In fact, I have done a few n-gram tricks myself in the past -- although not necc. in game AI). What I DID point out, however, was that the OP is obviously new to the field. He doesn't seem to understand simple state transition decisions based on simple rule-based criteria. I think that he is not going to be well served by attempting a more complicated decision algorithm until he knows how to make a decision in the first place.

Your approach was similar to taking a 7 year old who is beginning to grasp multiplication (but can't quite make the leap to division) and suggesting that calculus would be the next logical lesson for him to learn. That is not to say that calculus, as a mathematical technique, is not productive... but rather that trying to teach the hapless child calculus at this stage would not be productive for either the student or the teacher.
Quote: Who would really be surprised though? Dave Mark is the same AI 'expert' who pre-flamed any and all people who dare ask a question about ANNs afterall.
Mis-represented and irrelevant to this discussion.
Quote: The most basic form of machine learning is regression analysis...

Irrelevant to the OP and to the discussion. You sound like a salesman, by the way.
Quote: If you're interested in predicting future events based on past behaviour, time series analysis is your friend.

And this brings us to the point. 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. We're trying to help him with that. If he can't make a context for decisions, he can't reason on them. More importantly, he would have no framework for even recognizing, much less recording and analyzing the agents' actions.

Put another way, reacting to a player's behavior is all about turning knobs on decisions. He doesn't even have any knobs to turn yet.
Quote: Why anyone would want to model behaviour in a video game is beyond Dave Mark though...

Game AI is 99% about modeling the agent's behavior -- not the player's behavior. In fact, you can't react intelligently to the player's behavior unless you can model the agent's behavior. Again... there's a lot of math to be learned before calculus.

Perhaps your own personal AI needs to work on an English parser that better understands the contextual relevance of other people's posts rather than the artificial extension of your own epeen?

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Returning to the subject although I found the rest quite educative, I believe that what I don't have at the moment is exercise. My organisation of states goes right into the bin at the moment and it proves that "knowing" doesn't mean being able to.
I think solving one problem at a time should be better...

EDIT: I also find that since its context dependent I can't make it really robust...

I got interested in time series analysis from your first post and I will give it a look in more depth as soon as I can.

[Edited by - Tipotas688 on November 1, 2010 5:07:41 AM]
Going back to your problem (excellent idea, by the way), set up a scenario where your agent has to constantly decide between a number of different actions and goals. Each of those actions is a state. Write the state so that it performs the action. Then in each state, write code to decide when to change states. Thus, you will have a finite state machine with decision logic to move through that state space.

Alternately, the single best beginning game AI book you can read is Mat Buckland's "Programming Game AI by Example". It walks you through most of what you would need for a lot of different types of AI. (Alas, no time-series analysis, however. Mat is such a schlub.)

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

thanks, haha it has a quote of one of my professors from my MSc :D

This topic is closed to new replies.

Advertisement