8
Artificial Intelligence Part I CMPUT 299 Winter 2007 February 15, 2006 Nathan Sturtevant UofA CMPUT 299 - Winter 2007 Artificial Intelligence Artificial Intelligence (AI) ! What is intelligence? ! What is artificial intelligence? CMPUT 299 - Winter 2007 Artificial Intelligence Intelligence (wikipedia) ! Intelligence is usually said to involve mental capabilities such as the ability to reason, plan, solve problems, think abstractly, comprehend ideas and language, and learn. CMPUT 299 - Winter 2007 Artificial Intelligence AI (wikipedia) ! Intelligence exhibited by an artificial entity.

Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

Artificial Intelligence

Part I

CMPUT 299

Winter 2007

February 15, 2006

Nathan Sturtevant

UofA

CMPUT 299 - Winter 2007

Artificial Intelligence

Artificial Intelligence (AI)

! What is intelligence?

! What is artificial intelligence?

CMPUT 299 - Winter 2007

Artificial Intelligence

Intelligence (wikipedia)

! Intelligence is usually said to involve

mental capabilities such as the ability to

reason, plan, solve problems, think

abstractly, comprehend ideas and

language, and learn.

CMPUT 299 - Winter 2007

Artificial Intelligence

AI (wikipedia)

! Intelligence exhibited by an artificial entity.

Page 2: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

Artificial Intelligence

! Any computer action that isn’t understood

by the user

! The “process” by which objects are

controlled in a game environment

! The “process” by which agents make

rational actions in an environment

CMPUT 299 - Winter 2007

Artificial Intelligence

Game AI

! Control for all but first-person entities

! Objects/areas

! Magical chests (ScriptEase)

! Enemies

! Computer-controlled teams (real-time strategy games)

! Computer bots (first-person shooter)

! Passive enemy units (arcade games)

! Allies

! NWN Henchman

! Your character

CMPUT 299 - Winter 2007

Artificial Intelligence

Game AI drives Animation

! AI dictates the behavior of all non-passive

objects in the world

! Animation is determined by game AI

! Sounds and music might be changed by the AI

CMPUT 299 - Winter 2007

Artificial Intelligence

Why is AI hard/important?

! Computers cannot easily deal with abstract

ideas like we do

! Sting’s blade glows blue when orcs are near.

! Mars will not be this near to earth again until

2018.

! We must define concrete rules (an

algorithm) for the computer to follow

Page 3: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

What is an algorithm?

! A detailed set of actions to perform or

accomplish some task

! Examples:

! Make a peanut butter and jelly sandwich

! Draw a picture of a dragon

CMPUT 299 - Winter 2007

Artificial Intelligence

Describing Algorithms

! Actions

! Move forward 1 step

! Turn 90 degrees

! State

! Location (coordinates)

! Health

! Dynamics (State transitions)

! How does state change when an action is applied

CMPUT 299 - Winter 2007

Artificial Intelligence

PB&J

! What are the actions?

! What are the states?

! What are the transitions?

CMPUT 299 - Winter 2007

Artificial Intelligence

Drawing

! What are the actions?

! What are the states?

! What are the transitions?

Page 4: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

Evaluating Algorithms

! How can we evaluate an algorithm?

1. Does it meet our time constraints?

2. Does it meet our memory constraints?

3. Does it solve the task at hand?

4. Does it do so in an acceptable/realistic

manner?

CMPUT 299 - Winter 2007

Artificial Intelligence

Evaluating Memory Usage

! How much is used during computations?

! No less than the solution size

! How much is stored between computations?

! How much memory does our state take?

! How does this scale?

! Bigger maps, more units

CMPUT 299 - Winter 2007

Artificial Intelligence

Evaluating Speed

! What is the cost of each operation we

perform?

! How many of each operation will we

perform?

! How does this scale?

CMPUT 299 - Winter 2007

Artificial Intelligence

AI Complexity in Games

! We must balance all four needs

! Most resources are dedicated to graphics

! Developers typically chart out exactly howthe CPU will be used

! Eg 33.3 ms per frame

! 15 ms graphics

! 10 ms physics

! 5 ms scripting

! 3.3 ms pathfinding

Page 5: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

Complexity Numbers

! Suppose we have a 3Ghz machine

! 3 billion cycles/second

! Suppose we run at 30 fps

! 100 million cycles/frame

! Suppose we have 100 units

! 1 million cycles/unit/frame

! Suppose world is as complex as all units

! 500k cycles/unit/frame

! Suppose each unit has 1,000 polygons * 500 ops

! Time’s up!CMPUT 299 - Winter 2007

Artificial Intelligence

Simple Task Complexity

! How many paths are there through a grid?

! Start at one corner

! Travel to the other corner

! How many possible paths are there?

! Actions, states, transitions?

CMPUT 299 - Winter 2007

Artificial Intelligence

2x2 Grid

Start

Goal

CMPUT 299 - Winter 2007

Artificial Intelligence

3x3 Grid

Start

Goal

Page 6: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

4x4 Grid

Start

Goal

CMPUT 299 - Winter 2007

Artificial Intelligence

How many paths?

34328x8

9247x7

2526x6

705x5

204x4

63x3

22x2

# of pathsGrid Size

CMPUT 299 - Winter 2007

Artificial Intelligence

AI Approaches

! Ad-hoc

! Finite State Machines

! Search

! Methodic exploration of environment

! Learning

CMPUT 299 - Winter 2007

Artificial Intelligence

Finite State Machines (FSM)

! What is a state?

! The context of the environment that is relevant

for making decisions

! A FSM can test states and apply actions

Page 7: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

FSM Example

! Simple first person shooter (FPS) state:

! Do I have a weapon?

! Am I near an enemy?

! FPS Actions

! Find weapons

! Find enemies

! Shoot enemies

CMPUT 299 - Winter 2007

Artificial Intelligence

Finite State Machine

CMPUT 299 - Winter 2007

Artificial Intelligence

Trogdor!

CMPUT 299 - Winter 2007

Artificial Intelligence

Pacman

Page 8: Artificial Intelligence (AI) Part Iugweb.cs.ualberta.ca/~c250/F07/schedule/lectures/Lecture... · 2007-11-03 · Artificial Intelligence AI (wikipedia)!Intelligence exhibited by an

CMPUT 299 - Winter 2007

Artificial Intelligence

Pacman ghosts

! How are pacman ghosts controlled?

CMPUT 299 - Winter 2007

Artificial Intelligence

FSM Pros and Cons

! Pros:

! How much time does it take to run a FSM?

! How much memory does a FSM use?

! Very simple to implement

! Cons

! May be difficult to reproduce complex behavior

! May be too predictable

CMPUT 299 - Winter 2007

Artificial Intelligence

Lecture 1 End

! Any questions?