Was this page helpful?

16.01. Basic concepts of artificial intelligence

    Table of contents
    No headers

    Goal: Learn about the basic consepts of artificial intelligence

    Outcomes: After the completion of this activity, users will be able to:

    • Understand the usefulness of AI to provide intelligent behavior in programs
    • Classify different types of AI applications

     

    Script Summary: In this tutorial we will learn about the difference between game AI (artificial intelligence) and academic AI as well as the two main techniques for game AI.

    Procedure: Follow sequentially the steps described next

    Step 0: Academic AI vs game AI

    Artificial intelligence (AI) is the intelligence  of machines and the branch of computer science that aims to create it. Textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who coined the term in 1956, defines it as "the science and engineering of making intelligent machines."

    Academic AI is also referred to as Strong AI. This is artificial intelligence that matches or exceeds human intelligence (the intelligence of a machine that can successfully perform any intellectual task that a human being can)

    Game AI is referred as weak AI. The weak AI hypothesis: the philosophical position that machines can demonstrate intelligence, but do not necessarily have a mind, mental states or consciousness. The bottom line is that the definition of game AI broad and flexible. Anything that gives the illusion of intelligence to an appropriate level, thus making the game more immersive, challenging, and, most importantly, fun, can be considered game AI. Just like the use of real physics in games, good AI adds to the immersion of the game, drawing players in and suspending their reality for a time.

     

    Step 1: Deterministic vs non-deterministic AI 

    Game AI techniques generally come in two flavors: deterministic and nondeterministic.#

    Deterministic
    Deterministic behavior or performance is specified and predictable. There's no uncertainty. An example of deterministic behavior is a simple chasing algorithm. You can explicitly code a nonplayer character to move toward some target point by advancing along the x and y coordinate axes until the character's x and y coordinates coincide with the target location.

    Deterministic AI techniques are the bread and butter of game AI. These techniques are predictable, fast, and easy to implement, understand, test, and debug. Although they have a lot going for them, deterministic methods place the burden of anticipating all scenarios and coding all behavior explicitly on the developers' shoulders. Further, deterministic methods do not facilitate learning or evolving. And after a little gameplay, deterministic behaviors tend to become predictable. This limits a game's play-life, so to speak.

    Nondeterministic
    Nondeterministic behavior is the opposite of deterministic behavior. Behavior has a degree of uncertainty and is somewhat unpredictable (the degree of uncertainty depends on the AI method employed and how well that method is understood). An example of nondeterministic behavior is a nonplayer character learning to adapt to the fighting tactics of a player. Such learning could use a neural network, a Bayesian technique, or a genetic algorithm.

    Nondeterministic methods facilitate learning and unpredictable gameplay. Further, developers don't have to explicitly code all behaviors in anticipation of all possible scenarios. Nondeterministic methods also can learn and extrapolate on their own, and they can promote so-called emergent behavior, or behavior that emerges without explicit instructions.

     

    Sources:

    1. AI for Game Developers By David M. Bourg, Glenn Seeman
    2. http://en.wikipedia.org/wiki/Artificial_intelligence
    3. http://en.wikipedia.org/wiki/Weak_AI
    4. http://en.wikipedia.org/wiki/Strong_AI
       
    Was this page helpful?
    Tag page (Edit tags)
    • No tags
    You must login to post a comment.


    This project has been funded with support from the European Commission.
    This publication [communication] reflects the views only of the author,
    and the Commission cannot be held responsible for any use
    which may be made of the information contained therein.
    Powered by MindTouch Core