Overview of Artificial Intelligence

To a great majority of the population, AI is the brain behind powerful cybermachines the kind found in sci-fi films. To software developers, it's a buzzword for technology that repeatedly failed to deliver on its promises throughout the twentieth century. To academics, it's a seemingly endless source of challenges and excitement.

But how is AI relevant to game developers?

Artificial intelligence has two separate meanings; both types are beneficial to game development:

  • First, AI is a form of intelligence that has been artificially re-created using machines.

  • Second, AI is a set of academic techniques, research methods, and problems that fall into one sub-branch of science.

Machine Intelligence

Historically, it seems "intelligent" is a term mankind found to describe itself. Intelligence is just a human ability that distinguishes us from animals or plants. Nowadays, intelligence is commonly used as a distinguishing trait among humans; everyone implies that "intelligent" means an especially clever person.

Universal Ability

Conceptually speaking, a generic form of intelligence undoubtedly exists. Humans and animals have small subsets of this ability, particular instances of universal intelligence. Humans seem to have inherited a larger portion of this universal skill. However, our biological intelligence lacks some characteristics of universal intelligence (for instance, exhaustiveness and neutrality).

Most computer-science researchers assume that biological intelligence can be reproduced, and that intelligence is not exclusively human. This statement essentially gifts machines with a subset of universal intelligence. AI can therefore be seen as an artificial counterpart of the intelligence produced by our biological brains. Naturally, engineering produces different results than evolution, explaining why AI has different properties than human intelligence (for instance, thoroughness). AI is another instance of universal intelligence.

It's difficult for us to understand universal intelligence because we have few advanced examples. However, we can try to define human intelligence.

Definition of Intelligence

For lack of a better definition, intelligence is a set of skills that allows humans to solve problems with limited resources [Kurzweil02]. Skills such as learning, abstract thought, planning, imagination, and creativity cover the most important aspects of human intelligence.

Given this wide variety of abilities, there is no unique problem to put them all to the test. Animals are intelligent in some ways: they are capable of surviving and managing their time, for instance. Insect colonies can adapt quickly to their environment to protect their nest. Popular IQ tests are very specific and require training more than the gift of "intelligence." These tests measure what is known as narrow intelligence.

Each problem requires different abilities. We're particularly interested in a problem that can become surprisingly complex behaving autonomously within a realistic virtual environment. Playing games isn't just about wrist power and rudimentary reflexes! Games present interesting challenges because most humans find entertainment in solving such problems.

Computer game AI is an artificial version of this human ability. AI controls computer characters purposefully, meaning that actors and background cast don't have to be hired (as they must be in films). We'll refer to this first interpretation of AI as nonplayer character (NPC) intelligence, which implies that it's machine intelligence.

Field of Science

The second interpretation of AI is as a set of technologies. The definition on the introductory page of the AI Depot has served well over the past couple years:

"Artificial intelligence is a branch of science that helps machines find solutions to complex problems in a more human-like fashion. This generally involves borrowing characteristics from biological intelligence, and applying them as algorithms in a computer-friendly way."

AI algorithms can be applied to practically anything they're not just limited to re-creating human intelligence. For instance, they could be applied to managing a production chain, or perhaps to pattern recognition in medical data. The common properties of AI techniques and biological intelligence (for instance, learning or abstraction) make these techniques part of the field of AI.

As a discipline, AI sits at the crossroads of many subjects (for instance, computer science, psychology, and mathematics). These subjects all share a significant body of common knowledge. Given such a wide variety of influences, it's difficult to say what belongs to AI and what doesn't. It seems to vary from year to year, depending on the popularity of each field. There is an increasingly large overlap with other disciplines anyway, which is a good thing; it reveals the maturity of the field and its consistency with other theories.

Historically, AI tended to be very focused, containing detailed problems and domain-specific techniques. This focus makes for easier study or engineering of particular solutions. These specific techniques are known as weak AI because they are difficult to apply outside of their intended domain.

This weakness of AI has become a roadblock one that can't be driven around. Weak AI has been extremely successful in many domains, but human experts need to apply it manually. When trying to assemble techniques together to solve bigger problems, it becomes evident that techniques are too focused.

This is one reason why we need AI engineers. If AI were good enough, programmers wouldn't be needed. This is (at least) a few decades off, however; until then, we need humans to develop the systems. This is the case for AI technology in computer games, too; rest assured, programmers are still necessary!



AI Game Development. Synthetic Creatures with Learning and Reactive Behaviors
AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors
ISBN: 1592730043
EAN: 2147483647
Year: 2003
Pages: 399

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net