• No results found

Computer Game Programming Intelligence I: Basic Decision-Making Mechanisms

N/A
N/A
Protected

Academic year: 2021

Share "Computer Game Programming Intelligence I: Basic Decision-Making Mechanisms"

Copied!
48
0
0

Loading.... (view fulltext now)

Full text

(1)

15-466

Computer Game Programming

Intelligence I:

Basic Decision-Making Mechanisms

Maxim Likhachev

Robotics Institute

(2)

AI Architecture

(3)

Decision-making Framework

from “Artificial Intelligence for Games” by I. Millington & J. Funge

e.g., health level, availability of ammunition, …

e.g., map, see enemy, hear sound, …

e.g., attack, flee, explore the sound, …

(4)

Decision-making Framework

from “Artificial Intelligence for Games” by I. Millington & J. Funge

e.g., health level, availability of ammunition, …

e.g., map, see enemy, hear sound, …

e.g., attack, flee, explore the sound, …

Any ideas for how to implement decision-making?

(5)

Basic Decision-making Mechanisms for this Class

• Decision Trees

• Finite-state Machines

(6)

Basic Decision-making Mechanisms for this Class

Decision Trees

• Finite-state Machines

(7)

Decision Trees

from “Artificial Intelligence for Games” by I. Millington & J. Funge

Formalization of a set of nested if-then rules

• Very popular: easy-to-implement, intuitive (=easy-to-debug) and fast

• Require careful manual design (theoretically, learning trees is also possible)

(8)

Decision Trees

from “Artificial Intelligence for Games” by I. Millington & J. Funge

Formalization of a set of nested if-then rules

• Very popular: easy-to-implement, intuitive (=easy-to-debug) and fast

• Require careful manual design (theoretically, learning trees is also possible)

K-ary trees are possible but binary

decision trees are much more common

(9)

Decision Trees

Support for multi-valued input variables in binary decision-trees

Example:

Depending on the size of the enemy troops, attack, stand ground or retreat

How to implement in a binary decision trees?

(10)

Decision Trees

Support for multi-valued input variables in binary decision-trees

Example:

Depending on the size of the enemy troops, attack, stand ground or retreat

Attack

Retreat

Stand Ground

Is N < 2?

N=size of the enemy troops Yes

No

Is N < 5?

Yes No

(11)

Decision Trees

Support for continuous input variables in binary decision-trees

Example:

Depending on the distance to the enemy, hand-to-hand combat, shoot, hide

How to implement in a binary decision trees?

(12)

Decision Trees

Support for continuous input variables in binary decision-trees

Example:

Depending on the distance to the enemy, hand-to-hand combat, shoot, hide

Hand-to-hand combat Hide Shoot Is d < 5.0m? d=distance to enemy Yes No Is d < 20.0m? Yes No

(13)

Decision Trees

Support for complex decision formulae

Example:

Attack whenever

enemy is close OR (low-on-health AND not too far)

Attack Do nothing Do nothing Is enemy close? Yes No Is enemy low-on-health? Yes No Yes

Is enemy too far? No

(14)

Decision Trees

Support for complex decision formulae

Example:

Attack whenever

enemy is close OR (low-on-health AND not too far)

Attack Do nothing Do nothing Is enemy close? Yes No Is enemy low-on-health? Yes No Yes

Is enemy too far? No

Attack

Can we represent any Boolean formula with a binary decision tree?

(15)

Decision Trees

Support for complex decision formulae

Example:

Attack whenever

enemy is close OR (low-on-health AND not too far)

Proof? A OR (B AND C) A B C Outcome 0 0 0 No 1 0 0 Yes 0 1 0 No 1 1 0 Yes … … … … Each row is a branch in the tree

(16)

Decision Trees

Making the decision tree traversal fast is important

vs.

Which decision tree is better for decision-making?

(17)

Decision Trees

Making the decision tree traversal fast is important

vs.

Which decision tree is better for decision-making?

What does it depend on?

(18)

Decision Trees

Making the decision tree traversal fast is important

vs.

Which decision tree is better for decision-making?

What does it depend on?

• Frequency (probability) of outcome (e.g., what if A happens 99% of the time) • The computational complexity of the test (e.g., what if testing for G is very expensive)

(19)

Decision Trees

Making the decision tree traversal fast is important

Merging the branches:

(20)

Decision Trees

How to deal with the predictability of AI?

(21)

Decision Trees

How to deal with the predictability of AI?

Random Decision Trees:

from “Artificial Intelligence for Games” by I. Millington & J. Funge

To avoid switching every frame: use hysteresis

(22)

Basic Decision-making Mechanisms for this Class

• Decision Trees

Finite-state Machines

(23)

Finite State Machines

Basic FSM

from “Artificial Intelligence for Games” by I. Millington & J. Funge

(24)

Finite State Machines

Basic FSM

from “Artificial Intelligence for Games” by I. Millington & J. Funge

Advantages over Decision Trees?

Disadvantages over Decision Trees?

(25)

Finite State Machines

Basic FSM

from “Artificial Intelligence for Games” by I. Millington & J. Funge

