Machine Learning

From GICL Wiki
Revision as of 00:25, 8 September 2007 by J Dobies (Talk | contribs)

Jump to: navigation, search

Machine learning is a section of computer programming which improve automatically over time. This technique is in many real world applications including the detection of credit card fraud, speech and handwriting recognition, natural language processing and game playing. Machine learning covers several different sections of AI including but not limited to Evolutionary Computation and Artificial Neural Networks

There are many types of learning algorithms for machine learning. These algorithms each have a different desired outcome. Two common algorithms are supervised learning and unsupervised learning. Supervised learning refers to a learning algorithm that that are provided with example inputs. The program can 'ask the teacher' for answers. This usually relies on Inductive reasoning which generalizes based on the available examples. Unsupervised learning is an algorithm that gets no feedback on whether its answers are right or wrong, it instead relies on recognizing patterns of data. This is a very difficult class of learning.

Contents

Gaming

Machine learning has recently been adopted into major gaming releases after a period of lacking enthusiasm towards the field. This lack was do to the feeling that the ability for the computer to "learn" from its opponents would not be appreciated or noticed by gamers and therefore would be a waste of both time and money.

Gaming companies are now looking into the development of games that harness the power of creating a game that can learn from its opponent. Games have standardly used difficulty levels to challenge its players to become better at the game. However these difficulty settings are easily mastered by discovering a routine that will allow them to beat the computer opponent and then using that routine to repeatedly beat the computer. If machine learning is used to control these computer opponents, this unbeatable routine will begin to breakdown. The computer will begin to learn what techniques are being used (such as where the player usually hides or what forces they usually attack with) and will be able to use this to make the game not only more challenging but also different for each user. This would hopefully improve the play-life of each game.

Examples

Various games have used machine learning for different tasks. Some real world application of this technique includes the following:
ReVolt used genetic algorithms to discover optimal paths for the computer to take along the racing paths.
Several fighting and driving games have used machine learning to capture the styles of various professionals This is much more complex than just gathering motion capture data. It also determines when each animation should be triggered and when the transitions are necessary.
An internal version of Command & Conquer Renegade learned the paths taken by human players after changes to the terrain.

Downfalls of Machine Learning

Learned Stupidity- Because the computer adapts to the play style of the gamer, it is possible for the AI system to "learn" the habits of an inexperienced player making it less intelligence.
Overfitting- The AI agent does not develop overall intelligence. If a gamer repeatedly plays one level the AI agents will become very intelligent at that level, but what it has learned would not always apply to later levels causing for the learning to hinder the agent.

Links and References

http://ai-depot.com/GameAI/Learning.html
Rabin, Steve : AI Programming Wisdom - Charles River Media, INC. 2002
Russell, Stuart and Norvig, Peter : Artificial Intelligence 'A Modern Approach' - Prentice Hall 1995
http://satirist.org/learn-game/