How to introduce unpredictability?

(26)

Finite State Machines

Hierarchical FSM

from “Artificial Intelligence for Games” by I. Millington & J. Funge

How it changes to react to “re-charge now” alarm?

(27)

Finite State Machines

Hierarchical FSM

(28)

Finite State Machines

Hierarchical FSM

from “Artificial Intelligence for Games” by I. Millington & J. Funge

Upper bound on # of states for N alarms? What if an additional alarm?

(29)

Finite State Machines

Hierarchical FSM: strict hierarchy with only global alarms

from “Artificial Intelligence for Games” by I. Millington & J. Funge

Its own FSM

State: [State at Level i, … State at Level 1] (for i active FSMs) All triggers get acted upon by FSM at level i

(30)

Finite State Machines

Hierarchical FSM: strict hierarchy with additional direct transitions

from “Artificial Intelligence for Games” by I. Millington & J. Funge

(31)

Finite State Machines

Hierarchical FSM: strict hierarchy with additional direct transitions

from “Artificial Intelligence for Games” by I. Millington & J. Funge

Direct transitions between levels allow to Search state is left leave the source state

When GetPower is done, Clean Up is entered from scratch

(32)

Finite State Machines

Hierarchical FSM: strict hierarchy with additional direct transitions

from “Artificial Intelligence for Games” by I. Millington & J. Funge

(33)

Finite State Machines

Combining FSM and decision trees

from “Artificial Intelligence for Games” by I. Millington & J. Funge

(34)

Basic Decision-making Mechanisms for this Class

• Decision Trees

• Finite-state Machines

(35)

Basic Behavior Trees

(36)

Basic Behavior Trees

Became very popular after Halo 2 game [2004]

• Especially, when coupled with graphical interfaces to edit them

(37)

Basic Behavior Trees

Collection of simple tasks arranged in a tree structure

• One of the main advantages: Tasks and sub-trees can be reused!!!

(38)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Condition” task tests for a condition

Door open? Health level OK? Enemy close-by?

(39)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Action” task alters the state of the game

Move to room Find a path Play audio sound

Examples of behavior trees that consist of Actions tasks only:

(40)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Condition and Action tasks are always at the leafs of the tree Composite” task sequences through them

(41)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Condition and Action tasks are always at the leafs of the tree Composite” task sequences through them

Two types of Composite tasks:

Selector returns as soon as the first leaf task is successful

?

(42)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Condition and Action tasks are always at the leafs of the tree Composite” task sequences through them

Two types of Composite tasks:

Selector returns as soon as the first leaf task is successful

?

Attack Flee Declare defeat

Sequencer returns as soon as the first leaf task fails

(43)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Condition and Action tasks are always at the leafs of the tree Composite” task sequences through them

Two types of Composite tasks:

Selector returns as soon as the first leaf task is successful

?

Attack Flee Declare defeat

Sequencer returns as soon as the first leaf task fails

Door open? Move (into room)

Tasks are often parameterized

(44)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Example:

Door open? Move (into room) Move (to door) Move (into room) Open door

(45)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Example:

Move (to door)

Move (into room)

?

What does it do?

Door open? Move (into room)

?

Door unlocked? Open door Door locked? Barge door

(46)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Example: Move (to door) Move (into room)

?

Can the tree always

be structured so that sequence and selector

levels alternate?

Door open? Move (into room)

?

Door unlocked? Open door Door locked? Barge door

(47)

Basic Behavior Trees

Type of tasks: Conditions, Actions and Composites

• Each returning either success or failure

Example: Move (to door) Move (into room)

?

Door open? Move (into room)

?

Door unlocked? Open door Door locked? Barge door How to reduce predictability of the behavior?

(48)

Basic Behavior Trees

Behavior trees with Order Randomization for some Sequencers and Selectors

Example:

How to reduce predictability of the

behavior?

References

Related documents

1 from 14 pièces pour flûte et piano Selected Flute Exam Pieces 2008–13, 2 Pam Wedgwood Hot Chilli: from Really Easy Jazzin’ About for Flute Grade 1 (ABRSM).. 3 John Widger Fun

Frank Beamer (Virginia Tech ’69), whose Virginia Tech teams have posted a 206-75 record over the past 21- plus seasons and have appeared in bowl games each year in that span, is

Behaviorists also view the therapeutic relationship as nonspecific, and the techniques of behavior therapy as specific. 9) for example, claims that his method of reciprocal

This thesis pursues several aims: first, it investigates perceptions of both teachers and students; second, it compares teachers’ strategy views with actual classroom

In order to find the most appropriate home for your dog, please provide as much detail as possible about the history, past veterinary care, likes, dislikes, and quirks of your

Finally, in July, Yugoslavian authorities granted permission for them to use a deserted airfield, and 30 of the planes, flown by volunteers from various nations (including

Each student is required to complete The Langara College Nursing Practice Appraisal form (PAF) twice throughout the term. The first completion will occur at midterm. The

– policies and procedures to provide for appropriate checks and balances on op- erational systems and accounting controls, such as: counterparty relationship se- lection